/*
 * hax-challenges-empty.css
 *
 * Empty-Challenges "starting board" 1-2-3 onboarding card (operator decision 2026-05-29).
 * Only renders for viewers who have never had a challenge — see ChallengesOnboardingState
 * + ChallengesQueue.razor for the gating. Returning viewers see the standard More-options
 * empty state which uses inline MudBlazor utilities and needs no extra CSS.
 *
 * Scope: every rule is anchored under .hax-onboarding so this file can't bleed onto the
 * standard empty-state copy or any other surface.
 *
 * Mobile (≤720px): the three step cards stack vertically full-width. Step-num + glyph
 * shift to a row at the top of each card so the card stays compact when stacked. Desktop
 * keeps the three-up row with even widths via grid-template-columns: repeat(3, 1fr).
 */

.hax-onboarding {
    text-align: left;
    max-width: 880px;
    margin: 0 auto;
}

.hax-onboarding > .mud-typography {
    text-align: center;
}

.hax-onboarding-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 8px;
}

.hax-onboarding-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 20px 16px;
    border-radius: 10px;
    background-color: var(--hax-surface-elevated);
    border: 1px solid rgba(255, 255, 255, 0.10);
    transition: opacity 120ms ease-out, border-color 120ms ease-out;
    text-align: center;
}

.hax-onboarding-step.done {
    opacity: 0.62;
    border-color: rgba(163, 230, 53, 0.32); /* lime-400 @ 32% — soft "checked off" cue, pairs with the Done label so color isn't the sole indicator. */
}

.hax-onboarding-step-num {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--mud-palette-primary);
    flex-shrink: 0;
}

.hax-onboarding-step-glyph {
    color: rgba(255, 255, 255, 0.88);
}

.hax-onboarding-step.done .hax-onboarding-step-glyph {
    color: rgba(255, 255, 255, 0.55);
}

.hax-onboarding-step-title {
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.3;
    min-height: 2.6em; /* Reserves two lines so the CTAs line up across columns even when one title wraps. */
}

.hax-onboarding-step-cta {
    width: 100%;
    margin-top: auto;
}

.hax-onboarding-step-done {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--hax-status-success);
    font-weight: 600;
    font-size: 0.95rem;
    padding: 6px 12px;
}

@media (max-width: 720px) {
    .hax-onboarding-steps {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .hax-onboarding-step {
        /* Stacked layout — go horizontal inside each card so the step reads compactly at
           narrow widths: number + glyph + title in a row, CTA full-width below. */
        display: grid;
        grid-template-columns: auto auto 1fr;
        grid-template-rows: auto auto;
        column-gap: 14px;
        row-gap: 10px;
        align-items: center;
        text-align: left;
        padding: 16px;
    }

    .hax-onboarding-step-num {
        grid-row: 1;
        grid-column: 1;
    }

    .hax-onboarding-step-glyph {
        grid-row: 1;
        grid-column: 2;
    }

    .hax-onboarding-step-title {
        grid-row: 1;
        grid-column: 3;
        min-height: 0;
    }

    .hax-onboarding-step-cta {
        grid-row: 2;
        grid-column: 1 / -1;
        margin-top: 0;
    }
}
