/* --- Minorifa Studio - design tokens UI primitive styles Phase --- */
:root {
    --mf-void: #F4F6F8;
    --mf-surface-deep: #FFFFFF;
    --mf-surface-0: #FFFFFF;
    --mf-surface-1: #FFFFFF;
    --mf-surface-2: #F1F5F9;
    /* Semantic aliases — components may use these; dark redefines the targets */
    --mf-surface: var(--mf-surface-0);
    --mf-surface-elevated: var(--mf-surface-0);
    --mf-bg: var(--mf-void);
    --mf-ink: var(--mf-text);
    --mf-muted: var(--mf-text-tertiary);
    --mf-border: rgba(15, 23, 42, 0.08);
    --mf-border-strong: rgba(15, 23, 42, 0.14);
    --mf-glass: rgba(255, 255, 255, 0.88);
    --mf-text: #171717;
    --mf-text-secondary: #525252;
    --mf-text-tertiary: #737373;
    /* CTA charcoal (primary buttons) - separate from violet chrome accent */
    --mf-accent: #0F172A;
    --mf-accent-2: #334155;
    --mf-chrome: #7C3AED;
    --mf-chrome-soft: #F3F0FF;
    --mf-chrome-border: #C4B5FD;
    --mf-wave: #0E7490;
    --mf-wave-soft: #059669;
    --mf-danger: #e91752;
    --mf-brand-red: #e91752;
    --mf-brand-red-hover: #d01548;
    --mf-warning: #D97706;
    --mf-success: #059669;
    --mf-radius: 0.875rem;
    --mf-radius-lg: 1.25rem;
    --mf-btn-radius: 10px;
    /* Typography SSOT - family + app (panel-dense) + marketing (airy) */
    --mf-font: IRANSansXFaNum, Tahoma, "Segoe UI", sans-serif;
    --mf-type-xs: 0.75rem;       /* 12 - meta, badges, hints */
    --mf-type-sm: 0.8125rem;     /* 13 - labels, small buttons, toast */
    --mf-type-body: 0.875rem;    /* 14 - app/admin default body */
    --mf-type-md: 0.9375rem;     /* 15 - large button text */
    --mf-type-lg: 1.25rem;       /* 20 - page title (mobile) */
    --mf-type-xl: 1.5rem;        /* 24 - page title (desktop) */
    --mf-leading: 1.6;
    --mf-leading-tight: 1.35;
    --mf-weight-regular: 400;
    --mf-weight-medium: 500;
    --mf-weight-semibold: 600;
    --mf-weight-bold: 700;
    --mf-weight-display: 800;
    --mf-btn-font-size-sm: var(--mf-type-sm);
    --mf-btn-font-size-md: var(--mf-type-body);
    --mf-btn-font-size-lg: var(--mf-type-md);
    --mf-btn-font-weight-solid: 600;
    --mf-btn-font-weight-soft: 500;
    --mf-mkt-type-body: 1rem;                                          /* 16 */
    --mf-mkt-type-nav: 1rem;
    --mf-mkt-type-ui: 0.875rem;                                        /* 14 */
    --mf-mkt-type-lead: 1.125rem;                                      /* 18 */
    --mf-mkt-type-hero: clamp(2rem, 5vw, 3.5rem);                      /* 32-56 */
    --mf-mkt-type-page: clamp(1.625rem, 3.4vw, 2.25rem);               /* 26-36 */
    --mf-mkt-type-section: clamp(1.35rem, 2.6vw, 1.75rem);             /* ~22-28 */
    --mf-mkt-type-card: clamp(1.05rem, 1.6vw, 1.2rem);                 /* ~17-19 */
    --mf-mkt-type-prose-h2: clamp(1.2rem, 2.2vw, 1.5rem);
    --mf-mkt-type-prose-h3: clamp(1.05rem, 1.7vw, 1.25rem);
    --mf-mkt-leading: 1.7;
    --mf-mkt-control-line: 1.35rem;
    --mf-mkt-container: 87.5rem;                                      /* 1400px — align shells with header */
    --mf-mkt-gutter: 0.75rem;                                         /* 12px mobile */
    --mf-mkt-header-height: calc(2.5rem + 1.3rem + 2px);              /* ≈62.8px <1024 */
    --mf-focus-ring: 0 0 0 2px #fff, 0 0 0 4px rgba(15, 23, 42, 0.22);
    --mf-chrome-focus: 0 0 0 3px rgba(124, 58, 237, 0.15);
    --mf-header-height: 4rem;
    --mf-sidebar-width: 15.75rem;
    --mf-btn-height-sm: 2.125rem;
    --mf-btn-height-md: 2.5rem;
    --mf-btn-height-lg: 2.75rem;
    /* Soft form fields (Jetshopo-inspired, mf naming) */
    --mf-field-bg: #ffffff;
    --mf-field-border: #E5E7EB;
    --mf-field-placeholder: #737373;
    --mf-field-shadow: none;
    --mf-field-shadow-focus: 0 0 0 3px rgba(124, 58, 237, 0.12);
    --mf-field-radius: 0.75rem;
    --mf-control-height: 2.75rem;
    --mf-shadow-elevated: 0 10px 28px rgba(15, 23, 42, 0.08), 0 2px 8px rgba(15, 23, 42, 0.04);
    /* Pastel icon wells by tool category */
    --mf-well-studio-bg: #EEF2FF;
    --mf-well-studio-fg: #4338CA;
    --mf-well-speech-bg: #F3F0FF;
    --mf-well-speech-fg: #7C3AED;
    --mf-well-voice-bg: #EFF6FF;
    --mf-well-voice-fg: #2563EB;
    --mf-well-change-bg: #ECFEFF;
    --mf-well-change-fg: #0E7490;
    --mf-well-noise-bg: #FFFBEB;
    --mf-well-noise-fg: #D97706;
    --mf-well-vocal-bg: #EEF2FF;
    --mf-well-vocal-fg: #4F46E5;
    --mf-well-music-bg: #FDF2F8;
    --mf-well-music-fg: #DB2777;
    --mf-well-plans-bg: #ECFDF5;
    --mf-well-plans-fg: #059669;
    --mf-well-wallet-bg: #F0FDFA;
    --mf-well-wallet-fg: #0F766E;
    --mf-well-account-bg: #F1F5F9;
    --mf-well-account-fg: #475569;
    --mf-well-coin-bg: #FFF7ED;
    --mf-well-coin-fg: #EA580C;
}

/* --- section --- */
.mf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid transparent;
    border-radius: var(--mf-btn-radius);
    font-family: var(--mf-font);
    font-size: var(--mf-btn-font-size-md);
    font-weight: var(--mf-btn-font-weight-solid);
    line-height: 1.25;
    text-decoration: none;
    cursor: pointer;
    transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease, transform 160ms ease;
    white-space: nowrap;
    vertical-align: middle;
}

/* Buttons are 10px. Circular only for the studio send arrow. */
body.mf-app .mf-btn,
body.mf-app .mf-tool-produce,
body.mf-app .mf-tool-clear,
body.mf-app .mf-speech__add,
body.mf-app .mf-speech-voice__trigger,
body.mf-app .mf-speech-voice__play,
body.mf-app .mf-music-copy,
body.mf-app .mf-audio-player__play,
body.mf-app .mf-audio-player__dl,
body.mf-app .mf-record__start,
body.mf-app .mf-record__stop,
body.mf-app .mf-record__play,
body.mf-app .mf-intake__clear,
body.mf-app .mf-intake__stop,
body.mf-app .mf-intake__done,
body.mf-app .mf-app-header__menu-btn,
body.mf-app .mf-app-sidebar__close,
body.mf-app .mf-app-sidebar__collapse,
body.mf-app .mf-modal__close,
body.mf-app .mf-toast__close,
body.mf-app .mf-dd__trigger,
body.mf-app .mf-birthdate__trigger,
body.mf-app .mf-birthdate__clear,
body.mf-app .mf-auth-resend__btn,
body.mf-mkt .mf-btn,
body.mf-mkt .mf-mkt-drawer__cta,
body.mf-mkt .mf-mkt-drawer__close,
body.mf-mkt .mf-mkt-header__menu-btn,
body.mf-mkt .mf-mkt-tools__all,
body.mf-mkt .mf-mkt-pricing__buy,
body.mf-mkt .mf-mkt-showcase__play,
body.mf-mkt .mf-asw-play,
body.mf-mkt .mf-mkt-vocal__tab,
body.mf-mkt .mf-modal__close {
    border-radius: var(--mf-btn-radius);
}
body.mf-app button.mf-studio-composer__send,
body.mf-app .mf-studio-dock button.mf-studio-composer__send {
    border-radius: 50%;
}

/* Links never underline (project-wide). Sale strike-through is not a link. */
body.mf-app a,
body.mf-mkt a,
body.mf-admin a {
    text-decoration: none;
}
body.mf-app a:hover,
body.mf-app a:focus,
body.mf-mkt a:hover,
body.mf-mkt a:focus,
body.mf-admin a:hover,
body.mf-admin a:focus {
    text-decoration: none;
}

.mf-btn:focus-visible {
    outline: none;
    box-shadow: var(--mf-focus-ring);
}

.mf-btn:disabled,
.mf-btn[aria-disabled="true"] {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}

.mf-btn--sm { min-height: var(--mf-btn-height-sm); padding: 0.35rem 0.75rem; font-size: var(--mf-btn-font-size-sm); font-weight: var(--mf-btn-font-weight-soft); }
.mf-btn--md { min-height: var(--mf-btn-height-md); padding: 0.5rem 1rem; }
.mf-btn--lg { min-height: var(--mf-btn-height-lg); padding: 0.65rem 1.25rem; font-size: var(--mf-btn-font-size-lg); }

.mf-btn--block { width: 100%; }

.mf-btn--primary {
    color: #fff !important;
    background: #0F172A;
    border-color: #0F172A;
    box-shadow: none;
}

.mf-btn--primary:hover:not(:disabled) {
    color: #fff !important;
    background: #1E293B;
    box-shadow: none;
}

.mf-btn--secondary {
    color: var(--mf-text);
    font-weight: var(--mf-btn-font-weight-soft);
    background: #e8edf3;
    border-color: transparent;
    backdrop-filter: none;
}

.mf-btn--secondary:hover:not(:disabled) {
    background: #dce3eb;
    border-color: transparent;
}

.mf-btn--outline {
    color: var(--mf-text);
    font-weight: var(--mf-btn-font-weight-soft);
    background: #fff;
    border-color: #d8dee6;
}

.mf-btn--outline:hover:not(:disabled) {
    background: #f1f5f9;
    border-color: #c5ced8;
}

.mf-btn--ghost {
    color: var(--mf-text-secondary);
    font-weight: var(--mf-btn-font-weight-soft);
    background: transparent;
}

.mf-btn--ghost:hover:not(:disabled) {
    color: var(--mf-text);
    background: rgba(15, 23, 42, 0.05);
}

.mf-btn--link {
    color: var(--mf-chrome);
    font-weight: var(--mf-btn-font-weight-soft);
    background: transparent;
    border-color: transparent;
    min-height: 0;
    padding: 0.15rem 0.25rem;
    text-decoration: none;
}

.mf-btn--link:hover:not(:disabled) {
    color: #6D28D9;
    background: transparent;
    text-decoration: none;
}

.mf-btn--link-danger {
    color: var(--mf-danger);
}

.mf-btn--link-danger:hover:not(:disabled) {
    color: #be123c;
}

.mf-btn--icon {
    width: var(--mf-btn-height-md);
    min-height: var(--mf-btn-height-md);
    padding: 0;
    color: var(--mf-text-secondary);
    background: #fff;
    border-color: var(--mf-border-strong);
}

.mf-btn--icon:hover:not(:disabled) {
    color: var(--mf-text);
    background: #f1f5f9;
}

.mf-btn__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.1rem;
    height: 1.1rem;
}

.mf-btn--danger {
    color: #fff;
    background: var(--mf-danger);
    border-color: rgba(244, 63, 94, 0.45);
}

.mf-btn--wave {
    color: var(--mf-accent-2);
    font-weight: 500;
    background: rgba(15, 23, 42, 0.08);
    border-color: rgba(15, 23, 42, 0.35);
}

.mf-btn--wave:hover:not(:disabled) {
    background: rgba(15, 23, 42, 0.14);
}

.mf-btn--loading {
    position: relative;
    animation: mf-btn-pulse 1.2s ease-in-out infinite;
}

.mf-btn__spinner {
    width: 1rem;
    height: 1rem;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: mf-spin 0.7s linear infinite;
}

@keyframes mf-btn-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.72; }
}

@keyframes mf-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .mf-btn--loading { animation: none; }
    .mf-btn__spinner { animation: none; border-top-color: rgba(255, 255, 255, 0.85); }
}

/* --- section --- */
.mf-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-family: var(--mf-font);
}

.mf-field__label {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 0.2rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--mf-text);
    white-space: nowrap;
}

.mf-field__label .mf-req {
    display: inline;
    line-height: 1;
}

.mf-input-shell {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: var(--mf-control-height, 2.75rem);
    padding: 0 0.95rem;
    background: var(--mf-field-bg);
    border: 1px solid var(--mf-field-border);
    border-radius: var(--mf-field-radius);
    box-shadow: var(--mf-field-shadow);
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.mf-input-shell--block {
    border-radius: var(--mf-field-radius);
}

.mf-input-shell:focus-within {
    border-color: var(--mf-chrome);
    box-shadow: var(--mf-field-shadow-focus);
    background: var(--mf-field-bg);
}

.mf-input-shell.is-invalid {
    border-color: rgba(244, 63, 94, 0.65);
    box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.12);
}

.mf-input-shell__affix {
    display: inline-flex;
    align-items: center;
    color: var(--mf-text-tertiary);
    flex-shrink: 0;
}

.mf-input {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0.7rem 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    color: var(--mf-text);
    font-family: inherit;
    font-size: 0.9375rem;
    font-weight: 400;
    outline: none;
}

.mf-input::placeholder {
    color: var(--mf-field-placeholder);
}

.mf-textarea-shell {
    display: block;
    padding: 0.65rem 0.85rem;
    background: var(--mf-field-bg);
    border: 1px solid var(--mf-field-border);
    border-radius: var(--mf-field-radius);
    box-shadow: var(--mf-field-shadow);
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.mf-textarea-shell:focus-within {
    border-color: var(--mf-chrome);
    box-shadow: var(--mf-field-shadow-focus);
    background: var(--mf-field-bg);
}

.mf-textarea-shell.is-invalid {
    border-color: rgba(244, 63, 94, 0.65);
    box-shadow: 0 0 0 2px var(--mf-void), 0 0 0 4px rgba(244, 63, 94, 0.35);
}

.mf-textarea {
    display: block;
    width: 100%;
    min-height: 6.5rem;
    margin: 0;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    color: var(--mf-text);
    font-family: inherit;
    font-size: 0.9375rem;
    line-height: 1.65;
    resize: vertical;
    outline: none;
}

.mf-textarea::placeholder {
    color: var(--mf-field-placeholder);
}

.mf-field__error {
    margin: 0;
    font-size: 0.75rem;
    color: var(--mf-danger);
}

.mf-field__hint {
    margin: 0;
    font-size: 0.75rem;
    color: var(--mf-text-tertiary);
    line-height: 1.5;
    font-weight: 400;
}

/* --- section --- */
.mf-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.mf-card {
    box-sizing: border-box;
    padding: 1.15rem 1.2rem;
    background: var(--mf-surface-0);
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-radius-lg);
    color: var(--mf-text);
    font-family: var(--mf-font);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}
.mf-card--flat {
    box-shadow: none;
    background: var(--mf-surface-2);
}
.mf-card__head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}
.mf-card__head .mf-card__title {
    margin: 0;
}
.mf-card__title {
    margin: 0 0 0.75rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--mf-text);
}
.mf-card__body {
    color: var(--mf-text-secondary);
    font-size: 0.9375rem;
    line-height: 1.7;
}
.mf-card__footer {
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--mf-border);
}

/* --- section --- */
.mf-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-family: var(--mf-font);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
}

.mf-badge--accent {
    color: var(--mf-accent-2);
    background: rgba(15, 23, 42, 0.14);
    border-color: rgba(15, 23, 42, 0.28);
}

.mf-badge--wave {
    color: var(--mf-accent-2);
    background: rgba(15, 23, 42, 0.12);
    border-color: rgba(15, 23, 42, 0.28);
}

.mf-badge--success {
    color: var(--mf-success);
    background: rgba(52, 211, 153, 0.12);
    border-color: rgba(52, 211, 153, 0.28);
}

.mf-badge--warning {
    color: var(--mf-warning);
    background: rgba(251, 191, 36, 0.12);
    border-color: rgba(251, 191, 36, 0.28);
}

.mf-badge--danger {
    color: #fb7185;
    background: rgba(244, 63, 94, 0.12);
    border-color: rgba(244, 63, 94, 0.28);
}

.mf-badge--muted {
    color: var(--mf-text-secondary);
    background: rgba(15, 23, 42, 0.05);
    border-color: var(--mf-border);
}

/* --- section --- */
.mf-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    margin: 0 0 0.85rem;
    cursor: pointer;
    user-select: none;
    font-family: var(--mf-font);
}
.mf-toggle__input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}
.mf-toggle__track {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    width: 2.75rem;
    height: 1.5rem;
    border-radius: 999px;
    background: #E2E8F0;
    transition: background 160ms ease;
}
.mf-toggle__thumb {
    position: absolute;
    top: 0.15rem;
    inset-inline-start: 0.15rem;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18);
    transition: inset-inline-start 160ms ease;
}
.mf-toggle__input:checked + .mf-toggle__track {
    background: var(--mf-brand-red, #e91752);
}
.mf-toggle__input:checked + .mf-toggle__track .mf-toggle__thumb {
    inset-inline-start: calc(100% - 1.35rem);
}
.mf-toggle__input:focus-visible + .mf-toggle__track {
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.25);
}
.mf-toggle__label {
    color: #334155;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.4;
}
body.mf-app label.mf-toggle {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 0.7rem;
    margin-bottom: 0.85rem;
}

/* --- section --- */
.mf-alert {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.85rem 1rem;
    border-radius: var(--mf-radius);
    border: 1px solid var(--mf-border);
    background: var(--mf-surface-1);
    color: var(--mf-text);
    font-family: var(--mf-font);
    font-size: 0.875rem;
    line-height: 1.6;
}

/* Author display:flex must not defeat the HTML hidden attribute. */
.mf-alert[hidden],
[data-mf-soft-balance][hidden] {
    display: none !important;
}

.mf-alert--success { border-color: rgba(52, 211, 153, 0.35); background: rgba(52, 211, 153, 0.08); }
.mf-alert--warning { border-color: rgba(251, 191, 36, 0.35); background: rgba(251, 191, 36, 0.08); }
.mf-alert--danger { border-color: rgba(244, 63, 94, 0.35); background: rgba(244, 63, 94, 0.08); }
.mf-alert--info { border-color: rgba(15, 23, 42, 0.35); background: rgba(15, 23, 42, 0.08); }

/* --- section --- */
.mf-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    padding: 1.35rem 1rem 1.5rem;
    margin-top: auto;
    background: transparent;
    border-top: 0;
    color: var(--mf-text-secondary);
    font-family: var(--mf-font);
    font-size: 0.8125rem;
    text-align: center;
}

.mf-footer__rights {
    margin: 0;
    color: var(--mf-text-tertiary, #8a8a8a);
}

.mf-footer__version {
    margin: 0;
    color: var(--mf-text-tertiary, #8a8a8a);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
    opacity: 0.85;
}
html[data-theme="dark"] .mf-footer__rights,
html[data-theme="dark"] .mf-footer__version {
    color: #a3a3a3;
}

/* --- section --- */
.mf-toast-host {
    position: fixed;
    top: calc(var(--mf-header-height) + max(0.65rem, env(safe-area-inset-top)));
    right: max(0.75rem, env(safe-area-inset-right));
    left: auto;
    bottom: auto;
    z-index: 1500;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    width: min(22rem, calc(100vw - 1.5rem));
    max-height: min(70vh, calc(100dvh - var(--mf-header-height) - 1.25rem));
    overflow-x: hidden;
    overflow-y: auto;
    pointer-events: none;
}

@media (min-width: 1024px) {
    body.mf-app:not(.mf-auth-gate):not(.mf-modal-open) .mf-toast-host {
        right: calc(var(--mf-sidebar-width) + 1rem);
        width: min(24rem, calc(100vw - var(--mf-sidebar-width) - 2rem));
    }
    body.mf-app:not(.mf-auth-gate):not(.mf-modal-open).mf-sidebar-collapsed .mf-toast-host {
        right: calc(4.75rem + 1rem);
        width: min(24rem, calc(100vw - 4.75rem - 2rem));
    }
}

body.mf-auth-gate .mf-toast-host,
body.mf-modal-open .mf-toast-host,
body.mf-mkt .mf-toast-host {
    top: max(0.85rem, env(safe-area-inset-top));
    right: max(0.75rem, env(safe-area-inset-right));
    width: min(22rem, calc(100vw - 1.5rem));
}

.mf-toast {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.65rem;
    align-items: start;
    position: relative;
    overflow: hidden;
    padding: 0.85rem 0.75rem 0.95rem;
    border-radius: calc(var(--mf-radius) + 2px);
    border: 1px solid color-mix(in srgb, var(--mf-border) 88%, transparent);
    background: #fff;
    color: var(--mf-text);
    font-family: var(--mf-font);
    box-shadow: var(--mf-shadow-elevated);
    pointer-events: auto;
    opacity: 0;
    transform: translateY(-0.4rem) scale(0.98);
    transition: opacity 220ms ease, transform 220ms ease;
}

.mf-toast--success {
    box-shadow: var(--mf-shadow-elevated), inset -3px 0 0 var(--mf-success);
}
.mf-toast--error {
    box-shadow: var(--mf-shadow-elevated), inset -3px 0 0 var(--mf-danger);
}
.mf-toast--warning {
    box-shadow: var(--mf-shadow-elevated), inset -3px 0 0 var(--mf-warning);
}

.mf-toast.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.mf-toast.is-leaving {
    opacity: 0;
    transform: translateY(-0.35rem) scale(0.98);
}

.mf-toast__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    flex-shrink: 0;
}

.mf-toast--success .mf-toast__icon { color: var(--mf-success); background: rgba(5, 150, 105, 0.12); }
.mf-toast--error .mf-toast__icon { color: var(--mf-danger); background: rgba(225, 29, 72, 0.12); }
.mf-toast--warning .mf-toast__icon { color: var(--mf-warning); background: rgba(217, 119, 6, 0.14); }
.mf-toast--info .mf-toast__icon { color: var(--mf-text-secondary); background: rgba(15, 23, 42, 0.06); }

.mf-toast__title {
    margin: 0 0 0.15rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--mf-text);
}

.mf-toast__message {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--mf-text);
    line-height: 1.55;
    font-weight: 500;
}

.mf-toast__close {
    margin: 0;
    padding: 0;
    width: 1.5rem;
    height: 1.5rem;
    border: 0;
    border-radius: 0.35rem;
    background: transparent;
    color: var(--mf-text-tertiary);
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
}

.mf-toast__close:hover {
    color: var(--mf-text);
    background: rgba(15, 23, 42, 0.05);
}

.mf-toast__progress {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    transform-origin: right center;
    animation-name: mf-toast-progress;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
}

.mf-toast--success .mf-toast__progress { background: var(--mf-success); }
.mf-toast--error .mf-toast__progress { background: var(--mf-danger); }
.mf-toast--warning .mf-toast__progress { background: var(--mf-warning); }
.mf-toast--info .mf-toast__progress { background: var(--mf-text-tertiary); }

@keyframes mf-toast-progress {
    from { transform: scaleX(1); }
    to { transform: scaleX(0); }
}

@media (prefers-reduced-motion: reduce) {
    .mf-toast { transition: none; }
    .mf-toast__progress { animation: none; opacity: 0; }
}

/* ===== Phase 2: App Light Studio shell ===== */
body.mf-app {
    margin: 0;
    min-height: 100vh;
    min-height: 100dvh;
    background: var(--mf-void);
    color: var(--mf-text);
    font-family: var(--mf-font);
    font-size: var(--mf-type-body);
    font-weight: var(--mf-weight-regular);
    line-height: var(--mf-leading);
    -webkit-font-smoothing: antialiased;
}

body.mf-app a:not(.mf-btn):not(.mf-credit-pill__cta):not(.mf-credit-pill__balance):not(.mf-brand):not(.mf-stat-card):not(.mf-orders-panel__all) {
    color: var(--mf-accent-2);
}
body.mf-app a:not(.mf-btn):not(.mf-credit-pill__cta):not(.mf-credit-pill__balance):not(.mf-brand):not(.mf-stat-card):not(.mf-orders-panel__all):hover {
    color: var(--mf-text-secondary);
}

html:has(body.mf-app),
body.mf-app {
    overflow-x: hidden;
}
.mf-app-shell {
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    grid-template-columns: 15.75rem 1fr;
    transition: grid-template-columns 200ms ease;
    overflow-x: hidden;
}
body.mf-sidebar-collapsed .mf-app-shell {
    grid-template-columns: 4.75rem 1fr;
}

.mf-app-workspace {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100vh;
    min-height: 100dvh;
}

.mf-app-main {
    flex: 1 1 auto;
    padding: 1.25rem 1.35rem 2rem;
}

/* Brand */
.mf-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    line-height: 0;
}
.mf-brand__logo,
.mf-brand img {
    display: block;
    height: 2.15rem;
    width: auto;
    max-width: 11.5rem;
    object-fit: contain;
}
.mf-brand img.mf-brand__logo--full {
    display: block;
}
.mf-brand img.mf-brand__logo--full.mf-brand__logo--on-dark,
.mf-app-sidebar__brand-logo.mf-app-sidebar__brand-logo--on-dark,
.mf-auth-card__logo.mf-auth-card__logo--on-dark {
    display: none;
}
.mf-brand img.mf-brand__logo--mark {
    display: none;
    height: 2rem;
    width: 2rem;
    max-width: 2rem;
}

/* Sidebar */
.mf-app-sidebar {
    --mf-side-accent: #7C3AED;
    --mf-side-accent-soft: #F3F0FF;
    position: sticky;
    top: 0;
    align-self: start;
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    padding: 0.85rem 0.7rem 0.75rem;
    background: #fff;
    border-left: 1px solid #E8EAF0;
    z-index: 40;
    box-sizing: border-box;
}
.mf-app-sidebar__brand {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    margin-bottom: 0.85rem;
    padding: 0.15rem 0.2rem 0.75rem;
    border-bottom: 1px solid #EEF0F5;
}
.mf-app-sidebar__dash {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    flex: 1 1 auto;
    padding: 0.4rem 0.6rem;
    border-radius: 0.7rem;
    color: #334155 !important;
    text-decoration: none !important;
    font-size: 0.85rem;
    font-weight: 500;
}
.mf-app-sidebar__dash:hover {
    color: #0F172A !important;
    background: rgb(15 23 42 / 5%);
}
.mf-app-sidebar__dash[aria-current="page"] {
    color: var(--mf-side-accent) !important;
    background: var(--mf-side-accent-soft);
    box-shadow: inset -3px 0 0 var(--mf-side-accent);
}
.mf-app-sidebar__brand-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    flex: 1 1 auto;
    padding: 0.35rem 0.35rem;
    text-decoration: none;
}
.mf-app-sidebar__brand-mark {
    display: none;
    width: 2rem;
    height: 2rem;
    object-fit: contain;
}
.mf-app-sidebar__brand-logo {
    display: block;
    height: 2.15rem;
    width: auto;
    max-width: 8.75rem;
    object-fit: contain;
}
.mf-app-sidebar__close {
    display: none;
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: var(--mf-text-tertiary);
    cursor: pointer;
    line-height: 1;
}
.mf-app-sidebar__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding-bottom: 0.5rem;
    scrollbar-width: thin;
}
.mf-app-sidebar__bottom {
    flex: 0 0 auto;
    margin-top: auto;
    padding-top: 0.5rem;
    border-top: 1px solid #EEF0F5;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.mf-app-sidebar__section {
    margin: 0.85rem 0.7rem 0.4rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--mf-text-tertiary);
}
.mf-app-sidebar__nav {
    display: flex;
    flex-direction: column;
    gap: 0.06rem;
}
.mf-app-sidebar__nav a,
.mf-app-sidebar__nav button.mf-app-sidebar__upgrade,
.mf-app-sidebar__nav button.mf-app-sidebar__support {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    box-sizing: border-box;
    color: #334155;
    text-decoration: none;
    padding: 0.4rem 0.6rem;
    border-radius: 0.7rem;
    font-size: 0.85rem;
    font-weight: 500;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    text-align: start;
}
.mf-app-sidebar__nav button.mf-app-sidebar__support:hover {
    color: #0F172A;
    background: rgb(15 23 42 / 5%);
}
.mf-app-sidebar__nav a.mf-app-sidebar__upgrade,
.mf-app-sidebar__nav button.mf-app-sidebar__upgrade {
    color: #fff !important;
    border: 0;
    background: linear-gradient(135deg, #ff3b73 0%, #e91752 46%, #b0103c 100%);
    box-shadow: 0 8px 18px rgba(233, 23, 82, 0.28);
    font-weight: 600;
}
.mf-app-sidebar__nav a.mf-app-sidebar__upgrade:hover,
.mf-app-sidebar__nav button.mf-app-sidebar__upgrade:hover {
    color: #fff !important;
    background: linear-gradient(135deg, #ff4d82 0%, #f02560 48%, #c41245 100%);
    box-shadow: 0 10px 22px rgba(233, 23, 82, 0.34);
}
.mf-app-sidebar__nav a.mf-app-sidebar__upgrade .mf-app-sidebar__icon,
.mf-app-sidebar__nav button.mf-app-sidebar__upgrade .mf-app-sidebar__icon {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
    filter: none !important;
    box-shadow: none !important;
}
.mf-app-sidebar__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.55rem;
    color: var(--mf-text-secondary);
    background: #F8FAFC;
    transition: background 160ms ease, color 160ms ease;
}
.mf-app-sidebar__icon svg {
    width: 16px;
    height: 16px;
}
.mf-app-sidebar__icon--studio { background: var(--mf-well-studio-bg); color: var(--mf-well-studio-fg); }
.mf-app-sidebar__icon--speech { background: var(--mf-well-speech-bg); color: var(--mf-well-speech-fg); }
.mf-app-sidebar__icon--voice { background: var(--mf-well-voice-bg); color: var(--mf-well-voice-fg); }
.mf-app-sidebar__icon--change { background: var(--mf-well-change-bg); color: var(--mf-well-change-fg); }
.mf-app-sidebar__icon--noise { background: var(--mf-well-noise-bg); color: var(--mf-well-noise-fg); }
.mf-app-sidebar__icon--vocal { background: var(--mf-well-vocal-bg); color: var(--mf-well-vocal-fg); }
.mf-app-sidebar__icon--music { background: var(--mf-well-music-bg); color: var(--mf-well-music-fg); }
.mf-app-sidebar__icon--plans { background: var(--mf-well-plans-bg); color: var(--mf-well-plans-fg); }
.mf-app-sidebar__icon--wallet { background: var(--mf-well-wallet-bg); color: var(--mf-well-wallet-fg); }
.mf-app-sidebar__icon--coin { background: var(--mf-well-coin-bg); color: var(--mf-well-coin-fg); }
.mf-app-sidebar__icon--account { background: var(--mf-well-account-bg); color: var(--mf-well-account-fg); }
.mf-app-sidebar__icon--support { background: #e8f1fb; color: #2563eb; }

/* Support modal — Bale / Telegram channel cards */
.mf-support-channels {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}
.mf-support-channel {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 0.95rem;
    border-radius: 1rem;
    border: 1px solid var(--mf-border);
    background: var(--mf-surface-elevated);
    text-decoration: none;
    color: var(--mf-text);
    transition: background 140ms ease, border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}
.mf-support-channel:hover {
    border-color: var(--mf-border-strong);
    box-shadow: var(--mf-shadow-elevated);
    transform: translateY(-1px);
}
.mf-support-channel__icon {
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.mf-support-channel__icon img {
    display: block;
    width: 2.5rem;
    height: 2.5rem;
}
.mf-support-channel--telegram .mf-support-channel__icon {
    background: rgba(36, 161, 222, 0.12);
}
.mf-support-channel--bale .mf-support-channel__icon {
    background: rgba(21, 171, 128, 0.12);
}
.mf-support-channel__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.mf-support-channel__name {
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.25;
}
.mf-support-channel__hint {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--mf-muted);
    line-height: 1.3;
}
.mf-support-channel__go {
    flex-shrink: 0;
    color: var(--mf-text-tertiary);
    display: inline-flex;
}
.mf-support-channel:hover .mf-support-channel__go {
    color: var(--mf-text-secondary);
}
html[data-theme="dark"] .mf-support-channel {
    background: #242424;
    border-color: rgba(255, 255, 255, 0.08);
    color: #ebebeb;
    box-shadow: none;
}
html[data-theme="dark"] .mf-support-channel:hover {
    background: #2e2e2e;
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}
html[data-theme="dark"] .mf-support-channel__hint {
    color: #a1a1aa;
}
html[data-theme="dark"] .mf-support-channel__go {
    color: #71717a;
}
html[data-theme="dark"] .mf-support-channel:hover .mf-support-channel__go {
    color: #d4d4d8;
}
html[data-theme="dark"] .mf-support-channel--telegram .mf-support-channel__icon {
    background: rgba(36, 161, 222, 0.18);
}
html[data-theme="dark"] .mf-support-channel--bale .mf-support-channel__icon {
    background: rgba(21, 171, 128, 0.18);
}
html[data-theme="dark"] .mf-app-sidebar__icon--support {
    background: rgba(37, 99, 235, 0.22);
    color: #93c5fd;
}
.mf-app-sidebar__text {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mf-app-sidebar__nav a:hover {
    color: #0F172A;
    background: rgb(15 23 42 / 5%);
}
.mf-app-sidebar__nav a:hover .mf-app-sidebar__icon,
.mf-app-sidebar__nav a[aria-current="page"] .mf-app-sidebar__icon {
    /* Keep category well colors; only strengthen active via parent */
    filter: none;
}
.mf-app-sidebar__nav a[aria-current="page"] .mf-app-sidebar__icon {
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mf-side-accent) 28%, transparent);
}
.mf-app-sidebar__nav a[aria-current="page"] {
    color: var(--mf-side-accent);
    background: var(--mf-side-accent-soft);
    border-color: transparent;
    font-weight: 500;
    box-shadow: inset -3px 0 0 var(--mf-side-accent);
}
.mf-app-sidebar__collapse {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 0.35rem;
    padding: 0.55rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #0F172A;
    cursor: pointer;
    font-family: inherit;
}
.mf-app-sidebar__collapse:hover {
    background: transparent;
    color: #0F172A;
}
.mf-app-sidebar__collapse .mf-app-sidebar__icon {
    color: #0F172A;
    width: 1.25rem;
    height: 1.25rem;
}
.mf-app-nav-backdrop {
    display: none;
}

/* Collapsed (desktop) */
body.mf-sidebar-collapsed .mf-app-sidebar {
    padding-inline: 0.55rem;
}
body.mf-sidebar-collapsed .mf-app-sidebar__brand {
    justify-content: center;
    padding-bottom: 0.65rem;
}
body.mf-sidebar-collapsed .mf-app-sidebar__brand-link {
    justify-content: center;
    padding-inline: 0.2rem;
}
body.mf-sidebar-collapsed .mf-app-sidebar__dash .mf-app-sidebar__text,
body.mf-sidebar-collapsed .mf-app-sidebar__brand-logo,
body.mf-sidebar-collapsed .mf-app-sidebar__text,
body.mf-sidebar-collapsed .mf-app-sidebar__close {
    display: none !important;
}
body.mf-sidebar-collapsed .mf-app-sidebar__brand-mark {
    display: block !important;
}
body.mf-sidebar-collapsed .mf-app-sidebar__nav a,
body.mf-sidebar-collapsed .mf-app-sidebar__nav button.mf-app-sidebar__upgrade,
body.mf-sidebar-collapsed .mf-app-sidebar__nav button.mf-app-sidebar__support,
body.mf-sidebar-collapsed .mf-app-sidebar__collapse {
    justify-content: center;
    padding-inline: 0.55rem;
}
body.mf-sidebar-collapsed .mf-app-sidebar__nav a[aria-current="page"] {
    box-shadow: none;
}
body.mf-sidebar-collapsed .mf-app-sidebar__collapse .mf-app-sidebar__icon svg {
    transform: scaleX(-1);
}


/* Header */
.mf-app-header {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: var(--mf-header-height);
    padding: 0.65rem 1.1rem;
    background: var(--mf-glass);
    border-bottom: 1px solid var(--mf-border);
    backdrop-filter: blur(16px) saturate(140%);
}
.mf-app-header__start,
.mf-app-header__end,
.mf-app-header__theme {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}
.mf-app-sidebar__mobile-tools {
    display: none;
}
.mf-app-header__divider {
    display: block;
    width: 1px;
    height: 1.75rem;
    flex: 0 0 auto;
    background: #E2E8F0;
    align-self: center;
}
.mf-app-header__menu-btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-btn-radius);
    background: #fff;
    color: var(--mf-text);
    cursor: pointer;
    box-shadow: none;
}
.mf-app-header__menu-btn svg {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
}
.mf-app-header__nav {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
}
.mf-app-header__nav a {
    color: var(--mf-text-secondary);
    text-decoration: none;
    padding: 0.4rem 0.65rem;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 500;
}
.mf-app-header__nav a:hover,
.mf-app-header__nav a[aria-current="page"] {
    color: var(--mf-text);
    background: rgba(15, 23, 42, 0.05);
}
/* Brand lives in the sidebar on desktop; header keeps a compact mark on mobile */
.mf-app-header .mf-brand {
    display: none;
}
.mf-app-header .mf-brand img.mf-brand__logo--mark {
    display: block;
    height: 2rem;
    width: 2rem;
    max-width: 2rem;
}

/* Credit pill */
.mf-credit-pill {
    display: inline-flex;
    align-items: center;
    height: 2rem;
    padding: 0.125rem;
    gap: 0.1rem;
    border: 1px solid var(--mf-border);
    border-radius: 999px;
    background: #fff;
    overflow: hidden;
}
.mf-credit-pill__balance {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    height: 100%;
    padding: 0 0.55rem 0 0.45rem;
    color: var(--mf-text) !important;
    text-decoration: none !important;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: -0.02em;
}
.mf-credit-pill__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: #737373;
}
.mf-credit-pill__unit { display: none; }
.mf-credit-pill__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0 0.7rem;
    border: 0;
    border-radius: 999px;
    background: #18181b;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 0.75rem;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
}

/* Profile */
.mf-profile { position: relative; margin: 0; padding: 0; }
.mf-profile__trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--mf-text);
    cursor: pointer;
    font-family: inherit;
    box-shadow: none;
}
.mf-profile__trigger:hover {
    border: 0;
    background: transparent;
}
.mf-profile.is-open .mf-profile__trigger {
    border: 0;
}
.mf-profile.is-open .mf-profile__chevron {
    transform: rotate(180deg);
}
.mf-profile__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 999px;
    background: #F3F0FF;
    color: #7C3AED;
    font-size: 0.8rem;
    font-weight: 600;
    overflow: hidden;
    flex-shrink: 0;
}
.mf-profile__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.mf-profile__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.05rem;
    min-width: 0;
}
.mf-profile__name {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mf-text);
    max-width: 8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mf-profile__plan {
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--mf-text-tertiary);
    max-width: 8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mf-profile__chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--mf-text-tertiary);
    margin-inline-start: 0.1rem;
    transition: transform 160ms ease;
}
.mf-profile__menu {
    position: absolute;
    top: calc(100% + 0.5rem);
    inset-inline-start: auto;
    inset-inline-end: 0;
    min-width: 13rem;
    max-width: min(16rem, calc(100vw - 1.5rem));
    padding: 0.45rem;
    border-radius: 0.9rem;
    border: 1px solid var(--mf-border-strong);
    background: var(--mf-surface-elevated);
    box-shadow: var(--mf-shadow-elevated);
    z-index: 50;
}
.mf-profile__menu a,
.mf-profile__menu button {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    box-sizing: border-box;
    text-align: right;
    padding: 0.62rem 0.75rem;
    border: 0;
    border-radius: 0.65rem;
    background: transparent;
    color: var(--mf-text-secondary);
    text-decoration: none;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
}
.mf-profile__menu a:hover {
    background: var(--mf-chrome-soft);
    color: var(--mf-text);
}
.mf-profile__menu-sep {
    height: 1px;
    margin: 0.35rem 0.4rem;
    background: var(--mf-border);
}
.mf-profile__logout {
    color: #E11D48 !important;
}
.mf-profile__logout:hover {
    background: color-mix(in srgb, var(--mf-danger) 12%, var(--mf-surface-0)) !important;
    color: #BE123C !important;
}
.mf-profile__logout svg {
    flex-shrink: 0;
}

/* Soft balance — slim brand-tinted bar (state), not a yellow alert */
.mf-soft-balance {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0.65rem 1.1rem 0;
    padding: 0.55rem 0.7rem 0.55rem 0.75rem;
    border-radius: 10px;
    border: 1px solid rgba(233, 23, 82, 0.16);
    background: linear-gradient(90deg, rgba(233, 23, 82, 0.07), rgba(233, 23, 82, 0.03));
    color: var(--mf-text);
    font-family: var(--mf-font);
    box-sizing: border-box;
}
.mf-soft-balance[hidden] {
    display: none !important;
}
.mf-soft-balance__pulse {
    position: relative;
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
}
.mf-soft-balance__dot {
    display: block;
    width: 8px;
    height: 8px;
    margin: 1px;
    border-radius: 50%;
    background: #e91752;
    box-shadow: 0 0 0 0 rgba(233, 23, 82, 0.4);
    animation: mf-soft-pulse 1.9s ease-out infinite;
}
@keyframes mf-soft-pulse {
    0% { box-shadow: 0 0 0 0 rgba(233, 23, 82, 0.42); }
    70% { box-shadow: 0 0 0 9px rgba(233, 23, 82, 0); }
    100% { box-shadow: 0 0 0 0 rgba(233, 23, 82, 0); }
}
@media (prefers-reduced-motion: reduce) {
    .mf-soft-balance__dot {
        animation: none;
        box-shadow: none;
    }
}
.mf-soft-balance__text {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--mf-text);
}
.mf-soft-balance__cta {
    flex: 0 0 auto;
    margin: 0;
    padding: 0.35rem 0.75rem;
    border: 0;
    border-radius: 10px;
    background: #e91752;
    color: #fff;
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
}
.mf-soft-balance__cta:hover {
    background: #d01548;
}
.mf-soft-balance__cta:focus-visible {
    outline: 2px solid #e91752;
    outline-offset: 2px;
}
html[data-theme="dark"] .mf-soft-balance {
    border-color: rgba(233, 23, 82, 0.28);
    background: linear-gradient(90deg, rgba(233, 23, 82, 0.14), rgba(233, 23, 82, 0.06));
}

/* Upgrade modal */
.mf-upgrade-modal__desktop { display: block; }
.mf-upgrade-modal__mobile { display: none; }
.mf-upgrade-modal__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0.35rem 0 0;
    padding: 0.65rem 0 0.15rem;
    list-style: none;
    align-items: stretch;
}
.mf-upgrade-modal__slide {
    display: flex;
    min-width: 0;
}
.mf-upgrade-modal__slide .mf-mkt-pricing__card {
    width: 100%;
}
/* Modal uses <button>; keep identical to marketing <a.mf-mkt-pricing__buy> */
.mf-upgrade-modal button.mf-mkt-pricing__buy {
    border: 0;
    outline: none;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    font-family: inherit;
    cursor: pointer;
}
.mf-upgrade-modal button.mf-mkt-pricing__buy:focus-visible {
    outline: none;
    box-shadow: none;
}
.mf-upgrade-modal__wallet-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    margin: 0.65rem auto 0;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    background: #fef3c7;
    color: #92400e;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
}
.mf-upgrade-modal__wallet-pill--cta {
    display: none;
    width: 100%;
    margin: 0 0 0.55rem;
    box-sizing: border-box;
}
.mf-upgrade-modal__wallet-pill--cta:not([hidden]) {
    display: inline-flex;
}
.mf-upgrade-modal__foot-hint {
    margin: 0.65rem 0 0;
    color: var(--mf-text-tertiary);
    font-size: 0.75rem;
    text-align: center;
}
.mf-upgrade-compare--desktop {
    margin-top: 1.1rem;
}
.mf-upgrade-modal .mf-mkt-compare--desktop-modal .mf-mkt-compare__table {
    min-width: 0;
    width: 100%;
}
.mf-upgrade-modal .mf-mkt-compare--desktop-modal .mf-mkt-compare__table th,
.mf-upgrade-modal .mf-mkt-compare--desktop-modal .mf-mkt-compare__table td {
    padding: 0.7rem 0.55rem;
    font-size: 0.8125rem;
}

/* Desktop: slightly denser than /pricing so collapsed compare fits without scroll */
@media (min-width: 901px) {
    .mf-modal--pricing .mf-modal__description {
        font-size: 0.875rem;
        line-height: 1.5;
    }
    .mf-upgrade-modal__grid {
        gap: 0.9rem;
        margin: 0.25rem 0 0;
        padding: 0.55rem 0 0;
    }
    .mf-upgrade-modal__slide .mf-mkt-pricing__card {
        padding: 1.4rem 1.2rem 1.15rem;
    }
    .mf-upgrade-modal__slide .mf-mkt-pricing__card:hover {
        transform: none;
    }
    .mf-upgrade-modal .mf-mkt-pricing__intro {
        margin: 0 0 0.85rem;
    }
    .mf-upgrade-modal .mf-mkt-pricing__title {
        margin: 0 0 0.35rem;
        font-size: 1.3rem;
        line-height: 1.35;
    }
    .mf-upgrade-modal .mf-mkt-pricing__subtitle {
        margin: 0 0 0.65rem;
        min-height: 0;
        font-size: 0.85rem;
        line-height: 1.5;
    }
    .mf-upgrade-modal .mf-mkt-pricing__price {
        font-size: 1.35rem;
    }
    .mf-upgrade-modal .mf-mkt-pricing__unit {
        font-size: 0.9rem;
    }
    .mf-upgrade-modal .mf-mkt-pricing__old {
        font-size: 0.85rem;
    }
    .mf-upgrade-modal .mf-mkt-pricing__save {
        font-size: 0.68rem;
        padding: 0.12rem 0.45rem;
    }
    .mf-upgrade-modal button.mf-mkt-pricing__buy,
    .mf-upgrade-modal .mf-mkt-pricing__buy {
        padding: 0.7rem 1.1rem;
        font-size: 0.875rem;
    }
    .mf-upgrade-modal__wallet-pill {
        margin-top: 0.55rem;
        padding: 0.26rem 0.65rem;
        font-size: 0.75rem;
        line-height: 1.35;
    }
    .mf-upgrade-modal .mf-mkt-pricing__features {
        width: 92%;
        margin: 0.95rem auto 0;
        padding: 0.85rem 0 0;
    }
    .mf-upgrade-modal .mf-mkt-pricing__features li {
        margin: 0.35rem 0;
        padding-right: 1.85rem;
        font-size: 0.85rem;
        line-height: 1.5;
    }
    .mf-upgrade-compare--desktop {
        margin-top: 0.9rem;
    }
    .mf-upgrade-compare--desktop .mf-upgrade-compare__toggle {
        padding: 0.75rem 0.95rem;
        font-size: 0.875rem;
    }
}
.mf-upgrade-pick-list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}
.mf-upgrade-pick {
    position: relative;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
    overflow: visible;
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.mf-upgrade-pick--featured {
    border-color: rgba(233, 23, 82, 0.45);
}
.mf-upgrade-pick.is-selected {
    border: 1.5px solid #e91752;
    box-shadow: 0 8px 20px rgba(233, 23, 82, 0.12);
    background: linear-gradient(180deg, rgba(233, 23, 82, 0.05), #fff 55%);
}
.mf-upgrade-pick__ribbon {
    position: absolute;
    top: -0.55rem;
    inset-inline-start: 0.85rem;
    z-index: 1;
    padding: 0.18rem 0.55rem;
    border-radius: 6px;
    background: #e91752;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.35;
    box-shadow: 0 4px 12px rgba(233, 23, 82, 0.3);
}
.mf-upgrade-pick__row {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    width: 100%;
    margin: 0;
    padding: 0.95rem 0.95rem;
    border: 0;
    border-radius: 14px;
    background: transparent !important;
    color: inherit !important;
    font: inherit;
    font-weight: inherit;
    text-align: start;
    cursor: pointer;
    box-shadow: none !important;
}
.mf-upgrade-pick__radio {
    flex-shrink: 0;
    width: 1.2rem;
    height: 1.2rem;
    border: 2px solid #a3a3a3;
    border-radius: 999px;
    box-sizing: border-box;
    background: #fff;
}
.mf-upgrade-pick.is-selected .mf-upgrade-pick__radio {
    border-color: #0a0a0a;
    background:
        radial-gradient(circle at center, #0a0a0a 0 42%, transparent 43%),
        #fff;
}
.mf-upgrade-pick__identity {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.18rem;
    min-width: 0;
}
.mf-upgrade-pick__coins {
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--mf-text);
}
.mf-upgrade-pick__title {
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--mf-text-tertiary);
}
.mf-upgrade-pick__badge {
    margin-top: 0.15rem;
    padding: 0.14rem 0.45rem;
    border-radius: 6px;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
}
.mf-upgrade-pick__badge--current {
    background: #64748b !important;
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(100, 116, 139, 0.28);
}
.mf-upgrade-pick__pricing {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.12rem;
    text-align: end;
}
.mf-upgrade-pick__price {
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--mf-text);
    white-space: nowrap;
}
.mf-upgrade-pick__old {
    color: var(--mf-text-tertiary);
    font-size: 0.72rem;
    line-height: 1.3;
    text-decoration: line-through;
    text-decoration-color: #e91752;
    white-space: nowrap;
}
.mf-upgrade-compare {
    margin-top: 0.35rem;
}
.mf-upgrade-compare__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    width: 100%;
    margin: 0;
    padding: 0.8rem 0.95rem;
    border: 1px solid var(--mf-border-strong);
    border-radius: 12px;
    background: var(--mf-surface-elevated) !important;
    color: var(--mf-text) !important;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: start;
    cursor: pointer;
    box-shadow: none !important;
}
.mf-upgrade-compare__toggle:hover,
.mf-upgrade-compare__toggle:focus-visible {
    border-color: rgba(233, 23, 82, 0.35);
    outline: none;
}
.mf-upgrade-compare__toggle[aria-expanded="true"] {
    border-color: #e91752;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.mf-upgrade-compare__chevron {
    flex-shrink: 0;
    width: 1.1rem;
    height: 1.1rem;
    color: var(--mf-text-tertiary);
    transition: transform 160ms ease;
}
.mf-upgrade-compare__toggle[aria-expanded="true"] .mf-upgrade-compare__chevron {
    transform: rotate(180deg);
    color: #e91752;
}
.mf-upgrade-compare__panel {
    margin: 0;
    padding: 0.65rem;
    border: 1px solid #e91752;
    border-top: 0;
    border-radius: 0 0 12px 12px;
    background: #fff;
}
.mf-upgrade-modal .mf-mkt-compare--in-modal {
    margin: 0;
    border-radius: 10px;
    box-shadow: none;
}
.mf-upgrade-modal .mf-mkt-compare--in-modal .mf-mkt-compare__table {
    min-width: 34rem;
}
.mf-upgrade-modal .mf-mkt-compare--in-modal .mf-mkt-compare__table th,
.mf-upgrade-modal .mf-mkt-compare--in-modal .mf-mkt-compare__table td {
    padding: 0.55rem 0.4rem;
    font-size: 0.75rem;
}
.mf-upgrade-modal .mf-mkt-compare--in-modal .mf-mkt-compare__plan,
.mf-upgrade-modal .mf-mkt-compare--in-modal .mf-mkt-compare__axis {
    padding: 0.7rem 0.4rem;
    font-size: 0.8rem;
}
.mf-upgrade-modal .mf-mkt-compare--in-modal .mf-mkt-compare__pill {
    min-height: 1.35rem;
    padding: 0.1rem 0.45rem;
    font-size: 0.7rem;
}
.mf-upgrade-modal__cta {
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    margin-top: 0;
    padding: 0.85rem 0 0.2rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    box-shadow: 0 -10px 24px rgba(15, 23, 42, 0.06);
}
.mf-upgrade-modal__cta-btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0.75rem 1.15rem;
    border: 0;
    border-radius: 10px;
    background: #0a0a0a;
    color: #fff;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
    cursor: pointer;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    transition: background 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.mf-upgrade-modal__cta-btn:hover:not(:disabled),
.mf-upgrade-modal__cta-btn:focus-visible:not(:disabled) {
    background: #171717;
    outline: none;
    box-shadow: none;
}
.mf-upgrade-modal__cta-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: none;
}
.mf-upgrade-modal__cta-btn.is-pro {
    background: #e91752;
    box-shadow: none;
}
.mf-upgrade-modal__cta-btn.is-pro:hover:not(:disabled),
.mf-upgrade-modal__cta-btn.is-pro:focus-visible:not(:disabled) {
    background: #d01548;
}
@media (max-width: 900px) {
    .mf-modal--pricing .mf-modal__dialog {
        width: min(100%, 28rem);
        max-height: min(92dvh, 44rem);
        display: flex;
        flex-direction: column;
        min-height: 0;
    }
    .mf-modal--pricing .mf-modal__body {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
        padding-bottom: 0.85rem;
    }
    .mf-upgrade-modal__desktop { display: none; }
    .mf-upgrade-modal__mobile {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        gap: 0;
    }
    .mf-upgrade-pick-list {
        flex: 1 1 auto;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        /* inset so selected red border is not clipped on the sides */
        padding: 0.7rem 0.2rem 0.85rem;
        -webkit-overflow-scrolling: touch;
    }
}
.mf-checkout-resume {
    max-width: 28rem;
    margin: 0 auto;
    text-align: center;
}
.mf-checkout-resume__hint {
    margin: 0 0 1rem;
    color: var(--mf-text-secondary);
}

/* --- Layout wrappers --- */
body.mf-app .panel,
body.mf-app .account-panel {
    max-width: none;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: var(--mf-text);
}

/* Single surface for tool forms + guest auth cards only */
body.mf-app form.panel.mf-tool-panel,
body.mf-app form.panel.gate,
body.mf-app .panel.gate {
    max-width: none;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 0.75rem;
    padding: 1.25rem;
    background: var(--mf-surface-1);
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-radius-lg);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
    color: var(--mf-text);
}
body.mf-app .panel.gate,
body.mf-app form.gate {
    max-width: 24rem;
    margin-inline: auto;
}
body.mf-app h1,
body.mf-app h2,
body.mf-app h3 { color: var(--mf-text); }
body.mf-app .muted,
body.mf-app .ledger-date,
body.mf-app .top-hint { color: var(--mf-text-tertiary); }
body.mf-app .empty { color: var(--mf-text-secondary); }
body.mf-app label { color: var(--mf-text-secondary); display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 0.85rem; }
body.mf-app label.mf-field__label,
body.mf-admin label.mf-field__label {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 0.2rem;
    margin-bottom: 0.45rem;
    white-space: nowrap;
}
body.mf-app input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not(.mf-input),
body.mf-app textarea:not(.mf-textarea):not(.mf-speech-composer__text) {
    background: var(--mf-surface-2);
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-radius);
    color: var(--mf-text);
    padding: 0.55rem 0.75rem;
    font-family: inherit;
}
body.mf-app select {
    background: #fff;
    border: 1px solid var(--mf-field-border);
    border-radius: var(--mf-field-radius);
    color: var(--mf-text);
    padding: 0.55rem 2.25rem 0.55rem 0.85rem;
    font-family: inherit;
}
body.mf-app input:not(.mf-input):focus,
body.mf-app textarea:not(.mf-textarea):not(.mf-speech-composer__text):focus {
    outline: none;
    border-color: rgba(15, 23, 42, 0.55);
    box-shadow: var(--mf-focus-ring);
}
body.mf-app select:focus {
    outline: none;
    border-color: #A78BFA;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15);
}
body.mf-app button:not(.mf-btn):not(.mf-ent-toggle):not(.mf-row-menu__trigger):not(.mf-row-menu button):not(.admin-rich-editor__btn):not(.mf-speech__add):not(.mf-speech-block__remove):not(.mf-speech-voice__trigger):not(.mf-speech-voice__item):not(.mf-speech-voice__play):not(.mf-tool-produce):not(.mf-tool-clear):not(.mf-music-copy):not(.mf-audio-player__play):not(.mf-record__start):not(.mf-record__stop):not(.mf-record__play):not(.mf-profile__trigger):not(.mf-app-header__menu-btn):not(.mf-app-sidebar__close):not(.mf-app-sidebar__collapse):not(.mf-app-sidebar__upgrade):not(.mf-app-sidebar__support):not(.mf-toast__close):not(.mf-profile__menu button):not(.mf-dd__trigger):not(.mf-birthdate__trigger):not(.mf-birthdate__clear):not(.mf-modal__backdrop):not(.mf-modal__close):not(.mf-auth-resend__btn):not(.mf-auth-link):not(.mf-theme-control__option):not(.mf-intake__clear):not(.mf-upgrade-pick__row):not(.mf-upgrade-compare__toggle):not(.mf-upgrade-modal__cta-btn):not(.mf-mkt-pricing__buy):not(.mf-soft-balance__cta):not(.mf-credit-pill__cta):not(.mf-stat-card):not(.mf-studio-pill):not(.mf-studio-assistant__chip):not(.mf-studio-assistant__action):not(.mf-studio-composer__mic):not(.mf-rec-bar__btn):not(.mf-studio-result__copy):not(.mf-intake__icon-btn):not(.mf-intake__done):not(.mf-intake__play),
body.mf-app form.panel > button[type="submit"] {
    background: var(--mf-accent);
    color: var(--mf-surface-0);
    border: 0;
    border-radius: var(--mf-btn-radius);
    padding: 0.65rem 1rem;
    font-family: inherit;
    font-weight: 600;
    cursor: pointer;
}
/* Upgrade modal: never inherit charcoal app-button paint */
body.mf-app .mf-upgrade-pick {
    background: #fff;
    border-color: rgba(15, 23, 42, 0.1);
}
body.mf-app .mf-upgrade-pick.is-selected {
    background: linear-gradient(180deg, rgba(233, 23, 82, 0.07), #fff 46%);
}
body.mf-app button.mf-upgrade-pick__row {
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
}
body.mf-app .mf-upgrade-modal__cta-btn {
    background: #0a0a0a !important;
    color: #fff !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}
body.mf-app .mf-upgrade-modal__cta-btn:disabled {
    opacity: 0.45;
    box-shadow: none !important;
}
body.mf-app .mf-upgrade-modal__cta-btn.is-pro {
    background: #e91752 !important;
    box-shadow: none !important;
}
body.mf-app .mf-upgrade-modal button.mf-mkt-pricing__buy {
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}
body.mf-app .mf-mkt-pricing__ribbon.mf-mkt-pricing__ribbon--current,
body.mf-app .mf-upgrade-pick__badge--current {
    background: #64748b !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(100, 116, 139, 0.35);
}
body.mf-app .error { color: var(--mf-danger); }
body.mf-app .ok { color: var(--mf-success); }
body.mf-app .login-cta,
body.mf-app .button-link {
    color: var(--mf-accent-2);
}
body.mf-app .ledger-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--mf-border);
}
body.mf-app .ledger-amount.plus { color: var(--mf-success); }
body.mf-app .ledger-amount.minus { color: var(--mf-danger); }
body.mf-app .account-nav {
    margin: 0 0 1rem;
}
body.mf-app .account-nav__track {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.2rem;
    padding: 0.28rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    background: var(--mf-surface-1);
    border: 1px solid var(--mf-border);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
body.mf-app .account-nav__track::-webkit-scrollbar {
    display: none;
}
body.mf-app .account-nav a {
    flex: 0 0 auto;
    scroll-snap-align: start;
    color: var(--mf-text-secondary);
    text-decoration: none;
    padding: 0.45rem 0.8rem;
    border-radius: 9px;
    border: 0;
    background: transparent;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.25;
    white-space: nowrap;
    transition: background-color 0.15s ease, color 0.15s ease;
}
body.mf-app .account-nav a:hover {
    color: var(--mf-text);
    background: color-mix(in srgb, var(--mf-surface-0) 70%, transparent);
}
body.mf-app .account-nav a[aria-current="page"] {
    color: var(--mf-chrome, #0a0a0a);
    background: var(--mf-chrome-soft, #ececec);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mf-border) 80%, transparent);
}
@media (max-width: 639px) {
    body.mf-app .account-nav a {
        padding: 0.42rem 0.7rem;
        font-size: 0.78rem;
    }
}
body.mf-app .admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}
body.mf-app .admin-table th,
body.mf-app .admin-table td {
    padding: 0.65rem 0.5rem;
    border-bottom: 1px solid var(--mf-border);
    text-align: right;
    color: var(--mf-text-secondary);
}
body.mf-app .admin-table th { color: var(--mf-text-secondary); font-weight: 500; }
body.mf-app .mono { font-family: ui-monospace, monospace; direction: ltr; text-align: left; }

/* Select field helper + custom dropdown */
.mf-select {
    width: 100%;
    min-height: var(--mf-control-height, 2.75rem);
    height: var(--mf-control-height, 2.75rem);
    padding: 0 2.25rem 0 0.95rem;
    box-sizing: border-box;
    background: var(--mf-field-bg);
    border: 1px solid var(--mf-field-border);
    border-radius: var(--mf-field-radius);
    color: var(--mf-text);
    font-family: var(--mf-font);
    font-size: 0.9375rem;
    font-weight: 400;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left 0.85rem center;
    background-size: 0.9rem;
}
.mf-select:focus {
    outline: none;
    border-color: var(--mf-chrome);
    box-shadow: var(--mf-field-shadow-focus);
}

.mf-dd {
    position: relative;
    width: 100%;
}
.mf-dd__native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    appearance: none !important;
    background: none !important;
}
.mf-dd__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    width: 100%;
    min-height: 2.85rem;
    box-sizing: border-box;
    padding: 0.7rem 0.95rem;
    border: 1px solid var(--mf-field-border);
    border-radius: var(--mf-field-radius);
    background: var(--mf-field-bg);
    box-shadow: none;
    color: var(--mf-text);
    font-family: inherit;
    font-size: 0.9375rem;
    font-weight: 400;
    text-align: start;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.mf-dd__trigger:hover {
    border-color: var(--mf-border-strong);
    background: var(--mf-field-bg);
}
.mf-dd.is-open .mf-dd__trigger,
.mf-dd__trigger:focus-visible {
    outline: none;
    border-color: var(--mf-chrome);
    box-shadow: var(--mf-field-shadow-focus);
    background: var(--mf-field-bg);
}
.mf-dd.is-disabled .mf-dd__trigger {
    opacity: 0.55;
    cursor: not-allowed;
}
.mf-dd__value {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: start;
}
.mf-dd__value.is-placeholder {
    color: var(--mf-text-tertiary);
    font-weight: 400;
}
.mf-dd__chevron {
    display: inline-flex;
    flex: 0 0 auto;
    color: var(--mf-text-tertiary);
    transition: transform 160ms ease;
}
.mf-dd.is-open .mf-dd__chevron {
    transform: rotate(180deg);
}
.mf-dd__list {
    position: absolute;
    top: calc(100% + 0.2rem);
    inset-inline: 0;
    z-index: 60;
    margin: 0;
    padding: 0.25rem 0;
    list-style: none;
    max-height: calc(2.5rem * 4);
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid var(--mf-border-strong);
    border-radius: 0.75rem;
    background: var(--mf-surface-elevated);
    box-shadow: var(--mf-shadow-elevated);
    box-sizing: border-box;
}
.mf-dd__list[hidden] {
    display: none !important;
}
.mf-dd__group {
    padding: 0.45rem 0.85rem 0.25rem;
    color: var(--mf-text-tertiary);
    font-size: 0.75rem;
    font-weight: 600;
}
.mf-dd__option {
    display: flex;
    align-items: center;
    min-height: 2.5rem;
    box-sizing: border-box;
    padding: 0.55rem 0.85rem;
    color: var(--mf-text);
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    text-align: start;
}
.mf-dd__option:hover,
.mf-dd__option.is-active {
    background: var(--mf-chrome-soft);
}
.mf-dd__option.is-selected {
    background: var(--mf-chrome-soft);
    color: var(--mf-chrome);
    font-weight: 600;
}
.mf-dd__option.is-disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.mf-dd__list::-webkit-scrollbar {
    width: 6px;
}
.mf-dd__list::-webkit-scrollbar-thumb {
    background: var(--mf-border-strong);
    border-radius: 999px;
}
.mf-dd__list::-webkit-scrollbar-track {
    background: transparent;
}
.mf-field-stack { display: flex; flex-direction: column; gap: 0.85rem; }
.mf-birthdate-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}
.mf-fieldset {
    margin: 0;
    padding: 0.85rem;
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-radius);
}
.mf-fieldset legend {
    padding: 0 0.35rem;
    color: var(--mf-text-secondary);
    font-size: 0.8125rem;
}

/* Profile page (Jetshopo-style cards) */
.mf-profile-page { max-width: 52rem; }
.mf-section-head {
    margin: 0 0 1.15rem;
    padding: 0 0 0.95rem;
    border-bottom: 1px solid #EEF0F5;
}
.mf-section-head__title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    color: #0F172A;
}
.mf-section-head__lede {
    margin: 0.4rem 0 0;
    font-size: 0.8125rem;
    color: #9CA3AF;
    line-height: 1.55;
    font-weight: 400;
}
.mf-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem 1.25rem;
}
.mf-form-grid__full { grid-column: 1 / -1; }
.mf-profile-form__actions {
    margin-top: 1.35rem;
    display: flex;
    justify-content: flex-start;
}
.mf-profile-photo {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}
.mf-profile-photo__preview {
    position: relative;
    width: 7rem;
    height: 7rem;
    flex-shrink: 0;
}
.mf-profile-photo__img,
.mf-profile-photo__fallback {
    width: 7rem;
    height: 7rem;
    border-radius: 999px;
    display: block;
    object-fit: cover;
}
.mf-profile-photo__fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #F3F0FF;
    color: #7C3AED;
    font-size: 1.75rem;
    font-weight: 700;
}
.mf-profile-photo__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    flex: 1;
    min-width: 12rem;
}
.mf-profile-photo__actions .mf-field__hint {
    flex-basis: 100%;
    margin: 0;
}
.mf-phone-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 2.85rem;
    padding: 0.7rem 0.95rem;
    background: #fff;
    border: 1px solid var(--mf-field-border);
    border-radius: var(--mf-field-radius);
    box-sizing: border-box;
}
.mf-phone-row__value {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 400;
    font-size: 0.9375rem;
    color: #0F172A;
}
.mf-phone-row__ok {
    display: inline-flex;
    line-height: 0;
}
.mf-phone-row__change {
    color: #059669 !important;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none !important;
}
.mf-phone-row__change:hover {
    text-decoration: none !important;
    opacity: 0.85;
}
.mf-birthdate__control {
    position: relative;
    display: flex;
    align-items: stretch;
}
.mf-birthdate__trigger {
    flex: 1;
    display: flex;
    align-items: center;
    min-height: 2.85rem;
    padding: 0.7rem 2.4rem 0.7rem 0.95rem;
    text-align: right;
    background: #fff;
    border: 1px solid var(--mf-field-border);
    border-radius: var(--mf-field-radius);
    color: #0F172A;
    font: inherit;
    font-size: 0.9375rem;
    font-weight: 400;
    cursor: pointer;
    box-shadow: none;
}
.mf-birthdate__trigger:hover {
    border-color: #D1D5DB;
}
.mf-birthdate__trigger:focus-visible {
    outline: none;
    border-color: var(--mf-chrome);
    box-shadow: var(--mf-field-shadow-focus);
}
.mf-birthdate__clear {
    position: absolute;
    inset-inline-end: 0.45rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.75rem;
    height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--mf-text-tertiary);
    cursor: pointer;
}
.mf-birthdate__clear:hover {
    background: var(--mf-surface-2);
    color: var(--mf-text);
}
.mf-date-wheels {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1.35fr 1.15fr;
    gap: 0.35rem;
    height: 11.5rem;
    margin: 0.25rem 0 0.5rem;
    direction: rtl;
}
.mf-date-wheels__col {
    position: relative;
    overflow: hidden;
    border-radius: 0.75rem;
    background: #F8FAFC;
}
.mf-date-wheels__track {
    height: 100%;
    overflow-y: auto;
    scroll-snap-type: y mandatory;
    scrollbar-width: none;
    padding: 4.35rem 0;
    outline: none;
}
.mf-date-wheels__track::-webkit-scrollbar { display: none; }
.mf-date-wheels__item {
    height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    scroll-snap-align: center;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--mf-text-secondary);
    user-select: none;
}
.mf-date-wheels__item.is-active {
    color: var(--mf-text);
    font-weight: 700;
    font-size: 1.05rem;
}
.mf-date-wheels__fade {
    pointer-events: none;
    position: absolute;
    inset: 0;
    border-block: 2.85rem solid transparent;
    background:
        linear-gradient(var(--mf-field-bg), transparent) top / 100% 2.85rem no-repeat,
        linear-gradient(transparent, var(--mf-field-bg)) bottom / 100% 2.85rem no-repeat;
    box-shadow: inset 0 0 0 1px transparent;
}
.mf-date-wheels::after {
    content: '';
    pointer-events: none;
    position: absolute;
    left: 0.25rem;
    right: 0.25rem;
    top: 50%;
    height: 2.4rem;
    transform: translateY(-50%);
    border: 1px solid #C4B5FD;
    border-radius: 0.65rem;
    background: rgba(124, 58, 237, 0.06);
}
@media (max-width: 720px) {
    .mf-form-grid { grid-template-columns: 1fr; }
    .mf-profile-photo { flex-direction: column; align-items: flex-start; }
}

/* Payment / purchase result receipt */
.mf-pay-result {
    max-width: 36rem;
    margin: 0 auto;
}
.mf-pay-result__card {
    padding: 1.5rem 1.35rem 1.35rem;
}
.mf-pay-result__hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.65rem;
    padding: 0.35rem 0.5rem 1.25rem;
    margin-bottom: 0.25rem;
    border-bottom: 1px solid var(--mf-border);
}
.mf-pay-result__title {
    margin: 0.15rem 0 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--mf-text);
}
.mf-pay-result__message {
    margin: 0;
    max-width: 26rem;
    font-size: 0.9rem;
    line-height: 1.65;
    color: var(--mf-text-tertiary);
    font-weight: 400;
}
.mf-pay-result__meta {
    margin: 0;
    padding: 0.35rem 0;
}
.mf-pay-result__row {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: 0.75rem 1rem;
    align-items: baseline;
    padding: 0.85rem 0.15rem;
    border-bottom: 1px solid #F1F5F9;
}
.mf-pay-result__row:last-child {
    border-bottom: 0;
}
.mf-pay-result__row dt {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--mf-text-tertiary);
}
.mf-pay-result__row dd {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #0F172A;
    text-align: start;
    word-break: break-word;
}
.mf-pay-result__mono {
    font-variant-numeric: tabular-nums;
    font-weight: 500 !important;
    color: #334155 !important;
}
.mf-pay-result__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.35rem;
    padding-top: 1.15rem;
    border-top: 1px solid #EEF0F5;
}
@media (max-width: 560px) {
    .mf-pay-result__row {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }
    .mf-pay-result__actions .mf-btn {
        flex: 1 1 auto;
        justify-content: center;
    }
}

/* Plans */
.mf-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}
@media (max-width: 1100px) {
    .mf-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .mf-plan-grid { grid-template-columns: 1fr; }
}
.mf-plan-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.25rem;
    background: #fff;
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-radius-lg);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}
/* Override legacy .plan-card / :first-child padding from app.css */
body.mf-app .mf-plan-card.plan-card,
body.mf-app .mf-plan-card.plan-card:first-child {
    padding: 1.25rem;
    border-top: 0;
    gap: 0.75rem;
}
.mf-plan-card--featured {
    border-color: color-mix(in srgb, var(--mf-chrome) 40%, var(--mf-border));
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
}
.mf-plan-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.85rem;
    background: var(--mf-well-plans-bg);
    color: var(--mf-well-plans-fg);
    margin: 0;
    flex-shrink: 0;
}
.mf-plan-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 2.5rem;
}
.mf-plan-card__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    flex: 1 1 auto;
    min-height: 1.5rem;
}
.mf-plan-card h2 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
}
.mf-plan-card .plan-price-block { margin: 0; }
.mf-plan-card .plan-price {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--mf-text);
}
.mf-plan-card .plan-price-list {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--mf-text-tertiary);
    text-decoration: line-through;
}
.mf-plan-card .plan-price-sale {
    color: var(--mf-accent-2);
}
.mf-plan-card .plan-coins {
    margin: 0;
    color: var(--mf-text-secondary);
    font-size: 0.875rem;
}
.mf-plan-features {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    flex: 1 1 auto;
}
.mf-plan-features li {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    color: var(--mf-text-secondary);
    font-size: 0.875rem;
    line-height: 1.5;
}
.mf-plan-features li::before {
    content: "";
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    margin-top: 0.15rem;
    border-radius: 999px;
    background: var(--mf-chrome-soft);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237C3AED' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 0.7rem;
}
.mf-plan-card__actions { margin-top: 0.5rem; }

@media (max-width: 1023px) {
    .mf-app-shell { grid-template-columns: 1fr; }
    .mf-app-header__theme { display: none; }
    .mf-app-header__divider { display: none; }
    .mf-app-sidebar__mobile-tools {
        display: flex;
        justify-content: center;
        padding: 0.55rem 0.5rem 0.15rem;
        border-bottom: 0;
        border-top: 1px solid var(--mf-border);
        margin-top: 0.35rem;
    }
    .mf-app-sidebar__mobile-tools .mf-theme-control {
        align-self: center;
    }
    .mf-app-sidebar__scroll { overflow-y: auto; }
    .mf-app-header__menu-btn { display: inline-flex; }
    .mf-app-header .mf-brand { display: inline-flex; }
    .mf-app-header .mf-brand img.mf-brand__logo--full { display: none; }
    .mf-app-header .mf-brand img.mf-brand__logo--mark {
        display: block;
        height: 2rem;
        width: 2rem;
        max-width: 2rem;
    }
    body.mf-app:has(.mf-studio-hub) .mf-app-header .mf-brand,
    body.mf-app:has(.mf-tool-workspace) .mf-app-header .mf-brand { display: none; }
    .mf-app-header__nav { display: none; }
    .mf-app-header__end { gap: 0.45rem; }
    .mf-profile__trigger { gap: 0.4rem; }
    .mf-profile__name,
    .mf-profile__plan { max-width: 6.5rem; }
    .mf-app-sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        right: 0;
        left: auto;
        display: flex;
        flex-direction: column;
        width: min(20.5rem, 92vw);
        max-width: 22rem;
        height: 100vh;
        height: 100dvh;
        padding: 0.85rem 0.75rem 0.85rem;
        background: #fff;
        border-left: 1px solid #E8EAF0;
        border-right: 0;
        box-shadow: -12px 0 40px rgba(15, 23, 42, 0.1);
        transform: translate3d(105%, 0, 0);
        transition: transform 200ms ease;
        z-index: 50;
        pointer-events: none;
        overflow: hidden;
        box-sizing: border-box;
    }
    body.mf-nav-open .mf-app-sidebar {
        transform: translate3d(0, 0, 0);
        pointer-events: auto;
    }
    body.mf-nav-open { overflow: hidden; }
    body.mf-sidebar-collapsed .mf-app-shell {
        grid-template-columns: 1fr;
    }
    body.mf-sidebar-collapsed .mf-app-sidebar__dash {
        justify-content: flex-start;
        padding-inline: 0.65rem;
    }
    body.mf-sidebar-collapsed .mf-app-sidebar__dash .mf-app-sidebar__text,
    body.mf-sidebar-collapsed .mf-app-sidebar__text {
        display: initial !important;
    }
    body.mf-sidebar-collapsed .mf-app-sidebar__brand-logo {
        display: block !important;
    }
    body.mf-sidebar-collapsed .mf-app-sidebar__brand-mark {
        display: none !important;
    }
    body.mf-sidebar-collapsed .mf-app-sidebar__nav a,
    body.mf-sidebar-collapsed .mf-app-sidebar__collapse {
        justify-content: flex-start;
        padding-inline: 0.75rem;
    }
    .mf-app-sidebar__collapse { display: none; }
    .mf-app-sidebar__close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        border: 1px solid var(--mf-border);
        border-radius: 0.65rem;
        background: #F8FAFC;
        color: #0F172A;
        font-size: 1.25rem;
    }
    .mf-app-sidebar__nav {
        flex-direction: column;
    }
    .mf-app-nav-backdrop {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 45;
        margin: 0;
        padding: 0;
        border: 0;
        background: rgba(0, 0, 0, 0.45);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        cursor: pointer;
    }
    html[data-theme="dark"] .mf-app-nav-backdrop {
        background: rgba(0, 0, 0, 0.62);
    }
    .mf-app-nav-backdrop:not([hidden]) {
        display: block;
    }
    @media (prefers-reduced-motion: reduce) {
        .mf-app-nav-backdrop {
            -webkit-backdrop-filter: none;
            backdrop-filter: none;
            background: rgba(0, 0, 0, 0.7);
        }
    }
}

@media (max-width: 639px) {
    .mf-credit-pill__cta { padding-inline: 0.55rem; }
    .mf-birthdate-row { grid-template-columns: 1fr; }
}



body.mf-app .mf-profile__menu button {
    background: transparent;
    border: 0;
    box-shadow: none;
    font-weight: 500;
}
body.mf-app .mf-profile__logout {
    color: #E11D48;
}
body.mf-app .mf-profile__logout:hover {
    background: color-mix(in srgb, var(--mf-danger) 12%, var(--mf-surface-0));
    color: #BE123C;
}

/* ===== Phase 3: tool workspace, uploader, marketing ===== */
.mf-page-header {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-bottom: 0.95rem;
}
.mf-page-header--hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    pointer-events: none;
}
.mf-page-header__crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.28rem;
    font-size: 0.78rem;
    color: var(--mf-text-tertiary);
    line-height: 1.35;
}
.mf-page-header__crumbs a {
    color: var(--mf-text-tertiary);
    text-decoration: none;
}
.mf-page-header__crumbs a:hover {
    color: var(--mf-text-tertiary);
}
.mf-page-header__crumbs [aria-current="page"] {
    color: var(--mf-text-tertiary);
}
.mf-page-header__sep {
    color: #CBD5E1;
    user-select: none;
}
.mf-page-header__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.mf-page-header__heading {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}
.mf-page-header__title {
    margin: 0;
    padding-block: 0.1em;
    font-size: 1.35rem;
    font-weight: var(--mf-weight-bold);
    color: var(--mf-text, #0F172A);
    line-height: 1.45;
    letter-spacing: -0.01em;
    overflow: visible;
    min-width: 0;
    word-break: break-word;
}
@media (min-width: 1024px) {
    .mf-page-header__title {
        font-size: 1.55rem;
    }
}
.mf-page-header__heading .mf-badge {
    flex: 0 0 auto;
}
.mf-page-header__action {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex: 0 0 auto;
}
.mf-page-header__lede {
    margin: 0;
    color: var(--mf-text-tertiary);
    font-size: 0.875rem;
    line-height: 1.5;
    max-width: 36rem;
}

.mf-tool-workspace {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    width: 100%;
    max-width: 42rem;
    margin-inline: auto;
}
.mf-tool-hero {
    display: flex;
    justify-content: center;
    margin-bottom: 0.15rem;
}
.mf-tool-hero__box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    padding: 0.95rem 1.15rem;
    text-align: center;
    background: #fff;
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-radius-lg);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}
.mf-tool-hero__mark-row {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.mf-tool-hero__badges {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
}
.mf-tool-hero__title {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.6;
    color: #0F172A;
}
.mf-tool-hero__lede {
    margin: 0;
    max-width: 28rem;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.7;
    color: #737373;
}
.mf-tool-workspace__body { display: flex; flex-direction: column; gap: 1rem; }
.mf-tool-lock {
    position: relative;
}
.mf-tool-lock .mf-tool-lock__stage {
    filter: blur(2.5px);
    opacity: 0.58;
    pointer-events: none;
    user-select: none;
}
.mf-tool-lock__veil {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 1rem;
}
.mf-tool-lock__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
    max-width: 18.5rem;
    text-align: center;
}
.mf-tool-lock__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.9rem;
    background: #f3e8ff;
    color: #6d28d9;
}
.mf-tool-lock__prompt {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.7;
    color: #0f172a;
}
.mf-tool-lock__card--modal {
    width: 100%;
    max-width: 20rem;
    margin-inline: auto;
    padding: 0.35rem 0 0.5rem;
}

.mf-music__fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.mf-music {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.mf-music-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--mf-field-border, #e5e7eb);
    border-radius: 1.15rem;
    box-shadow: var(--mf-shadow-elevated, 0 8px 24px rgb(0 0 0 / 6%));
}
.mf-music-card[hidden],
.mf-music__footer[hidden] {
    display: none !important;
}
.mf-music-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 0.7rem 1rem 0.1rem;
}
.mf-music-card__title {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
}
.mf-music-card__title svg { opacity: 0.7; }
.mf-music-card__toggles {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem;
}
.mf-music .mf-toggle { margin: 0; }
.mf-music .mf-toggle__label {
    font-size: 0.8125rem;
    font-weight: 500;
}
.mf-music-card__text {
    display: block;
    width: 100%;
    min-height: 4.75rem;
    margin: 0;
    padding: 0.35rem 1rem 0.2rem;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none;
    resize: none;
    font: inherit;
    font-size: 0.9375rem;
    line-height: 1.75;
    color: #0f172a;
}
.mf-music-card__text::placeholder { color: var(--mf-field-placeholder, #737373); }
.mf-music-card__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    padding: 0.3rem 0.75rem 0.6rem;
}
.mf-music-card__tools {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-inline-start: auto;
}
.mf-music-card__count {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--mf-text-tertiary);
}
.mf-music-copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border: 1px solid var(--mf-border, #e4e6ea);
    border-radius: 0.7rem;
    background: #fff;
    color: #45515e;
    cursor: pointer;
}
.mf-music-copy:hover { background: #f4f6f8; }
.mf-music__dock {
    display: flex;
    flex: 0 0 auto;
    min-width: 0;
}
.mf-music:not(.is-lyrics) .mf-music__dock .mf-tool-produce-wrap {
    width: auto;
}
.mf-music:not(.is-lyrics) .mf-music__dock .mf-tool-produce {
    width: auto;
    min-width: 9.25rem;
}
.mf-music:not(.is-lyrics) .mf-music__dock .mf-tool-produce__hint { display: none; }
.mf-music__footer:not([hidden]) {
    display: block;
    width: 100%;
}
.mf-music.is-lyrics .mf-music__dock {
    width: 100%;
}
.mf-music.is-lyrics .mf-music__dock .mf-tool-produce-wrap,
.mf-music.is-lyrics .mf-music__dock .mf-tool-produce {
    width: 100%;
}

body.mf-app .mf-tool-panel { margin: 0; }
body.mf-app form.mf-tool-panel.is-busy {
    pointer-events: none;
    user-select: none;
}
.mf-tool-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.65rem;
    margin-top: 1rem;
}
.mf-tool-actions__produce {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
}
.mf-tool-actions__aside {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
}
.mf-tool-produce-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
}
.mf-tool-produce {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.55rem 1.15rem;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(165deg, #9B7AF5 0%, #7C3AED 55%, #6D28D9 100%);
    color: #fff;
    font: inherit;
    font-size: 0.9375rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(124, 58, 237, 0.18);
    transition: transform 140ms ease, box-shadow 140ms ease, filter 140ms ease;
}
.mf-tool-produce:hover:not(:disabled) {
    filter: brightness(1.03);
    box-shadow: 0 5px 12px rgba(124, 58, 237, 0.22);
}
.mf-tool-produce:active:not(:disabled) {
    transform: translateY(1px);
}
.mf-tool-produce:disabled,
.mf-tool-produce.is-disabled {
    cursor: not-allowed;
    opacity: 0.45;
    filter: grayscale(0.25);
    box-shadow: none;
    pointer-events: none;
}
.mf-tool-produce:disabled:hover,
.mf-tool-produce.is-disabled:hover {
    filter: grayscale(0.25);
    box-shadow: none;
}
.mf-tool-produce.is-loading {
    cursor: wait;
    opacity: 1;
    filter: saturate(0.9);
    pointer-events: none;
}
.mf-tool-produce__main {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.9375rem;
    font-weight: 700;
}
.mf-tool-produce__cost {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    min-height: 1.45rem;
    padding: 0.12rem 0.5rem;
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.14));
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.mf-tool-produce__cost[hidden] {
    display: none !important;
}
.mf-tool-produce__bolt {
    flex: 0 0 auto;
    opacity: 1;
    color: #facc15;
}
html[data-theme="dark"] .mf-tool-produce__bolt {
    color: #facc15;
    background: #18181b;
    border-radius: 0.35rem;
    padding: 0.12rem;
    box-sizing: content-box;
    filter: none;
}
.mf-tool-produce__busy {
    position: absolute;
    inset: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    border-radius: inherit;
    background: linear-gradient(165deg, #9B7AF5 0%, #7C3AED 55%, #6D28D9 100%);
    font-size: 0.875rem;
    font-weight: 700;
}
.mf-tool-produce__busy[hidden] {
    display: none !important;
}
.mf-tool-produce.is-loading .mf-tool-produce__main,
.mf-tool-produce.is-loading .mf-tool-produce__cost {
    opacity: 0;
}
.mf-tool-produce__spinner {
    width: 1rem;
    height: 1rem;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: mf-spin 0.7s linear infinite;
}
.mf-tool-produce__hint {
    margin: 0;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mf-text-tertiary);
}
.mf-tool-produce__hint[hidden] {
    display: none !important;
}
.mf-tool-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-width: 6.75rem;
    min-height: 2.75rem;
    height: 2.75rem;
    padding: 0.4rem 0.85rem;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
    color: var(--mf-text-secondary);
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}
.mf-tool-clear:hover:not(:disabled) {
    background: linear-gradient(180deg, #FFFFFF 0%, #F1F5F9 100%);
    border-color: #CBD5E1;
    color: #0F172A;
}
.mf-tool-clear svg {
    color: var(--mf-chrome);
}
@media (max-width: 720px) {
    .mf-tool-actions {
        flex-wrap: nowrap;
        gap: 0.5rem;
        margin-top: 0.85rem;
    }
    .mf-tool-clear {
        min-width: 0;
        padding-inline: 0.75rem;
        width: auto;
    }
}

.mf-tool-busy {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    background: rgba(248, 250, 252, 0.55);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.mf-tool-busy[hidden] {
    display: none !important;
}
.mf-tool-busy__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    width: min(20rem, 100%);
    padding: 1.5rem 1.25rem;
    border-radius: 1.25rem;
    border: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.1);
    text-align: center;
}
.mf-tool-busy__orb {
    position: relative;
    width: 3.25rem;
    height: 3.25rem;
    margin-bottom: 0.35rem;
}
.mf-tool-busy__orb span {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    border: 2px solid transparent;
    border-top-color: var(--mf-chrome);
    animation: mf-spin 0.9s linear infinite;
}
.mf-tool-busy__orb span:nth-child(2) {
    inset: 0.35rem;
    border-top-color: #A78BFA;
    animation-duration: 1.2s;
    animation-direction: reverse;
}
.mf-tool-busy__orb span:nth-child(3) {
    inset: 0.7rem;
    border-top-color: #C4B5FD;
    animation-duration: 1.5s;
}
.mf-tool-busy__title {
    margin: 0;
    font-size: 0.975rem;
    font-weight: 700;
    color: #0F172A;
}
.mf-tool-busy__hint {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--mf-text-tertiary);
    line-height: 1.55;
}
@media (prefers-reduced-motion: reduce) {
    .mf-tool-busy__orb span,
    .mf-tool-produce__spinner,
    .mf-record__pulse {
        animation: none;
    }
    .mf-tool-lock .mf-tool-lock__stage {
        filter: none;
    }
}

/* Shared audio source: record + upload */
.mf-source {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-bottom: 1.15rem;
}
.mf-source__divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--mf-text-tertiary);
    font-size: 0.75rem;
    font-weight: 700;
}
.mf-source__divider::before,
.mf-source__divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #E2E8F0;
}
.mf-record {
    border: 1px solid #E8ECF2;
    border-radius: 10px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}
.mf-record__main {
    padding: 0.75rem;
}
.mf-record__start {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.35rem 0.45rem;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #0F172A;
    font: inherit;
    text-align: start;
    cursor: pointer;
}
.mf-record__start:hover {
    background: #F8FAFC;
}
.mf-record__orb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 10px;
    background: var(--mf-brand-red, #e91752);
    color: #fff;
    box-shadow: 0 4px 10px rgba(233, 23, 82, 0.22);
    flex: 0 0 auto;
}
.mf-record__copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}
.mf-record__title {
    font-size: 0.9375rem;
    font-weight: 700;
}
.mf-record__hint {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mf-text-tertiary);
}
.mf-record__stop {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.55rem 1rem;
    border: 0;
    border-radius: 10px;
    background: var(--mf-brand-red, #e91752);
    color: #fff;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 140ms ease;
}
.mf-record__stop:hover {
    background: var(--mf-brand-red-hover, #d01548);
}
.mf-record__stop[hidden],
.mf-record__start[hidden] {
    display: none !important;
}
.mf-record__pulse {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 999px;
    background: var(--mf-brand-red, #e91752);
    box-shadow: 0 0 0 0 rgba(233, 23, 82, 0.45);
    animation: mf-record-pulse 1.2s ease-out infinite;
}
@keyframes mf-record-pulse {
    0% { box-shadow: 0 0 0 0 rgba(233, 23, 82, 0.45); }
    70% { box-shadow: 0 0 0 10px rgba(233, 23, 82, 0); }
    100% { box-shadow: 0 0 0 0 rgba(233, 23, 82, 0); }
}
.mf-record.is-recording {
    border-color: #FECACA;
    background: linear-gradient(180deg, #FFF1F2 0%, #FFFFFF 100%);
}
.mf-record__preview {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.65rem 0.85rem 0.85rem;
    border-top: 1px solid #F1F5F9;
}
.mf-record__preview[hidden] {
    display: none !important;
}
.mf-record__preview audio {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.mf-record__play:not(.mf-rec-bar__btn) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: var(--mf-btn-radius);
    background: #0a0a0a;
    color: #fff;
    box-shadow: none;
    cursor: pointer;
    flex: 0 0 auto;
}
.mf-record__play:not(.mf-rec-bar__btn) svg {
    width: 20px;
    height: 20px;
}
.mf-record__play[hidden] {
    display: none !important;
}
.mf-record__icon-pause {
    display: none !important;
}
.mf-record__play:not(.mf-rec-bar__btn).is-playing {
    background: #111111;
    color: #fff;
    box-shadow: none;
}
.mf-record__play.is-playing .mf-record__icon-play {
    display: none !important;
}
.mf-record__play.is-playing .mf-record__icon-pause {
    display: block !important;
}
.mf-record__ready {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mf-text-tertiary);
}
.mf-change__fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}
.mf-change__voice-wrap {
    margin-top: 0;
    margin-bottom: 0.85rem;
    overflow: visible;
}
.mf-change__voice-label {
    margin: 0 0 0.65rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--mf-text-tertiary);
}
.mf-change__voice {
    width: 100%;
}
.mf-change__voice-trigger {
    width: 100%;
    justify-content: space-between;
    min-height: 2.75rem;
    border-radius: 10px;
    padding-inline: 0.85rem;
}
.mf-change__voice .mf-speech-voice__menu {
    width: 100%;
    inset-inline-start: 0;
    inset-inline-end: 0;
}

.mf-uploader { margin: 0.75rem 0 1rem; }
.mf-source .mf-uploader { margin: 0; }
.mf-uploader__zone {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 1.35rem 1rem;
    border: 1px dashed rgba(15, 23, 42, 0.16);
    border-radius: var(--mf-radius-lg);
    background: var(--mf-surface-2);
    cursor: pointer;
    text-align: center;
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.mf-uploader.is-drag .mf-uploader__zone,
.mf-uploader__zone:hover {
    border-color: rgba(15, 23, 42, 0.65);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}
.mf-uploader.is-filled .mf-uploader__zone {
    border-style: solid;
    border-color: rgba(52, 211, 153, 0.4);
}
.mf-uploader__input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}
.mf-uploader__title { color: var(--mf-text); font-weight: 600; font-size: 0.9375rem; }
.mf-uploader__hint { color: var(--mf-text-tertiary); font-size: 0.8125rem; }
.mf-uploader__file { color: var(--mf-accent-2); font-size: 0.8125rem; direction: ltr; }
.mf-uploader__wave {
    display: inline-flex;
    align-items: flex-end;
    gap: 3px;
    height: 1.5rem;
    margin-bottom: 0.25rem;
}
.mf-uploader__wave i {
    display: block;
    width: 3px;
    border-radius: 2px;
    background: var(--mf-wave);
    opacity: 0.85;
    animation: mf-wave 1.1s ease-in-out infinite;
}
.mf-uploader__wave i:nth-child(1) { height: 35%; animation-delay: 0s; }
.mf-uploader__wave i:nth-child(2) { height: 60%; animation-delay: .1s; }
.mf-uploader__wave i:nth-child(3) { height: 90%; animation-delay: .2s; }
.mf-uploader__wave i:nth-child(4) { height: 50%; animation-delay: .3s; }
.mf-uploader__wave i:nth-child(5) { height: 75%; animation-delay: .15s; }
.mf-uploader__wave i:nth-child(6) { height: 40%; animation-delay: .25s; }
.mf-uploader__wave i:nth-child(7) { height: 65%; animation-delay: .05s; }
@keyframes mf-wave {
    0%, 100% { transform: scaleY(0.7); opacity: 0.55; }
    50% { transform: scaleY(1); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .mf-uploader__wave i { animation: none; }
}

.mf-audio-player {
    position: relative;
    margin: 0.85rem 0 1.1rem;
}
.mf-audio-player audio[data-mf-audio-el] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.mf-audio-player__card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.7rem;
    padding: 0.65rem 0.8rem;
    border-radius: 12px;
    border: 1px solid #E8ECF2;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}
.mf-audio-player__play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: var(--mf-btn-radius);
    background: #0a0a0a;
    color: #fff;
    cursor: pointer;
    flex: 0 0 auto;
    box-shadow: none;
    transition: transform 140ms ease;
}
.mf-audio-player__play svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}
.mf-audio-player__play:hover:not(:disabled) {
    transform: scale(1.05);
}
.mf-audio-player.is-playing .mf-audio-player__play {
    background: #0a0a0a;
    color: #fff;
}
.mf-audio-player__icon-pause {
    display: none !important;
}
.mf-audio-player.is-playing .mf-audio-player__icon-play {
    display: none !important;
}
.mf-audio-player.is-playing .mf-audio-player__icon-pause {
    display: block !important;
}
.mf-audio-player__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.mf-audio-player__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.mf-audio-player__label {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 700;
    color: #0F172A;
}
.mf-audio-player__time {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--mf-text-tertiary);
    white-space: nowrap;
    direction: ltr;
}
.mf-audio-player__track {
    position: relative;
    height: 0.4rem;
    border-radius: 999px;
    background: #E2E8F0;
    cursor: pointer;
    overflow: hidden;
}
.mf-audio-player__fill {
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    width: 0%;
    border-radius: inherit;
    background: linear-gradient(90deg, #A78BFA, #7C3AED);
}
.mf-audio-player__dl {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.8rem;
    color: var(--mf-text-tertiary);
    background: #F1F5F9;
    text-decoration: none;
    transition: background 140ms ease, color 140ms ease;
}
.mf-audio-player__dl:hover {
    color: var(--mf-chrome);
    background: var(--mf-chrome-soft);
}



@media (min-width: 640px) {
    :root {
        --mf-mkt-gutter: 1rem;                                        /* 16px tablet */
    }
}
@media (min-width: 1024px) {
    :root {
        --mf-mkt-gutter: 1.5rem;                                      /* 24px desktop */
        --mf-mkt-header-height: calc(2.5rem + 2.75rem + 2px);         /* ≈86px */
    }
}

body.mf-mkt {
    display: flex;
    flex-direction: column;
    margin: 0;
    min-height: 100vh;
    min-height: 100dvh;
    background: var(--mf-void);
    color: var(--mf-text);
    font-family: var(--mf-font);
    font-size: var(--mf-mkt-type-body);
    font-weight: var(--mf-weight-regular);
    line-height: var(--mf-mkt-leading);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -webkit-tap-highlight-color: transparent;
}
body.mf-mkt a:not(.mf-btn):not(.mf-brand):not(.mf-mkt-header__nav a):not(.mf-mkt-drawer a):not(.mf-mkt-footer a):not(.mf-mkt-page__faq-link):not(.mf-mkt-page__id):not(.mf-mkt-page__phone):not(.mf-mkt-page__social-link):not(.mf-mkt-page__crumb a):not(.mf-mkt-tool):not(.mf-mkt-tools__all):not(.mf-mkt-pricing__buy):not(.mf-mkt-pricing__more) { color: var(--mf-accent-2); }
body.mf-mkt a.mf-btn--primary {
    color: #fff !important;
}
.mf-mkt-main {
    flex: 1 0 auto;
    padding: 0 0 2rem;
}
.mf-mkt-header {
    position: sticky;
    top: 0;
    z-index: 40;
    width: 100%;
    border-bottom: 1px solid transparent;
    background: transparent;
    transition: background 200ms ease, border-color 200ms ease, backdrop-filter 200ms ease;
}
.mf-mkt-header.is-scrolled {
    background: var(--mf-glass);
    border-bottom-color: var(--mf-border);
    backdrop-filter: blur(16px) saturate(140%);
}
.mf-mkt-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-height: 2.5rem;
    margin: 0 auto;
    padding: 0.65rem var(--mf-mkt-gutter);
}
.mf-mkt-header .mf-brand {
    display: inline-flex;
    align-items: center;
    height: 2.5rem;
}
.mf-mkt-header .mf-brand img.mf-brand__logo--full {
    height: 2.25rem;
    width: auto;
    max-width: min(11.5rem, 40vw);
}
.mf-mkt-header__nav {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.25rem;
}
.mf-mkt-header__nav a,
.mf-mkt-nav-drop__trigger {
    color: var(--mf-text-secondary);
    text-decoration: none;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    font-size: var(--mf-mkt-type-nav);
    font-weight: 500;
    line-height: var(--mf-mkt-control-line);
}
.mf-mkt-header__nav a:hover,
.mf-mkt-header__nav a[aria-current="page"],
.mf-mkt-nav-drop__trigger:hover,
.mf-mkt-nav-drop__trigger[aria-current="page"],
.mf-mkt-nav-drop:hover > .mf-mkt-nav-drop__trigger,
.mf-mkt-nav-drop:focus-within > .mf-mkt-nav-drop__trigger {
    color: var(--mf-text);
    background: rgba(15, 23, 42, 0.04);
}
.mf-mkt-nav-drop {
    position: relative;
}
.mf-mkt-nav-drop__trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}
.mf-mkt-nav-drop__chev {
    display: block;
    width: 0.85rem;
    height: 0.85rem;
    opacity: 0.55;
    transition: transform 180ms ease, opacity 180ms ease;
}
.mf-mkt-nav-drop:hover > .mf-mkt-nav-drop__trigger .mf-mkt-nav-drop__chev,
.mf-mkt-nav-drop:focus-within > .mf-mkt-nav-drop__trigger .mf-mkt-nav-drop__chev {
    opacity: 0.9;
    transform: rotate(180deg);
}
/* Panel starts at 100% with padding-top bridge so the cursor never leaves hover. */
.mf-mkt-nav-drop__panel {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 40;
    min-width: 16.5rem;
    padding: 0.55rem 0 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(0.25rem);
    transition:
        opacity 160ms ease,
        transform 160ms ease,
        visibility 160ms ease;
}
.mf-mkt-nav-drop:hover > .mf-mkt-nav-drop__panel,
.mf-mkt-nav-drop:focus-within > .mf-mkt-nav-drop__panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
.mf-mkt-nav-drop__card {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.7rem;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 16px;
    box-shadow:
        0 1px 2px rgba(23, 23, 23, 0.04),
        0 16px 40px rgba(23, 23, 23, 0.12);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
}
.mf-mkt-nav-drop__item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    color: var(--mf-text);
    text-decoration: none;
    transition:
        background-color 160ms ease,
        transform 160ms ease;
}
.mf-mkt-nav-drop__glyph {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 10px;
    background: rgba(163, 131, 82, 0.12);
    color: #8a6d3f;
    transition: background-color 160ms ease;
}
.mf-mkt-nav-drop__glyph svg {
    display: block;
    width: 1.1rem;
    height: 1.1rem;
}
.mf-mkt-nav-drop__label {
    flex: 1 1 auto;
    min-width: 0;
    font-size: var(--mf-mkt-type-nav);
    font-weight: 600;
    line-height: 1.35;
    text-align: right;
    white-space: nowrap;
}
.mf-mkt-nav-drop__item:hover {
    background: rgba(163, 131, 82, 0.1);
    transform: translateX(-0.1rem);
}
.mf-mkt-nav-drop__item:hover .mf-mkt-nav-drop__glyph {
    background: rgba(163, 131, 82, 0.2);
}
.mf-mkt-nav-drop__item--hub {
    margin-top: 0.2rem;
    border-top: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 0 0 12px 12px;
}
.mf-mkt-nav-drop__item--hub .mf-mkt-nav-drop__glyph {
    background: rgba(23, 23, 23, 0.06);
    color: #525252;
}
.mf-mkt-drawer-acc {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.mf-mkt-drawer-acc__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 0.95rem 0;
    border: 0;
    border-bottom: 1px solid var(--mf-border);
    background: transparent;
    color: var(--mf-text);
    font: inherit;
    font-size: 1.05rem;
    font-weight: 500;
    text-align: right;
    cursor: pointer;
    transition: color 160ms ease;
}
.mf-mkt-drawer-acc__toggle::after {
    content: "";
    width: 0.45rem;
    height: 0.45rem;
    border-left: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(-45deg);
    transition: transform 160ms ease;
    opacity: 0.55;
}
.mf-mkt-drawer-acc__toggle[aria-expanded="true"]::after {
    transform: rotate(135deg);
}
.mf-mkt-drawer-acc__panel {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    width: 100%;
    margin: 0.55rem 0 0.85rem;
    padding: 0.45rem;
    background: #fafafa;
    border: 1px solid rgba(23, 23, 23, 0.06);
    border-radius: 14px;
}
.mf-mkt-drawer-acc__panel[hidden] {
    display: none;
}
.mf-mkt-drawer__nav .mf-mkt-drawer-acc__item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.8rem 0.75rem;
    border: 0;
    border-radius: 12px;
    background: #fff;
    color: #404040;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(23, 23, 23, 0.03);
    transition:
        background-color 160ms ease,
        color 160ms ease,
        box-shadow 160ms ease,
        transform 160ms ease;
}
.mf-mkt-drawer-acc__glyph {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    background: rgba(163, 131, 82, 0.12);
    color: #8a6d3f;
}
.mf-mkt-drawer-acc__glyph svg {
    display: block;
    width: 1.15rem;
    height: 1.15rem;
}
.mf-mkt-drawer-acc__label {
    flex: 1 1 auto;
    min-width: 0;
    text-align: right;
}
.mf-mkt-drawer__nav .mf-mkt-drawer-acc__item:hover,
.mf-mkt-drawer__nav .mf-mkt-drawer-acc__item:active {
    color: #171717;
    background: rgba(163, 131, 82, 0.1);
    box-shadow: none;
    transform: translateX(-0.08rem);
}
.mf-mkt-drawer__nav .mf-mkt-drawer-acc__item--hub {
    margin-top: 0.15rem;
    border-top: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 12px;
    background: transparent;
    box-shadow: none;
    font-weight: 600;
    color: #171717;
}
.mf-mkt-drawer__nav .mf-mkt-drawer-acc__item--hub .mf-mkt-drawer-acc__glyph {
    background: rgba(23, 23, 23, 0.06);
    color: #404040;
}
.mf-mkt-header__actions { display: flex; align-items: center; gap: 0.55rem; }
body.mf-mkt .mf-mkt-header .mf-btn--primary {
    min-height: 2rem;
    padding: 0 0.95rem;
    border-color: #e4e4e7;
    background: #fff;
    color: #171717 !important;
    font-size: var(--mf-mkt-type-nav);
    font-weight: 500;
    line-height: var(--mf-mkt-control-line);
    box-shadow: none;
}
body.mf-mkt .mf-mkt-header .mf-btn--primary:hover {
    border-color: #d4d4d4;
    background: #fafafa;
    color: #171717 !important;
}
@media (max-width: 380px) {
    body.mf-mkt .mf-mkt-header .mf-btn--primary {
        font-size: var(--mf-mkt-type-ui);
    }
}
.mf-mkt-header__menu-btn {
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-btn-radius);
    background: #fff;
    color: var(--mf-text);
    cursor: pointer;
    box-shadow: none;
}
.mf-mkt-header__menu-btn svg {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
}
@media (min-width: 1024px) {
    .mf-mkt-header {
        padding: 1.25rem 0 0;
        background: transparent;
        border-bottom-color: transparent;
    }
    .mf-mkt-header.is-scrolled {
        background: transparent;
        border-bottom-color: transparent;
        backdrop-filter: none;
    }
    .mf-mkt-header__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        gap: 1rem;
        max-width: var(--mf-mkt-container);
        min-height: 2.5rem;
        padding: 0.75rem var(--mf-mkt-gutter);
        background: #fff;
        border: 1px solid rgba(23, 23, 23, 0.08);
        border-radius: 16px;
        box-shadow: 0 1px 2px rgba(23, 23, 23, 0.04);
        transition: background 200ms ease, border-color 200ms ease, backdrop-filter 200ms ease;
    }
    .mf-mkt-header.is-scrolled .mf-mkt-header__inner {
        background: rgba(255, 255, 255, 0.78);
        border-color: rgba(23, 23, 23, 0.08);
        backdrop-filter: blur(16px) saturate(140%);
    }
    .mf-mkt-header .mf-brand {
        justify-self: start;
    }
    .mf-mkt-header .mf-brand img.mf-brand__logo--full {
        height: 2.5rem;
        max-width: min(15rem, 36vw);
    }
    .mf-mkt-header__nav {
        justify-self: center;
        gap: 1.35rem;
    }
    body.mf-mkt .mf-mkt-header__nav a {
        display: inline-flex;
        align-items: center;
        min-height: 2.25rem;
        padding: 0.2rem 0;
        border-radius: 0;
        background: transparent;
        color: #171717;
        font-size: var(--mf-mkt-type-nav);
        font-weight: 500;
        line-height: var(--mf-mkt-control-line);
    }
    body.mf-mkt .mf-mkt-header__nav a:hover,
    body.mf-mkt .mf-mkt-header__nav a[aria-current="page"] {
        background: transparent;
        color: #171717;
    }
    body.mf-mkt .mf-mkt-header__nav a[aria-current="page"] {
        font-weight: 600;
    }
    .mf-mkt-header__actions {
        justify-self: end;
        gap: 0.5rem;
    }
    body.mf-mkt .mf-mkt-header .mf-btn--primary {
        min-height: 2.5rem;
    }
    .mf-mkt-header .mf-theme-control {
        display: grid;
        grid-template-columns: 1fr;
        width: 2.5rem;
        height: 2.5rem;
        padding: 0;
        border-radius: 10px;
        border-color: #e4e4e7;
        background: #fff;
    }
    .mf-mkt-header .mf-theme-control__thumb {
        display: none;
    }
    .mf-mkt-header .mf-theme-control__option {
        grid-area: 1 / 1;
        border-radius: 10px;
        color: #171717;
    }
    .mf-mkt-header .mf-theme-control__option[data-mf-theme-choice="dark"] {
        visibility: hidden;
    }
    html[data-theme="dark"] .mf-mkt-header .mf-theme-control__option[data-mf-theme-choice="light"] {
        visibility: hidden;
    }
    html[data-theme="dark"] .mf-mkt-header .mf-theme-control__option[data-mf-theme-choice="dark"] {
        visibility: visible;
    }
    .mf-mkt-header .mf-theme-control__option svg {
        width: 1.15rem;
        height: 1.15rem;
    }
    .mf-mkt-header .mf-theme-control__option:hover {
        background: #fafafa;
    }
}
.mf-mkt-drawer {
    display: none;
}
.mf-mkt-drawer__backdrop {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(244, 246, 248, 0.35);
    backdrop-filter: blur(10px);
    cursor: pointer;
}
.mf-mkt-drawer__panel {
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.35rem;
    width: min(22.5rem, 86vw);
    padding: 1.15rem 1.25rem 1.5rem;
    background: #fff;
    box-shadow: -12px 0 32px rgba(23, 23, 23, 0.08);
}
.mf-mkt-drawer__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.mf-mkt-drawer__top .mf-brand img.mf-brand__logo--full {
    height: 2rem;
    width: auto;
    max-width: min(10rem, 62vw);
}
.mf-mkt-drawer__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    margin: 0;
    padding: 0;
    border: 1px solid #e4e4e7;
    border-radius: var(--mf-btn-radius);
    background: #fff;
    color: #525252;
    cursor: pointer;
}
.mf-mkt-drawer__close svg {
    display: block;
    width: 1.05rem;
    height: 1.05rem;
}
.mf-mkt-drawer__nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.15rem;
    margin-top: 0.35rem;
}
.mf-mkt-drawer__nav a {
    color: #737373;
    text-decoration: none;
    padding: 0;
    border-radius: 0;
    background: transparent;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.6;
}
.mf-mkt-drawer__nav a:hover,
.mf-mkt-drawer__nav a[aria-current="page"] {
    color: #171717;
    background: transparent;
}
.mf-mkt-drawer__theme.mf-theme-control--labeled {
    width: 100%;
    height: 3.15rem;
    margin-top: 0.35rem;
    padding: 0.28rem;
    border: 0;
    border-radius: 14px;
    background: #f4f4f5;
}
.mf-mkt-drawer__theme .mf-theme-control__thumb {
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(23, 23, 23, 0.06);
}
.mf-mkt-drawer__theme .mf-theme-control__option {
    gap: 0.4rem;
    color: #737373;
    font-family: var(--mf-font);
    font-size: 0.95rem;
    font-weight: 500;
}
.mf-mkt-drawer__theme .mf-theme-control__option[aria-pressed="true"] {
    color: #171717;
}
.mf-mkt-drawer__theme .mf-theme-control__option svg {
    width: 1.05rem;
    height: 1.05rem;
}
.mf-mkt-drawer__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    margin-top: 0.15rem;
    padding: 0 1rem;
    border: 1px solid #e4e4e7;
    border-radius: var(--mf-btn-radius);
    background: #fff;
    color: #171717 !important;
    font-weight: 500;
    text-align: center;
}
.mf-mkt-hero {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 3.5rem var(--mf-mkt-gutter) 3.5rem;
    box-sizing: border-box;
    text-align: center;
    background: radial-gradient(50% 46% at 50% 100%, rgba(163, 131, 82, 0.2), rgba(163, 131, 82, 0.07) 32%, rgba(244, 246, 248, 0) 72%);
}
.mf-mkt-hero h1 {
    /* Home headline must stay one line; size fluidly to viewport. */
    max-width: none;
    width: fit-content;
    margin: 0 auto 0.75rem;
    padding: 0 0.5rem;
    box-sizing: border-box;
    font-size: clamp(1.125rem, 0.65rem + 2.6vw, 2.45rem);
    font-weight: var(--mf-weight-display);
    line-height: 1.45;
    letter-spacing: -0.025em;
    white-space: nowrap;
}
.mf-mkt-hero__lede {
    margin: 0 auto 1.5rem;
    max-width: 28rem;
    color: var(--mf-text-secondary);
    font-size: var(--mf-mkt-type-lead);
    font-weight: var(--mf-weight-medium);
    line-height: 1.75;
}
@media (max-width: 767px) {
    .mf-mkt-hero__lede {
        font-size: clamp(0.875rem, 3.8vw, 0.9375rem);
    }
}
.mf-mkt-hero__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.65rem; }

/* Feature landings: same hero spacing as home; allow multi-line H1. */
.mf-mkt-hero--landing h1 {
    white-space: normal;
    max-width: min(40rem, 100%);
}

/* --- Home showcase after hero --- */
.mf-mkt-showcase {
    width: 100%;
    margin: 0 0 1rem;
    padding: 2.75rem var(--mf-mkt-gutter);
    box-sizing: border-box;
    background-color: #f4f5f7;
    background-image:
        linear-gradient(rgba(15, 23, 42, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.06) 1px, transparent 1px);
    background-size: 48px 48px;
    color: var(--mf-text);
}
.mf-mkt-showcase__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 2.5rem 3rem;
    align-items: center;
    width: 100%;
    max-width: var(--mf-mkt-container);
    margin: 0 auto;
}
.mf-mkt-showcase__title {
    margin: 0 0 0.9rem;
    font-size: clamp(1.55rem, 3.2vw, 2.15rem);
    font-weight: 800;
    line-height: 1.35;
    color: #171717;
}
.mf-mkt-showcase__lede {
    margin: 0 0 1.4rem;
    max-width: 38rem;
    color: #525252;
    font-size: 0.95rem;
    line-height: 2;
}
.mf-mkt-showcase__cta,
.mf-mkt-demo__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.mf-mkt-showcase__cta .mf-btn--outline,
.mf-mkt-demo__cta .mf-btn--outline {
    border-color: #171717;
    background: #fff;
    color: #171717 !important;
}
.mf-mkt-showcase__cta .mf-btn--outline:hover,
.mf-mkt-demo__cta .mf-btn--outline:hover {
    border-color: #0a0a0a;
    background: #f4f5f7;
    color: #0a0a0a !important;
}
.mf-mkt-showcase__cta .mf-btn--primary,
.mf-mkt-demo__cta .mf-btn--primary {
    background: #0a0a0a;
    color: #fff !important;
}
.mf-mkt-showcase__cta .mf-btn--primary:hover,
.mf-mkt-demo__cta .mf-btn--primary:hover {
    background: #171717;
    color: #fff !important;
}
.mf-mkt-showcase__portraits {
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    gap: 0.9rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.mf-mkt-showcase__card {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
    border-radius: 1.15rem;
    background: #e8e8ea;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}
.mf-mkt-showcase__card img {
    display: block;
    width: 100%;
    height: 26rem;
    object-fit: cover;
}
/* --- Marketing play/pause 45 --- */
.mf-mkt-showcase__play,
.mf-asw-play {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: var(--mf-btn-radius);
    background: #0a0a0a;
    color: #fff;
    cursor: pointer;
    box-shadow: none;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}
.mf-mkt-showcase__play {
    position: absolute;
    top: 0.9rem;
    right: 0.9rem;
    background: #fff;
    color: #111;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.14);
}
.mf-mkt-showcase__play:hover,
.mf-mkt-showcase__play:focus-visible,
.mf-asw-play:hover:not(:disabled) {
    transform: scale(1.05);
}
.mf-asw-play:active:not(:disabled) {
    transform: scale(0.98);
}
.mf-asw-play__icon {
    display: none;
    width: 16px;
    height: 16px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.mf-asw-play__icon--play {
    display: block;
    background-image: url("../images/icons/play.svg");
    filter: invert(1);
}
.mf-asw-play__icon--pause {
    background-image: url("../images/icons/pause.svg");
    filter: invert(1);
}
.mf-asw-play__icon--load {
    border: 2px solid rgba(255, 255, 255, 0.25);
    border-top-color: #fff;
    border-radius: 50%;
    box-sizing: border-box;
}
.mf-mkt-showcase__play .mf-asw-play__icon--play,
.mf-mkt-showcase__play .mf-asw-play__icon--pause {
    filter: none;
}
.mf-mkt-showcase__play .mf-asw-play__icon--pause,
.mf-mkt-showcase__play[aria-pressed="true"] .mf-asw-play__icon--play {
    display: none;
}
.mf-mkt-showcase__play[aria-pressed="true"] .mf-asw-play__icon--pause {
    display: block;
}

@media (max-width: 900px) {
    .mf-mkt-showcase__inner {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }
    .mf-mkt-showcase__copy,
    .mf-mkt-showcase__title,
    .mf-mkt-showcase__lede {
        text-align: center;
    }
    .mf-mkt-showcase__lede {
        margin-inline: auto;
    }
    .mf-mkt-showcase__cta {
        justify-content: center;
    }
    .mf-mkt-showcase__card img {
        height: 16.5rem;
    }
    .mf-mkt-showcase__play {
        width: 38px;
        height: 38px;
        top: 0.65rem;
        right: 0.65rem;
    }
    .mf-mkt-showcase__play .mf-asw-play__icon {
        width: 14px;
        height: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mf-mkt-showcase__play,
    .mf-asw-play {
        transition: none;
    }
}

/* Home + /tools instrument grid */
.mf-mkt-tools {
    width: 100%;
    margin: 0;
    padding: 4.25rem var(--mf-mkt-gutter) 4.5rem;
    box-sizing: border-box;
    background: radial-gradient(36% 46% at 50% 46%, rgba(163, 131, 82, 0.2), rgba(244, 246, 248, 0) 72%);
}
.mf-mkt-tools--page {
    padding-top: 3.25rem;
}
.mf-mkt-tools__inner {
    width: 100%;
    max-width: var(--mf-mkt-container);
    margin: 0 auto;
}
.mf-mkt-tools__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0 0 2.15rem;
}
.mf-mkt-tools__head h1,
.mf-mkt-tools__head h2 {
    margin: 0 0 0.7rem;
    font-size: clamp(1.45rem, 3.2vw, 2.05rem);
    font-weight: 800;
    line-height: 1.45;
    color: var(--mf-text);
}
.mf-mkt-tools__lede {
    margin: 0 0 1.15rem;
    max-width: 36rem;
    color: var(--mf-text-secondary);
    font-size: 0.98rem;
    line-height: 1.9;
}
.mf-mkt-tools--page .mf-mkt-tools__lede {
    margin-bottom: 0;
}
.mf-mkt-tools__all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0.3rem 1.05rem;
    border: 1px solid rgba(23, 23, 23, 0.28);
    border-radius: var(--mf-btn-radius);
    background: transparent;
    color: var(--mf-text);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: border-color 160ms ease, background 160ms ease;
}
.mf-mkt-tools__all:hover,
.mf-mkt-tools__all:focus-visible {
    border-color: #171717;
    background: rgba(23, 23, 23, 0.04);
    color: var(--mf-text);
}
.mf-mkt-tools__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
}
.mf-mkt-tool {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
    padding: 1.85rem 1.2rem 1.65rem;
    border: 1px solid rgba(23, 23, 23, 0.07);
    border-radius: 1.15rem;
    background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.72) 100%);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    color: var(--mf-text);
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.mf-mkt-tool:hover {
    border-color: rgba(23, 23, 23, 0.14);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
    transform: translateY(-2px);
    color: var(--mf-text);
}
.mf-mkt-tool:focus-visible,
.mf-mkt-tools__all:focus-visible {
    outline: 2px solid var(--mf-chrome, #222);
    outline-offset: 3px;
}
.mf-mkt-tool__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    margin-bottom: 0.95rem;
    color: #ff2d6a;
}
.mf-mkt-tool__icon svg {
    display: block;
    width: 1.85rem;
    height: 1.85rem;
}
.mf-mkt-tool--change .mf-mkt-tool__icon svg {
    transform: rotate(-32deg);
}
.mf-mkt-tool__title {
    margin: 0 0 0.55rem;
    color: var(--mf-text);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.6;
}
.mf-mkt-tool__desc {
    margin: 0;
    max-width: 22rem;
    color: var(--mf-text-secondary);
    font-size: 0.875rem;
    line-height: 1.9;
}
.mf-mkt-tool__cta {
    margin-top: 0.95rem;
    color: #ff2d6a;
    font-size: 0.875rem;
    font-weight: 700;
}

@media (max-width: 960px) {
    .mf-mkt-tools__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .mf-mkt-tools {
        padding: 2.75rem 1rem 3rem;
    }
    .mf-mkt-tools--page {
        padding-top: 2.25rem;
    }
    .mf-mkt-tools__grid {
        grid-template-columns: 1fr;
        gap: 0.85rem;
    }
    .mf-mkt-tool {
        padding: 1.5rem 1.1rem 1.35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mf-mkt-tool,
    .mf-mkt-tools__all {
        transition: none;
    }
    .mf-mkt-tool:hover {
        transform: none;
    }
}

/* --- Home audience band --- */
.mf-mkt-audience {
    width: 100%;
    margin: 0;
    padding: 3.5rem var(--mf-mkt-gutter) 3.75rem;
    box-sizing: border-box;
    background: radial-gradient(36% 46% at 50% 46%, rgba(163, 131, 82, 0.2), rgba(244, 246, 248, 0) 72%);
}
.mf-mkt-audience__inner {
    width: 100%;
    max-width: var(--mf-mkt-container);
    margin: 0 auto;
}
.mf-mkt-audience__head {
    margin-bottom: 1.75rem;
}
.mf-mkt-audience__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.mf-mkt-audience__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
    padding: 1.65rem 1.15rem 1.45rem;
    border: 1px solid rgba(23, 23, 23, 0.07);
    border-radius: 1.15rem;
    background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.72) 100%);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    text-align: center;
}
.mf-mkt-audience__avatar {
    display: block;
    width: 5.5rem;
    height: 5.5rem;
    margin: 0 0 1rem;
    border-radius: 50%;
    object-fit: cover;
    background: #eceef1;
}
.mf-mkt-audience__title {
    margin: 0 0 0.55rem;
    color: var(--mf-text);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.5;
}
.mf-mkt-audience__desc {
    margin: 0;
    color: var(--mf-text-secondary);
    font-size: 0.875rem;
    line-height: 1.9;
}

@media (max-width: 900px) {
    .mf-mkt-audience {
        padding: 2.75rem 0 2.85rem;
    }
    .mf-mkt-audience__inner {
        padding: 0;
    }
    .mf-mkt-audience__head {
        padding: 0 var(--mf-mkt-gutter);
        margin-bottom: 1.25rem;
    }
    /* --- Compact horizontal snap --- */
    .mf-mkt-audience__grid {
        display: flex;
        flex-direction: row;
        gap: 0.85rem;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 1.25rem;
        padding: 0.15rem var(--mf-mkt-gutter) 0.55rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .mf-mkt-audience__grid::-webkit-scrollbar {
        display: none;
    }
    .mf-mkt-audience__card {
        flex: 0 0 min(78vw, 17.5rem);
        flex-shrink: 0;
        min-width: min(78vw, 17.5rem);
        height: auto;
        padding: 1.25rem 1rem 1.15rem;
        scroll-snap-align: center;
    }
    .mf-mkt-audience__avatar {
        width: 4.35rem;
        height: 4.35rem;
        margin-bottom: 0.75rem;
    }
    .mf-mkt-audience__title {
        font-size: 0.98rem;
    }
    .mf-mkt-audience__desc {
        font-size: 0.8125rem;
        line-height: 1.75;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mf-mkt-audience__grid {
        scroll-snap-type: none;
    }
}

/* --- Home FAQ strip --- */
.mf-mkt-home-faq {
    width: 100%;
    margin: 0;
    padding: 3.5rem var(--mf-mkt-gutter) 4rem;
    box-sizing: border-box;
    background: radial-gradient(36% 46% at 50% 42%, rgba(163, 131, 82, 0.16), rgba(244, 246, 248, 0) 72%);
}
.mf-mkt-home-faq__inner {
    width: 100%;
    max-width: var(--mf-mkt-container);
    margin: 0 auto;
}
.mf-mkt-home-faq__head {
    margin-bottom: 2rem;
}
.mf-mkt-home-faq__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 2rem 2.5rem;
    align-items: center;
}
.mf-mkt-home-faq__visual {
    display: flex;
    align-items: center;
    justify-content: center;
}
.mf-mkt-home-faq__visual img {
    display: block;
    width: 100%;
    max-width: 26rem;
    height: auto;
}
.mf-mkt-home-faq__list .mf-faq {
    max-width: none;
    margin: 0;
}
.mf-faq--home .mf-faq__item {
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 0.85rem;
    background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.82) 100%);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}
.mf-faq--home .mf-faq__q {
    padding: 0.85rem 0.15rem;
    font-size: 0.9375rem;
}
.mf-faq--home .mf-faq__a {
    padding-bottom: 0.85rem;
}

@media (max-width: 900px) {
    .mf-mkt-home-faq {
        padding: 2.75rem 1rem 3rem;
    }
    .mf-mkt-home-faq__layout {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .mf-mkt-home-faq__visual {
        order: -1;
    }
    .mf-mkt-home-faq__visual img {
        max-width: 15.5rem;
    }
}

.mf-mkt-section {
    max-width: var(--mf-mkt-container);
    width: 100%;
    margin: 0 auto;
    padding: 2rem var(--mf-mkt-gutter);
    box-sizing: border-box;
}
.mf-mkt-section .mf-card {
    max-width: none;
    width: 100%;
}
.mf-mkt-section--top { padding-top: 2.5rem; }
.mf-mkt-section--compare,
.mf-mkt-section--faq { padding-top: 2rem; }
.mf-mkt-section h1,
.mf-mkt-section h2 {
    margin: 0 0 0.5rem;
    color: var(--mf-text);
}
.mf-mkt-section__head {
    margin: 0 0 1.35rem;
}
.mf-mkt-section__head--center {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.85rem;
}
.mf-mkt-section__head--center h2 {
    margin: 0;
    font-size: var(--mf-mkt-type-section);
    font-weight: var(--mf-weight-display);
    line-height: 1.35;
    letter-spacing: -0.025em;
}
.mf-mkt-section__head--center .mf-mkt-section__lede {
    margin: 0;
    max-width: 36rem;
    font-size: var(--mf-mkt-type-lead);
    line-height: var(--mf-mkt-leading);
}
.mf-mkt-section__head--center .mf-mkt-tools__all {
    margin-top: 0.15rem;
}
.mf-mkt-section__lede {
    margin: 0 0 0.5rem;
    color: var(--mf-text-secondary);
}

/* Marketing plan comparison (tools page) */
.mf-mkt-compare {
    width: 100%;
    margin: 0 0 1.25rem;
    overflow: hidden;
    border: 1px solid var(--mf-border);
    border-radius: 1rem;
    background: var(--mf-surface-0, #fff);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}
.mf-mkt-compare__scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.mf-mkt-compare__table {
    width: 100%;
    min-width: 40rem;
    border-collapse: collapse;
    table-layout: fixed;
}
.mf-mkt-compare__table th,
.mf-mkt-compare__table td {
    padding: 0.85rem 0.65rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    text-align: center;
    vertical-align: middle;
    font-size: 0.875rem;
    color: var(--mf-text);
}
.mf-mkt-compare__plan,
.mf-mkt-compare__axis {
    padding: 1.05rem 0.65rem;
    background: #f3f4f6;
    color: #171717;
    font-size: 0.95rem;
    font-weight: 700;
}
.mf-mkt-compare__table tbody tr:nth-child(even) {
    background: rgba(15, 23, 42, 0.025);
}
.mf-mkt-compare__label {
    text-align: right;
    padding-inline: 0.95rem;
    font-weight: 600;
    white-space: nowrap;
}
.mf-mkt-compare__label--section {
    background: #f3f4f6;
    color: #525252;
    font-size: 0.9375rem;
}
.mf-mkt-compare__label--feature {
    background: #fff;
    color: var(--mf-text);
}
.mf-mkt-compare__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.55rem;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    background: #eceef1;
    color: #171717;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.45;
    white-space: nowrap;
}
.mf-mkt-compare__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    color: #16a34a;
}
.mf-mkt-compare__check svg {
    display: block;
    width: 1.15rem;
    height: 1.15rem;
}
.mf-mkt-compare__times {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    color: #e91752;
}
.mf-mkt-compare__times svg {
    display: block;
    width: 1.15rem;
    height: 1.15rem;
}
.mf-mkt-compare--vs .mf-mkt-compare__table {
    min-width: 28rem;
}

.mf-mkt-notes--after-table {
    margin-top: 1rem;
}
.mf-mkt-notes {
    margin: 0;
    padding: 1.15rem 1.2rem 1.25rem;
    border: 1px solid var(--mf-border);
    border-radius: 1rem;
    background: #f8fafc;
}
.mf-mkt-notes__head {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0 0 0.75rem;
}
.mf-mkt-notes__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.55rem;
    background: rgba(217, 119, 6, 0.12);
    color: #d97706;
}
.mf-mkt-notes__mark svg {
    width: 1.05rem;
    height: 1.05rem;
}
.mf-mkt-notes__title {
    margin: 0;
    color: var(--mf-text);
    font-size: 1rem;
    font-weight: 700;
}
.mf-mkt-notes__list {
    margin: 0;
    padding: 0 1.15rem 0 0;
    color: var(--mf-text-secondary);
    font-size: 0.9rem;
    line-height: 1.9;
}
.mf-mkt-notes__list li + li {
    margin-top: 0.35rem;
}
.mf-mkt-notes__body {
    margin: 0;
    color: var(--mf-text-secondary);
    font-size: 0.9rem;
    line-height: 1.9;
}

@media (max-width: 720px) {
    .mf-mkt-compare__table th,
    .mf-mkt-compare__table td {
        padding: 0.7rem 0.4rem;
        font-size: 0.78rem;
    }
    .mf-mkt-compare__pill {
        font-size: 0.72rem;
        padding: 0.12rem 0.4rem;
    }
}
.mf-faq {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    max-width: 48rem;
    margin: 0 auto;
}
.mf-faq__item {
    border: 1px solid var(--mf-border);
    border-radius: 0.75rem;
    background: var(--mf-surface-1);
    padding: 0 1rem;
}
.mf-faq__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    cursor: pointer;
    list-style: none;
    padding: 0.95rem 0;
    font-weight: 600;
    color: var(--mf-text);
}
.mf-faq__q::-webkit-details-marker { display: none; }
.mf-faq__q-text {
    flex: 1 1 auto;
    text-align: right;
}
.mf-faq__chev {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    color: var(--mf-text-secondary);
    transition: transform 160ms ease;
}
.mf-faq__chev svg {
    display: block;
    width: 1.05rem;
    height: 1.05rem;
}
.mf-faq__item[open] .mf-faq__chev {
    transform: rotate(180deg);
}
.mf-faq__a {
    color: var(--mf-text-secondary);
    font-size: 0.9rem;
    line-height: 1.7;
    padding-bottom: 0.9rem;
}

@media (prefers-reduced-motion: reduce) {
    .mf-faq__chev {
        transition: none;
    }
}

/* --- section --- */
.mf-mkt-section.mf-mkt-page {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: 1rem; /* --- tight gap under sticky header --- */
}
.mf-mkt-page__crumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    padding: 0.85rem 1.15rem;
    border: 1px solid var(--mf-border);
    border-radius: 1rem;
    background: var(--mf-surface-0, #fff);
    color: var(--mf-text-secondary);
    font-size: 0.875rem;
}
.mf-mkt-page__crumb a {
    color: var(--mf-text-secondary) !important;
    text-decoration: none;
}
.mf-mkt-page__crumb a:hover,
.mf-mkt-page__crumb a:focus-visible {
    color: var(--mf-text) !important;
}
.mf-mkt-page__crumb-sep {
    opacity: 0.55;
}
.mf-mkt-page__crumb [aria-current="page"] {
    color: var(--mf-text);
    font-weight: 600;
}
.mf-mkt-page__card {
    padding: 1.75rem 1.35rem 1.85rem;
    border: 1px solid var(--mf-border);
    border-radius: 1.15rem;
    background: var(--mf-surface-0, #fff);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}
.mf-mkt-page__title {
    margin: 0 0 1rem;
    text-align: center;
    font-size: var(--mf-mkt-type-page);
    font-weight: var(--mf-weight-display);
    line-height: 1.3;
    letter-spacing: -0.025em;
    color: var(--mf-text);
}
.mf-mkt-page__lede,
.mf-mkt-page__prose {
    margin: 0;
    color: var(--mf-text-secondary);
    font-size: var(--mf-mkt-type-body);
    line-height: 1.85;
    text-align: justify;
    text-align-last: right;
    text-justify: inter-word;
    hyphens: none;
    text-wrap: pretty;
}
.mf-mkt-page__lede--tight {
    margin-bottom: 0.85rem;
    text-align: center;
}
.mf-mkt-page__card--enamad .mf-mkt-page__lede--tight {
    margin-bottom: 1.35rem;
}
.mf-mkt-page__enamad {
    display: flex;
    justify-content: center;
    align-items: center;
}
.mf-mkt-page__enamad-seal {
    display: inline-flex;
    cursor: pointer;
    line-height: 0;
}
.mf-mkt-page__enamad-seal img {
    display: block;
    width: 125px;
    height: auto;
}
.mf-mkt-page__prose p {
    margin: 0 0 1rem;
}
.mf-mkt-page__prose p:last-child {
    margin-bottom: 0;
}
.mf-mkt-page__prose h2 {
    margin: 2.25rem 0 1.05rem;
    font-size: var(--mf-mkt-type-prose-h2);
    font-weight: var(--mf-weight-display);
    line-height: 1.65;
    letter-spacing: -0.01em;
    color: var(--mf-text);
    text-align: right;
}
.mf-mkt-page__prose h2:first-of-type {
    margin-top: 1rem;
}
.mf-mkt-page__list {
    margin: 0 0 1rem;
    padding: 0 1.25rem 0 0;
    color: var(--mf-text-secondary);
    font-size: 0.95rem;
    line-height: 2;
}
.mf-mkt-page__list li + li {
    margin-top: 0.35rem;
}
.mf-mkt-page__list:last-child {
    margin-bottom: 0;
}
.mf-mkt-page__faq-link {
    color: #ea580c !important;
    font-weight: 600;
    text-decoration: none;
}
.mf-mkt-page__faq-link:hover,
.mf-mkt-page__faq-link:focus-visible {
    color: #c2410c !important;
}
.mf-mkt-page__divider {
    height: 1px;
    margin: 1.35rem 0 1.15rem;
    background: rgba(15, 23, 42, 0.08);
}
.mf-mkt-page__details {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    color: var(--mf-text);
    font-size: 0.95rem;
    line-height: 1.85;
}
.mf-mkt-page__id,
.mf-mkt-page__phone {
    color: var(--mf-text) !important;
    font-weight: 600;
    text-decoration: none;
    unicode-bidi: isolate;
}
.mf-mkt-page__id:hover,
.mf-mkt-page__id:focus-visible,
.mf-mkt-page__phone:hover,
.mf-mkt-page__phone:focus-visible {
    color: #ea580c !important;
}
.mf-mkt-page__card--social {
    text-align: center;
}
.mf-mkt-page__social-title {
    margin: 0 0 1.15rem;
    text-align: center;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--mf-text);
}
/* Marketing /start — Instagram-bio portal (no header/footer) */
body.mf-mkt--start {
    min-height: 100dvh;
    margin: 0;
    color: var(--mf-text);
    background:
        radial-gradient(120% 70% at 50% 100%, #a3835233, transparent 55%),
        linear-gradient(180deg, #f7f8fa 0%, #eef0f3 100%);
}
html[data-theme="dark"] body.mf-mkt--start {
    background:
        radial-gradient(120% 70% at 50% 100%, #a3835233, transparent 55%),
        linear-gradient(180deg, #1d1d1d 0%, #242424 100%);
}
body.mf-mkt--start .mf-theme-control--floating {
    inset-block-start: max(0.85rem, env(safe-area-inset-top));
    inset-inline-end: max(0.85rem, env(safe-area-inset-right));
}
.mf-mkt-start-main {
    min-height: 100dvh;
}
.mf-mkt-start {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100dvh;
    padding:
        max(3.25rem, calc(env(safe-area-inset-top) + 2.5rem))
        1rem
        max(1.25rem, env(safe-area-inset-bottom));
}
.mf-mkt-start__card {
    width: min(100%, 21rem);
    margin: 0 auto;
    padding: 1.5rem 1.15rem 1.2rem;
    text-align: center;
    border: 1px solid rgba(23, 23, 23, 0.07);
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
    backdrop-filter: blur(10px);
}
html[data-theme="dark"] body.mf-mkt--start .mf-mkt-start__card {
    border-color: var(--mf-border);
    background: linear-gradient(180deg, #ffffff0d, #ffffff03);
    box-shadow: 0 0 0 1px #a3835233, 0 16px 40px rgba(0, 0, 0, 0.28);
}
.mf-mkt-start__mark {
    display: block;
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 0.85rem;
    border-radius: 50%;
    object-fit: cover;
}
.mf-mkt-start__title {
    margin: 0 0 0.45rem;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.35;
    color: var(--mf-text);
}
.mf-mkt-start__lede {
    margin: 0 0 1.15rem;
    color: var(--mf-text-secondary);
    font-size: 0.875rem;
    line-height: 1.7;
}
.mf-mkt-start__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.mf-mkt-start__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.5rem;
    padding: 0.45rem 0.95rem;
    border: 1px solid rgba(23, 23, 23, 0.22);
    border-radius: var(--mf-btn-radius);
    background: transparent;
    color: var(--mf-text) !important;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}
html[data-theme="dark"] body.mf-mkt--start .mf-mkt-start__btn {
    border-color: var(--mf-border-strong);
}
.mf-mkt-start__icon {
    width: 0.9rem;
    height: 0.9rem;
    flex: 0 0 auto;
    opacity: 0.88;
}
.mf-mkt-start__icon--bale {
    display: block;
    object-fit: contain;
}
html[data-theme="dark"] body.mf-mkt--start .mf-mkt-start__icon--bale {
    filter: invert(1);
}
.mf-mkt-start__btn:hover,
.mf-mkt-start__btn:focus-visible {
    border-color: #e91752;
    color: #e91752 !important;
    background: rgba(233, 23, 82, 0.06);
}
html[data-theme="dark"] body.mf-mkt--start .mf-mkt-start__btn:hover,
html[data-theme="dark"] body.mf-mkt--start .mf-mkt-start__btn:focus-visible {
    background: rgba(233, 23, 82, 0.12);
    color: #fff !important;
}
.mf-mkt-start__btn:focus-visible {
    outline: 2px solid #e91752;
    outline-offset: 2px;
}
@media (min-width: 480px) {
    .mf-mkt-start__title {
        font-size: 1.35rem;
    }
    .mf-mkt-start__card {
        width: min(100%, 22rem);
        padding: 1.65rem 1.35rem 1.35rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .mf-mkt-start__btn {
        transition: none;
    }
}

.mf-mkt-page__social {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.mf-mkt-page__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 0.7rem;
    color: #171717 !important;
    background: rgba(15, 23, 42, 0.05);
    transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}
.mf-mkt-page__social-link:hover,
.mf-mkt-page__social-link:focus-visible {
    background: rgba(15, 23, 42, 0.1);
    color: #0a0a0a !important;
    transform: translateY(-1px);
}
.mf-mkt-page__social-link svg {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
}

@media (prefers-reduced-motion: reduce) {
    .mf-mkt-page__social-link {
        transition: none;
    }
    .mf-mkt-page__social-link:hover,
    .mf-mkt-page__social-link:focus-visible {
        transform: none;
    }
}

/* --- section --- */
.mf-mkt-footer {
    flex-shrink: 0;
    margin-top: auto;
    padding: 3.25rem var(--mf-mkt-gutter) 1.75rem;
    background: #f4f5f7;
    border-top: 1px solid var(--mf-border);
    color: var(--mf-text);
    font-family: var(--mf-font);
}
.mf-mkt-footer__inner {
    max-width: var(--mf-mkt-container);
    margin: 0 auto;
}
.mf-mkt-footer__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5rem 2.75rem;
    align-items: start;
}
.mf-mkt-footer__col {
    min-width: 0;
}
.mf-mkt-footer__title {
    margin: 0 0 0.85rem;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.45;
    color: var(--mf-text);
}
.mf-mkt-footer__text {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.9;
    color: #404040; /* ≥4.5:1 on #f4f5f7 */
    text-align: justify;
    text-justify: inter-word;
}
.mf-mkt-footer__social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin: 1.15rem 0 0;
    padding: 0;
    list-style: none;
}
.mf-mkt-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.65rem;
    color: #171717 !important;
    background: rgba(15, 23, 42, 0.04);
    transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}
.mf-mkt-footer__social-link:hover,
.mf-mkt-footer__social-link:focus-visible {
    background: rgba(15, 23, 42, 0.08);
    color: #0a0a0a !important;
    transform: translateY(-1px);
}
.mf-mkt-footer__social-link svg {
    display: block;
    width: 1.2rem;
    height: 1.2rem;
}
.mf-mkt-footer__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem 1.35rem;
    margin: 2.75rem 0 0;
    padding: 1.35rem 0 0;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}
.mf-mkt-footer__nav a {
    color: #525252 !important;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
    transition: color 160ms ease;
}
.mf-mkt-footer__nav a:hover,
.mf-mkt-footer__nav a:focus-visible,
.mf-mkt-footer__nav a[aria-current="page"] {
    color: #171717 !important;
}
.mf-mkt-footer__copy {
    margin: 1.35rem 0 0;
    text-align: center;
    font-size: 0.8125rem;
    color: #525252; /* ≥4.5:1 on #f4f5f7 (was #737373 ~4.4:1) */
}

@media (max-width: 1023px) {
    .mf-mkt-header__nav { display: none; }
    .mf-mkt-header__menu-btn { display: inline-flex; }
    .mf-mkt-header__actions > .mf-theme-control { display: none; }
    .mf-mkt-drawer:not([hidden]) {
        position: fixed;
        inset: 0;
        z-index: 80;
        display: block;
    }
    .mf-mkt-header__inner .mf-brand img.mf-brand__logo--full {
        height: 2.25rem;
        max-width: min(11.5rem, 40vw);
    }
    .mf-mkt-header__inner .mf-brand img.mf-brand__logo--full:not(.mf-brand__logo--on-dark) {
        display: block;
    }
    .mf-mkt-header__inner .mf-brand img.mf-brand__logo--on-dark { display: none; }
    .mf-mkt-header__inner .mf-brand img.mf-brand__logo--mark { display: none; }
    .mf-mkt-drawer .mf-brand img.mf-brand__logo--full { display: block; }
    .mf-mkt-drawer .mf-brand img.mf-brand__logo--on-dark { display: none; }
    body.mf-mkt-drawer-open { overflow: hidden; }
    .mf-mkt-footer {
        padding: 2.5rem var(--mf-mkt-gutter) 1.5rem;
    }
    .mf-mkt-footer__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .mf-mkt-footer__col {
        text-align: center;
    }
    .mf-mkt-footer__text {
        text-align: center;
    }
    .mf-mkt-footer__social {
        justify-content: center;
    }
    .mf-mkt-footer__nav {
        justify-content: center;
        gap: 0.55rem 1.1rem;
        margin-top: 2.15rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mf-mkt-footer__social-link,
    .mf-mkt-footer__nav a {
        transition: none;
    }
    .mf-mkt-footer__social-link:hover,
    .mf-mkt-footer__social-link:focus-visible {
        transform: none;
    }
}


/* ===== Studio hub (chat-style home) ===== */
/* Layout/height SSOT: body.mf-app .mf-studio-hub in mf-modern.css */
.mf-studio-hub {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 0;
    max-width: 62rem;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
}
.mf-studio-hub__hero { margin-bottom: 1.75rem; }
.mf-studio-hub__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    margin-bottom: 1.15rem;
    border-radius: 999px;
    background: #EEF2FF;
    color: #0F172A;
}
.mf-studio-hub__title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.5rem, 3.5vw, 1.95rem);
    font-weight: 700;
    color: #0F172A;
}
.mf-studio-hub__lede {
    margin: 0;
    color: var(--mf-text-tertiary);
    font-size: 0.95rem;
    line-height: 1.7;
}
.mf-studio-hub__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.55rem;
    margin-bottom: 1.75rem;
}
.mf-studio-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.55rem 0.95rem;
    border-radius: 999px;
    border: 1px solid var(--mf-border);
    background: #fff;
    color: var(--mf-text) !important;
    text-decoration: none !important;
    font-size: 0.8125rem;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}
.mf-studio-chip:hover {
    border-color: rgba(15, 23, 42, 0.22);
    background: #F8FAFC;
    transform: translateY(-1px);
}
.mf-studio-composer {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    padding: 0.4rem 0.4rem 0.4rem 0.85rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
    box-sizing: border-box;
}
.mf-studio-composer__input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0.7rem 0.25rem !important;
    font-size: 0.9rem;
    color: var(--mf-text);
}
.mf-studio-composer__input:focus,
.mf-studio-composer__input:focus-visible {
    outline: none;
}
.mf-studio-composer__input::placeholder {
    color: var(--mf-field-placeholder, #737373);
}
.mf-studio-composer__send {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    flex-shrink: 0;
    background: #0a0a0a;
    color: #fff;
}
.mf-studio-composer__send:hover:not(:disabled),
.mf-studio-composer__send:focus-visible:not(:disabled) {
    background: #262626;
    color: #fff;
}
.mf-studio-hub__footnote {
    margin: 1rem 0 0;
    font-size: 0.75rem;
}
body.mf-app:has(.mf-studio-hub) .mf-app-main {
    padding-top: 0;
    padding-bottom: 0;
}
@media (max-width: 639px) {
    .mf-studio-hub {
        min-height: calc(100vh - 7rem);
        min-height: calc(100dvh - 7rem);
        padding: 2.5rem 0.5rem 2rem;
    }
    .mf-studio-composer { border-radius: 999px; }
}

/* ===== Soft Studio modernization: icon wells, modal/sheet, tables, empty, ledger ===== */

.mf-icon-well {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.875rem;
    background: var(--mf-surface-2);
    color: var(--mf-text-secondary);
}
.mf-stat-card .mf-icon-well {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.875rem;
}
.mf-icon-well--sm { width: 2rem; height: 2rem; border-radius: 0.65rem; }
.mf-icon-well--lg { width: 3rem; height: 3rem; border-radius: 1rem; }
.mf-icon-well--studio { background: var(--mf-well-studio-bg); color: var(--mf-well-studio-fg); }
.mf-icon-well--speech { background: var(--mf-well-speech-bg); color: var(--mf-well-speech-fg); }
.mf-icon-well--voice { background: var(--mf-well-voice-bg); color: var(--mf-well-voice-fg); }
.mf-icon-well--change { background: var(--mf-well-change-bg); color: var(--mf-well-change-fg); }
.mf-icon-well--noise { background: var(--mf-well-noise-bg); color: var(--mf-well-noise-fg); }
.mf-icon-well--vocal { background: var(--mf-well-vocal-bg); color: var(--mf-well-vocal-fg); }
.mf-icon-well--music { background: var(--mf-well-music-bg); color: var(--mf-well-music-fg); }
.mf-icon-well--plans { background: var(--mf-well-plans-bg); color: var(--mf-well-plans-fg); }
.mf-icon-well--wallet { background: var(--mf-well-wallet-bg); color: var(--mf-well-wallet-fg); }
.mf-icon-well--account { background: var(--mf-well-account-bg); color: var(--mf-well-account-fg); }
.mf-icon-well--coin { background: var(--mf-well-coin-bg); color: var(--mf-well-coin-fg); }
.mf-icon-well--success { background: #ecfdf5; color: var(--mf-success); }
.mf-icon-well--danger { background: #fef2f2; color: var(--mf-danger); }

.mf-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}
.mf-stat-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1100px) {
    .mf-stat-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .mf-stat-grid,
    .mf-stat-grid--4 { grid-template-columns: 1fr; }
}
/* Credit/wallet page: single balance card spans same width as ledger card below */
body.mf-app .account-panel--ledger > .mf-stack > .mf-stat-card {
    display: flex;
    width: 100%;
    box-sizing: border-box;
}
.mf-stat-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 100%;
    min-height: 0;
    padding: 1.25rem 1.25rem 1rem;
    background: var(--mf-surface-0, #fff);
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-radius-lg);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    text-decoration: none !important;
    color: inherit;
    transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
a.mf-stat-card,
button.mf-stat-card {
    cursor: pointer;
    font: inherit;
    text-align: start;
}
button.mf-stat-card {
    width: 100%;
    appearance: none;
}
a.mf-stat-card:hover,
button.mf-stat-card:hover {
    text-decoration: none !important;
    background: var(--mf-surface-2, #F1F5F9);
    border-color: var(--mf-border-strong);
}
a.mf-stat-card:focus-visible,
button.mf-stat-card:focus-visible {
    outline: none;
    text-decoration: none !important;
    box-shadow: var(--mf-focus-ring);
}
a.mf-stat-card--coin:hover,
button.mf-stat-card--coin:hover {
    background: var(--mf-well-coin-bg, #FFFBEB);
    border-color: #F59E0B;
}
a.mf-stat-card--plans:hover,
button.mf-stat-card--plans:hover {
    background: var(--mf-well-plans-bg, #ECFDF5);
    border-color: #34D399;
}
a.mf-stat-card--wallet:hover,
button.mf-stat-card--wallet:hover {
    background: var(--mf-well-wallet-bg, #F0FDFA);
    border-color: #2DD4BF;
}
a.mf-stat-card--identity:hover,
a.mf-stat-card--account:hover,
button.mf-stat-card--identity:hover,
button.mf-stat-card--account:hover {
    background: var(--mf-well-account-bg, #EFF6FF);
    border-color: #60A5FA;
}
.mf-stat-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    flex: 1 1 auto;
    padding-bottom: 0;
}
.mf-stat-card__body {
    min-width: 0;
    flex: 1 1 auto;
}
.mf-stat-card__label {
    margin: 0 0 0.35rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--mf-text-tertiary);
    letter-spacing: 0.01em;
}
.mf-stat-card__value {
    margin: 0;
    font-size: clamp(1.25rem, 1.6vw, 1.5rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--mf-text, #0F172A);
    line-height: 1.2;
}
.mf-stat-card__value.mf-value-pair {
    font-size: clamp(1.25rem, 1.6vw, 1.5rem);
    font-weight: 800;
}
.mf-stat-card__figure { white-space: nowrap; }
.mf-stat-card__unit {
    color: var(--mf-text-tertiary);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0;
    white-space: nowrap;
}
/* RTL: figure (عدد) راست، واحد چپ — ترتیب DOM: عدد سپس واحد */
.mf-value-pair {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.3rem;
    direction: rtl;
    unicode-bidi: isolate;
    white-space: nowrap;
}
.mf-value-pair__figure {
    font-variant-numeric: tabular-nums;
}
.mf-value-pair__unit {
    color: var(--mf-text-tertiary);
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
}
.mf-amount.mf-value-pair .mf-value-pair__unit {
    font-size: 0.875rem;
}
.mf-stat-card__sub {
    margin: 0.4rem 0 0;
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--mf-text-tertiary);
    line-height: 1.45;
}
.mf-stat-card__sub p { margin: 0; }
.mf-stat-card__foot {
    margin-block-start: auto;
    margin-block-end: 0;
    margin-inline: 0;
    padding-block-start: 0.75rem;
    padding-block-end: 0.15rem;
    border-block-start: 1px solid var(--mf-border, #EEF0F5);
}
.mf-stat-card__cta {
    display: inline-block;
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none !important;
    color: var(--mf-text-secondary);
}
a.mf-stat-card--coin .mf-stat-card__cta { color: #D97706; }
a.mf-stat-card--plans .mf-stat-card__cta { color: #059669; }
a.mf-stat-card--wallet .mf-stat-card__cta { color: #0F766E; }
a.mf-stat-card--identity .mf-stat-card__cta,
a.mf-stat-card--account .mf-stat-card__cta { color: #2563EB; }
a.mf-stat-card:hover .mf-stat-card__cta,
a.mf-stat-card:focus-visible .mf-stat-card__cta {
    text-decoration: none !important;
}
.mf-stat-card__meta {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
    color: var(--mf-text-secondary);
}

/* Orders panel (Jetshopo-style) */
.mf-orders-panel {
    padding: 1.25rem 1.2rem 1.1rem;
}
.mf-orders-panel__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.mf-orders-panel__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--mf-text);
}
.mf-orders-panel__lede {
    margin: 0.3rem 0 0;
    font-size: 0.8125rem;
    color: var(--mf-text-tertiary);
    line-height: 1.5;
}
.mf-orders-panel__all {
    flex-shrink: 0;
    margin-top: 0.15rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mf-text-secondary) !important;
    text-decoration: none !important;
}
.mf-orders-panel__all:hover,
.mf-orders-panel__all:focus-visible {
    color: var(--mf-text) !important;
    text-decoration: none !important;
}
.mf-orders-panel__code {
    font-weight: 600;
    color: var(--mf-text-secondary);
}
.mf-table--orders th {
    font-weight: 500;
    color: var(--mf-text-tertiary);
    background: transparent;
    border-bottom: 0;
}
.mf-table--orders tbody tr.mf-table__row-link {
    cursor: pointer;
    transition: background 140ms ease;
}
.mf-table--orders tbody tr.mf-table__row-link:hover,
.mf-table--orders tbody tr.mf-table__row-link:focus-visible {
    outline: none;
    background: var(--mf-chrome-soft);
}
.mf-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
}
.mf-status-pill__dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 999px;
    background: currentColor;
    flex-shrink: 0;
}
.mf-status-pill--success {
    color: #059669;
    background: color-mix(in srgb, #10B981 16%, var(--mf-surface-0));
}
.mf-status-pill--danger {
    color: var(--mf-danger);
    background: color-mix(in srgb, var(--mf-danger) 14%, var(--mf-surface-0));
}
.mf-status-pill--muted,
.mf-status-pill--warning {
    color: var(--mf-text-secondary);
    background: var(--mf-surface-2);
}
.mf-status-pill--muted .mf-status-pill__dot,
.mf-status-pill--warning .mf-status-pill__dot {
    background: #6366F1;
}
.mf-status-pill--success .mf-status-pill__dot { background: #10B981; }
.mf-status-pill--danger .mf-status-pill__dot { background: #F43F5E; }

/* Empty state */
.mf-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.65rem;
    padding: 1.75rem 1rem;
}
.mf-empty__title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--mf-text);
}
.mf-empty__text {
    margin: 0;
    max-width: 22rem;
    font-size: 0.875rem;
    color: var(--mf-text-secondary);
    line-height: 1.65;
}
.mf-empty__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 0.35rem;
}

/* Ledger soft rows */
body.mf-app .ledger {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
body.mf-app .ledger-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-radius);
    background: var(--mf-surface-2);
    border-bottom: 1px solid var(--mf-border);
}
html:not([data-theme="dark"]) body.mf-app .ledger-row {
    background: color-mix(in srgb, #fff 92%, var(--mf-void, #f4f6f8));
}
body.mf-app .ledger-row + .ledger-row { margin-top: 0; }
body.mf-app .ledger-row__main {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}
body.mf-app .ledger-label {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mf-text);
}
body.mf-app .ledger-date {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: var(--mf-text-tertiary);
}
body.mf-app .ledger-amount,
body.mf-admin .ledger-amount {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    direction: rtl;
    unicode-bidi: isolate;
}

/* Tables */
.mf-table-wrap {
    position: relative;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--mf-radius);
    background:
        linear-gradient(to left, var(--mf-surface-0, #fff) 40%, transparent) 0 0 / 1.25rem 100% local,
        linear-gradient(to right, var(--mf-surface-0, #fff) 40%, transparent) 100% 0 / 1.25rem 100% local;
    background-repeat: no-repeat;
    background-attachment: local, local;
}
.mf-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
    text-align: right;
}
.mf-table th,
.mf-table td {
    padding: 0.75rem 0.65rem;
    border-bottom: 1px solid var(--mf-border);
    color: var(--mf-text-secondary);
    vertical-align: middle;
}
.mf-table th {
    color: var(--mf-text-secondary);
    font-weight: 500;
    white-space: nowrap;
    background: transparent;
}
.mf-table tbody tr:nth-child(odd) {
    background: color-mix(in srgb, var(--mf-void) 65%, #fff);
}
.mf-table tbody tr:hover {
    background: color-mix(in srgb, var(--mf-chrome-soft) 55%, #fff);
}
.mf-table td:first-child {
    font-weight: 600;
    color: var(--mf-text);
}
.mf-td--num,
.mf-th--num {
    text-align: left;
    font-variant-numeric: tabular-nums;
    direction: ltr;
}
@media (max-width: 639px) {
    .mf-table th,
    .mf-table td {
        padding: 0.6rem 0.45rem;
        font-size: 0.8125rem;
    }
    .mf-table th:first-child,
    .mf-table td:first-child {
        position: sticky;
        inset-inline-start: 0;
        z-index: 1;
        background: #fff;
        max-width: min(12rem, 45vw);
        box-shadow: -4px 0 8px rgba(15, 23, 42, 0.04);
    }
    .mf-table tbody tr:nth-child(odd) td:first-child {
        background: color-mix(in srgb, var(--mf-void) 65%, #fff);
    }
}

/* Guest auth soft card */
body.mf-app form.panel.gate {
    max-width: 26rem;
    margin-inline: auto;
    padding: 1.35rem 1.25rem;
    background: #fff;
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-radius-lg);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}
body.mf-app form.panel.gate + form.panel.gate,
body.mf-app form.panel.gate + p.muted {
    max-width: 26rem;
    margin-inline: auto;
}

/* Tool panel fields soft */
body.mf-app .mf-tool-panel label > textarea,
body.mf-app .mf-tool-panel label > input[type="text"],
body.mf-app .mf-tool-panel label > input:not([type]),
body.mf-app .mf-tool-panel .mf-textarea {
    width: 100%;
    box-sizing: border-box;
    min-height: 2.75rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--mf-field-border);
    border-radius: var(--mf-field-radius);
    background: var(--mf-field-bg);
    box-shadow: var(--mf-field-shadow);
    color: var(--mf-text);
    font-family: inherit;
    font-size: 0.9375rem;
}
body.mf-app .mf-tool-panel label > textarea {
    min-height: 6.5rem;
    resize: vertical;
    line-height: 1.65;
}
body.mf-app .mf-tool-panel label > textarea:focus,
body.mf-app .mf-tool-panel label > input[type="text"]:focus {
    outline: none;
    border-color: var(--mf-chrome);
    box-shadow: var(--mf-field-shadow-focus);
    background: #fff;
}

.mf-uploader__zone {
    border-color: var(--mf-chrome-border);
    background: color-mix(in srgb, var(--mf-chrome-soft) 40%, #fff);
}
.mf-uploader.is-drag .mf-uploader__zone,
.mf-uploader__zone:hover {
    border-color: var(--mf-chrome);
    background: var(--mf-chrome-soft);
}
.mf-uploader.is-filled .mf-uploader__zone {
    border-style: solid;
    border-color: color-mix(in srgb, var(--mf-success) 45%, var(--mf-border));
    background: #ecfdf5;
}
.mf-uploader__wave i {
    background: var(--mf-chrome);
}

/* Studio chips with icons */
.mf-studio-hub__mark {
    background: var(--mf-well-studio-bg);
    color: var(--mf-well-studio-fg);
}
.mf-studio-chip {
    gap: 0.45rem;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.mf-studio-chip:hover {
    transform: translateY(-1px);
    border-color: var(--mf-chrome-border);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}
.mf-studio-chip__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 999px;
    flex-shrink: 0;
}
.mf-studio-chip--speech .mf-studio-chip__icon { background: var(--mf-well-speech-bg); color: var(--mf-well-speech-fg); }
.mf-studio-chip--voice .mf-studio-chip__icon { background: var(--mf-well-voice-bg); color: var(--mf-well-voice-fg); }
.mf-studio-chip--change .mf-studio-chip__icon { background: var(--mf-well-change-bg); color: var(--mf-well-change-fg); }
.mf-studio-chip--noise .mf-studio-chip__icon { background: var(--mf-well-noise-bg); color: var(--mf-well-noise-fg); }
.mf-studio-chip--vocal .mf-studio-chip__icon { background: var(--mf-well-vocal-bg); color: var(--mf-well-vocal-fg); }
.mf-studio-chip--music .mf-studio-chip__icon { background: var(--mf-well-music-bg); color: var(--mf-well-music-fg); }
.mf-studio-chip--plans .mf-studio-chip__icon { background: var(--mf-well-plans-bg); color: var(--mf-well-plans-fg); }

@media (prefers-reduced-motion: reduce) {
    .mf-studio-chip:hover { transform: none; }
}

/* Modal + bottom sheet */
.mf-modal {
    position: fixed;
    inset: 0;
    z-index: 1300;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    box-sizing: border-box;
}
.mf-modal[hidden] { display: none !important; }
.mf-modal__backdrop,
body.mf-app button.mf-modal__backdrop {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    width: auto;
    height: auto;
    min-height: 0;
    color: transparent;
    font-weight: inherit;
    background: transparent !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.2);
    backdrop-filter: blur(16px) saturate(1.2);
    cursor: pointer;
    box-shadow: none;
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .mf-modal__backdrop,
    body.mf-app button.mf-modal__backdrop {
        background: rgba(248, 250, 252, 0.55) !important;
    }
}
.mf-modal__dialog {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(100%, 28rem);
    max-height: min(86dvh, 40rem);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-radius-lg);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
    opacity: 0;
    transform: translateY(0.5rem) scale(0.98);
    transition: opacity 200ms ease, transform 200ms ease;
}
.mf-modal.is-open .mf-modal__dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.mf-modal--sm .mf-modal__dialog { width: min(100%, 22rem); }
.mf-modal--wide .mf-modal__dialog { width: min(100%, 40rem); }
.mf-modal--pricing .mf-modal__dialog {
    width: min(100%, 68rem);
    max-height: min(96dvh, 62rem);
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.mf-modal--pricing .mf-modal__title {
    font-size: 1.25rem;
}
.mf-modal--pricing .mf-modal__header {
    flex-shrink: 0;
    padding-bottom: 0.55rem;
}
.mf-modal--pricing .mf-modal__body {
    flex: 1 1 auto;
    min-height: 0;
    padding-inline: 1.15rem 1.25rem;
    padding-bottom: 1.15rem;
    overflow-x: hidden;
    overflow-y: auto;
}
.mf-modal__handle {
    display: none;
    width: 2.5rem;
    height: 0.28rem;
    margin: 0.55rem auto 0;
    border-radius: 999px;
    background: #CBD5E1;
}
.mf-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.1rem 0.65rem;
}
.mf-modal__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--mf-text);
}
.mf-modal__description {
    margin: 0.3rem 0 0;
    font-size: 0.8125rem;
    color: var(--mf-text-secondary);
    line-height: 1.55;
}
.mf-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin: -0.2rem;
    border: 0;
    border-radius: var(--mf-btn-radius);
    background: transparent;
    color: var(--mf-text-tertiary);
    cursor: pointer;
}
.mf-modal__close:hover {
    background: var(--mf-surface-2);
    color: var(--mf-text);
}
.mf-modal__body {
    padding: 0.35rem 1.1rem 1rem;
    overflow: auto;
    color: var(--mf-text-secondary);
    font-size: 0.9rem;
    line-height: 1.65;
}
.mf-modal__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.85rem 1.1rem 1.1rem;
    border-top: 1px solid var(--mf-border);
    background: color-mix(in srgb, #fff 88%, var(--mf-void));
}
body.mf-modal-open { overflow: hidden; }

@media (max-width: 767px) {
    .mf-modal--sheet {
        align-items: flex-end;
        padding: 0;
    }
    .mf-modal--sheet .mf-modal__dialog {
        width: 100%;
        max-height: 86dvh;
        border-radius: 1.15rem 1.15rem 0 0;
        transform: translateY(100%);
    }
    .mf-modal--sheet.is-open .mf-modal__dialog {
        transform: translateY(0);
    }
    .mf-modal--sheet .mf-modal__handle { display: block; }
    .mf-modal--sheet.mf-modal--sheet-fit .mf-modal__dialog {
        max-height: 86dvh;
        height: auto;
    }
    .mf-modal--sheet .mf-modal__footer {
        flex-direction: column-reverse;
    }
    .mf-modal--sheet .mf-modal__footer .mf-btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mf-modal__dialog { transition: none; }
}

.mf-pager {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.55rem;
    margin-top: 1rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--mf-border, #E8ECF2);
    border-radius: var(--mf-radius-lg, 12px);
    background: var(--mf-surface-0, #fff);
}
.mf-pager .mf-btn {
    min-height: 2rem;
    padding-inline: 0.75rem;
}
.mf-pager__status,
.mf-pager__total {
    color: var(--mf-text-secondary);
    font-size: 0.875rem;
    line-height: 1.4;
}
.mf-pager__total {
    margin-inline-start: auto;
}
.mf-pager__pages {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem;
}
.mf-pager__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.4rem;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--mf-text-secondary);
    font-size: 0.875rem;
    line-height: 1;
    text-decoration: none !important;
    background: transparent;
}
.mf-pager__num:hover {
    background: var(--mf-surface-1, #F4F6F8);
    border-color: var(--mf-border, #E8ECF2);
    color: var(--mf-text, #0F172A);
}
.mf-pager__num.is-current {
    background: #0a0a0a;
    border-color: #0a0a0a;
    color: #fff;
    font-weight: 600;
}
.mf-pager__nav,
.mf-pager__ellipsis,
.mf-pager__disabled {
    color: var(--mf-text-tertiary);
    font-size: 0.875rem;
}
.mf-pager__nav,
.mf-pager__disabled {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    min-height: 2rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid var(--mf-border, #E8ECF2);
    border-radius: var(--mf-btn-radius, 10px);
    text-decoration: none !important;
    background: transparent;
    box-sizing: border-box;
}
.mf-pager__nav:hover:not(.is-disabled) {
    background: var(--mf-surface-1, #F4F6F8);
    border-color: var(--mf-border, #E8ECF2);
    color: var(--mf-text, #0F172A);
}
.mf-pager__nav.is-disabled,
.mf-pager__disabled {
    opacity: 0.5;
    pointer-events: none;
    user-select: none;
}
.mf-pager--meta-only {
    justify-content: flex-end;
}
html[data-theme="dark"] .mf-pager {
    background: var(--mf-surface-0, #242424);
    border-color: rgb(255 255 255 / 10%);
}
html[data-theme="dark"] .mf-pager__num:hover {
    background: #333;
    border-color: #4e4e52;
    color: #ebebeb;
}
html[data-theme="dark"] .mf-pager__num.is-current {
    background: #ebebeb;
    border-color: #ebebeb;
    color: #18181b;
}
html[data-theme="dark"] .mf-pager__nav:hover:not(.is-disabled) {
    background: #333;
    border-color: #4e4e52;
    color: #ebebeb;
}
html[data-theme="dark"] .mf-pager__nav,
html[data-theme="dark"] .mf-pager__disabled {
    border-color: rgb(255 255 255 / 12%);
}

/* Admin dashboard */
.mf-admin-dash__toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    margin-block: 0 1.25rem;
}
.mf-admin-segmented {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem;
    border: 1px solid var(--mf-border);
    border-radius: 0.875rem;
    background: var(--mf-surface-1);
}
.mf-admin-segmented__item {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    padding-inline: 0.9rem;
    border-radius: 0.625rem;
    color: var(--mf-text-tertiary);
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
}
.mf-admin-segmented__item:hover,
.mf-admin-segmented__item.is-active {
    background: var(--mf-chrome-soft);
    color: var(--mf-chrome);
}
.mf-admin-dash__refresh { margin-inline-start: auto; }
.mf-admin-dash__updated { margin: 0; }
html[data-theme="dark"] .mf-admin-segmented__item:hover,
html[data-theme="dark"] .mf-admin-segmented__item.is-active {
    background: rgb(124 58 237 / 18%);
    color: #C4B5FD;
}
.mf-admin-list__more {
    margin: 0.75rem 0 0;
}
.mf-admin-dash__updated {
    color: var(--mf-text-tertiary);
    font-size: 0.875rem;
    margin: 0 0 1rem;
}
.mf-admin-dash__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr));
    gap: 0.85rem;
    align-items: stretch;
}
.mf-admin-dash__grid > .mf-stat-card,
.mf-admin-dash__card.mf-stat-card {
    height: 100%;
    min-height: 10.5rem;
}
.mf-admin-dash__grid > .mf-stat-card .mf-stat-card__top,
.mf-admin-dash__card .mf-stat-card__top {
    flex: 1 1 auto;
}
.mf-admin-dash__grid > .mf-stat-card .mf-stat-card__sub,
.mf-admin-dash__card .mf-stat-card__sub {
    min-height: 2.4em;
}
.mf-admin-dash__grid > .mf-stat-card .mf-stat-card__foot,
.mf-admin-dash__card .mf-stat-card__foot {
    margin-top: auto;
}

.mf-guide-sheet {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    color: var(--mf-text-secondary);
    font-size: 0.9rem;
    line-height: 1.7;
}

/* Collapsed sidebar: keep icon wells centered */
body.mf-sidebar-collapsed .mf-app-sidebar__icon {
    width: 2.15rem;
    height: 2.15rem;
}
body.mf-sidebar-collapsed .mf-app-sidebar__nav a {
    justify-content: center;
    padding-inline: 0.45rem;
}

/* Speech / TTS dialogue studio (Light Studio tokens) */
.mf-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.mf-speech__fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.mf-speech__workspace {
    min-width: 0;
}
.mf-speech__blocks {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    overflow: visible;
    padding-inline-end: 0.15rem;
}
.mf-speech-block {
    position: relative;
    z-index: 1;
    padding: 0;
    background: transparent;
    border: 0;
}
.mf-speech-block:focus-within,
.mf-speech-block:has(.is-open),
.mf-speech-block:has([data-mf-speech-voice-menu]:not([hidden])) {
    z-index: 220;
}
.mf-speech-block__remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border: 0;
    border-radius: 0.65rem;
    background: transparent;
    color: #E11D48;
    cursor: pointer;
}
.mf-speech-block__remove:hover {
    background: #FEF2F2;
    color: #BE123C;
}
.mf-speech-composer {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--mf-field-bg);
    border: 1px solid var(--mf-field-border);
    border-radius: 1rem;
    transition: border-color 160ms ease;
}
.mf-speech-composer:focus-within {
    border-color: var(--mf-field-border);
    box-shadow: none;
}
.mf-speech-composer__text {
    display: block;
    width: 100%;
    min-height: 8.5rem;
    margin: 0;
    padding: 0.95rem 1rem 0.35rem;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none;
    resize: none;
    font: inherit;
    font-size: 0.9375rem;
    line-height: 1.85;
    color: #0F172A;
}
.mf-speech-composer__text::placeholder {
    color: var(--mf-field-placeholder);
}
.mf-speech-composer__bar {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.45rem 0.75rem 0.7rem;
    border-top: 0;
    background: transparent;
    border-radius: 0 0 1rem 1rem;
}
.mf-speech-composer__aside {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-inline-start: auto;
}
.mf-speech-composer__count {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mf-text-tertiary);
    letter-spacing: 0.02em;
}
.mf-speech-composer__count svg {
    flex: 0 0 auto;
    opacity: 0.85;
}
.mf-speech-composer__tools {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.mf-speech-composer__chips {
    display: inline-flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.45rem;
    min-width: 0;
    max-width: min(16.5rem, 72%);
}
.mf-speech-block__remove[hidden],
.mf-speech-composer__tools[hidden] {
    display: none !important;
}
.mf-speech__blocks:not(:has(.mf-speech-block ~ .mf-speech-block)) .mf-speech-block__remove {
    display: none !important;
}
.mf-speech-voice {
    position: relative;
}
.mf-speech-voice__native {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.mf-speech-voice__trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.35rem;
    padding: 0.4rem 0.85rem;
    border: 1px solid var(--mf-field-border);
    border-radius: 10px;
    background: #fff;
    color: #0F172A;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: none;
}
.mf-speech-voice__trigger--rich {
    width: 100%;
    min-height: 2.75rem;
    justify-content: space-between;
    padding: 0.35rem 0.65rem;
}
.mf-speech-voice__trigger-main {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    flex: 1 1 auto;
}
.mf-speech-voice__trigger-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    min-width: 0;
}
.mf-speech-voice__trigger-name {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 9.5rem;
}
.mf-speech-voice__trigger-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    max-width: 100%;
    padding: 0.05rem 0.4rem;
    border-radius: 0.35rem;
    background: #f4f4f5;
    color: #52525b;
    font-size: 0.6rem;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
html[data-theme="dark"] .mf-speech-voice__trigger-meta {
    background-color: #3e3e3e;
    color: #d4d4d8;
    padding-inline: 0.45rem;
}
.mf-speech-voice.is-open .mf-speech-voice__trigger,
.mf-speech-voice__trigger:hover {
    border-color: #d4d4d8;
    background: #fafafa;
    box-shadow: none;
}
.mf-speech-voice__chevron {
    opacity: 0.55;
}
.mf-speech-voice.is-open .mf-speech-voice__chevron {
    transform: rotate(180deg);
}
.mf-speech-voice.is-open {
    z-index: 220;
}
.mf-speech-voice__menu {
    position: absolute;
    top: calc(100% + 0.35rem);
    bottom: auto;
    inset-inline-start: 0;
    inset-inline-end: auto;
    z-index: 230;
    display: flex;
    flex-direction: column;
    width: min(20.5rem, 88vw);
    max-height: none;
    overflow: hidden;
    padding: 0.4rem;
    background: #fff;
    background-clip: padding-box;
    border: 1px solid var(--mf-border);
    border-radius: 1.15rem;
    box-shadow: 0 4px 6px -2px rgba(15, 23, 42, 0.06), 0 18px 40px -12px rgba(15, 23, 42, 0.22);
}
.mf-speech-voice__menu[hidden] {
    display: none !important;
}
.mf-speech-voice__scroll {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    max-height: calc(4 * 3.55rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0;
    border-radius: 0.75rem;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: rgba(161, 161, 170, 0.7) transparent;
}
.mf-speech-voice__scroll::-webkit-scrollbar {
    width: 6px;
}
.mf-speech-voice__scroll::-webkit-scrollbar-track {
    background: transparent;
    margin-block: 0.35rem;
    border-radius: 999px;
}
.mf-speech-voice__scroll::-webkit-scrollbar-thumb {
    background: rgba(161, 161, 170, 0.55);
    border-radius: 999px;
    border: 1px solid transparent;
    background-clip: padding-box;
}
.mf-speech-voice__scroll::-webkit-scrollbar-thumb:hover {
    background: rgba(113, 113, 122, 0.75);
}
.mf-speech-voice__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1.1rem 2rem;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.55rem 0.5rem;
    border: 0;
    border-radius: 0.85rem;
    background: transparent;
    color: #0F172A;
    font: inherit;
    text-align: start;
    cursor: pointer;
}
.mf-speech-voice__item:hover {
    background: #f0f1f3;
}
.mf-speech-voice__item[aria-selected="true"] {
    background: transparent;
    box-shadow: none;
}
.mf-speech-voice__item[aria-selected="true"]:hover {
    background: #f0f1f3;
}
.mf-speech-voice__play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: var(--mf-btn-radius);
    background: #0a0a0a;
    color: #fff;
    box-shadow: none;
    flex: 0 0 auto;
    cursor: pointer;
}
.mf-speech-voice__play svg {
    width: 14px;
    height: 14px;
}
.mf-speech-voice__play.is-empty {
    background: #f4f4f5;
    color: transparent;
    box-shadow: none;
}
.mf-speech-voice__play.is-playing {
    background: #0a0a0a;
    color: #fff;
    box-shadow: none;
}
.mf-speech-voice__icon-pause {
    display: none !important;
}
.mf-speech-voice__play.is-playing .mf-speech-voice__icon-play {
    display: none !important;
}
.mf-speech-voice__play.is-playing .mf-speech-voice__icon-pause {
    display: block !important;
}
.mf-speech-voice__text {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    min-width: 0;
}
.mf-speech-voice__name {
    font-size: 0.9rem;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mf-speech-voice__desc {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    max-width: 100%;
    padding: 0.05rem 0.4rem;
    border-radius: 0.35rem;
    background: #f4f4f5;
    font-size: 0.6rem;
    font-weight: 600;
    color: #52525b;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
html[data-theme="dark"] .mf-speech-voice__desc {
    background-color: #3e3e3e;
    color: #d4d4d8;
    padding-inline: 0.45rem;
}
html[data-theme="dark"] .mf-speech-voice__item:hover,
html[data-theme="dark"] .mf-speech-voice__item[aria-selected="true"]:hover {
    background: #3e3e3e;
}
.mf-speech-voice__badge {
    display: none;
}
.mf-speech-voice__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: transparent;
}
.mf-speech-voice__check.is-on {
    color: #0a0a0a;
}
.mf-speech__add {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    margin-top: 1.05rem;
    min-height: 2.85rem;
    border: 1.5px dashed #d4d4d8;
    border-radius: 10px;
    background: transparent;
    color: #52525b;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
}
.mf-speech__add:hover {
    border-color: #0a0a0a;
    color: #0a0a0a;
    background: #f4f4f5;
}
.mf-speech__add-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    background: transparent;
    color: inherit;
    font-size: 1.15rem;
    line-height: 1;
    font-weight: 700;
}

/* --- section --- */
.mf-admin-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.6rem;
    padding: 0.15rem 0.55rem;
    border-radius: 8px;
    background: var(--mf-chrome-soft);
    color: var(--mf-chrome);
    font-size: 0.75rem;
    font-weight: 700;
}
.mf-admin-gate {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    padding: 1.5rem 1rem 2rem;
    background: var(--mf-bg);
}
.mf-admin-gate__brand { margin-bottom: 0.25rem; }
.mf-admin-gate__main { width: min(24rem, 100%); }
.mf-admin-gate__title {
    margin: 0 0 0.35rem;
    font-size: 1.25rem;
    font-weight: 800;
    color: #0F172A;
}
.mf-admin-gate__lede {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    color: var(--mf-text-tertiary);
}
.mf-admin-gate__back {
    margin: 0.85rem 0 0;
    text-align: center;
    font-size: 0.875rem;
}
.mf-admin-form {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    align-items: stretch;
}
.mf-admin-form--grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0.85rem;
    align-items: start;
}
.mf-admin-form--filter {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mf-admin-form--filter.mf-admin-form--cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 900px) {
    .mf-admin-form--filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mf-admin-form--filter.mf-admin-form--cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 560px) {
    .mf-admin-form--filter,
    .mf-admin-form--filter.mf-admin-form--cols-4 {
        grid-template-columns: minmax(0, 1fr);
    }
}
.mf-admin-form--grid > .mf-field,
.mf-admin-form--grid > label.mf-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
    margin: 0;
}
.mf-admin-form--grid > .mf-field .mf-field__label,
.mf-admin-form--grid > label.mf-field > .mf-field__label {
    min-height: 1.25rem;
    line-height: 1.25rem;
}
.mf-admin-form--grid .mf-input-shell,
.mf-admin-form--grid .mf-select {
    min-height: var(--mf-control-height, 2.75rem);
    height: var(--mf-control-height, 2.75rem);
}
.mf-select.is-invalid {
    border-color: rgba(244, 63, 94, 0.65);
    box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.12);
}
.mf-admin-form__actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    padding-top: 0.15rem;
}
.mf-admin-form--grid > .mf-field--action {
    justify-content: flex-end;
}
.mf-admin-form--grid > .mf-field--action .mf-field__label {
    visibility: hidden;
    user-select: none;
}
.mf-admin-form--wide {
    grid-column: 1 / -1;
}
.mf-form-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: flex-end;
}
.mf-form--inline {
    display: inline;
}
.mf-admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 1rem;
}
.mf-admin-plans--sellable {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr));
    gap: 1rem;
    align-items: stretch;
}
.mf-admin-plan-card {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1.1rem 1.15rem;
    border: 1px solid var(--mf-border, #e8ecf2);
    border-radius: 14px;
    background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--mf-chrome-soft, #f8fafc) 55%, #fff) 100%);
}
.mf-admin-plan-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}
.mf-admin-plan-card__identity {
    min-width: 0;
}
.mf-admin-plan-card__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.35;
}
.mf-admin-plan-card__slug {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    color: var(--mf-text-tertiary, #64748b);
}
.mf-admin-plan-card__grid {
    gap: 0.75rem;
}
.mf-admin-plan-card__grid.mf-admin-form--filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 420px) {
    .mf-admin-plan-card__grid.mf-admin-form--filter {
        grid-template-columns: minmax(0, 1fr);
    }
}
.mf-admin-plan-card__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    margin-top: auto;
    padding-top: 0.35rem;
    border-top: 1px solid color-mix(in srgb, var(--mf-border, #e8ecf2) 65%, transparent);
}
.mf-admin-plan-card__preview {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--mf-text-tertiary, #64748b);
    line-height: 1.45;
}
.mf-admin-plan-card__preview strong {
    color: var(--mf-chrome, #0f172a);
    font-weight: 700;
}
.mf-admin-plan-card__sale {
    display: inline-block;
    margin-inline-start: 0.35rem;
    color: var(--mf-success, #16a34a);
    font-weight: 600;
}
.mf-admin-ent-matrix__lede {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    color: var(--mf-text-tertiary, #64748b);
    line-height: 1.55;
}
.mf-admin-ent-matrix {
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
}
.mf-admin-ent-matrix__group-title {
    margin: 0 0 0.65rem;
    font-size: 0.9375rem;
    font-weight: 800;
    color: var(--mf-chrome, #0f172a);
}
.mf-admin-ent-matrix__table-wrap {
    border: 1px solid var(--mf-border, #e8ecf2);
    border-radius: 12px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.mf-table--ent-matrix {
    min-width: 36rem;
    margin: 0;
}
.mf-table--ent-matrix thead th {
    background: var(--mf-chrome-soft, #f8fafc);
    font-weight: 600;
    font-size: 0.75rem;
    vertical-align: bottom;
    padding: 0.65rem 0.5rem;
}
.mf-admin-ent-matrix__th-feature {
    min-width: 11rem;
    text-align: start;
    position: sticky;
    inset-inline-end: 0;
    z-index: 2;
    background: var(--mf-chrome-soft, #f8fafc);
}
.mf-admin-ent-matrix__th-plan {
    text-align: center;
    min-width: 4.25rem;
}
.mf-admin-ent-matrix__plan-name {
    display: block;
    font-weight: 700;
    color: var(--mf-chrome, #0f172a);
}
.mf-admin-ent-matrix__plan-slug {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--mf-text-tertiary, #64748b);
}
.mf-admin-ent-matrix__feature {
    text-align: start;
    font-weight: 500;
    vertical-align: middle;
    position: sticky;
    inset-inline-end: 0;
    z-index: 1;
    background: var(--mf-surface, #fff);
    border-inline-end: 1px solid var(--mf-border, #e8ecf2);
    min-width: 11rem;
    max-width: 14rem;
}
.mf-admin-ent-matrix__feature-label {
    display: block;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--mf-chrome, #0f172a);
}
.mf-admin-ent-matrix__feature-key {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.6875rem;
    color: var(--mf-text-tertiary, #64748b);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mf-admin-ent-matrix__cell {
    text-align: center;
    vertical-align: middle;
    padding: 0.35rem 0.25rem;
}
.mf-ent-toggle-form {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0;
}
.mf-ent-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    margin: 0;
    border-radius: 0.625rem;
    border: 1px solid var(--mf-border, #e2e8f0);
    background: var(--mf-surface, #fff);
    color: var(--mf-text-tertiary, #94a3b8);
    font: inherit;
    line-height: 1;
    cursor: pointer;
    transition: background 140ms ease, border-color 140ms ease, color 140ms ease, transform 80ms ease;
}
.mf-ent-toggle svg {
    display: block;
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
}
body.mf-app button.mf-ent-toggle {
    background: var(--mf-surface-1);
    color: var(--mf-text-tertiary, #94a3b8);
    padding: 0;
}
body.mf-app button.mf-ent-toggle.mf-ent-toggle--allow {
    background: color-mix(in srgb, var(--mf-success, #16a34a) 12%, var(--mf-surface-0));
    color: var(--mf-success, #16a34a);
}
body.mf-app button.mf-ent-toggle.mf-ent-toggle--deny {
    background: color-mix(in srgb, var(--mf-danger, #dc2626) 8%, var(--mf-surface-0));
    color: var(--mf-danger, #dc2626);
}
/* Shared action menu (<x-ui.menu />) — dismiss on outside click / Escape via mf-app.js */
.mf-td--menu {
    width: 3rem;
    text-align: center;
    vertical-align: middle;
}
.mf-row-menu {
    position: relative;
    display: inline-block;
}
.mf-row-menu__trigger {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    margin-inline: auto;
    border-radius: 0.5rem;
    cursor: pointer;
    list-style: none;
    color: var(--mf-muted);
}
.mf-row-menu__trigger::-webkit-details-marker {
    display: none;
}
body.mf-app button.mf-row-menu__trigger,
body.mf-app .mf-row-menu__trigger {
    background: transparent;
    color: var(--mf-muted);
    padding: 0;
    border: 0;
    box-shadow: none;
}
.mf-row-menu__trigger:hover,
.mf-row-menu[open] > .mf-row-menu__trigger {
    background: var(--mf-chrome-soft);
    color: var(--mf-text);
}
.mf-row-menu__panel {
    position: absolute;
    z-index: 30;
    inset-inline-end: 0;
    top: calc(100% + 0.25rem);
    min-width: 11.5rem;
    padding: 0.35rem;
    border: 1px solid var(--mf-border);
    border-radius: 0.75rem;
    background: var(--mf-surface-elevated);
    box-shadow: var(--mf-shadow-elevated);
}
.mf-row-menu__item,
form.mf-row-menu__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    margin: 0;
    padding: 0.55rem 0.65rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mf-text);
    text-decoration: none;
    background: transparent;
    border: 0;
    box-shadow: none;
    cursor: pointer;
    text-align: start;
}
.mf-row-menu__item:hover,
form.mf-row-menu__item:hover {
    background: var(--mf-chrome-soft);
}
/* Danger = brand-red text only; no filled chip (global button paint must not apply) */
.mf-row-menu__item--danger,
form.mf-row-menu__item--danger {
    color: var(--mf-danger);
    background: transparent;
}
body.mf-app .mf-row-menu__item button,
body.mf-app .mf-row-menu__panel button {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    font: inherit;
    font-weight: 600;
    color: inherit !important;
    cursor: pointer;
    text-align: start;
}
body.mf-app .mf-row-menu__item--danger,
body.mf-app .mf-row-menu__item--danger button {
    color: var(--mf-danger) !important;
    background: transparent !important;
}
body.mf-app .mf-row-menu__item--danger:hover,
body.mf-app form.mf-row-menu__item--danger:hover {
    background: var(--mf-chrome-soft);
    color: var(--mf-danger);
}
.mf-ent-toggle:hover {
    border-color: color-mix(in srgb, var(--mf-chrome, #0f172a) 22%, var(--mf-border, #e2e8f0));
    background: var(--mf-chrome-soft, #f8fafc);
}
.mf-ent-toggle:active {
    transform: scale(0.96);
}
.mf-ent-toggle--allow {
    border-color: color-mix(in srgb, var(--mf-success, #16a34a) 35%, var(--mf-border, #e2e8f0));
    background: color-mix(in srgb, var(--mf-success, #16a34a) 12%, var(--mf-surface-0));
    color: var(--mf-success, #16a34a);
}
.mf-ent-toggle--deny {
    border-color: color-mix(in srgb, var(--mf-danger, #dc2626) 28%, var(--mf-border, #e2e8f0));
    background: color-mix(in srgb, var(--mf-danger, #dc2626) 8%, var(--mf-surface-0));
    color: var(--mf-danger, #dc2626);
}
.mf-ent-toggle--unset {
    color: var(--mf-text-tertiary, #cbd5e1);
}
.mf-ent-toggle__dash {
    font-size: 1.1rem;
    line-height: 1;
}
.mf-admin-ent-manual {
    margin-top: 1.25rem;
    border: 1px solid var(--mf-border, #e8ecf2);
    border-radius: 12px;
    background: color-mix(in srgb, var(--mf-chrome-soft, #f8fafc) 40%, #fff);
    overflow: hidden;
}
.mf-admin-ent-manual__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    cursor: pointer;
    list-style: none;
    font-weight: 700;
    font-size: 0.875rem;
    user-select: none;
}
.mf-admin-ent-manual__summary::-webkit-details-marker {
    display: none;
}
.mf-admin-ent-manual__chev {
    display: grid;
    place-items: center;
    color: var(--mf-text-tertiary, #64748b);
    transition: transform 0.15s ease;
}
.mf-admin-ent-manual[open] .mf-admin-ent-manual__chev {
    transform: rotate(180deg);
}
.mf-admin-ent-manual__body {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--mf-border, #e8ecf2);
}
html[data-theme="dark"] .mf-admin-plan-card {
    background: linear-gradient(180deg, var(--mf-surface-0, #242424) 0%, color-mix(in srgb, var(--mf-surface-0, #242424) 88%, #000) 100%);
}
html[data-theme="dark"] .mf-admin-ent-matrix__feature {
    background: var(--mf-surface-0, #242424);
}
html[data-theme="dark"] .mf-table--ent-matrix tbody tr.mf-table__row-link:hover {
    background: transparent;
}
.mf-admin-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.mf-admin-list li {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: #F8FAFC;
    border: 1px solid #EEF2F7;
    font-size: 0.875rem;
}

/* --- section --- */
.mf-auth-gate {
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 1rem 2rem;
    box-sizing: border-box;
    background:
        radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--mf-chrome-soft) 85%, #fff) 0%, transparent 55%),
        var(--mf-bg, #F4F6F8);
}
body.mf-app.mf-auth-gate {
    display: block;
    height: auto;
    overflow: auto;
}
body.mf-app.mf-auth-gate > .mf-auth-gate {
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
}
.mf-auth-gate__main {
    width: min(24.5rem, 100%);
}
.mf-auth-card {
    background: #fff;
    border-radius: 1.25rem;
    padding: 1.75rem 1.5rem 1.5rem;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
    border: 1px solid #EEF2F7;
}
.mf-auth-card__brand {
    display: flex;
    justify-content: center;
    margin-bottom: 1.1rem;
}
.mf-auth-card__logo {
    display: block;
    height: 2.75rem;
    width: auto;
    max-width: 12rem;
    object-fit: contain;
}
.mf-auth-card__title {
    margin: 0 0 0.4rem;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 800;
    color: #0F172A;
}
.mf-auth-card__lede {
    margin: 0 0 1.15rem;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.65;
    color: var(--mf-text-tertiary);
}
.mf-auth-card__legal {
    margin: 1rem 0 0;
    text-align: center;
    font-size: 0.72rem;
    line-height: 1.5;
    color: var(--mf-text-tertiary);
}
.mf-auth-form {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}
.mf-auth-card .mf-btn--primary {
    background: var(--mf-chrome);
    border-color: var(--mf-chrome);
    min-height: 2.85rem;
    border-radius: 10px;
    font-weight: 700;
}
.mf-auth-card .mf-btn--primary:hover:not(:disabled) {
    background: #6D28D9;
    border-color: #6D28D9;
}
.mf-auth-card .mf-input-shell {
    border-radius: 10px;
}
.mf-auth-card .mf-field__label {
    font-weight: 600;
    display: inline-flex;
    flex-direction: row;
    align-items: baseline;
    gap: 0.2rem;
}
.mf-req {
    color: #E11D48;
    font-weight: 700;
    margin: 0;
}
.mf-otp {
    display: flex;
    direction: ltr;
    justify-content: center;
    gap: 0.45rem;
}
.mf-otp__cell {
    width: 2.55rem;
    height: 2.85rem;
    text-align: center;
    font-size: 1.15rem;
    font-weight: 700;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    background: #fff;
    color: #0F172A;
    caret-color: var(--mf-chrome);
}
.mf-otp__cell:focus {
    outline: none;
    border-color: var(--mf-chrome);
    box-shadow: var(--mf-chrome-focus);
}
.mf-auth-resend,
.mf-auth-resend-form {
    margin: 0.85rem 0 0;
    text-align: center;
    font-size: 0.8125rem;
    color: var(--mf-text-tertiary);
}
.mf-auth-resend [hidden],
.mf-auth-card [hidden] {
    display: none !important;
}
.mf-auth-card button.mf-auth-resend__btn,
.mf-auth-card button.mf-auth-link,
.mf-auth-card a.mf-auth-link,
.mf-auth-modal button.mf-auth-resend__btn,
.mf-auth-modal button.mf-auth-link,
.mf-auth-modal a.mf-auth-link {
    all: unset;
    display: inline-block !important;
    box-sizing: border-box;
    margin: 0.35rem auto 0;
    color: var(--mf-chrome) !important;
    font-family: var(--mf-font);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
    text-align: center;
    text-decoration: none !important;
}
.mf-auth-card button.mf-auth-resend__btn:hover,
.mf-auth-card button.mf-auth-link:hover,
.mf-auth-card a.mf-auth-link:hover,
.mf-auth-modal button.mf-auth-resend__btn:hover,
.mf-auth-modal button.mf-auth-link:hover,
.mf-auth-modal a.mf-auth-link:hover {
    color: #6D28D9 !important;
    text-decoration: none !important;
}
.mf-auth-card a.mf-auth-link,
.mf-auth-modal button.mf-auth-link,
.mf-auth-card button.mf-auth-link {
    display: block !important;
    margin-top: 0.65rem;
}
.mf-auth-card .mf-auth-card__title,
.mf-auth-modal .mf-auth-card__title {
    color: #0F172A;
}
.mf-auth-card .mf-auth-card__lede,
.mf-auth-modal .mf-auth-card__lede {
    color: var(--mf-text-tertiary);
}
.mf-auth-card .mf-field__label,
.mf-auth-modal .mf-field__label {
    color: #0F172A;
}
.mf-auth-modal .mf-modal__dialog {
    padding: 0.35rem 0.35rem 0.5rem;
    border-radius: 1.35rem;
    max-width: 26rem;
}
.mf-auth-modal .mf-modal__header {
    justify-content: flex-start;
    padding: 0.35rem 0.35rem 0;
    border: 0;
}
.mf-auth-modal__chrome {
    width: 100%;
    display: flex;
    justify-content: flex-start;
}
.mf-auth-modal .mf-modal__body {
    padding: 0 0.65rem 0.85rem;
}
.mf-auth-card--modal {
    box-shadow: none;
    border: 0;
    padding: 0.25rem 0.5rem 0.35rem;
}
.mf-auth-card__brand--modal {
    display: flex;
    justify-content: center;
    margin: 0.15rem 0 0.85rem;
}
.mf-auth-flow {
    width: 100%;
}

/* legacy admin gate aliases */
.mf-admin-gate {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    padding: 1.5rem 1rem 2rem;
    background: var(--mf-bg);
}

/* --- Marketing /pricing --- */
.mf-mkt-pricing {
    width: 100%;
    margin: 0;
    padding: 2.75rem var(--mf-mkt-gutter) 3.25rem;
    box-sizing: border-box;
    background: radial-gradient(36% 46% at 50% 42%, rgba(163, 131, 82, 0.18), rgba(244, 246, 248, 0) 72%);
}
.mf-mkt-pricing__inner {
    width: 100%;
    max-width: var(--mf-mkt-container);
    margin: 0 auto;
}
.mf-mkt-pricing__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1.85rem;
}
.mf-mkt-pricing__head h1 {
    margin: 0;
    font-size: clamp(1.55rem, 3.4vw, 2.15rem);
    font-weight: 800;
    line-height: 1.4;
    color: var(--mf-text);
}
.mf-mkt-live {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.9rem 0 0;
    padding: 0.32rem 0.7rem;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
    color: var(--mf-text);
    font-size: 0.75rem;
    line-height: 1;
    user-select: none;
}
.mf-mkt-live__dot {
    flex: 0 0 auto;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 999px;
    background: #059669;
    box-shadow: 0 0 0 0 rgba(5, 150, 105, 0.45);
    animation: mf-mkt-live-pulse 2s ease-out infinite;
}
.mf-mkt-live__count {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--mf-text);
    min-width: 1.6em;
    text-align: center;
}
.mf-mkt-live__count.is-pop {
    color: #059669;
    animation: mf-mkt-live-pop 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.mf-mkt-live__label {
    color: var(--mf-text-secondary);
    font-weight: 500;
    white-space: nowrap;
}
@keyframes mf-mkt-live-pulse {
    0% { box-shadow: 0 0 0 0 rgba(5, 150, 105, 0.42); }
    70% { box-shadow: 0 0 0 0.35rem rgba(5, 150, 105, 0); }
    100% { box-shadow: 0 0 0 0 rgba(5, 150, 105, 0); }
}
@keyframes mf-mkt-live-pop {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.12); }
}
@media (prefers-reduced-motion: reduce) {
    .mf-mkt-live__dot,
    .mf-mkt-live__count.is-pop {
        animation: none;
    }
}
.mf-mkt-pricing__stage {
    position: relative;
}
.mf-mkt-pricing__nav {
    display: none;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 1px solid rgba(23, 23, 23, 0.12);
    border-radius: 999px;
    background: #fff;
    color: #171717;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
    cursor: pointer;
    line-height: 0;
}
.mf-mkt-pricing__nav svg {
    width: 1.1rem;
    height: 1.1rem;
    flex-shrink: 0;
    display: block;
}
.mf-mkt-pricing__nav:hover,
.mf-mkt-pricing__nav:focus-visible {
    border-color: #e91752;
    color: #e91752;
}
.mf-mkt-pricing__track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
    margin: 0;
    padding: 1.4rem 0 0.35rem;
    list-style: none;
    align-items: stretch;
    overflow: visible;
}
.mf-mkt-pricing__slide {
    display: flex;
    min-width: 0;
    height: 100%;
}
.mf-mkt-pricing__card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    overflow: visible;
    padding: 1.7rem 1.35rem 1.35rem;
    border: 1px solid rgba(23, 23, 23, 0.08);
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.78) 100%);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    text-align: center;
    color: var(--mf-text);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.mf-mkt-pricing__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.1);
    z-index: 2;
}
.mf-mkt-pricing__card--featured {
    border-color: #e91752;
    box-shadow: 0 0 28px rgba(233, 23, 82, 0.12), 0 10px 28px rgba(15, 23, 42, 0.05);
}
.mf-mkt-pricing__card--featured:hover {
    box-shadow: 0 0 36px rgba(233, 23, 82, 0.22), 0 14px 32px rgba(15, 23, 42, 0.08);
}
.mf-mkt-pricing__ribbons {
    position: absolute;
    top: -12px;
    right: 1.15rem;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}
.mf-mkt-pricing__ribbon {
    position: absolute;
    top: -12px;
    right: 1.15rem;
    margin: 0;
    padding: 0.28rem 0.75rem;
    border-radius: 6px;
    background: #e91752;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.4;
    box-shadow: 0 4px 12px rgba(233, 23, 82, 0.35);
}
.mf-mkt-pricing__ribbons .mf-mkt-pricing__ribbon {
    position: static;
    top: auto;
    right: auto;
}
.mf-mkt-pricing__ribbon.mf-mkt-pricing__ribbon--current {
    background: #64748b !important;
    box-shadow: 0 4px 12px rgba(100, 116, 139, 0.35);
}
.mf-mkt-pricing__intro {
    margin: 0 0 1rem;
}
.mf-mkt-pricing__title {
    margin: 0 0 0.4rem;
    color: var(--mf-text);
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.4;
}
.mf-mkt-pricing__subtitle {
    margin: 0 0 0.85rem;
    min-height: 1.4rem;
    color: var(--mf-text-secondary);
    font-size: 0.875rem;
    line-height: 1.6;
}
.mf-mkt-pricing__amount {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}
.mf-mkt-pricing__discount {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem 0.55rem;
}
.mf-mkt-pricing__old {
    color: #737373;
    font-size: 0.875rem;
    line-height: 1.4;
    text-decoration: line-through;
    text-decoration-color: #e91752;
    text-decoration-thickness: 1.5px;
    opacity: 0.9;
}
.mf-mkt-pricing__save {
    padding: 0.12rem 0.5rem;
    border: 1px solid rgba(233, 23, 82, 0.3);
    border-radius: 6px;
    background: rgba(233, 23, 82, 0.1);
    color: #e91752;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}
.mf-mkt-pricing__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 0.3rem;
    margin: 0;
    color: var(--mf-text);
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.3;
    direction: rtl;
    unicode-bidi: isolate;
}
.mf-mkt-pricing__coins.mf-value-pair {
    font-weight: 600;
}
.mf-mkt-pricing__unit {
    color: var(--mf-text-secondary);
    font-size: 0.95rem;
    font-weight: 400;
}
.mf-mkt-pricing__buy {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0.75rem 1.15rem;
    border: 0;
    border-radius: 10px;
    background: #0a0a0a;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    box-shadow: none;
    transition: background 0.2s ease, color 0.2s ease;
}
.mf-mkt-pricing__buy:hover,
.mf-mkt-pricing__buy:focus-visible {
    background: #171717;
    color: #fff;
}
.mf-mkt-pricing__card--featured .mf-mkt-pricing__buy {
    background: #e91752;
    color: #fff;
}
.mf-mkt-pricing__card--featured .mf-mkt-pricing__buy:hover,
.mf-mkt-pricing__card--featured .mf-mkt-pricing__buy:focus-visible {
    background: #d01548;
    color: #fff;
}
.mf-mkt-pricing__more {
    display: block;
    width: 100%;
    margin: 0.7rem 0 0;
    color: var(--mf-text-tertiary, #737373);
    font-size: 0.8125rem;
    text-align: center;
    text-decoration: none;
    transition: color 0.2s ease;
}
.mf-mkt-pricing__more:hover,
.mf-mkt-pricing__more:focus-visible {
    color: var(--mf-text);
}
.mf-mkt-pricing__features {
    display: flex;
    flex-direction: column;
    width: 90%;
    margin: 1.15rem auto 0;
    padding: 1rem 0 0;
    border-top: 1px solid rgba(23, 23, 23, 0.08);
    list-style: none;
    color: var(--mf-text-secondary);
    text-align: right;
    direction: rtl;
}
.mf-mkt-pricing__features li {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0.45rem 0;
    padding-right: 2rem;
    font-size: 0.875rem;
    line-height: 1.6;
}
.mf-mkt-pricing__features li::before {
    content: none;
}
.mf-mkt-pricing__icon {
    position: absolute;
    top: 0.1rem;
    right: 0;
    width: 1.35rem;
    height: 1.35rem;
    color: #16a34a;
}
.mf-upgrade-modal .mf-mkt-pricing__icon {
    color: #16a34a;
}
.mf-mkt-pricing__coins {
    color: var(--mf-text);
    font-weight: 600;
}

@media (max-width: 900px) {
    .mf-mkt-pricing {
        padding: 2.25rem 0 2.6rem;
    }
    .mf-mkt-pricing__head {
        padding: 0 var(--mf-mkt-gutter);
        margin-bottom: 1.25rem;
    }
    .mf-mkt-pricing__stage {
        padding: 0 2.65rem;
    }
    .mf-mkt-pricing__nav {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 50%;
        z-index: 3;
        transform: translateY(-50%);
    }
    .mf-mkt-pricing__nav--prev {
        right: 0.2rem;
    }
    .mf-mkt-pricing__nav--next {
        left: 0.2rem;
    }
    .mf-mkt-pricing__track {
        display: flex;
        flex-direction: row;
        gap: 0.85rem;
        overflow-x: auto;
        overflow-y: visible;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 7%;
        padding: 1.4rem 0 0.65rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .mf-mkt-pricing__track::-webkit-scrollbar {
        display: none;
    }
    /* --- Peek next plan --- */
    .mf-mkt-pricing__slide {
        flex: 0 0 86%;
        min-width: 86%;
        height: auto;
        scroll-snap-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mf-mkt-pricing__card,
    .mf-mkt-pricing__buy,
    .mf-mkt-pricing__more {
        transition: none;
    }
    .mf-mkt-pricing__card:hover {
        transform: none;
    }
    .mf-mkt-pricing__track {
        scroll-snap-type: none;
    }
}

.mf-mkt-quotes,
.mf-mkt-steps {
    width: 100%;
    margin: 0;
    padding: 3rem var(--mf-mkt-gutter) 3.25rem;
    box-sizing: border-box;
    background: radial-gradient(36% 46% at 50% 46%, rgba(163, 131, 82, 0.16), rgba(244, 246, 248, 0) 72%);
}
.mf-mkt-quotes__inner,
.mf-mkt-steps__inner {
    width: 100%;
    max-width: var(--mf-mkt-container);
    margin: 0 auto;
}
.mf-mkt-quotes__grid,
.mf-mkt-steps__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.mf-mkt-steps__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding-top: 1.15rem;
}
.mf-mkt-quotes__card,
.mf-mkt-steps__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
    padding: 1.45rem 1.15rem 1.3rem;
    border: 1px solid rgba(23, 23, 23, 0.07);
    border-radius: 1.15rem;
    background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.72) 100%);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    text-align: center;
}
.mf-mkt-steps__card {
    position: relative;
    padding-top: 1.85rem;
}
.mf-mkt-quotes__mark {
    display: inline-flex;
    width: 1.65rem;
    height: 1.65rem;
    margin: 0 0 0.75rem;
    color: #e91752;
}
.mf-mkt-quotes__mark svg {
    width: 100%;
    height: 100%;
}
.mf-mkt-quotes__text {
    margin: 0 0 0.85rem;
    color: var(--mf-text-secondary);
    font-size: 0.875rem;
    line-height: 1.9;
}
.mf-mkt-quotes__name {
    margin: auto 0 0;
    color: var(--mf-text);
    font-size: 0.9rem;
    font-weight: 700;
}
.mf-mkt-steps__num {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    margin: 0;
    border: 1px solid rgba(233, 23, 82, 0.28);
    border-radius: 999px;
    background: #fff;
    color: #e91752;
    box-shadow: 0 0 0 6px var(--mf-bg, #f4f6f8);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    transform: translate(-50%, -50%);
}
.mf-mkt-steps__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    margin: 0.15rem 0 0.75rem;
    border-radius: 999px;
    background: rgba(233, 23, 82, 0.08);
    color: #e91752;
}
.mf-mkt-steps__icon svg {
    width: 1.55rem;
    height: 1.55rem;
}
.mf-mkt-steps__name {
    margin: 0 0 0.4rem;
    color: var(--mf-text);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
}
.mf-mkt-steps__text {
    margin: 0;
    color: var(--mf-text-secondary);
    font-size: 0.8125rem;
    line-height: 1.8;
}

@media (max-width: 900px) {
    .mf-mkt-quotes,
    .mf-mkt-steps {
        padding: 2.5rem 0 2.65rem;
    }
    .mf-mkt-quotes .mf-mkt-section__head,
    .mf-mkt-steps .mf-mkt-section__head {
        padding: 0 var(--mf-mkt-gutter);
    }
    .mf-mkt-quotes__grid,
    .mf-mkt-steps__grid {
        display: flex;
        flex-direction: row;
        gap: 0.85rem;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 1.25rem;
        padding: 0.15rem var(--mf-mkt-gutter) 0.55rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .mf-mkt-steps__grid {
        padding-top: 1.15rem;
    }
    .mf-mkt-quotes__grid::-webkit-scrollbar,
    .mf-mkt-steps__grid::-webkit-scrollbar {
        display: none;
    }
    .mf-mkt-quotes__card,
    .mf-mkt-steps__card {
        flex: 0 0 min(78vw, 17.5rem);
        min-width: min(78vw, 17.5rem);
        height: auto;
        scroll-snap-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mf-mkt-quotes__grid,
    .mf-mkt-steps__grid {
        scroll-snap-type: none;
    }
}

/* --- Vocal before/after on /demo --- */
.mf-mkt-vocal {
    width: 100%;
    margin: 0;
    padding: 4.25rem var(--mf-mkt-gutter) 4.5rem;
    box-sizing: border-box;
    background: radial-gradient(36% 46% at 50% 46%, rgba(163, 131, 82, 0.2), rgba(244, 246, 248, 0) 72%);
}
.mf-mkt-vocal__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
    gap: 2.5rem 3rem;
    align-items: center;
    width: 100%;
    max-width: var(--mf-mkt-container);
    margin: 0 auto;
}
.mf-mkt-vocal__copy h2,
body.mf-mkt .mf-mkt-vocal__copy h2 {
    margin: 0 0 0.9rem;
    color: var(--mf-text);
    font-size: clamp(1.55rem, 3.2vw, 2.15rem);
    font-weight: 800;
    line-height: 1.45;
}
.mf-mkt-vocal__lede {
    margin: 0 0 1.4rem;
    max-width: 36rem;
    color: var(--mf-text-secondary);
    font-size: 0.98rem;
    line-height: 1.9;
}
.mf-mkt-vocal__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.mf-mkt-vocal__cta .mf-btn--outline {
    border-color: #171717;
    background: #fff;
    color: #171717 !important;
}
.mf-mkt-vocal__cta .mf-btn--outline:hover {
    border-color: #0a0a0a;
    background: #f4f5f7;
    color: #0a0a0a !important;
}
.mf-mkt-vocal__stage {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    min-width: 0;
}
.mf-mkt-vocal__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}
.mf-mkt-vocal__tab {
    margin: 0;
    padding: 0.55rem 0.95rem;
    border: 1px solid rgba(23, 23, 23, 0.12);
    border-radius: var(--mf-btn-radius);
    background: rgba(255, 255, 255, 0.72);
    color: var(--mf-text);
    font: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.3;
    cursor: pointer;
}
.mf-mkt-vocal__tab:hover {
    background: #fff;
}
.mf-mkt-vocal__tab[aria-selected="true"] {
    border-color: #0a0a0a;
    background: #0a0a0a;
    color: #fff;
}
.mf-mkt-vocal__tab:focus-visible {
    outline: 2px solid #fe88fc;
    outline-offset: 2px;
}
.mf-mkt-vocal .mf-asw-player,
.mf-mkt-vocal .mf-asw-player:nth-child(odd),
.mf-mkt-vocal .mf-asw-player:nth-last-child(-n+2),
.mf-mkt-vocal .mf-asw-player:last-child {
    border: 1px solid rgba(23, 23, 23, 0.07);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}
.mf-mkt-vocal .mf-asw-ai-badge[hidden] {
    display: none !important;
}

@media (max-width: 900px) {
    .mf-mkt-vocal__inner {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }
    .mf-mkt-vocal__stage {
        order: -1;
    }
}

/* --- Demo showcase --- */
.mf-mkt-demo {
    --mf-demo-line: rgba(23, 23, 23, 0.08);
    width: 100%;
    margin: 0;
    padding: 4.25rem var(--mf-mkt-gutter) 5rem;
    box-sizing: border-box;
    color: var(--mf-text);
    background: radial-gradient(50% 46% at 50% 100%, rgba(76, 105, 85, 0.1), rgba(87, 85, 47, 0.06) 32%, rgba(244, 246, 248, 0) 72%);
}
#mf-mkt-demo-tracks,
#mf-mkt-catalog-voice {
    scroll-margin-top: 5.5rem;
}
.mf-mkt-demo--voice {
    background: none;
    padding-top: 3.25rem;
    padding-bottom: 2rem;
}
.mf-mkt-demo__panel + .mf-mkt-demo__panel {
    margin-top: 1rem;
}
.mf-mkt-demo__panel[hidden] {
    display: none !important;
}
.mf-mkt-demo__inner {
    width: 100%;
    max-width: 56rem;
    margin: 0 auto;
}
.mf-mkt-demo__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.85rem;
    margin: 0 0 2rem;
}
.mf-mkt-demo h2,
body.mf-mkt .mf-mkt-demo h2 {
    margin: 0;
    color: var(--mf-text);
    font-size: clamp(1.55rem, 3.4vw, 2.15rem);
    font-weight: 800;
    line-height: 1.45;
}
.mf-mkt-demo__lede {
    margin: 0;
    max-width: 36rem;
    color: var(--mf-text-secondary);
    font-size: 0.98rem;
    line-height: 1.9;
}
.mf-mkt-demo__cta {
    justify-content: center;
    margin-top: 0.5rem;
}
.mf-mkt-demo__cta .mf-btn {
    min-width: 10.5rem;
}
.mf-mkt-demo__panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    direction: rtl;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid rgba(23, 23, 23, 0.07);
    border-radius: 1.5rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}
.mf-asw-player {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.1rem;
    width: 100%;
    min-height: 6.25rem;
    margin: 0;
    padding: 1.1rem 1.15rem;
    border: 0;
    border-bottom: 1px solid var(--mf-demo-line);
    background: transparent;
    color: var(--mf-text);
    box-sizing: border-box;
    overflow: hidden;
}
.mf-asw-player:nth-child(odd) {
    border-inline-end: 1px solid var(--mf-demo-line);
}
.mf-asw-player:nth-last-child(-n+2) {
    border-bottom: 0;
}
.mf-asw-thumbnail {
    position: relative;
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 12px;
    overflow: hidden;
}
.mf-asw-thumbnail img {
    display: block;
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 12px;
}
.mf-asw-ai-badge {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 29px;
    height: 29px;
    border-radius: 50%;
    background: linear-gradient(135deg, #fe88fc, #00f2ff);
    color: #000;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}
.mf-asw-track-info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
    flex: 1;
}
.mf-asw-title {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--mf-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mf-asw-subtitle {
    margin-top: 0.35rem;
    font-size: 0.78rem;
    font-weight: 400;
    color: var(--mf-text-tertiary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mf-asw-play:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.mf-asw-play:focus-visible {
    outline: 2px solid #fe88fc;
    outline-offset: 2px;
}
.mf-asw-player.is-playing .mf-asw-play__icon--play,
.mf-asw-player.is-loading .mf-asw-play__icon--play,
.mf-asw-player.is-loading .mf-asw-play__icon--pause {
    display: none;
}
.mf-asw-player.is-playing .mf-asw-play__icon--pause {
    display: block;
}
.mf-asw-player.is-loading .mf-asw-play__icon--load {
    display: block;
    animation: mf-asw-spin 1s linear infinite;
}
.mf-asw-player.is-playing .mf-asw-thumbnail {
    animation: mf-asw-glow 2s ease-in-out infinite alternate;
}
.mf-asw-player audio {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    pointer-events: none;
}

@keyframes mf-asw-glow {
    from { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12); }
    to { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22); }
}
@keyframes mf-asw-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (max-width: 768px) {
    .mf-mkt-demo__panel {
        grid-template-columns: 1fr;
        padding: 0;
    }
    .mf-asw-player,
    .mf-asw-player:nth-child(odd) {
        border-inline-end: 0;
        border-bottom: 1px solid var(--mf-demo-line);
    }
    .mf-asw-player:nth-last-child(-n+2) {
        border-bottom: 1px solid var(--mf-demo-line);
    }
    .mf-asw-player:last-child { border-bottom: 0; }
    .mf-asw-play {
        width: 2.85rem;
        height: 2.85rem;
    }
    .mf-asw-title { font-size: 1rem; }
    .mf-asw-subtitle {
        font-size: 0.75rem;
        white-space: normal;
        line-height: 1.4;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mf-asw-play { transition: none; }
    .mf-asw-player.is-playing .mf-asw-thumbnail,
    .mf-asw-player.is-loading .mf-asw-play__icon--load {
        animation: none;
    }
}

/* Guest may browse voices; lock only capture/upload on change */
.mf-source.is-guest-locked .mf-record,
.mf-source.is-guest-locked > [inert] {
    opacity: 0.58;
    filter: grayscale(0.08);
}

/* --- section --- */
.mf-mkt-blog { padding-bottom: 3rem; }
.mf-mkt-blog__head { max-width: var(--mf-mkt-container); margin: 0 auto 1.5rem; padding: 0 var(--mf-mkt-gutter); }
.mf-mkt-blog__title {
    margin: 0.75rem 0 0.5rem;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 700;
    text-align: center;
}
.mf-mkt-blog__lede {
    margin: 0 auto;
    max-width: 36rem;
    text-align: center;
    color: var(--mf-text-secondary, #525252);
    line-height: 1.7;
}
.mf-mkt-blog__layout {
    max-width: var(--mf-mkt-container);
    margin: 0 auto;
    padding: 0 var(--mf-mkt-gutter);
    display: grid;
    gap: 2rem;
}
@media (min-width: 960px) {
    .mf-mkt-blog__layout { grid-template-columns: minmax(0, 1fr) 16rem; align-items: start; }
}
.mf-mkt-blog__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}
.mf-mkt-blog__pill {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.85rem;
    border-radius: 10px;
    border: 1px solid var(--mf-border, #e5e5e5);
    background: var(--mf-surface-0, #fff);
    color: inherit;
    text-decoration: none;
    font-size: 0.875rem;
}
.mf-mkt-blog__pill.is-active {
    background: #0a0a0a;
    color: #fff;
    border-color: #0a0a0a;
}
html.dark .mf-mkt-blog__pill.is-active,
body.dark .mf-mkt-blog__pill.is-active {
    background: #ebebeb;
    color: #18181b;
    border-color: #ebebeb;
}
.mf-mkt-blog__search {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: end;
    margin-bottom: 1.5rem;
}
.mf-mkt-blog__search .mf-field { flex: 1 1 14rem; }
.mf-mkt-blog__grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
}
@media (min-width: 640px) {
    .mf-mkt-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
    .mf-mkt-blog__grid--related,
    .mf-mkt-blog__grid--teaser { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.mf-mkt-blog-card {
    display: flex;
    flex-direction: column;
    border-radius: 14px;
    overflow: hidden;
    background: var(--mf-surface-0, #fff);
    border: 1px solid var(--mf-border, #e5e5e5);
}
html.dark .mf-mkt-blog-card,
body.dark .mf-mkt-blog-card {
    background: #242424;
    border-color: #333;
}
.mf-mkt-blog-card__media {
    display: block;
    aspect-ratio: 16 / 9;
    background: #ececec;
    overflow: hidden;
}
.mf-mkt-blog-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.mf-mkt-blog-card__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(163,131,82,0.2), rgba(0,0,0,0.06));
}
.mf-mkt-blog-card__body { padding: 1rem 1.1rem 1.15rem; }
.mf-mkt-blog-card__cat {
    margin: 0 0 0.35rem;
    font-size: 0.8rem;
    color: var(--mf-text-tertiary, #737373);
}
.mf-mkt-blog-card__title {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
    line-height: 1.45;
}
.mf-mkt-blog-card__title a {
    color: inherit;
    text-decoration: none;
}
.mf-mkt-blog-card__excerpt {
    margin: 0 0 0.75rem;
    font-size: 0.9rem;
    line-height: 1.65;
    color: var(--mf-text-secondary, #525252);
}
.mf-mkt-blog-card__meta {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.85rem;
    font-size: 0.8rem;
    color: var(--mf-text-tertiary, #737373);
}
.mf-mkt-blog__meta { justify-content: center; margin: 0.75rem 0 0; }
.mf-mkt-blog__featured {
    margin: 0 0 1.25rem;
    border-radius: 14px;
    overflow: hidden;
}
.mf-mkt-blog__featured img {
    width: 100%;
    height: auto;
    display: block;
}
.mf-mkt-blog__summary {
    margin: 0 0 1.25rem;
    padding: 1rem 1.1rem;
    border-radius: 12px;
    background: rgba(163, 131, 82, 0.1);
    line-height: 1.7;
}
.mf-mkt-blog__toc-mobile {
    margin: 0 0 1.25rem;
    border: 1px solid var(--mf-border, #e5e5e5);
    border-radius: 12px;
    padding: 0.75rem 1rem;
}
.mf-mkt-blog__toc-desktop { display: none; margin-bottom: 1.5rem; }
@media (min-width: 960px) {
    .mf-mkt-blog__toc-mobile { display: none; }
    .mf-mkt-blog__toc-desktop { display: block; }
}
.mf-mkt-blog-toc {
    margin: 0.5rem 0 0;
    padding: 0;
    list-style: none;
}
.mf-mkt-blog-toc__item { margin: 0.35rem 0; }
.mf-mkt-blog-toc__item--l3 { padding-inline-start: 0.85rem; font-size: 0.9rem; }
.mf-mkt-blog-toc a {
    color: inherit;
    text-decoration: none;
}
.mf-mkt-blog-toc a:hover { text-decoration: underline; }
.mf-mkt-blog__faq,
.mf-mkt-blog__related,
.mf-mkt-blog__comments {
    margin-top: 2.5rem;
}
.mf-mkt-blog__faq h2,
.mf-mkt-blog__related h2,
.mf-mkt-blog__comments h2 {
    margin: 0 0 1rem;
    font-size: 1.35rem;
}
.mf-mkt-blog__comment-list {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
    display: grid;
    gap: 1rem;
}
.mf-mkt-blog__comment {
    padding: 1rem;
    border-radius: 12px;
    border: 1px solid var(--mf-border, #e5e5e5);
}
.mf-mkt-blog__comment-author { margin: 0; font-weight: 600; }
.mf-mkt-blog__comment-date {
    margin: 0.2rem 0 0.6rem;
    font-size: 0.8rem;
    color: var(--mf-text-tertiary, #737373);
}
.mf-mkt-blog__comment-body { margin: 0; line-height: 1.7; }
.mf-mkt-blog__neighbors {
    display: grid;
    gap: 0.75rem;
    margin-top: 2rem;
}
@media (min-width: 640px) {
    .mf-mkt-blog__neighbors { grid-template-columns: 1fr 1fr; }
}
.mf-mkt-blog__neighbor {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 1rem;
    border-radius: 12px;
    border: 1px solid var(--mf-border, #e5e5e5);
    text-decoration: none;
    color: inherit;
}
.mf-mkt-blog__neighbor span {
    font-size: 0.8rem;
    color: var(--mf-text-tertiary, #737373);
}
.mf-mkt-blog-side__title {
    margin: 0 0 0.75rem;
    font-size: 1rem;
}
.mf-mkt-blog-side__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.65rem;
}
.mf-mkt-blog-side__list a {
    color: inherit;
    text-decoration: none;
    line-height: 1.5;
}
.mf-mkt-blog-side__list a:hover { text-decoration: underline; }
.mf-mkt-blog-teaser__inner {
    max-width: var(--mf-mkt-container);
    margin: 0 auto;
    padding: 0 var(--mf-mkt-gutter);
}
.mkt-hp {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* --- Account gallery + retention notice --- */
body.mf-app .mf-gallery-panel {
    margin-top: 0.75rem;
    background: var(--mf-surface-1);
    border: 1px solid var(--mf-border);
    border-radius: var(--mf-radius-lg);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03);
    overflow: hidden;
}
body.mf-app .mf-gallery-panel__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--mf-border);
    background: color-mix(in srgb, var(--mf-surface-0) 55%, var(--mf-surface-1));
}
body.mf-app .mf-gallery-panel__hint {
    margin: 0;
    flex: 1 1 14rem;
    padding: 0.55rem 0.75rem;
    font-size: 0.875rem;
    color: var(--mf-text-secondary);
    line-height: 1.45;
    background: color-mix(in srgb, #f59e0b 10%, var(--mf-surface-1));
    border: 1px solid color-mix(in srgb, #f59e0b 28%, var(--mf-border));
    border-radius: var(--mf-radius-md, 10px);
}
body.mf-app .mf-gallery-filters {
    margin: 0;
    flex: 0 1 12rem;
}
body.mf-app .mf-gallery-filters__field { margin: 0; }
body.mf-app .mf-gallery-filters .mf-field__label {
    font-size: 0.75rem;
    margin-bottom: 0.2rem;
}
body.mf-app .mf-gallery-panel__empty { padding: 1.5rem 1rem; }
body.mf-app .mf-gallery-rows {
    list-style: none;
    margin: 0;
    padding: 0;
}
body.mf-app .mf-gallery-row {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--mf-border);
}
body.mf-app .mf-gallery-row:last-child { border-bottom: 0; }
body.mf-app .mf-gallery-row__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35rem 0.75rem;
    margin-bottom: 0.5rem;
}
body.mf-app .mf-gallery-row__identity {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.65rem;
    min-width: 0;
}
body.mf-app .mf-gallery-row__title {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
}
body.mf-app .mf-gallery-row__date {
    margin: 0;
    color: var(--mf-text-tertiary);
    font-size: 0.78rem;
}
body.mf-app .mf-gallery-row__ttl {
    margin: 0;
    font-size: 0.78rem;
    color: var(--mf-text-secondary);
    white-space: nowrap;
}
body.mf-app .mf-gallery-row__ttl.is-urgent {
    color: #e91752;
    font-weight: 500;
}
body.mf-app .mf-gallery-row__media {
    display: grid;
    gap: 0.45rem;
}
body.mf-app .mf-gallery-row__transcript {
    margin: 0;
    padding: 0.5rem 0.65rem;
    color: var(--mf-text-secondary);
    background: var(--mf-surface-0);
    border-radius: var(--mf-radius-md, 10px);
    white-space: pre-wrap;
    line-height: 1.55;
    font-size: 0.875rem;
}
body.mf-app .mf-gallery-row__player { margin: 0; }
body.mf-app .mf-gallery-row__covers {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
body.mf-app .mf-gallery-row__cover-item {
    position: relative;
    width: min(6.5rem, 40%);
}
body.mf-app .mf-gallery-row__cover {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--mf-radius-md, 10px);
    border: 1px solid var(--mf-border);
}
body.mf-app .mf-gallery-row__icon-dl {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    color: var(--mf-text);
    background: var(--mf-surface-1);
    border: 1px solid var(--mf-border);
    border-radius: 999px;
    text-decoration: none;
}
body.mf-app .mf-gallery-row__cover-item .mf-gallery-row__icon-dl {
    position: absolute;
    left: 0.3rem;
    bottom: 0.3rem;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
}
body.mf-app .mf-gallery-row__icon-dl--row {
    width: auto;
    height: auto;
    min-height: 2.1rem;
    padding: 0 0.65rem;
    gap: 0.35rem;
    border-radius: 10px;
    font-size: 0.85rem;
}
body.mf-app .mf-retention-notice {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    margin-top: 0.85rem;
    padding: 0.55rem 0.7rem 0.55rem 0.75rem;
    border-radius: 10px;
    border: 1px solid rgba(233, 23, 82, 0.16);
    background: linear-gradient(90deg, rgba(233, 23, 82, 0.07), rgba(233, 23, 82, 0.03));
    box-sizing: border-box;
}
html[data-theme="dark"] body.mf-app .mf-retention-notice {
    border-color: rgba(233, 23, 82, 0.28);
    background: linear-gradient(90deg, rgba(233, 23, 82, 0.14), rgba(233, 23, 82, 0.06));
}
body.mf-app .mf-retention-notice__text {
    margin: 0;
    flex: 1 1 14rem;
    min-width: 0;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--mf-text);
    line-height: 1.45;
}
body.mf-app .mf-retention-notice__btn.mf-btn,
body.mf-app a.mf-retention-notice__btn {
    flex: 0 0 auto;
    border: 0;
    border-radius: 10px;
    background: #0a0a0a;
    color: #fff;
    box-shadow: none;
}
body.mf-app .mf-retention-notice__btn.mf-btn:hover,
body.mf-app a.mf-retention-notice__btn:hover {
    background: #1a1a1a;
    color: #fff;
}
html[data-theme="dark"] body.mf-app .mf-retention-notice__btn.mf-btn,
html[data-theme="dark"] body.mf-app a.mf-retention-notice__btn {
    background: #ebebeb;
    color: #0a0a0a;
}
html[data-theme="dark"] body.mf-app .mf-retention-notice__btn.mf-btn:hover,
html[data-theme="dark"] body.mf-app a.mf-retention-notice__btn:hover {
    background: #fff;
    color: #0a0a0a;
}

/* Touch targets: 44px min on small screens (marketing + app + admin) */
@media (max-width: 639px) {
    .mf-btn,
    .mf-btn--sm,
    .mf-btn--md,
    .mf-pager .mf-btn,
    body.mf-mkt .mf-btn,
    body.mf-mkt .mf-mkt-header__menu-btn,
    body.mf-mkt .mf-mkt-drawer__close,
    body.mf-mkt .mf-mkt-drawer__cta,
    .mf-birthdate__trigger,
    .mf-birthdate__clear {
        min-height: 2.75rem;
    }
    body.mf-mkt .mf-mkt-header__menu-btn,
    body.mf-mkt .mf-mkt-drawer__close {
        min-width: 2.75rem;
    }
    /* App header: keep login / menu compact — don't inflate sm to md. */
    body.mf-app .mf-app-header .mf-btn--sm {
        min-height: var(--mf-btn-height-sm, 2.125rem);
        padding-block: 0.35rem;
        line-height: 1.25;
    }
    body.mf-app .mf-app-header__menu-btn {
        width: 2.25rem;
        height: 2.25rem;
        min-height: 2.25rem;
    }
}

/* Studio assistant in-chat result + compact audio dock */
body.mf-app .mf-studio-result {
    margin-top: 0.55rem;
}
body.mf-app .mf-studio-result[hidden] {
    display: none !important;
}
body.mf-app .mf-studio-result__row {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 0.45rem;
    width: 100%;
}
/* Flat result — no card chrome; mark + content like a chat turn */
body.mf-app .mf-studio-result__bubble {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
    width: min(88%, 22rem);
    max-width: min(88%, 22rem);
    min-width: 0;
    min-height: 0;
    height: auto;
    margin: 0;
    padding: 0.1rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--mf-text, #171717);
    white-space: normal;
}
html[data-theme="dark"] body.mf-app .mf-studio-result__bubble {
    background: transparent;
    border: 0;
    color: var(--mf-text);
}
body.mf-app .mf-studio-result__row--loading {
    justify-content: flex-end;
}
body.mf-app .mf-studio-result__bubble--loading {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: auto;
    max-width: none;
    min-height: 1.75rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 1px 4px rgb(15 23 42 / 5%);
    white-space: nowrap;
}
html[data-theme="dark"] body.mf-app .mf-studio-result__bubble--loading {
    background: var(--mf-surface-0, #242424);
    border-color: var(--mf-border);
}
body.mf-app .mf-studio-result__title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.5;
    color: var(--mf-text, #171717);
}
body.mf-app .mf-studio-result__bubble--text {
    width: min(92%, 26rem);
    max-width: min(92%, 26rem);
    gap: 0.5rem;
}
/* Shared text result card (studio STT + /voice tool) */
body.mf-app .mf-transcript {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    width: 100%;
    max-width: 26rem;
    box-sizing: border-box;
    margin: 0;
    padding: 0.5rem 0.65rem 0.55rem;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 3px rgb(15 23 42 / 5%);
}
body.mf-app .mf-transcript__bar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    min-height: 0;
}
body.mf-app .mf-transcript__body {
    margin: 0;
    padding: 0;
    min-height: 0;
    max-height: 10rem;
    overflow-x: hidden;
    overflow-y: auto;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: inherit;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.9;
    color: var(--mf-text, #171717);
    background: transparent;
    border: 0;
    scrollbar-width: thin;
}
html[data-theme="dark"] body.mf-app .mf-transcript {
    background: var(--mf-surface-0, #242424);
    border-color: var(--mf-border, #3f3f46);
    box-shadow: none;
}
html[data-theme="dark"] body.mf-app .mf-transcript__body {
    color: var(--mf-text);
}
/* Tool page: room around STT text card */
body.mf-app .mf-tool-panel > .result:has(.mf-transcript) {
    gap: 1rem;
    margin-bottom: 1.25rem;
}
body.mf-app .mf-tool-panel .mf-transcript {
    max-width: 100%;
}
body.mf-app .mf-studio-result__media {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    width: 100%;
}
body.mf-app .mf-studio-result__media .mf-audio-player,
body.mf-app .mf-studio-result__media .mf-audio-player__card,
body.mf-app .mf-studio-result__media .mf-audio-player__shell {
    margin: 0;
    width: 100%;
    max-width: none;
}
body.mf-app .mf-studio-result__cover {
    border-radius: 10px;
    object-fit: cover;
    max-height: 8rem;
}
body.mf-app .mf-studio-result__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.15rem;
}
body.mf-app .mf-studio-result__bubble--text .mf-studio-result__actions {
    margin-top: 0.25rem;
    padding-top: 0.35rem;
    gap: 0.65rem;
}
body.mf-app .mf-studio-result__actions .mf-studio-assistant__action {
    text-decoration: none;
}
body.mf-app .mf-studio-result__copy {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    min-width: 2.15rem;
    min-height: 2.15rem;
    margin: 0;
    padding: 0 !important;
    border: 1px solid var(--mf-border, #e4e6ea) !important;
    border-radius: 0.7rem !important;
    background: #fff !important;
    color: #45515e !important;
    box-shadow: none !important;
    cursor: pointer;
    line-height: 0;
}
body.mf-app .mf-studio-result__copy:hover,
body.mf-app .mf-studio-result__copy:focus-visible {
    background: #f4f6f8 !important;
    outline: none;
}
body.mf-app .mf-studio-result__copy svg {
    display: block;
    width: 16px;
    height: 16px;
}
html[data-theme="dark"] body.mf-app .mf-studio-result__copy {
    background: #303030 !important;
    border-color: var(--mf-border, #3e3e3e) !important;
    color: #d4d4d8 !important;
}
html[data-theme="dark"] body.mf-app .mf-studio-result__copy:hover,
html[data-theme="dark"] body.mf-app .mf-studio-result__copy:focus-visible {
    background: #3e3e3e !important;
}
body.mf-app .mf-studio-result__dots {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1rem;
}
body.mf-app .mf-studio-result__dots span {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 999px;
    background: var(--mf-text-tertiary);
    animation: mf-studio-result-dot 1.2s ease-in-out infinite;
}
body.mf-app .mf-studio-result__dots span:nth-child(2) {
    animation-delay: 0.15s;
}
body.mf-app .mf-studio-result__dots span:nth-child(3) {
    animation-delay: 0.3s;
}
@keyframes mf-studio-result-dot {
    0%, 80%, 100% { opacity: 0.35; transform: translateY(0); }
    40% { opacity: 1; transform: translateY(-2px); }
}
@media (prefers-reduced-motion: reduce) {
    body.mf-app .mf-studio-result__dots span {
        animation: none;
        opacity: 0.7;
    }
}

body.mf-app .mf-studio-audio-dock {
    margin-bottom: 0.55rem;
}
body.mf-app .mf-studio-audio-dock[hidden] {
    display: none !important;
}
body.mf-app .mf-studio-audio-dock__card {
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    background: var(--mf-surface-0);
    border: 1px solid var(--mf-border);
}
body.mf-app .mf-studio-audio-dock .mf-intake__actions {
    justify-content: flex-start;
}

/* Studio inline: idle = composer mic; live/preview replaces composer pill. */
body.mf-app .mf-studio-audio-dock--inline:not(.is-active),
body.mf-app .mf-studio-audio-dock--inline[hidden] {
    display: none !important;
}
body.mf-app .mf-studio-audio-dock--inline .mf-intake__actions,
body.mf-app .mf-studio-audio-dock--inline [data-mf-idle-actions] {
    display: none !important;
}
body.mf-app .mf-studio-dock:has(.mf-studio-audio-dock--inline.is-active) .mf-studio-composer {
    display: none !important;
}
body.mf-app .mf-studio-audio-dock--inline.is-active {
    display: block !important;
    margin: 0;
}
body.mf-app .mf-studio-audio-dock--inline.is-active .mf-studio-audio-dock__card {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    min-height: 3.5rem;
    padding: 0.35rem 0.45rem;
    border-radius: 999px;
    background: var(--mf-surface-0, #fff);
    border: 1px solid rgb(15 23 42 / 8%);
    box-shadow: 0 4px 24px rgb(15 23 42 / 6%);
}
body.mf-app .mf-studio-audio-dock--inline.is-active .mf-intake__live,
body.mf-app .mf-studio-audio-dock--inline.is-active .mf-intake__ready {
    margin: 0;
    max-width: none;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

/* Shared mf-rec-bar styles live in mf-audio-ui.css (Studio + tool pages). */

/* Outline mic — never inherit charcoal app-button paint. */
body.mf-app .mf-studio-composer__mic {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0 !important;
    margin: 0;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #737373 !important;
    box-shadow: none !important;
    cursor: pointer;
    line-height: 0;
    appearance: none;
    -webkit-appearance: none;
}
body.mf-app .mf-studio-composer__mic[hidden] {
    display: none !important;
}
body.mf-app .mf-studio-composer__mic:hover,
body.mf-app .mf-studio-composer__mic:focus-visible {
    color: #171717 !important;
    background: color-mix(in srgb, #000 5%, transparent) !important;
    outline: none;
}
body.mf-app .mf-studio-composer__mic.is-recording {
    color: #e91752 !important;
    background: color-mix(in srgb, #e91752 12%, transparent) !important;
}
body.mf-app .mf-studio-composer__mic svg {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    stroke: currentColor;
    fill: none;
}
html[data-theme="dark"] body.mf-app .mf-studio-composer__mic {
    color: #a3a3a3 !important;
}
html[data-theme="dark"] body.mf-app .mf-studio-composer__mic:hover,
html[data-theme="dark"] body.mf-app .mf-studio-composer__mic:focus-visible {
    color: #f5f5f5 !important;
    background: color-mix(in srgb, #fff 10%, transparent) !important;
}
html[data-theme="dark"] body.mf-app .mf-studio-composer__mic.is-recording {
    color: #e91752 !important;
    background: color-mix(in srgb, #e91752 18%, transparent) !important;
}
html[data-theme="dark"] body.mf-app .mf-studio-audio-dock--inline.is-active .mf-studio-audio-dock__card {
    background: var(--mf-surface-0);
    border-color: var(--mf-border);
    box-shadow: none;
}
html[data-theme="dark"] body.mf-app .mf-studio-result__bubble--loading {
    background: var(--mf-surface-0, #242424);
    border-color: var(--mf-border);
    color: var(--mf-text);
}

@media (max-width: 639px) {
    body.mf-app .mf-studio-audio-dock .mf-record__start,
    body.mf-app .mf-studio-composer__mic,
    body.mf-app .mf-studio-result__actions .mf-studio-assistant__action {
        min-height: 2.75rem;
        min-width: 2.75rem;
    }
}
