:root { --bg-color: #1a1a2e; --text-color: #e8e8e8; --accent-color: #4a90d9; --border-color: #333; --sidebar-width: 220px; --sidebar-bg: #151528; } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif; background-color: var(--bg-color); color: var(--text-color); line-height: 1.6; } /* Sidebar navigation */ .sidebar { position: fixed; top: 0; left: 0; width: var(--sidebar-width); height: 100vh; background: var(--sidebar-bg); border-right: 1px solid var(--border-color); padding: 1.5rem 1rem; overflow-y: auto; z-index: 10; } .sidebar h2 { font-size: 1.2rem; color: var(--accent-color); margin-bottom: 1.5rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--border-color); } .sidebar ul { list-style: none; display: flex; flex-direction: column; gap: 0.25rem; } .sidebar li { display: block; } .sidebar a { display: block; padding: 0.4rem 0.6rem; color: var(--text-color); text-decoration: none; font-size: 0.85rem; border-radius: 4px; transition: background 0.15s, color 0.15s; } .sidebar a:hover { background: rgba(74, 144, 217, 0.15); color: var(--accent-color); } /* Main content */ .content { margin-left: var(--sidebar-width); padding: 2rem; } h1 { font-size: 2rem; margin-bottom: 1rem; color: var(--accent-color); } .content > h2 { font-size: 1.5rem; margin: 2rem 0 1rem; color: var(--text-color); border-bottom: 1px solid var(--border-color); padding-bottom: 0.5rem; scroll-margin-top: 1rem; } .diagram-container { display: flex; flex-wrap: wrap; gap: 2rem; margin-top: 1rem; } .diagram { flex: 1; min-width: 400px; background: #252540; border-radius: 8px; padding: 1rem; border: 1px solid var(--border-color); } .diagram h3 { font-size: 1.1rem; margin-bottom: 0.5rem; color: var(--accent-color); } .diagram img, .diagram object { width: 100%; height: auto; background: white; border-radius: 4px; } .diagram a { display: block; text-align: center; margin-top: 0.5rem; color: var(--accent-color); text-decoration: none; font-size: 0.9rem; } .diagram a:hover { text-decoration: underline; } .legend { margin-top: 2rem; padding: 1rem; background: #252540; border-radius: 8px; border: 1px solid var(--border-color); } .legend h3 { margin-bottom: 0.5rem; } .legend ul { list-style: none; display: flex; flex-wrap: wrap; gap: 1rem; } .legend li { display: flex; align-items: center; gap: 0.5rem; } .legend .color-box { width: 16px; height: 16px; border-radius: 3px; } code { background: #333; padding: 0.2rem 0.4rem; border-radius: 3px; font-family: 'Monaco', 'Consolas', monospace; font-size: 0.9em; } pre { background: #252540; padding: 1rem; border-radius: 8px; overflow-x: auto; border: 1px solid var(--border-color); } pre code { background: none; padding: 0; } /* Responsive: collapse sidebar on small screens */ @media (max-width: 768px) { .sidebar { position: static; width: 100%; height: auto; border-right: none; border-bottom: 1px solid var(--border-color); } .sidebar ul { flex-direction: row; flex-wrap: wrap; } .content { margin-left: 0; } .diagram { min-width: 100%; } }