/* Documentation-specific styles */ /* ============================================ Documentation Layout ============================================ */ .docs-layout { display: grid; grid-template-columns: 1fr; min-height: 100vh; } @media (min-width: 1024px) { .docs-layout { grid-template-columns: 280px 1fr; } } /* ============================================ Sidebar ============================================ */ .docs-sidebar { position: fixed; top: 0; left: -300px; width: 280px; height: 100vh; background-color: var(--color-background); border-right: 1px solid var(--color-border); overflow-y: auto; transition: left 0.3s ease; z-index: 100; } .docs-sidebar.open { left: 0; } @media (min-width: 1024px) { .docs-sidebar { position: sticky; left: 0; } } .sidebar-header { padding: var(--space-l); border-bottom: 1px solid var(--color-border); } .sidebar-header .nav-brand { display: flex; align-items: center; gap: var(--space-s); text-decoration: none; color: var(--color-text-primary); font-weight: 600; } .sidebar-header .logo-icon { color: var(--color-accent); font-size: var(--font-size-l); } .sidebar-header .logo-text { display: inline; } .sidebar-nav { padding: var(--space-l); } .nav-section { margin-bottom: var(--space-xl); } .nav-section h3 { font-size: var(--font-size-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-text-tertiary); margin: 0 0 var(--space-m) 0; } .nav-section ul { list-style: none; margin: 0; padding: 0; } .nav-section li { margin: 0; } .nav-section a { display: block; padding: var(--space-s) var(--space-m); color: var(--color-text-secondary); text-decoration: none; font-size: var(--font-size-s); border-radius: var(--radius-s); transition: all 0.2s ease; } .nav-section a:hover { color: var(--color-text-primary); background-color: var(--color-surface); } .nav-section a.active { color: var(--color-accent); background-color: var(--color-accent-light); } /* ============================================ Main Content ============================================ */ .docs-content { padding: var(--space-xl); max-width: 900px; } @media (min-width: 1024px) { .docs-content { padding: var(--space-xxl); } } .docs-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-xl); } .breadcrumb { display: flex; align-items: center; gap: var(--space-s); font-size: var(--font-size-s); color: var(--color-text-tertiary); } .breadcrumb a { color: var(--color-text-secondary); text-decoration: none; } .breadcrumb a:hover { color: var(--color-accent); } .mobile-menu-toggle { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: none; border: 1px solid var(--color-border); border-radius: var(--radius-s); color: var(--color-text-secondary); cursor: pointer; } @media (min-width: 1024px) { .mobile-menu-toggle { display: none; } } /* ============================================ Article Styles ============================================ */ .docs-article { line-height: 1.7; } .docs-article h1 { font-size: var(--font-size-xl); margin-bottom: var(--space-l); } .docs-article h2 { font-size: var(--font-size-l); margin-top: var(--space-xxl); margin-bottom: var(--space-l); padding-bottom: var(--space-s); border-bottom: 1px solid var(--color-border); display: flex; align-items: center; gap: var(--space-s); } .docs-article h2 i { color: var(--color-accent); } .docs-article h3 { font-size: var(--font-size-m); margin-top: var(--space-xl); margin-bottom: var(--space-m); } .docs-article h4 { font-size: var(--font-size-s); margin-top: var(--space-l); margin-bottom: var(--space-s); } .docs-article p { margin-bottom: var(--space-l); } .docs-article .lead { font-size: var(--font-size-l); color: var(--color-text-secondary); margin-bottom: var(--space-xl); } .docs-article ul, .docs-article ol { margin-bottom: var(--space-l); padding-left: var(--space-xl); } .docs-article li { margin-bottom: var(--space-s); } /* ============================================ Code Blocks in Docs ============================================ */ .docs-article .card-code-block { margin: var(--space-l) 0; } .docs-article code { font-family: var(--font-mono); font-size: 0.9em; background-color: var(--color-surface); padding: 2px 6px; border-radius: var(--radius-xs); color: var(--color-accent); } .docs-article pre code { background: none; padding: 0; color: var(--color-code-text); } /* ============================================ Tables ============================================ */ .docs-table { width: 100%; border-collapse: collapse; margin: var(--space-l) 0; font-size: var(--font-size-s); } .docs-table th, .docs-table td { padding: var(--space-m); text-align: left; border-bottom: 1px solid var(--color-border); } .docs-table th { font-weight: 600; color: var(--color-text-primary); background-color: var(--color-surface); } .docs-table td { color: var(--color-text-secondary); } .docs-table code { font-size: 0.85em; } /* ============================================ Callouts ============================================ */ .callout { display: flex; gap: var(--space-m); padding: var(--space-l); border-radius: var(--radius-m); margin: var(--space-l) 0; } .callout-icon { font-size: var(--font-size-l); flex-shrink: 0; } .callout-content h4 { margin: 0 0 var(--space-s) 0; font-size: var(--font-size-s); } .callout-content p { margin: 0; font-size: var(--font-size-s); } .callout-info { background-color: rgba(99, 102, 241, 0.1); border: 1px solid rgba(99, 102, 241, 0.2); } .callout-info .callout-icon { color: var(--color-accent); } .callout-info .callout-content h4 { color: var(--color-accent); } .callout-tip { background-color: rgba(16, 185, 129, 0.1); border: 1px solid rgba(16, 185, 129, 0.2); } .callout-tip .callout-icon { color: var(--color-success); } .callout-tip .callout-content h4 { color: var(--color-success); } .callout-warning { background-color: rgba(245, 158, 11, 0.1); border: 1px solid rgba(245, 158, 11, 0.2); } .callout-warning .callout-icon { color: var(--color-warning); } .callout-warning .callout-content h4 { color: var(--color-warning); } /* ============================================ Badges ============================================ */ .badge { display: inline-block; padding: 2px 8px; font-size: var(--font-size-xs); font-weight: 600; border-radius: var(--radius-s); text-transform: uppercase; letter-spacing: 0.03em; } .badge-critical { background-color: rgba(239, 68, 68, 0.15); color: var(--color-error); } .badge-important { background-color: rgba(245, 158, 11, 0.15); color: var(--color-warning); } .badge-nice { background-color: rgba(99, 102, 241, 0.15); color: var(--color-accent); } /* ============================================ Philosophy Grid ============================================ */ .philosophy-grid { display: grid; grid-template-columns: repeat(1, 1fr); gap: var(--space-l); margin: var(--space-xl) 0; } @media (min-width: 640px) { .philosophy-grid { grid-template-columns: repeat(2, 1fr); } } .philosophy-card { padding: var(--space-xl); background-color: var(--color-surface); border-radius: var(--radius-m); border: 1px solid var(--color-border); } .philosophy-icon { font-size: var(--font-size-xl); color: var(--color-accent); margin-bottom: var(--space-m); } .philosophy-card h4 { margin: 0 0 var(--space-s) 0; color: var(--color-text-primary); } .philosophy-card p { margin: 0; font-size: var(--font-size-s); color: var(--color-text-secondary); } /* ============================================ Blockquotes ============================================ */ .highlight-quote { font-size: var(--font-size-l); font-style: italic; color: var(--color-accent); padding: var(--space-xl); margin: var(--space-xl) 0; background: linear-gradient(135deg, var(--color-accent-lighter), transparent); border-left: 4px solid var(--color-accent); border-radius: var(--radius-m); } /* ============================================ Navigation Footer ============================================ */ .docs-nav-footer { display: flex; justify-content: space-between; gap: var(--space-l); margin-top: var(--space-xxl); padding-top: var(--space-xl); border-top: 1px solid var(--color-border); } .nav-prev, .nav-next { display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--space-l); background-color: var(--color-surface); border-radius: var(--radius-m); text-decoration: none; transition: all 0.2s ease; flex: 1; max-width: 300px; } .nav-prev:hover, .nav-next:hover { background-color: var(--color-surface-hover); border-color: var(--color-accent); } .nav-next { text-align: right; margin-left: auto; } .nav-label { font-size: var(--font-size-xs); color: var(--color-text-tertiary); text-transform: uppercase; letter-spacing: 0.05em; } .nav-title { font-weight: 600; color: var(--color-accent); display: flex; align-items: center; gap: var(--space-s); } .nav-next .nav-title { justify-content: flex-end; } /* ============================================ Mobile Sidebar Overlay ============================================ */ @media (max-width: 1023px) { .docs-sidebar.open::before { content: ''; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); z-index: -1; } }