:root {
    --primary-color: #007da5;
    --secondary-color: #bde7f3;
    --accent-color: #f4fbfd;
    --code-bg: #eef5f7;
}

header {
    background: linear-gradient(135deg, #006f93 0%, #00a0d2 100%);
}

header p {
    text-align: center;
}

.reference-container {
    max-width: 980px;
}

.reference-container a {
    color: #006e91;
}

.reference-container p {
    text-align: left;
}

.reference-container section[id] {
    scroll-margin-top: 1rem;
}

.reference-container main > section:first-child h2 {
    margin-top: 0;
}

/* Hardware index */
.hardware-index-intro {
    margin-bottom: 1.5rem;
}

.hardware-index-intro h2 {
    margin-top: 0;
}

.hardware-index-intro p {
    margin-bottom: 0;
}

.hardware-index-table-wrap {
    overflow-x: auto;
    margin: 1rem 0 1.5rem;
}

.hardware-index-table {
    min-width: 700px;
    margin: 0;
    font-size: 0.9rem;
    table-layout: fixed;
}

.hardware-index-table col.product-code-column {
    width: 7rem;
}

.hardware-index-table col.product-name-column {
    width: 16rem;
}

.hardware-index-table th,
.hardware-index-table td {
    padding: 0.6rem 0.7rem;
    vertical-align: top;
}

.hardware-index-table td.product-code {
    white-space: nowrap;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Courier, monospace;
    font-weight: 700;
}

.hardware-index-table td.product-name {
    font-weight: 600;
}

.hardware-index-table a {
    font-weight: 700;
}

.other-hardware-table {
    min-width: 580px;
}

.other-hardware-table col.product-name-column {
    width: 19rem;
}

.index-related-link {
    margin: 1.25rem 0 0;
    font-size: 0.9rem;
}

/* Reference article */
.spec-table-wrap {
    overflow-x: auto;
    margin: 1rem 0 1.4rem;
}

.spec-table {
    min-width: 560px;
    margin: 0;
}

.spec-table th {
    width: 10.5rem;
    color: #3f4b52;
}

.image-table {
    min-width: 420px;
}

.operation-table {
    min-width: 640px;
}

.variant-table {
    table-layout: fixed;
}

.variant-table th {
    width: auto;
}

.cite-ref {
    margin-left: 0.15em;
    font-size: 0.72em;
    font-weight: 800;
    vertical-align: super;
}

.cite-ref a {
    text-decoration: none;
}

.cite-ref a:hover {
    text-decoration: underline;
}

.write-sequence {
    margin: 1rem 0 1.3rem;
    padding-left: 1.6rem;
}

.related-list,
.source-list {
    padding-left: 1.5rem;
}

.source-list li {
    margin-bottom: 0.65rem;
}

.source-list a {
    overflow-wrap: anywhere;
}

.index-sources {
    margin-top: 2rem;
}

.index-sources ol {
    padding-left: 1.4rem;
    font-size: 0.88rem;
}

.index-sources li {
    margin-bottom: 0.45rem;
}

.index-sources a {
    overflow-wrap: anywhere;
}

@media (max-width: 680px) {
    .hardware-index-table,
    .other-hardware-table {
        min-width: 0;
        font-size: 0.8rem;
    }

    .hardware-index-table col.product-code-column {
        width: 23%;
    }

    .hardware-index-table col.product-name-column {
        width: 31%;
    }

    .hardware-index-table th,
    .hardware-index-table td {
        padding: 0.5rem 0.45rem;
    }

    .other-hardware-table col.product-name-column {
        width: 46%;
    }

    .basic-info-table,
    .image-table,
    .operation-table,
    .variant-table {
        min-width: 0;
        font-size: 0.86rem;
    }

    .basic-info-table th,
    .operation-table th {
        width: 7.5rem;
    }

    .variant-table th,
    .variant-table td {
        padding: 0.5rem 0.4rem;
        overflow-wrap: anywhere;
    }

    .variant-table th:nth-child(1) {
        width: 27%;
    }

    .variant-table th:nth-child(2) {
        width: 34%;
    }

    .variant-table th:nth-child(3) {
        width: 39%;
    }
}
