/* Mario profile + leaderboard — green, theme fonts, stacked rows */

.lm-mpf {
    --mpf-green: #00a86b;
    --mpf-green-dark: #067a4d;
    --mpf-green-soft: #e8f8f0;
    --mpf-green-mid: #c6efd1;
    --mpf-ink: #1a2e24;
    --mpf-muted: #5a7266;
    --mpf-line: rgba(0, 168, 107, 0.22);
    --mpf-card: #ffffff;
    --mpf-shadow: 0 8px 24px rgba(0, 80, 50, 0.1);
    color: var(--mpf-ink);
    direction: rtl;
    /* Inherit theme / site fonts (IranSans etc.) — no custom stack override */
    font-family: inherit;
}

.lm-mpf-stack {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
}

.lm-mpf-card {
    background: var(--mpf-card);
    border: 1px solid var(--mpf-line);
    border-radius: 16px;
    box-shadow: var(--mpf-shadow);
    padding: 20px 18px 18px;
}

.lm-mpf-card-head {
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--mpf-line);
}

.lm-mpf-title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--mpf-ink);
}

.lm-mpf-sub {
    margin: 6px 0 0;
    color: var(--mpf-muted);
    font-size: 0.9rem;
    line-height: 1.6;
}

.lm-mpf-guest {
    text-align: center;
    padding: 20px 8px 8px;
}

.lm-mpf-guest-text {
    color: var(--mpf-muted);
    margin: 0 0 16px;
    line-height: 1.75;
}

.lm-mpf-btn {
    appearance: none;
    border: none;
    border-radius: 12px;
    padding: 11px 22px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}

.lm-mpf-btn-primary {
    background: var(--mpf-green);
    color: #fff;
    box-shadow: 0 2px 0 var(--mpf-green-dark);
}

.lm-mpf-btn-primary:hover {
    background: #00b878;
    transform: translateY(-1px);
}

.lm-mpf-profile-top {
    margin-bottom: 14px;
}

.lm-mpf-name {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 4px;
}

.lm-mpf-rank-line {
    color: var(--mpf-muted);
    font-size: 0.92rem;
}

.lm-mpf-rank-line strong {
    color: var(--mpf-green);
}

.lm-mpf-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.lm-mpf-stat {
    background: #f7fbf8;
    border: 1px solid var(--mpf-line);
    border-radius: 12px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 64px;
}

.lm-mpf-stat-accent {
    background: linear-gradient(160deg, var(--mpf-green-soft), var(--mpf-green-mid));
    border-color: rgba(0, 168, 107, 0.35);
    grid-column: 1 / -1;
}

.lm-mpf-stat-label {
    font-size: 0.8rem;
    color: var(--mpf-muted);
}

.lm-mpf-stat-value {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--mpf-ink);
}

.lm-mpf-stat-sm {
    font-size: 0.95rem;
    line-height: 1.45;
}

.lm-mpf-profile-foot {
    text-align: left;
}

.lm-mpf-prize {
    margin-top: 16px;
    padding: 14px 14px 12px;
    border-radius: 14px;
    background: linear-gradient(180deg, #f3fff7 0%, #e8f8ee 100%);
    border: 1px solid rgba(0, 168, 107, 0.28);
}

.lm-mpf-prize-head {
    margin-bottom: 12px;
}

.lm-mpf-prize-title {
    margin: 0 0 4px;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f5132;
}

.lm-mpf-prize-amount {
    margin: 0;
    font-size: 1.05rem;
    color: #14532d;
}

.lm-mpf-prize-amount strong {
    font-size: 1.25rem;
}

.lm-mpf-prize-date {
    margin: 6px 0 0;
    font-size: 0.8rem;
    color: #64748b;
}

.lm-mpf-prize-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    margin: 0 0 8px;
    padding: 8px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(15, 81, 50, 0.08);
}

.lm-mpf-prize-label {
    font-size: 0.8rem;
    color: #64748b;
    font-weight: 600;
}

.lm-mpf-prize-value {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85rem;
    color: #0f172a;
    direction: ltr;
    text-align: left;
    word-break: break-all;
    background: transparent;
    padding: 0;
}

.lm-mpf-copy,
.lm-mpf .lm-mpf-copy,
.elementor-widget-lm_mario_profile .lm-mpf-copy,
button.lm-mpf-copy {
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 1px solid #1d6b35 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color: #0f5132 !important;
    font: inherit !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    padding: 5px 10px !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    text-shadow: none !important;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.2 !important;
    min-height: 0 !important;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

.lm-mpf-copy:hover,
.lm-mpf-copy:focus,
.lm-mpf .lm-mpf-copy:hover,
.elementor-widget-lm_mario_profile .lm-mpf-copy:hover,
button.lm-mpf-copy:hover,
button.lm-mpf-copy:focus {
    background: #ecfdf5 !important;
    background-color: #ecfdf5 !important;
    background-image: none !important;
    color: #0f5132 !important;
    border-color: #1d6b35 !important;
    box-shadow: none !important;
    outline: none !important;
}

.lm-mpf-copy:active,
button.lm-mpf-copy:active {
    background: #dcfce7 !important;
    background-color: #dcfce7 !important;
    color: #0f5132 !important;
    box-shadow: none !important;
}

.lm-mpf-copy.is-copied,
.lm-mpf .lm-mpf-copy.is-copied,
button.lm-mpf-copy.is-copied {
    background: #00a86b !important;
    background-color: #00a86b !important;
    border-color: #00a86b !important;
    color: #ffffff !important;
}

.lm-mpf-prize-steps {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed rgba(15, 81, 50, 0.18);
}

.lm-mpf-prize-steps-title {
    margin: 0 0 6px;
    font-size: 0.88rem;
    font-weight: 800;
    color: #0f5132;
}

.lm-mpf-prize-steps ol {
    margin: 0;
    padding: 0 18px 0 0;
    list-style: decimal;
}

.lm-mpf-prize-steps li {
    margin: 0 0 6px;
    font-size: 0.84rem;
    line-height: 1.55;
    color: #334155;
}

.lm-mpf-prize-steps li:last-child {
    margin-bottom: 0;
}

.lm-mpf-logout {
    color: var(--mpf-muted);
    font-size: 0.88rem;
    text-decoration: underline;
}

.lm-mpf-lb-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lm-mpf-lb-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    background: #f7fbf8;
    border: 1px solid var(--mpf-line);
    border-radius: 12px;
    padding: 12px 14px;
}

.lm-mpf-lb-row.is-me {
    background: var(--mpf-green-soft);
    border-color: rgba(0, 168, 107, 0.4);
}

.lm-mpf-lb-row.is-top1 {
    background: rgba(0, 168, 107, 0.12);
}

.lm-mpf-lb-row.is-top2,
.lm-mpf-lb-row.is-top3 {
    background: #f0faf4;
}

.lm-mpf-lb-rank {
    font-weight: 700;
    color: var(--mpf-green-dark);
    font-size: 0.95rem;
}

.lm-mpf-lb-who {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
}

.lm-mpf-lb-name {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.lm-mpf-you {
    display: inline-block;
    font-size: 0.72rem;
    background: var(--mpf-green);
    color: #fff;
    border-radius: 999px;
    padding: 1px 8px;
}

.lm-mpf-lb-score {
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
}

.lm-mpf-lb-score strong {
    font-size: 1.05rem;
    color: var(--mpf-ink);
}

.lm-mpf-lb-score span {
    font-size: 0.72rem;
    color: var(--mpf-muted);
}

.lm-mpf-lb-sep {
    text-align: center;
    color: var(--mpf-muted);
    letter-spacing: 0.25em;
    list-style: none;
    padding: 2px 0;
}

.lm-mpf-empty {
    margin: 8px 0;
    color: var(--mpf-muted);
    text-align: center;
    line-height: 1.7;
}

@media (max-width: 480px) {
    .lm-mpf-card {
        padding: 16px 14px 14px;
        border-radius: 14px;
    }
    .lm-mpf-lb-row {
        grid-template-columns: 40px minmax(0, 1fr) auto;
        padding: 10px 12px;
    }
}
