/* ── Reference page shared styles ── */

/* Hoist accent colour to body so both .inpage-nav and .main can inherit it */
body:has(.pilot-main) {
    --ref-accent: var(--pilot-blue);
}
body:has(.fa-main) {
    --ref-accent: var(--fa-purple);
}
body:has(.other-main) {
    --ref-accent: var(--accent);
}

.pilot-main {
    --ref-accent: var(--pilot-blue);
}
.fa-main {
    --ref-accent: var(--fa-purple);
}
.other-main {
    --ref-accent: var(--accent);
}

/* ── In-page navigation ── */
.inpage-nav {
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;
    border-right: 1px solid var(--chrome-border);
    background: var(--chrome-low);

    a {
        display: block;
        color: var(--chrome-text-bright);
        text-decoration: none;
        padding: 0.2rem 0.4rem;
        line-height: 1.4;
        margin-bottom: 0.15rem;

        &:hover {
            color: var(--chrome-text-mid);
            text-decoration: none;
        }

        &.active {
            color: var(--ref-accent, var(--accent-light));
        }
    }
}

.pilot-main,
.fa-main,
.other-main {
    padding: 1.5rem 2rem;
    max-width: 960px;

    h1 {
        color: var(--ref-accent);
        margin-top: 0;
    }
    h2 {
        color: var(--ref-accent);
        border-bottom: 2px solid var(--ref-accent);
        padding-bottom: 0.25rem;
        margin-top: 2rem;
    }
    h3 {
        margin-top: 1.5rem;
    }
    table {
        border-collapse: collapse;
        width: 100%;
        margin-bottom: 1rem;
        font-size: 0.875rem;
    }
    th,
    td {
        border: 1px solid var(--border);
        padding: 0.35rem 0.6rem;
        text-align: left;
        vertical-align: top;
    }
    th {
        background: var(--surface-sunken);
        font-weight: 600;
    }
    tr:nth-child(even) td {
        background: var(--surface-raised);
    }
    blockquote {
        border-left: 4px solid var(--ref-accent);
        margin: 0.75rem 0;
        padding: 0.5rem 1rem;
        background: var(--surface-raised);
        font-style: italic;
    }
    blockquote strong {
        font-style: normal;
    }
    pre {
        background: var(--surface-sunken);
        border: 1px solid var(--border);
        padding: 0.75rem 1rem;
        font-family: monospace;
        font-size: 0.875rem;
        white-space: pre;
        overflow-x: auto;
    }
    code {
        font-family: monospace;
        font-size: 0.875rem;
        background: var(--surface-sunken);
        padding: 0.1rem 0.3rem;
    }
    pre code {
        background: none;
        padding: 0;
    }
    ul,
    ol {
        padding-left: 1.5rem;
    }
    li {
        margin-bottom: 0.25rem;
    }
    hr {
        border: none;
        border-top: 1px solid var(--border);
        margin: 2rem 0;
    }
    .checklist {
        list-style: none;
        padding-left: 0.5rem;
    }
    .checklist li::before {
        content: "☐ ";
    }
}
