/* Adhering to the new design system */

body {
    font-family: 'IBM Plex Mono', monospace;
    background-color: #F2F2F2; /* Rule: off-white background */
    color: #000000; /* Rule: black text */
    line-height: 1.6;
    margin: 0;
    padding: 1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.container {
    max-width: 860px;
    margin: 0 auto;
    padding: 1em;
    background-color: #fff;
    border: 1px solid #CCCCCC; /* Rule: light gray border */
}

.table-wrap {
    overflow-x: auto; /* horizontal scroll on small screens */
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch; /* smooth scrolling on iOS */
}

.header-accent {
    height: 10px;
    background: linear-gradient(to right, #FF0000, #FF7F00, #FFFF00, #00FF00, #0000FF, #4B0082, #9400D3); /* 8-bit rainbow */
    margin-bottom: 1em;
}

/* Site header + nav */
/* No site-wide nav for the single-page layout */

hr {
    border: none;
    border-top: 1px solid #CCCCCC; /* Rule: light gray rule */
    margin: 1em 0;
}

h1 {
    font-size: 1.5rem; /* Larger heading */
    font-weight: bold; /* Bolder heading */
    margin-bottom: 1em;
    text-align: left;
}

p, .intro, .footer {
    font-size: 0.8rem; /* Consistent font size */
    margin-bottom: 1em;
    text-align: left;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin: 1em 0;
    font-size: 0.8rem; /* Consistent font size */
    table-layout: fixed;
    min-width: 860px; /* keep column layout; scroll when viewport < 860px */
}

th, td {
    border: 1px solid #CCCCCC; /* Rule: light gray border */
    padding: 0.1em 0.4em;
    text-align: left;
    word-wrap: break-word;
}

th {
    font-size: 0.6rem; /* Consistent font size */
    background-color: #f8f8f8; /* Keeping a slight distinction for header */
    font-weight: bold;
    cursor: pointer;
    text-align: center;
    vertical-align: center;
    text-transform: uppercase; /* Rule: uppercase headers */
}

/* Right-align only numeric cells */
td.num { text-align: right; }


/* Column widths */
th:nth-child(1), td:nth-child(1) { width: 40%; } /* Model name, force left align */
th:nth-child(2), td:nth-child(2) { width: 8%; }  /* Average */
th:nth-child(3), td:nth-child(3) { width: 7%; text-align: center;} /* Open Weights */
th:nth-child(4), td:nth-child(4) { width: 8%; }
th:nth-child(5), td:nth-child(5) { width: 10%; }
th:nth-child(6), td:nth-child(6) { width: 10%; }
th:nth-child(7), td:nth-child(7) { width: 10%; }
th:nth-child(8), td:nth-child(8) { width: 10%; }
th:nth-child(9), td:nth-child(9) { width: 12%; }

a {
    color: #000000; /* Black, like the rest of the text */
    text-decoration: underline;
}

a:hover {
    background-color: #f0f0f0;
}

.footer {
    margin-top: 2em;
    font-size: 0.8rem; /* Consistent font size */
    color: #000; /* Rule: black text */
}

/* Button styles not needed in single-page layout removed */