/* Overall structure */ body { margin: 0; padding: 0; display: flex; flex-direction: column; align-items: center; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; } /* Basic table styling */ table.node { border-collapse: collapse; width: 100%; margin: 0; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); border: 1px solid #ddd; table-layout: fixed; /* Improved table rendering */ height: 100%; /* Make tables fill their container */ } /* Table style for nodes */ .node { padding: 10px; } /* Style for table headers */ table.node thead { background-color: #f0f0f0; position: sticky; /* Keep headers visible */ top: 0; z-index: 1; } /* Style for table data */ table.node th, table.node td { padding: 8px 12px; text-align: left; border-bottom: 1px solid #eee; overflow: hidden; /* Prevent content overflow */ text-overflow: ellipsis; /* Show ellipsis for overflowing text */ } /* Style for table first data (bold) */ table.node td.first { width: 25%; font-weight: bold; color: #333; } /* Style for table second data */ table.node td.second { width: 75%; } /* Nested tables */ table.node table { width: 100%; border: none; box-shadow: none; margin: 0; } table.node table td { padding: 4px 6px; border: none; } /* Zebra striping */ table.node tbody tr:nth-child(even) { background-color: #f9f9f9; } /* Hover effect */ table.node tbody tr:hover { background-color: #f2f2f2; } /*monospaced font */ .id { font-family: monospace; background-color: #ffffee; padding: 2px 4px; border: 1px solid #ddd; border-radius: 3px; font-size: 0.9em; } /*Help styling */ dfn { cursor: help; border-bottom: 1px dotted #999; font-style: normal; } /* New styles for advanced responsive layout */ /* Apply container to the main content area */ body > div.container { width: 100%; max-width: 1400px; padding: 20px; } /* Style for h1 to be centered */ h1 { text-align: center; margin-bottom: 20px; color: #333; } /* Main container for all tables - using advanced grid layout */ .table-container { display: grid; /* Auto-fit creates as many columns as possible with minimum width of 350px */ grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 20px; margin-bottom: 20px; grid-auto-flow: dense; /* Fill in any gaps in the grid */ } /* Each table wrapper */ .table-wrapper { width: 100%; display: flex; flex-direction: column; background-color: white; border-radius: 5px; overflow: hidden; transition: all 0.3s ease; /* Smooth transition for hover effects */ height: fit-content; } /* Hover effect for table wrappers */ .table-wrapper:hover { transform: translateY(-5px); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); } /* Special styling for important tables */ .table-wrapper:nth-child(1), .table-wrapper:nth-child(4), .table-wrapper:nth-child(5) { grid-column: span 2; /* Make important tables span two columns */ } /* Media queries for responsive design */ /* Large screens */ @media (min-width: 1200px) { .table-container { grid-template-columns: repeat(3, 1fr); /* Three columns on very large screens */ } .table-wrapper:nth-child(1), .table-wrapper:nth-child(4), .table-wrapper:nth-child(5) { grid-column: span 2; /* Important tables span two of three columns */ } } /* Medium screens */ @media (max-width: 992px) { .table-container { grid-template-columns: repeat(2, 1fr); } .table-wrapper:nth-child(1), .table-wrapper:nth-child(4), .table-wrapper:nth-child(5) { grid-column: span 2; } } /* Small screens */ @media (max-width: 768px) { .table-container { grid-template-columns: 1fr; /* Single column on small screens */ } .table-wrapper:nth-child(1), .table-wrapper:nth-child(4), .table-wrapper:nth-child(5) { grid-column: span 1; /* All tables take full width */ } }