/*
    Signatures
*/

.nacara-api__signature {
    margin: 0 0 var(--nacara-space-4);
    padding: var(--nacara-space-3) var(--nacara-space-4);
    border: 1px solid var(--nacara-border);
    border-radius: var(--nacara-radius);
    background: var(--nacara-bg-subtle);
    font-family: var(--nacara-font-mono);
    font-size: 0.875rem;
    line-height: 1.6;
    white-space: pre-wrap;
    overflow-x: auto;
}
.nacara-api__signature--hanging {
    padding-left: calc(var(--nacara-space-4) + 2ch);
    text-indent: -2ch;
}
.nacara-api__signature a {
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-underline-offset: 0.2em;
}
.nacara-api__signature a:hover {
    text-decoration-style: solid;
}
td .nacara-api__signature {
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: none;
    white-space: normal;
    text-indent: 0;
}
.nacara-content table:has(th:empty) thead {
    display: none;
}

/*
    Entries
*/

.nacara-api__entry {
    display: grid;
    grid-template-columns: 1.1rem minmax(0, 1fr);
    gap: var(--nacara-space-2);
    align-items: start;
    margin: 0 0 var(--nacara-space-2);
}
.nacara-api__anchor {
    grid-column: 1;
    width: 1.1rem;
    height: 1.4rem;
    margin-top: var(--nacara-space-3);
    background: currentColor;
    color: var(--nacara-text-muted);
    opacity: 0;
    text-decoration: none;
    transition: opacity 0.12s;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E")
        no-repeat center / 1.05rem;
}
.nacara-api__entry:hover .nacara-api__anchor,
.nacara-api__anchor:focus-visible {
    opacity: 1;
}
.nacara-api__anchor:hover {
    color: var(--nacara-primary);
}
@media (hover: none) {
    .nacara-api__anchor {
        opacity: 0.5;
    }
}

.nacara-api__member {
    grid-column: 2;
    min-width: 0;
}
.nacara-api__member > summary,
div.nacara-api__member {
    display: grid;
    grid-template-columns: 1.3rem minmax(0, 1fr);
    gap: var(--nacara-space-2);
    align-items: start;
    list-style: none;
    cursor: pointer;
}
div.nacara-api__member {
    cursor: default;
}
.nacara-api__member > summary::-webkit-details-marker {
    display: none;
}
.nacara-api__member > summary::before,
div.nacara-api__member::before {
    content: "";
    grid-column: 1;
    width: 1.3rem;
    height: 1.4rem;
    margin-top: var(--nacara-space-3);
    background: currentColor;
    opacity: 0.6;
    transition: transform 0.15s;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E")
        no-repeat center / 1.15rem;
}
div.nacara-api__member::before {
    background: none;
}
.nacara-api__member[open] > summary::before {
    transform: rotate(90deg);
}
.nacara-api__member .nacara-api__signature {
    grid-column: 2;
    margin: 0;
    padding: var(--nacara-space-3) var(--nacara-space-4);
    border: 1px solid var(--nacara-border);
    border-radius: var(--nacara-radius);
    background: var(--nacara-bg-subtle);
    text-indent: 0;
}
.nacara-api__member[open] .nacara-api__signature {
    border-end-start-radius: 0;
    border-end-end-radius: 0;
}
.nacara-api__member > summary:hover .nacara-api__signature {
    border-color: color-mix(in srgb, var(--nacara-primary) 40%, var(--nacara-border));
}
.nacara-api__body {
    margin-inline: calc(1.3rem + var(--nacara-space-2)) 0;
    padding: var(--nacara-space-4);
    border: 1px solid var(--nacara-border);
    border-top: none;
    border-end-start-radius: var(--nacara-radius);
    border-end-end-radius: var(--nacara-radius);
    background: var(--nacara-bg);
}
.nacara-api__body > :first-child {
    margin-top: 0;
}
.nacara-api__body > :last-child {
    margin-bottom: 0;
}
@media (max-width: 860px) {
    .nacara-api__body {
        margin-inline: 0;
    }
}
.nacara-api__entry--deprecated .nacara-api__signature {
    text-decoration: line-through;
    text-decoration-color: color-mix(in srgb, var(--nacara-danger) 60%, transparent);
}
.nacara-api__entry:target .nacara-api__signature,
.nacara-api__entry:target .nacara-api__body {
    border-color: var(--nacara-primary);
}
.nacara-api__entry:target .nacara-api__anchor {
    opacity: 1;
    color: var(--nacara-primary);
}
