.post-moderation-menu { position: relative; }
.post-moderation-menu > summary {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.5rem;
    padding-inline: 0.65rem;
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-small);
    color: var(--color-text);
    cursor: pointer;
    list-style: none;
}
.post-moderation-menu > summary::-webkit-details-marker { display: none; }
.post-moderation-menu > summary::after {
    width: 0.4rem;
    height: 0.4rem;
    border-inline-end: 1px solid currentColor;
    border-block-end: 1px solid currentColor;
    content: "";
    transform: translateY(-0.1rem) rotate(45deg);
}
.post-moderation-menu[open] > summary { border-color: var(--color-primary); }
.post-moderation-menu > summary:focus-visible,
.post-moderation-panel a:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
    outline-offset: 2px;
}
.post-moderation-panel {
    position: fixed;
    z-index: 8;
    display: grid;
    gap: 0.15rem;
    width: max-content;
    min-width: min(17rem, calc(100vw - 2rem));
    max-width: calc(100vw - 2rem);
    max-height: min(60vh, 24rem);
    margin: 0;
    padding: 0.35rem;
    overflow: auto;
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-small);
    background: var(--color-surface);
    box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 18%);
    list-style: none;
}
.post-moderation-group { padding-block: 0.3rem; }
.post-moderation-group + .post-moderation-group { border-block-start: 1px solid var(--color-border-subtle); }
.post-moderation-group h3 {
    margin: 0;
    padding: 0.4rem 0.75rem 0.25rem;
    color: var(--color-text-muted);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.3;
    text-transform: uppercase;
}
.post-moderation-group-items { display: grid; gap: 0.1rem; margin: 0; padding: 0; list-style: none; }
.post-moderation-panel a {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.55rem 0.75rem;
    border-radius: calc(var(--radius-small) - 2px);
    color: var(--color-text);
    font-size: var(--font-size-small);
    text-decoration: none;
}
.post-moderation-panel a:hover,
.post-moderation-panel a:focus-visible { background: var(--color-surface-alt); }
