/* Reserved-host public surface layout glue.
 *
 * Canonical tokens come from base.css and public-auth primitives come from
 * fpmAuth.css. This file only arranges content unique to the ingress surface.
 */

.fpm-public-card {
    max-width: 560px;
}

.fpm-public-eyebrow {
    margin: 0 0 var(--fpm-space-sm);
    color: var(--fpm-accent);
    font-family: var(--fpm-font-family-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
}

.fpm-public-copy {
    display: grid;
    gap: var(--fpm-space-md);
    margin-top: var(--fpm-space-xl);
    color: var(--fpm-text-body);
    font-size: 14px;
    line-height: 1.6;
}

.fpm-public-copy p,
.fpm-public-copy ol {
    margin: 0;
}

.fpm-public-steps {
    display: grid;
    gap: var(--fpm-space-md);
    padding-left: var(--fpm-space-xl);
}

.fpm-public-steps li::marker {
    color: var(--fpm-accent);
    font-family: var(--fpm-font-family-mono);
    font-weight: 700;
}

.fpm-public-notice,
.fpm-public-signal {
    padding: var(--fpm-space-md);
    background: var(--fpm-bg-surface-accent);
    border-left: 3px solid var(--fpm-accent);
    border-radius: var(--fpm-radius-sm);
}

.fpm-public-signal {
    color: var(--fpm-text-primary);
    font-family: var(--fpm-font-family-mono);
    font-weight: 700;
}

.fpm-public-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--fpm-space-lg);
    margin-top: var(--fpm-space-xl);
}

.fpm-public-links a,
.fpm-public-copy a {
    color: var(--fpm-accent);
    font-weight: 700;
    text-underline-offset: var(--fpm-space-xs);
}

.fpm-public-links a:focus-visible,
.fpm-public-copy a:focus-visible {
    border-radius: var(--fpm-radius-xs);
    outline: 2px solid var(--fpm-accent);
    outline-offset: var(--fpm-space-xs);
}
