/* Scoped styles, matching inReality's neutral cards and existing link colour. */
.ir-citation,
.ir-references,
.ir-reference-popover {
    font-family: inherit;
    --ir-ref-accent: #0074d9;
    --ir-ref-border: #e5e7eb;
    --ir-ref-surface: #fff;
    --ir-ref-muted: #6b7280;
}
.ir-citation {
    display: inline;
    font-size: .72em;
    line-height: 0;
    vertical-align: super;
    position: static;
    margin-inline: .08em;
    top: auto;
}
.ir-citation .ir-citation__link {
    display: inline-block;
    padding: .2em .25em;
    color: var(--ir-ref-accent);
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    text-underline-offset: .2em;
    scroll-margin-block: 110px;
}
.ir-citation .ir-citation__link:hover,
.ir-citation .ir-citation__link[aria-expanded="true"] {
    text-decoration: underline;
}
.ir-citation__link:focus-visible,
.ir-reference-popover a:focus-visible,
.ir-reference-popover button:focus-visible,
.ir-reference a:focus-visible {
    outline: 2px solid var(--ir-ref-accent);
    outline-offset: 3px;
    border-radius: 3px;
}
.ir-references {
    margin-block: 2.25rem 1.25rem;
    padding-block-start: 1.5rem;
    border-block-start: 1px solid var(--ir-ref-border);
    font-size: 1rem;
    color: #404040;
}
.ir-references .ir-references__heading {
    margin: 0 0 1rem;
    font-size: 1.25rem;
    line-height: 1.7;
    font-weight: 700;
    color: inherit;
}
.ir-references .ir-references__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .7rem;
}
.ir-references .ir-reference {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    margin: 0;
    padding: 1rem;
    background: var(--ir-ref-surface);
    border: 1px solid var(--ir-ref-border);
    border-radius: 6px;
    scroll-margin-block-start: 110px;
}
.ir-reference:target,
.ir-reference:focus {
    outline: 2px solid var(--ir-ref-accent);
    outline-offset: 2px;
}
.ir-reference__number {
    flex: 0 0 1.8rem;
    min-height: 1.8rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #f3f4f6;
    border-radius: 4px;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.5;
}
.ir-reference__content { min-width: 0; flex: 1; }
.ir-references .ir-reference__title {
    display: block;
    width: fit-content;
    max-width: 100%;
    color: var(--ir-ref-accent);
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.8;
    overflow-wrap: anywhere;
    text-decoration: none;
}
.ir-references .ir-reference__title:hover { text-decoration: underline; }
.ir-references .ir-reference__meta {
    margin: .2rem 0;
    color: var(--ir-ref-muted);
    font-size: .78rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
}
.ir-references .ir-reference__back {
    display: inline-block;
    margin-block-start: .2rem;
    padding-block: .1rem;
    font-size: .75rem;
    color: var(--ir-ref-accent);
    text-decoration: none;
}
.ir-reference-popover {
    position: fixed;
    box-sizing: border-box;
    z-index: 100000;
    width: min(340px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px);
    overflow: auto;
    overscroll-behavior: contain;
    direction: rtl;
    padding: 1rem;
    background: var(--ir-ref-surface);
    color: #404040;
    border: 1px solid var(--ir-ref-border);
    border-radius: 6px;
    box-shadow: 0 8px 28px rgb(0 0 0 / 12%);
    font-size: .875rem;
    line-height: 1.8;
}
.ir-reference-popover[hidden] { display: none !important; }
.ir-reference-popover__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    padding-block-end: .4rem;
}
.ir-reference-popover__label { font-size: .75rem; font-weight: 600; }
.ir-reference-popover .ir-reference-popover__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: #f3f4f6;
    color: #4b5563;
    font: inherit;
    font-size: 1.35rem;
    cursor: pointer;
}
.ir-reference-popover .ir-reference-popover__title {
    display: block;
    color: var(--ir-ref-accent);
    font-weight: 500;
    font-size: .875rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
    text-decoration: none;
}
.ir-reference-popover__title:hover { text-decoration: underline; }
.ir-reference-popover__meta {
    margin: .4rem 0 .65rem;
    color: var(--ir-ref-muted);
    font-size: .75rem;
    overflow-wrap: anywhere;
}
.ir-reference-popover .ir-reference-popover__footer {
    display: block;
    padding-block-start: .65rem;
    border-block-start: 1px solid var(--ir-ref-border);
    color: var(--ir-ref-accent);
    font-size: .75rem;
    text-decoration: none;
}
.ir-reference-warning { color: #9b1c1c; font-size: .8rem; }
.ir-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
@media (pointer: coarse) {
    .ir-citation .ir-citation__link {
        padding: .6em .4em;
        margin-block: -.4em;
        min-width: 24px;
        min-height: 24px;
        box-sizing: border-box;
        text-align: center;
    }
}
@media (prefers-reduced-motion: reduce) {
    .ir-reference { scroll-behavior: auto; }
}
@media print {
    .ir-reference-popover, .ir-reference__back { display: none !important; }
    .ir-reference { break-inside: avoid; }
    .ir-reference__title::after { content: " (" attr(href) ")"; font-size: .7rem; }
}
