@layer components {
    :root {
        --whodunit-clues-sheet: var(--secondary-system-background);
        --whodunit-clues-heading: var(--label);
        --whodunit-clues-count: var(--secondary-label);
        --whodunit-clues-text: var(--label);
        --whodunit-clues-used: var(--tertiary-label);
        --whodunit-clues-strike: var(--secondary-label);
        --whodunit-clues-pinned: var(--tint-fill);
        --whodunit-clues-pinned-edge: var(--tint);
        --whodunit-clues-hover: var(--quaternary-system-fill);
        --whodunit-clues-focus: var(--tint);
    }

    .whodunit-clues {
        background-color: var(--whodunit-clues-sheet);
        border-radius: 1rem;
        display: grid;
        gap: 0.25rem;
        padding: 0.875rem 0.375rem 0.375rem;
    }

    .whodunit-clues__header {
        align-items: baseline;
        display: flex;
        gap: 0.75rem;
        justify-content: space-between;
        padding-inline: 0.625rem;
    }

    .whodunit-clues__heading {
        color: var(--whodunit-clues-heading);
        font-size: var(--font-size-headline);
        font-weight: 700;
        margin: 0;
    }

    .whodunit-clues__count {
        color: var(--whodunit-clues-count);
        font-size: var(--font-size-footnote);
        font-variant-numeric: tabular-nums;
        margin: 0;
    }

    .whodunit-clues__list {
        display: grid;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .whodunit-clues__item {
        align-items: start;
        border-radius: 0.75rem;
        display: grid;
        grid-template-columns: 2.75rem 1fr;
        transition: background-color 160ms;

        &.whodunit-clues__item--pinned {
            background-color: var(--whodunit-clues-pinned);
            box-shadow: inset 0.1875rem 0 0 var(--whodunit-clues-pinned-edge);
        }
    }

    .whodunit-clues__text {
        border-radius: 0.75rem;
        color: var(--whodunit-clues-text);
        font-size: var(--font-size-body);
        line-height: 1.4;
        padding: 0.6875rem 0.75rem 0.6875rem 0.125rem;
        text-decoration: none;
        text-wrap: pretty;
        -webkit-tap-highlight-color: transparent;

        &:focus-visible {
            outline: 0.1875rem solid var(--whodunit-clues-focus);
            outline-offset: -0.1875rem;
        }
    }

    .whodunit-clues__item--used .whodunit-clues__text {
        color: var(--whodunit-clues-used);
        text-decoration: line-through;
        text-decoration-color: var(--whodunit-clues-strike);
        text-decoration-thickness: 0.0625rem;
    }
}
