/* /Common/Components/AppIcon.razor.rz.scp.css */
.icon[b-gl2477gnmd] {
    display: inline-block;
    vertical-align: -0.15em;
    flex: none;
}

/* آیکون‌های جهت‌دار (بازگشت، ارسال، chevron) در چیدمان راست‌به‌چپ آینه می‌شوند؛
   آیکون‌های خنثی مانند قلب یا زنگ آینه نمی‌شوند. */
.icon.mirror[b-gl2477gnmd] {
    transform: scaleX(-1);
}
/* /Common/Components/EmptyState.razor.rz.scp.css */
.empty[b-8axxmno8dc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-2);
    padding-block: var(--space-7);
    padding-inline: var(--space-5);
}

.emoji[b-8axxmno8dc] {
    font-size: 2.75rem;
    line-height: 1;
    margin-block-end: var(--space-2);
}

.title[b-8axxmno8dc] {
    font-size: var(--text-title3);
    font-weight: 600;
}

.description[b-8axxmno8dc] {
    color: var(--label-secondary);
    font-size: var(--text-subhead);
    max-inline-size: 26rem;
}

.action[b-8axxmno8dc] {
    margin-block-start: var(--space-4);
}
/* /Common/Components/LoadingDots.razor.rz.scp.css */
.dots[b-lxu598ehia] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.dots span[b-lxu598ehia] {
    inline-size: 0.4rem;
    block-size: 0.4rem;
    border-radius: var(--radius-full);
    background: var(--label-tertiary);
    animation: blink-b-lxu598ehia 1.2s ease-in-out infinite;
}

.dots span:nth-child(2)[b-lxu598ehia] { animation-delay: 0.18s; }
.dots span:nth-child(3)[b-lxu598ehia] { animation-delay: 0.36s; }

@keyframes blink-b-lxu598ehia {
    0%, 60%, 100% { opacity: 0.3; transform: translateY(0); }
    30% { opacity: 1; transform: translateY(-0.15rem); }
}
/* /Common/Components/NavBar.razor.rz.scp.css */
.navbar[b-j6utlf3cpw] {
    position: sticky;
    inset-block-start: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: 3.25rem 1fr 3.25rem;
    align-items: center;
    gap: var(--space-2);
    min-block-size: 3.25rem;
    padding-inline: var(--space-2);
    padding-block-start: env(safe-area-inset-top, 0);
    border-radius: 0;
    border-inline: none;
    border-block-start: none;
}

.side[b-j6utlf3cpw] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.side.end[b-j6utlf3cpw] {
    justify-content: flex-end;
}

.center[b-j6utlf3cpw] {
    text-align: center;
    min-inline-size: 0;
}

.title[b-j6utlf3cpw] {
    font-size: var(--text-headline);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.subtitle[b-j6utlf3cpw] {
    font-size: var(--text-caption1);
    color: var(--label-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.icon-button[b-j6utlf3cpw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--tap-min);
    block-size: var(--tap-min);
    border: none;
    border-radius: var(--radius-full);
    background: none;
    color: var(--accent);
}

.icon-button:active[b-j6utlf3cpw] {
    background: var(--fill);
}
/* /Common/Components/SegmentedControl.razor.rz.scp.css */
.segmented[b-z2fhvucgww] {
    display: flex;
    gap: 0.125rem;
    padding: 0.175rem;
    border-radius: var(--radius-sm);
    background: var(--fill);
}

.segment[b-z2fhvucgww] {
    flex: 1;
    min-block-size: 2.25rem;
    border: none;
    border-radius: calc(var(--radius-sm) - 0.15rem);
    background: none;
    color: var(--label-secondary);
    font-size: var(--text-subhead);
    font-weight: 500;
    padding-inline: var(--space-2);
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
}

.segment.selected[b-z2fhvucgww] {
    background: var(--background-elevated);
    color: var(--label);
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
/* /Common/Components/Sheet.razor.rz.scp.css */
.backdrop[b-t6w7wl0ua0] {
    position: fixed;
    inset: 0;
    z-index: 40;
    background: rgba(0, 0, 0, 0.32);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    animation: fade-b-t6w7wl0ua0 0.2s ease;
}

.sheet[b-t6w7wl0ua0] {
    position: fixed;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: 41;
    max-inline-size: var(--shell-max);
    margin-inline: auto;
    max-block-size: 88dvh;
    display: flex;
    flex-direction: column;
    border-start-start-radius: var(--radius-lg);
    border-start-end-radius: var(--radius-lg);
    border-block-end: none;
    padding-block-end: env(safe-area-inset-bottom, 0);
    /* حرکت spring-مانند اپل هنگام بالا آمدن شیت */
    animation: rise-b-t6w7wl0ua0 0.34s cubic-bezier(0.32, 1.28, 0.5, 1);
}

.handle[b-t6w7wl0ua0] {
    inline-size: 2.25rem;
    block-size: 0.3rem;
    border-radius: var(--radius-full);
    background: var(--label-tertiary);
    margin: var(--space-2) auto var(--space-1);
}

.head[b-t6w7wl0ua0] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-2) var(--space-3);
    border-block-end: 1px solid var(--separator);
}

.head .btn-plain[b-t6w7wl0ua0] {
    justify-self: start;
    min-block-size: var(--tap-min);
}

.head .confirm[b-t6w7wl0ua0] {
    justify-self: end;
    font-weight: 600;
}

.spacer[b-t6w7wl0ua0] {
    inline-size: 1px;
}

.title[b-t6w7wl0ua0] {
    font-size: var(--text-headline);
    font-weight: 600;
    white-space: nowrap;
}

.body[b-t6w7wl0ua0] {
    overflow-y: auto;
    padding: var(--space-4);
    overscroll-behavior: contain;
}

@keyframes rise-b-t6w7wl0ua0 {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}

@keyframes fade-b-t6w7wl0ua0 {
    from { opacity: 0; }
    to { opacity: 1; }
}
/* /Common/Components/Stepper.razor.rz.scp.css */
.stepper[b-4k8zv25e9k] {
    display: inline-flex;
    align-items: center;
    background: var(--fill);
    border-radius: var(--radius-sm);
    flex: none;
}

.stepper button[b-4k8zv25e9k] {
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border: none;
    background: none;
    font-size: var(--text-title3);
    line-height: 1;
    color: var(--label);
}

.stepper button:disabled[b-4k8zv25e9k] {
    opacity: 0.3;
}

.stepper button:active:not(:disabled)[b-4k8zv25e9k] {
    background: var(--fill-strong);
    border-radius: var(--radius-sm);
}

.value[b-4k8zv25e9k] {
    min-inline-size: 2.25rem;
    text-align: center;
    font-size: var(--text-callout);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
/* /Features/Personas/Components/PersonaEditorSheet.razor.rz.scp.css */
.identity[b-2vctdsnodo] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-block-end: var(--space-4);
}

.emoji-button[b-2vctdsnodo] {
    inline-size: 3.5rem;
    block-size: 3.5rem;
    border: none;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--persona-color, var(--color-blue)) 18%, transparent);
    font-size: 1.75rem;
    flex: none;
    transition: transform 0.15s ease;
}

.emoji-button:active[b-2vctdsnodo] {
    transform: scale(0.92);
}

.identity-fields[b-2vctdsnodo] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-inline-size: 0;
}

.counter[b-2vctdsnodo] {
    display: block;
    margin-block-start: var(--space-1);
    line-height: var(--leading-tight);
}

.chips[b-2vctdsnodo] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.chip[b-2vctdsnodo] {
    min-block-size: 2.25rem;
    padding-inline: var(--space-3);
    border: none;
    border-radius: var(--radius-full);
    background: var(--fill);
    color: var(--label-secondary);
    font-size: var(--text-footnote);
    transition: background 0.15s ease, color 0.15s ease;
}

.chip.selected[b-2vctdsnodo] {
    background: var(--accent);
    color: var(--on-accent);
    font-weight: 600;
}

.colors[b-2vctdsnodo] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.swatch[b-2vctdsnodo] {
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border-radius: var(--radius-full);
    border: 2px solid transparent;
    background: var(--persona-color, var(--color-blue));
    transition: transform 0.15s ease;
}

.swatch.selected[b-2vctdsnodo] {
    border-color: var(--label);
    transform: scale(1.08);
}
/* /Features/Personas/Components/PersonaPickerSheet.razor.rz.scp.css */
.search[b-nzq7len077] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding-inline: var(--space-3);
    border-radius: var(--radius-full);
    background: var(--fill);
    color: var(--label-secondary);
    margin-block-end: var(--space-4);
}

.search-input[b-nzq7len077] {
    flex: 1;
    min-block-size: var(--tap-min);
    border: none;
    background: none;
    outline: none;
}

.group-title[b-nzq7len077] {
    font-size: var(--text-footnote);
    color: var(--label-secondary);
    padding-inline: var(--space-3);
    padding-block-end: var(--space-2);
}

.avatar[b-nzq7len077] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--persona-color, var(--color-blue)) 18%, transparent);
    flex: none;
}

.row-title[b-nzq7len077] {
    display: flex;
    flex-direction: column;
    min-inline-size: 0;
}

.name[b-nzq7len077] {
    font-weight: 500;
}

.role[b-nzq7len077] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Features/Personas/Pages/PersonaLibraryPage.razor.rz.scp.css */
.head[b-sq33465zhi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

.new-button[b-sq33465zhi] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--tap-min);
    block-size: var(--tap-min);
    border: none;
    border-radius: var(--radius-full);
    background: var(--accent);
    color: var(--on-accent);
    flex: none;
    transition: transform 0.15s ease;
}

.new-button:active[b-sq33465zhi] {
    transform: scale(0.94);
}

.avatar[b-sq33465zhi] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--persona-color, var(--color-blue)) 18%, transparent);
    flex: none;
}

.row-title[b-sq33465zhi] {
    display: flex;
    flex-direction: column;
    min-inline-size: 0;
}

.name[b-sq33465zhi] {
    font-weight: 500;
}

.role[b-sq33465zhi] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ghost[b-sq33465zhi] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border: none;
    border-radius: var(--radius-full);
    background: none;
    color: var(--label-secondary);
    flex: none;
}

.ghost:active[b-sq33465zhi] {
    background: var(--fill);
}

.ghost.danger[b-sq33465zhi] {
    color: var(--color-red);
}

.hint[b-sq33465zhi] {
    padding-inline: var(--space-4);
    line-height: var(--leading-tight);
}
/* /Features/Rooms/Components/Composer.razor.rz.scp.css */
.composer-wrap[b-dsp1q56z50] {
    position: fixed;
    inset-block-end: 0;
    inset-inline: 0;
    z-index: 25;
    max-inline-size: var(--shell-max);
    margin-inline: auto;
    padding-inline: var(--space-3);
    padding-block-end: calc(var(--space-3) + env(safe-area-inset-bottom, 0px));
    pointer-events: none;
}

.turn-hint[b-dsp1q56z50] {
    pointer-events: auto;
    text-align: center;
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 12%, transparent);
    border-radius: var(--radius-full);
    padding: var(--space-1) var(--space-4);
    margin-inline: auto;
    margin-block-end: var(--space-2);
    inline-size: fit-content;
}

.composer[b-dsp1q56z50] {
    pointer-events: auto;
    display: flex;
    align-items: flex-end;
    gap: var(--space-1);
    padding: var(--space-1);
    border-radius: var(--radius-lg);
}

.field[b-dsp1q56z50] {
    flex: 1;
    min-block-size: var(--tap-min);
    max-block-size: 8rem;
    padding: var(--space-3) var(--space-2);
    border: none;
    background: none;
    resize: none;
    outline: none;
    line-height: var(--leading-tight);
    font-family: inherit;
}

.field[b-dsp1q56z50]::placeholder {
    color: var(--label-tertiary);
}

.side[b-dsp1q56z50] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--tap-min);
    block-size: var(--tap-min);
    border: none;
    border-radius: var(--radius-full);
    background: none;
    flex: none;
    transition: transform 0.15s ease, background 0.15s ease;
}

.side:active:not(:disabled)[b-dsp1q56z50] {
    transform: scale(0.92);
}

.play[b-dsp1q56z50] {
    color: var(--color-green);
}

.stop[b-dsp1q56z50] {
    color: var(--color-red);
}

.send[b-dsp1q56z50] {
    background: var(--accent);
    color: var(--on-accent);
}

.send:disabled[b-dsp1q56z50] {
    background: var(--fill);
    color: var(--label-tertiary);
}
/* /Features/Rooms/Components/MessageBubble.razor.rz.scp.css */
.line[b-e6hv00qrn8] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-2);
    margin-block-end: var(--space-4);
}

.line.mine[b-e6hv00qrn8] {
    justify-content: flex-end;
}

.avatar[b-e6hv00qrn8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2rem;
    block-size: 2rem;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--persona-color, var(--color-blue)) 18%, transparent);
    font-size: var(--text-callout);
    flex: none;
}

.stack[b-e6hv00qrn8] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    max-inline-size: min(80%, 32rem);
    min-inline-size: 0;
}

.line.mine .stack[b-e6hv00qrn8] {
    align-items: flex-end;
}

.author[b-e6hv00qrn8] {
    color: var(--persona-color, var(--label-secondary));
    font-weight: 600;
    padding-inline-start: var(--space-2);
}

.bubble[b-e6hv00qrn8] {
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-lg);
    line-height: var(--leading-normal);
}

.bubble.theirs[b-e6hv00qrn8] {
    background: var(--bubble-agent);
    color: var(--label);
    /* گوشه‌ی کوچک‌تر در سمتی که حباب به آواتار می‌چسبد */
    border-end-start-radius: var(--radius-sm);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.bubble.mine[b-e6hv00qrn8] {
    background: var(--bubble-user);
    color: var(--bubble-user-label);
    border-end-end-radius: var(--radius-sm);
}

/* متن ساده‌ی کاربر خط‌های خود را نگه می‌دارد؛ متن رندرشده‌ی مارک‌داون
   ساختار بلوکی خودش را دارد و نباید pre-wrap بگیرد. */
p.text[b-e6hv00qrn8] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.text.markdown[b-e6hv00qrn8] {
    overflow-wrap: anywhere;
}

.meta[b-e6hv00qrn8] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: var(--text-caption2);
    color: var(--label-tertiary);
    padding-inline: var(--space-2);
}

.dot[b-e6hv00qrn8] {
    opacity: 0.6;
}

.notice[b-e6hv00qrn8] {
    text-align: center;
    color: var(--label-secondary);
    background: var(--fill);
    border-radius: var(--radius-full);
    padding: var(--space-2) var(--space-4);
    margin-block-end: var(--space-4);
    margin-inline: auto;
    max-inline-size: 30rem;
    line-height: var(--leading-tight);
}
/* /Features/Rooms/Components/RoomCard.razor.rz.scp.css */
.card[b-h6xyuk5hqd] {
    position: relative;
    display: flex;
    align-items: stretch;
    background: var(--background-elevated);
    border-radius: var(--radius-md);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.main[b-h6xyuk5hqd] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-4);
    background: none;
    border: none;
    text-align: start;
    min-inline-size: 0;
}

.main:active[b-h6xyuk5hqd] {
    background: var(--fill);
}

.row[b-h6xyuk5hqd] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-3);
}

.row.bottom[b-h6xyuk5hqd] {
    align-items: center;
    margin-block-start: var(--space-1);
}

.title[b-h6xyuk5hqd] {
    font-size: var(--text-headline);
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-inline-size: 0;
}

.time[b-h6xyuk5hqd] {
    font-size: var(--text-caption1);
    color: var(--label-tertiary);
    white-space: nowrap;
    flex: none;
}

.preview[b-h6xyuk5hqd] {
    font-size: var(--text-subhead);
    color: var(--label-secondary);
    line-height: var(--leading-tight);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.author[b-h6xyuk5hqd] {
    color: var(--label);
    font-weight: 500;
}

.avatars[b-h6xyuk5hqd] {
    display: flex;
    align-items: center;
}

.avatar[b-h6xyuk5hqd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 1.75rem;
    block-size: 1.75rem;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--persona-color, var(--color-blue)) 18%, transparent);
    font-size: var(--text-footnote);
    /* هم‌پوشانی آواتارها؛ در RTL جهت هم‌پوشانی خودکار برعکس می‌شود */
    margin-inline-end: -0.4rem;
    border: 2px solid var(--background-elevated);
}

.avatar.more[b-h6xyuk5hqd] {
    background: var(--fill);
    color: var(--label-secondary);
    font-size: var(--text-caption2);
}

.count[b-h6xyuk5hqd] {
    font-size: var(--text-caption1);
    color: var(--label-tertiary);
    flex: none;
}

.delete[b-h6xyuk5hqd] {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--tap-min);
    border: none;
    border-inline-start: 1px solid var(--separator);
    background: none;
    color: var(--color-red);
    flex: none;
}

.delete:active[b-h6xyuk5hqd] {
    background: color-mix(in srgb, var(--color-red) 12%, transparent);
}
/* /Features/Rooms/Pages/ChatRoomPage.razor.rz.scp.css */
.thread[b-vf5o7yt9sw] {
    /* ناحیه‌ی اسکرول محتوا؛ نوار بالا و نوار نوشتن ثابت می‌مانند و محتوا زیرشان می‌لغزد. */
    block-size: calc(100dvh - 3.25rem - env(safe-area-inset-top, 0px));
    overflow-y: auto;
    overscroll-behavior-y: contain;
    padding-inline: var(--space-4);
    padding-block-start: var(--space-4);
    padding-block-end: 7rem;
}

.loading[b-vf5o7yt9sw] {
    padding: var(--space-6);
    text-align: center;
}

.topic-card[b-vf5o7yt9sw] {
    background: var(--background-elevated);
    border-radius: var(--radius-md);
    padding: var(--space-3) var(--space-4);
    margin-block-end: var(--space-5);
}

.topic-label[b-vf5o7yt9sw] {
    margin-block-end: 0.15rem;
}

.summary[b-vf5o7yt9sw] {
    background: var(--background-elevated);
    border-radius: var(--radius-md);
    padding: var(--space-4);
    margin-block: var(--space-5);
    border-inline-start: 3px solid var(--accent);
}

.summary-title[b-vf5o7yt9sw] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-callout);
    font-weight: 600;
    margin-block-end: var(--space-2);
    color: var(--accent);
}

.summary-text[b-vf5o7yt9sw] {
    white-space: pre-wrap;
    font-size: var(--text-subhead);
    line-height: var(--leading-normal);
}

.waiting[b-vf5o7yt9sw] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    color: var(--label-secondary);
    background: var(--fill);
    border-radius: var(--radius-full);
    padding: var(--space-2) var(--space-4);
    margin-block-end: var(--space-4);
    margin-inline: auto;
    inline-size: fit-content;
    max-inline-size: 100%;
    text-align: center;
    line-height: var(--leading-tight);
}

.error-banner[b-vf5o7yt9sw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    background: color-mix(in srgb, var(--color-red) 12%, transparent);
    color: var(--color-red);
    border-radius: var(--radius-sm);
    padding: var(--space-3) var(--space-4);
    margin-block-end: var(--space-4);
    line-height: var(--leading-tight);
}

.retry[b-vf5o7yt9sw] {
    border: none;
    background: none;
    color: inherit;
    font-weight: 600;
    text-decoration: underline;
    flex: none;
    min-block-size: var(--tap-min);
}

.thread-end[b-vf5o7yt9sw] {
    block-size: 1px;
}

.bar-button[b-vf5o7yt9sw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--tap-min);
    block-size: var(--tap-min);
    border: none;
    border-radius: var(--radius-full);
    background: none;
    color: var(--accent);
}

.bar-button:active[b-vf5o7yt9sw] {
    background: var(--fill);
}

.panel-avatar[b-vf5o7yt9sw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--persona-color, var(--color-blue)) 18%, transparent);
    flex: none;
}

.row-title[b-vf5o7yt9sw] {
    display: flex;
    flex-direction: column;
    min-inline-size: 0;
}

.panel-name[b-vf5o7yt9sw] {
    font-weight: 500;
}

.mute[b-vf5o7yt9sw],
.poke[b-vf5o7yt9sw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border: none;
    border-radius: var(--radius-full);
    background: var(--fill);
    color: var(--label-secondary);
    flex: none;
}

.poke[b-vf5o7yt9sw] {
    color: var(--accent);
}

.poke:disabled[b-vf5o7yt9sw] {
    opacity: 0.35;
}

.action[b-vf5o7yt9sw] {
    color: var(--accent);
    font-weight: 500;
}

.error-text[b-vf5o7yt9sw] {
    color: var(--color-red);
    padding-inline: var(--space-3);
}
/* /Features/Rooms/Pages/HomePage.razor.rz.scp.css */
.head[b-nlrots9gh1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

.new-button[b-nlrots9gh1] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--tap-min);
    block-size: var(--tap-min);
    border: none;
    border-radius: var(--radius-full);
    background: var(--accent);
    color: var(--on-accent);
    flex: none;
    transition: transform 0.15s ease;
}

.new-button:active[b-nlrots9gh1] {
    transform: scale(0.94);
}

.list[b-nlrots9gh1] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.skeleton[b-nlrots9gh1] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    padding-block-start: var(--space-3);
}

.skeleton span[b-nlrots9gh1] {
    block-size: 5rem;
    border-radius: var(--radius-md);
    background: var(--fill);
    animation: pulse-b-nlrots9gh1 1.4s ease-in-out infinite;
}

.skeleton span:nth-child(2)[b-nlrots9gh1] { animation-delay: 0.15s; }
.skeleton span:nth-child(3)[b-nlrots9gh1] { animation-delay: 0.3s; }

@keyframes pulse-b-nlrots9gh1 {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}
/* /Features/Rooms/Pages/RoomSetupPage.razor.rz.scp.css */
.page[b-0dfa850aml] {
    padding-block-start: var(--space-4);
}

.section-title.split[b-0dfa850aml] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

.link[b-0dfa850aml] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border: none;
    background: none;
    color: var(--accent);
    font-size: var(--text-footnote);
    font-weight: 600;
    padding: var(--space-1);
}

.link:disabled[b-0dfa850aml] {
    opacity: 0.5;
}

.form-group[b-0dfa850aml] {
    padding: var(--space-2);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

/* داخل کارت گروه‌بندی‌شده، ورودی نباید کادر دوم بسازد. */
.flat[b-0dfa850aml] {
    background: none;
    border: none;
    padding-inline: var(--space-2);
}

.flat:focus[b-0dfa850aml] {
    border-color: transparent;
}

.participant[b-0dfa850aml] {
    gap: var(--space-3);
}

.avatar[b-0dfa850aml] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--persona-color, var(--color-blue)) 18%, transparent);
    flex: none;
}

.name[b-0dfa850aml] {
    font-weight: 500;
}

.role[b-0dfa850aml] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.model-select[b-0dfa850aml] {
    max-inline-size: 8rem;
    min-block-size: 2.25rem;
    border: none;
    border-radius: var(--radius-sm);
    background: var(--fill);
    color: var(--label);
    font-size: var(--text-footnote);
    padding-inline: var(--space-2);
    flex: none;
}

.remove[b-0dfa850aml] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2rem;
    block-size: 2rem;
    border: none;
    border-radius: var(--radius-full);
    background: none;
    color: var(--label-tertiary);
    flex: none;
}

.remove:active[b-0dfa850aml] {
    background: var(--fill);
    color: var(--color-red);
}

.add[b-0dfa850aml] {
    color: var(--accent);
    font-weight: 500;
}

.add:disabled[b-0dfa850aml] {
    opacity: 0.4;
}

.stacked[b-0dfa850aml] {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-2);
    padding-block: var(--space-3);
}

.d-block[b-0dfa850aml] {
    display: block;
}

.hint[b-0dfa850aml] {
    padding-inline: var(--space-4);
    margin-block: calc(var(--space-4) * -1) var(--space-5);
    line-height: var(--leading-tight);
}

.error[b-0dfa850aml] {
    color: var(--color-red);
}

.start[b-0dfa850aml] {
    margin-block-start: var(--space-2);
}

input[type="checkbox"][b-0dfa850aml] {
    inline-size: 1.35rem;
    block-size: 1.35rem;
    accent-color: var(--accent);
    flex: none;
}
/* /Features/Settings/Pages/SettingsPage.razor.rz.scp.css */
.inline-input[b-mdw3v7wb36] {
    max-inline-size: 11rem;
    min-block-size: 2.25rem;
    border: none;
    border-radius: var(--radius-sm);
    background: var(--fill);
    text-align: start;
    padding-inline: var(--space-3);
    flex: none;
}

.row-title[b-mdw3v7wb36] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-inline-size: 0;
}

.d-block[b-mdw3v7wb36] {
    display: block;
}

.model[b-mdw3v7wb36] {
    align-items: flex-start;
    padding-block: var(--space-3);
}

.model-name[b-mdw3v7wb36] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-weight: 500;
}

.badge[b-mdw3v7wb36] {
    font-size: var(--text-caption2);
    font-weight: 600;
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 14%, transparent);
    border-radius: var(--radius-full);
    padding: 0.1rem 0.5rem;
}

.tags[b-mdw3v7wb36] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1);
    margin-block-start: var(--space-1);
}

.tag[b-mdw3v7wb36] {
    font-size: var(--text-caption2);
    color: var(--label-secondary);
    background: var(--fill);
    border-radius: var(--radius-full);
    padding: 0.1rem 0.5rem;
}

.tag.ok[b-mdw3v7wb36] {
    color: var(--color-green);
    background: color-mix(in srgb, var(--color-green) 14%, transparent);
}

.tag.bad[b-mdw3v7wb36] {
    color: var(--color-red);
    background: color-mix(in srgb, var(--color-red) 14%, transparent);
}

.model-actions[b-mdw3v7wb36] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex: none;
}

.ghost[b-mdw3v7wb36] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 2.25rem;
    block-size: 2.25rem;
    border: none;
    border-radius: var(--radius-full);
    background: none;
    color: var(--label-secondary);
}

.ghost:active[b-mdw3v7wb36] {
    background: var(--fill);
}

.ghost:disabled[b-mdw3v7wb36] {
    opacity: 0.4;
}

.ghost.pick[b-mdw3v7wb36] {
    color: var(--accent);
    font-size: var(--text-footnote);
    font-weight: 600;
    padding-inline: var(--space-2);
}

.sample[b-mdw3v7wb36] {
    background: var(--background-elevated);
    border-radius: var(--radius-md);
    padding: var(--space-3) var(--space-4);
    margin-block: calc(var(--space-5) * -1 + var(--space-2)) var(--space-5);
    line-height: var(--leading-normal);
}

.danger[b-mdw3v7wb36] {
    color: var(--color-red);
}

.about[b-mdw3v7wb36] {
    padding-inline: var(--space-4);
    line-height: var(--leading-normal);
    margin-block-start: var(--space-5);
}

input[type="checkbox"][b-mdw3v7wb36] {
    inline-size: 1.35rem;
    block-size: 1.35rem;
    accent-color: var(--accent);
    flex: none;
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* تب‌بار شناور: کپسولی با فاصله از لبه‌ها، نه چسبیده به کل عرض صفحه. */
.tabbar[b-yvngewkf91] {
    position: fixed;
    inset-block-end: calc(var(--space-3) + env(safe-area-inset-bottom, 0px));
    inset-inline: 0;
    z-index: 30;
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: var(--space-1);
    inline-size: min(24rem, calc(100% - var(--space-6)));
    margin-inline: auto;
    padding: var(--space-1);
    border-radius: var(--radius-full);
}

/* NavLink یک کامپوننت است، نه عنصر HTML؛ ویژگی محدوده‌ی CSS روی آن گذاشته نمی‌شود
   و باید با ::deep هدف گرفته شود. */
[b-yvngewkf91] .tab {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.125rem;
    min-block-size: var(--tap-min);
    padding-block: var(--space-1);
    border-radius: var(--radius-full);
    color: var(--label-secondary);
    font-size: var(--text-caption1);
    font-weight: 500;
    text-decoration: none;
    transition: color 0.18s ease, background 0.18s ease;
}

[b-yvngewkf91] .tab:active {
    background: var(--fill);
}

/* ::deep لازم است چون NavLink کلاس active را روی عنصر فرزند می‌گذارد. */
[b-yvngewkf91] .tab.active {
    color: var(--accent);
    font-weight: 600;
}
