.software-attribution {
    --attribution-gap: calc(var(--spacing-sm, 0.5rem) + var(--spacing-xs, 0.25rem));
    --attribution-padding: calc(var(--spacing-xs, 0.25rem) * 1.5);
    --attribution-ink: var(--text-ink-muted, var(--premium-ink-muted, #4d535e));
    --attribution-font-size: var(--font-size-xs, 0.75rem);
    --attribution-leading: var(--line-height-base, 1.6);
    --attribution-weight: var(--font-weight-semibold, 600);
    --attribution-focus-radius: var(--geometry-radius-control, 0.625rem);
    --attribution-login-gap: var(--spacing-sm, 0.5rem);
    --attribution-login-end: calc(var(--spacing-md, 1rem) + var(--spacing-xs, 0.25rem));
    --attribution-login-ink: var(--login-text-muted, #5f6673);

    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 var(--attribution-gap);
    width: min(100% - 2rem, 80rem);
    margin: 0 auto;
    padding: var(--attribution-padding) 0;
    color: var(--attribution-ink);
    font-size: var(--attribution-font-size);
    line-height: var(--attribution-leading);
    text-align: center;
}

.software-attribution p {
    margin: 0;
}

.software-attribution__publisher {
    font-weight: var(--attribution-weight);
}

.software-attribution a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.software-attribution a:focus-visible {
    border-radius: var(--attribution-focus-radius);
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.login-premium .software-attribution {
    margin-block: var(--attribution-login-gap) var(--attribution-login-end);
    color: var(--attribution-login-ink);
}
