/**
 * Челленджи: show (макет Figma — основная колонка + правый сайдбар).
 * Токены: variables.css (--space-*, --radius-*, --font-*).
 */

.challenge-show-tab-stack {
    display: flex;
    flex-direction: column;
    gap: var(--layout-section-gap);
    min-width: 0;
}

@media (min-width: 1280px) {
    .event-show-main .challenge-show-tab-stack {
        gap: var(--space-6);
    }
}

.challenge-sidebar-publish-actions {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    width: 100%;
    min-width: 0;
}

.challenge-sidebar-publish-actions form {
    width: 100%;
}

.challenge-sidebar-draft-cta__body {
    width: 100%;
    min-width: 0;
}

/* Обзор: кнопки «Действия» / «Добавить» в hero и в заглушке */
.challenge-overview-menu-toggle.challenge-overview-menu-toggle--labeled {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
}

.challenge-hero-cover-chrome__actions .challenge-overview-menu-toggle {
    pointer-events: auto;
}

/* Hero overview — event-show-hero-card (как /events/{id}) */
.challenge-show-hero-card.event-show-hero-card {
    display: flex;
    flex-direction: column;
}

.challenge-show-hero-card:not(.challenge-show-hero-card--has-cover) .event-show-hero-card__body,
.challenge-show-about-rail-hero:not(.challenge-show-about-rail-hero--has-cover) .event-show-hero-card__body {
    padding: var(--space-4);
    padding-top: 0;
}

.challenge-show-hero-card:not(.challenge-show-hero-card--has-cover) .challenge-hero-cover-chrome--no-cover,
.challenge-show-about-rail-hero:not(.challenge-show-about-rail-hero--has-cover) .challenge-hero-cover-chrome--no-cover {
    position: relative;
    display: flex;
    align-items: start;
    padding: var(--space-4);
    box-sizing: border-box;
}

.challenge-hero-caption-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    width: 100%;
    min-width: 0;
}

.challenge-hero-caption-trailing {
    flex-shrink: 0;
}

.challenge-show-hero-card:not(.challenge-show-hero-card--has-cover) .challenge-hero-caption-row,
.challenge-show-about-rail-hero:not(.challenge-show-about-rail-hero--has-cover) .challenge-hero-caption-row {
    padding: 0 var(--space-4) var(--space-4);
    box-sizing: border-box;
}

/* Caption «Действия» на обложке — как event bordered на scrim */
.challenge-show-hero-card--has-cover .challenge-show-hero-organizer-menu > .gc-btn.gc-btn-bordered.gc-dropdown-toggle,
.challenge-show-about-rail-hero--has-cover .challenge-show-hero-organizer-menu > .gc-btn.gc-btn-bordered.gc-dropdown-toggle {
    color: var(--_caption-bar-fg);
    border-color: color-mix(in srgb, var(--_caption-bar-fg) 32%, transparent);
    background: color-mix(in srgb, var(--_caption-bar-fg) 14%, transparent);
}

/* Обложка обзора: frame = positioning context для status chrome поверх shared _hero_cover_media */
.challenge-hero-cover-frame {
    position: relative;
    min-width: 0;
}

.challenge-hero-cover-media {
    position: relative;
    min-width: 0;
}

.challenge-hero-cover-chrome {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--space-2);
    /* Как у .gc-media-caption-bar — один инсет со всех сторон */
    padding: var(--space-4);
    box-sizing: border-box;
    pointer-events: none;
}

.challenge-hero-cover-chrome__actions {
    justify-self: end;
    pointer-events: auto;
}

.challenge-hero-cover-badge {
    min-width: 0;
    max-width: 100%;
    justify-self: start;
    white-space: normal;
    text-align: start;
    line-height: 1.35;
}

/* Статус на обложке / в карточке: один стиль, читаемо на фото (как gc-briefing-cover-badge) */
.gc-badge.challenge-status-badge {
    flex-shrink: 0;
    background: var(--fill-emphasis);
    color: var(--text-on-solid);
    border-color: transparent;
    box-shadow: var(--shadow-sm);
}

.gc-badge.challenge-status-badge.challenge-status-badge--active {
    background: var(--success-color);
    color: var(--text-on-solid);
    border-color: var(--success-color);
}

/* Hero caption bar: типографика внутри event-show-hero-card (как event show) */
.challenge-show-tab-stack .challenge-hero-caption-bar,
.challenge-show-hero-card .challenge-hero-caption-bar {
    align-items: flex-start;
    gap: var(--space-4);
    border-radius: 0 0 var(--radius-16) var(--radius-16);
}

.challenge-show-tab-stack .challenge-hero-title,
.challenge-show-hero-card .challenge-hero-title {
    margin: 0;
    font-size: var(--font-size-20);
    font-weight: 600;
    line-height: 1.35;
    color: inherit;
}

.challenge-show-tab-stack .gc-media-caption-bar__meta.challenge-hero-caption-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0;
    font-size: var(--font-size-14);
    line-height: 1.5;
    opacity: 1;
}

.challenge-show-tab-stack .challenge-hero-caption-meta__primary {
    font-size: var(--font-size-14);
    font-weight: 500;
    line-height: 1.5;
    color: inherit;
}

.challenge-show-tab-stack .challenge-hero-caption-meta__extra {
    font-size: var(--font-size-14);
    font-weight: 400;
    line-height: 1.5;
    color: inherit;
    opacity: 0.6;
}

.challenge-show-sidebar {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
}

.challenge-show-sidebar-cta .gc-btn {
    width: 100%;
    border-radius: var(--radius-12);
}

.challenge-sidebar-submit-btn {
    white-space: normal;
    text-align: center;
    line-height: var(--line-height-base);
}

.challenge-sidebar-result-cta {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-width: 0;
}

.challenge-sidebar-result-cta__status {
    width: 100%;
    cursor: default;
}

.challenge-sidebar-result-cta .challenge-sidebar-result-cta__status.gc-btn-black:disabled,
.challenge-sidebar-result-cta .challenge-sidebar-result-cta__status.gc-btn-black[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
    --gc-btn-elevation: none;
    box-shadow: none;
}

.challenge-sidebar-submit-btn:disabled,
.challenge-sidebar-submit-btn[disabled] {
    opacity: 1;
}

.challenge-show-sidebar .catalog-nav {
    width: 100%;
}

.challenge-show-mobile-partners {
    min-width: 0;
}

@media (min-width: 1280px) {
    /* Context rail: sticky .sidebar-content (как event loadout) */
    .split-left.challenge-show-sidebar > .sidebar-content {
        display: flex;
        flex-direction: column;
        gap: var(--space-4);
        padding: var(--space-4) 0;
        box-sizing: border-box;
        background: transparent;
        border-radius: 0;
        overflow-x: visible;
        overflow-y: auto;
    }
}

/* Сетка призов: число колонок = min(2, кол-во карточек) */
.gc-grid-prize-cards {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: 1fr;
    width: 100%;
    min-width: 0;
    align-items: stretch;
}

.gc-grid-prize-cards--cols-1 {
    grid-template-columns: 1fr;
}

.gc-grid-prize-cards--cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Секция призов на show: заголовок по центру; шаг к сетке — между «далеко» (lg+md) и «врезалось» (sm+0) */
.challenge-prizes-panel--panel-header > .gc-panel-header {
    padding: var(--space-4);
}

.challenge-prizes-panel.gc-panel-plain > .gc-panel-header.challenge-prizes-panel__header--featured {
    justify-content: center;
    padding: var(--layout-section-gap) var(--layout-content-inset-x) var(--space-4) var(--layout-content-inset-x);
}

.challenge-prizes-panel.gc-panel-plain:has(> .challenge-prizes-panel__header--featured) > .gc-panel-content {
    padding-top: var(--space-4);
}

.challenge-prizes-panel__header-text {
    gap: var(--space-2);
}

.challenge-prizes-panel__header--featured .challenge-prizes-panel__header-text {
    align-items: center;
    width: 100%;
    text-align: center;
}

.challenge-prizes-panel__header--featured .challenge-prizes-panel__title {
    width: 100%;
    font-size: var(--font-size-24);
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
}

.challenge-prizes-panel__summary--featured {
    width: 100%;
    text-align: center;
    font-size: var(--font-size-14);
}

/* Обзор: заголовок и мета под обложкой */
.challenge-show-tab-stack .gc-media-caption-bar__titles {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 0;
}

/* Вкладка «Организаторы»: список как на /events/{id}/organizers (event-participant-card + gc-interactive-row) */
.challenge-show-tab-stack .event-participant-card {
    min-width: 0;
    border-radius: var(--radius-12);
    cursor: pointer;
    transition: background var(--transition-fast);
}

.challenge-show-tab-stack .event-participant-card:hover {
    background: var(--gc-interactive-hover-bg);
}

.challenge-show-tab-stack .event-participant-card .gc-list-actions {
    flex-shrink: 0;
    align-self: center;
}

.gc-grid-prize-cards > .challenge-prize-cell {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
    width: 100%;
    min-height: 100%;
    align-self: stretch;
}

/* Партнёр сверху карточки (полоса «от …») */
.challenge-prize-cell--partner .challenge-prize-partner-row {
    position: relative;
    z-index: 0;
    padding: 0;
}

.gc-grid-prize-cards .challenge-prize-cell--partner .challenge-prize-card.gc-card {
    position: relative;
    z-index: 1;
    margin-top: calc(-1 * (var(--space-4) + var(--space-1)));
}

.challenge-prize-partner-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    min-width: 0;
}

.challenge-prize-partner-pill {
    --challenge-prize-partner-strip-bg: color-mix(in srgb, var(--accent-link) 24%, var(--surface-panel));
    --challenge-prize-partner-strip-bg-hover: color-mix(in srgb, var(--accent-link) 34%, var(--surface-panel));
    --challenge-prize-partner-strip-bg-active: color-mix(in srgb, var(--accent-link) 42%, var(--surface-panel));
    --challenge-prize-partner-strip-text: var(--text-primary);
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-1);
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: var(--space-2) var(--space-2) var(--space-6) var(--space-2);
    border: none;
    border-top-left-radius: var(--radius-20);
    border-top-right-radius: var(--radius-20);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background: var(--challenge-prize-partner-strip-bg);
    color: var(--challenge-prize-partner-strip-text);
    text-align: start;
    text-decoration: none;
    font-size: var(--font-size-14);
    font-weight: 500;
    line-height: var(--line-height-list-description);
    cursor: pointer;
    appearance: none;
    font-family: inherit;
    transition: background-color var(--transition-fast) var(--ease-in-out);
}

.challenge-prize-partner-pill:hover {
    background: var(--challenge-prize-partner-strip-bg-hover);
    color: var(--challenge-prize-partner-strip-text);
}

.challenge-prize-partner-pill:focus-visible {
    outline: var(--gc-focus-outline);
    outline-offset: 2px;
}

.challenge-prize-partner-pill:active {
    background: var(--challenge-prize-partner-strip-bg-active);
}

.challenge-prize-partner-pill__lead {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-2);
    min-width: 0;
    flex: 1 1 0;
}

.challenge-prize-partner-pill__logo {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: var(--radius-full);
    object-fit: cover;
}

.challenge-prize-partner-pill__logo-fallback {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--accent-link) 16%, var(--surface-subtle));
    color: var(--text-secondary);
    font-size: var(--font-size-12);
    font-weight: 600;
    line-height: 1;
}

.challenge-prize-partner-pill__byline {
    min-width: 0;
    flex: 1 1 auto;
}

.challenge-prize-partner-pill__caret {
    flex-shrink: 0;
    font-size: var(--font-size-base);
    line-height: 1;
    opacity: 0.9;
}

.gc-grid-prize-cards .challenge-prize-cell .challenge-prize-card.gc-card {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 0;
    scroll-snap-align: unset;
    align-self: stretch;
}

.gc-panel-content > .gc-grid-prize-cards {
    margin-top: 0;
}

.challenge-prize-card.gc-card {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    background: var(--surface-panel);
    box-shadow: var(--shadow-sm);
    border-radius: var(--radius-20);
    --gc-corner-outer: var(--radius-20);
    transition:
        background-color var(--transition-fast) var(--ease-in-out),
        border-color var(--transition-fast) var(--ease-in-out),
        box-shadow var(--transition-fast) var(--ease-in-out);
}

a.challenge-prize-card.gc-card:hover:not(.gc-card-activity-event),
.challenge-prize-card.challenge-prize-card--trigger.gc-card:hover:not(.gc-card-activity-event) {
    background: var(--surface-panel);
    border-color: var(--border-subtle);
    box-shadow: var(--shadow-md);
}

a.challenge-prize-card.gc-card:focus-visible:not(.gc-card-activity-event),
.challenge-prize-card.challenge-prize-card--trigger.gc-card:focus-visible:not(.gc-card-activity-event) {
    outline: var(--gc-focus-outline);
    outline-offset: var(--space-2);
    background: var(--surface-panel);
    border-color: var(--border-subtle);
    box-shadow: var(--shadow-md);
}

/* Карточка-призрак: лёгкий zoom превью при ховере; цвет заголовка не меняем */
a.challenge-prize-card.gc-card .challenge-prize-card__text .gc-list-title,
.challenge-prize-card.challenge-prize-card--trigger.gc-card .challenge-prize-card__text .gc-list-title {
    transition: none;
}

a.challenge-prize-card.gc-card:hover .challenge-prize-card__text .gc-list-title,
.challenge-prize-card.challenge-prize-card--trigger.gc-card:hover .challenge-prize-card__text .gc-list-title {
    color: inherit;
}

a.challenge-prize-card.gc-card .challenge-prize-card__thumb-slide.is-active,
.challenge-prize-card.challenge-prize-card--trigger.gc-card .challenge-prize-card__thumb-slide.is-active {
    transition: transform var(--transition-base) var(--ease-in-out);
}

a.challenge-prize-card.gc-card:hover .challenge-prize-card__thumb-slide.is-active,
.challenge-prize-card.challenge-prize-card--trigger.gc-card:hover .challenge-prize-card__thumb-slide.is-active {
    transform: scale(1.03);
}

@media (prefers-reduced-motion: reduce) {
    a.challenge-prize-card.gc-card .challenge-prize-card__thumb-slide.is-active,
    .challenge-prize-card.challenge-prize-card--trigger.gc-card .challenge-prize-card__thumb-slide.is-active {
        transition: none;
    }

    a.challenge-prize-card.gc-card:hover .challenge-prize-card__thumb-slide.is-active,
    .challenge-prize-card.challenge-prize-card--trigger.gc-card:hover .challenge-prize-card__thumb-slide.is-active {
        transform: none;
    }
}

/* Превью без инсета до краёв .gc-card; текст — с padding mdl */
.challenge-prize-card__shell.gc-stack-sm {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    width: 100%;
    padding: 0;
    gap: 0;
    box-sizing: border-box;
}

.challenge-prize-card__chips {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--space-2);
    width: 100%;
    min-width: 0;
}

.challenge-prize-card__place {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--text-primary);
    font-size: var(--font-size-15);
    font-weight: 500;
    line-height: 1.5;
    max-width: 100%;
    white-space: nowrap;
}

.challenge-prize-card__chips:not(:has(.challenge-prize-card__partner-chip)) .challenge-prize-card__place {
    margin-left: auto;
}

.challenge-prize-card__partner-chip {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex: 1 1 0;
    min-width: 0;
    padding: 0 var(--space-1) 0 0;
    border: none;
    border-radius: var(--radius-16);
    background: transparent;
    box-sizing: border-box;
    overflow: hidden;
    transition: background var(--transition-fast) var(--ease-in-out);
}

.challenge-prize-card__partner-chip:hover {
    background: var(--gc-interactive-hover-bg);
}

/* Выровнять аватар партнёра с высотой строки «Топ N» (mdl + line-height 1.5 + padding-y чипа партнёра). */
.challenge-prize-card__chips .challenge-prize-card__partner-photo.gc-list-avatar.xs,
.challenge-prize-card__chips .challenge-prize-card__partner-logo--placeholder.gc-list-avatar-fallback.xs {
    --gc-list-media-size: calc(1.5 * var(--font-size-15) + 2 * var(--space-1));
}

.challenge-prize-card__chips .challenge-prize-card__partner-logo--placeholder.gc-list-avatar-fallback.xs {
    font-size: var(--font-size-15);
}

.challenge-prize-card__partner-logo--placeholder {
    background: var(--surface-subtle);
    color: var(--text-secondary);
    font-size: var(--font-size-14);
    font-weight: 500;
    line-height: 1;
}

.challenge-prize-card__title.gc-list-title {
    min-width: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    white-space: normal;
}

/* Витрина: обложка 1:1, cover; letterbox — только в модалке */
.challenge-prize-card__thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    min-height: 0;
    border-radius: 0;
    overflow: hidden;
    background: var(--surface-subtle);
}

.challenge-prize-card__thumb--multi-slide {
    /* Курсор по умолчанию: без намёка на сторонние бренды */
    cursor: default;
}

.challenge-prize-card__hero-stack,
.challenge-prize-card__slide-stack {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.challenge-prize-card__thumb-slide {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition: opacity var(--transition-fast) var(--ease-in-out);
    pointer-events: none;
}

.challenge-prize-card__thumb-slide.is-active {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .challenge-prize-card__thumb-slide {
        transition: none;
    }
}

.challenge-prize-card__thumb-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: var(--space-4);
}

.challenge-prize-card__thumb-empty-illu {
    width: 4rem;
    height: 4rem;
    opacity: 0.45;
}

/* Форма приза: превью и плейсхолдеры 1:1 (weapon-gallery по умолчанию 16:9). */
.challenge-prize-edit-sheet .weapon-edit-photo-cover-wrap .gc-briefing-img-container,
.challenge-prize-edit-sheet .weapon-edit-photos .gc-briefing-img-container {
    aspect-ratio: 1 / 1;
}

.challenge-prize-edit-sheet .weapon-edit-photo-placeholder {
    padding-top: 100%;
}

.challenge-prize-card__text {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-width: 0;
    min-height: 0;
    padding: var(--space-4);
    box-sizing: border-box;
}

/* «Топ N» и «N призов» — два тега в ряд, одинаковый размер */
.challenge-prize-card__place-row {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-1);
    max-width: 100%;
    min-width: 0;
}

/* Одинаковая геометрия тегов «Топ N» и «N призов» (не gc-badge — там другой padding/weight) */
.challenge-prize-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: calc(var(--font-size-14) + 2 * var(--space-1));
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-14);
    font-weight: 600;
    line-height: 1.25;
    border-radius: var(--radius-8);
    border: 1px solid transparent;
    white-space: nowrap;
}

.challenge-prize-card__badge--place {
    flex-shrink: 0;
    background-color: var(--fill-emphasis-inverse);
    color: var(--text-on-solid-inverse);
    border-color: transparent;
}

[data-theme="light"] .challenge-prize-card__badge--place {
    background-color: var(--fill-emphasis);
    color: var(--text-on-solid);
    border-color: transparent;
}

html[data-theme="dark"] .challenge-prize-card__badge--place {
    background-color: var(--badge-selected-bg);
    color: var(--badge-selected-color);
    border-color: var(--badge-selected-bg);
}

.challenge-prize-card__badge--count {
    flex-shrink: 1;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: var(--font-weight-base);
    background: var(--surface-control);
    color: var(--text-primary);
    border: none;
}

.challenge-prize-card__excerpt {
    margin: 0;
    font-size: var(--font-size-15);
    font-weight: 400;
    line-height: 1.5;
    color: var(--text-primary);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.challenge-prize-card.challenge-prize-card--trigger.gc-card {
    appearance: none;
    cursor: pointer;
    color: inherit;
    font: inherit;
    display: block;
}

/* Сильнее .gc-modal .modal-footer (flex-end) и мобильного stretch: «Удалить» слева, «Изменить» справа */
.gc-modal .modal-footer.challenge-prize-view-modal__footer,
.gc-modal .modal-footer.challenge-partner-profile-modal__footer {
    justify-content: space-between;
    width: 100%;
}

@media (max-width: 767px) {
    .gc-modal .modal-footer.challenge-prize-view-modal__footer,
    .gc-modal .modal-footer.challenge-partner-profile-modal__footer {
        justify-content: space-between;
    }

    .gc-modal .modal-footer.challenge-prize-view-modal__footer .gc-btn,
    .gc-modal .modal-footer.challenge-partner-profile-modal__footer .gc-btn {
        flex: 0 1 auto;
    }
}

.challenge-prize-view-modal__body {
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
}

.challenge-prize-view-modal__body .challenge-prize-modal__inner.gc-stack-md {
    gap: var(--space-4);
}

.challenge-prize-view-modal__body .challenge-prize-modal__chips {
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
}

.challenge-prize-view-modal__body .challenge-prize-modal__gallery {
    min-width: 0;
}

.challenge-prize-modal__gallery-view {
    --challenge-prize-modal-gallery-gap: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--challenge-prize-modal-gallery-gap);
    min-width: 0;
}

.challenge-prize-modal__gallery-hero--open-viewer .gc-briefing-img-container {
    cursor: pointer;
}

.challenge-prize-modal__gallery-hero.gc-stage-show-hero {
    padding: 0;
    margin: 0;
}

.challenge-prize-modal__gallery-hero .gc-briefing-img-container {
    aspect-ratio: 1 / 1;
    border-radius: var(--radius-8);
}

.challenge-prize-modal__gallery-empty {
    border-radius: var(--radius-8);
    aspect-ratio: 1 / 1;
    background: var(--surface-subtle);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.challenge-prize-modal__thumbs {
    min-width: 0;
    margin: 0;
    padding: 0;
}

.challenge-prize-modal__photos-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--challenge-prize-modal-gallery-gap, var(--space-4));
}

.challenge-prize-modal__thumb {
    --challenge-prize-modal-thumb-size: var(--space-product-56);
    position: relative;
    display: block;
    flex: 0 0 var(--challenge-prize-modal-thumb-size);
    width: var(--challenge-prize-modal-thumb-size);
    margin: 0;
    padding: 0;
    border: none;
    border-radius: var(--radius-8);
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: var(--surface-control);
    cursor: pointer;
    transition: opacity var(--transition-fast) var(--ease-in-out);
}

.challenge-prize-modal__thumb:hover {
    opacity: 0.88;
}

.challenge-prize-modal__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.challenge-prize-modal__thumb.is-active {
    box-shadow: 0 0 0 2px var(--accent-link);
}

@media (prefers-reduced-motion: reduce) {
    .challenge-prize-modal__thumb {
        transition: none;
    }
}

.challenge-prize-view-modal__body .challenge-prize-modal__prose {
    padding-top: 0;
    margin-top: 0;
    border-top: none;
}

.challenge-prize-view-modal__body .challenge-prize-modal__empty {
    margin: 0;
    padding-top: 0;
    border-top: none;
    color: var(--text-secondary);
    font-size: var(--font-size-15);
    line-height: 1.5;
}

/* Модалка партнёра: без общего padding modal-body — две зоны с собственным ритмом (static = mdl, список = --list). */
.challenge-partner-profile-modal .modal-body {
    padding: 0;
    scrollbar-gutter: auto;
}

.challenge-partner-profile-modal__main {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}

.challenge-partner-profile-modal__static {
    padding: var(--space-4);
    box-sizing: border-box;
    min-width: 0;
}

.challenge-partner-profile-modal__intro {
    min-width: 0;
}

.challenge-partner-profile-modal__hero img.gc-list-avatar-square {
    border: none;
    border-radius: var(--radius-full);
    background: transparent;
}

.challenge-partner-profile-modal__tagline {
    margin: 0;
    font-size: var(--font-size-14);
    line-height: 1.45;
    color: var(--text-secondary);
}

.challenge-partner-profile-modal__hero-mount:has(.challenge-partner-profile-modal__entity-stack) {
    padding: 0;
}

.challenge-partner-profile-modal__hero-mount .challenge-partner-profile-modal__entity-stack {
    min-width: 0;
}

.challenge-partner-profile-modal__hero-mount .challenge-partner-profile-modal__entity-head {
    min-width: 0;
    display: flow-root;
    background-color: var(--surface-panel);
}

/* Обложка канала: gc-profile-cover-wrapper 3:1 из profile-card.css; здесь только flush-контекст */
.challenge-partner-profile-modal__hero-mount .challenge-partner-profile-modal__entity-head .gc-profile-cover-wrapper {
    margin-bottom: 0;
    overflow: hidden;
    border-radius: 0;
}

.challenge-partner-profile-modal__hero-mount .challenge-partner-profile-modal__entity-head .gc-profile-cover,
.challenge-partner-profile-modal__hero-mount .challenge-partner-profile-modal__entity-head .gc-profile-cover-img {
    border-radius: 0;
}

.challenge-partner-profile-modal__hero-mount
    .challenge-partner-profile-modal__entity-head
    .gc-profile-cover.challenge-partner-profile-modal__entity-cover--placeholder {
    border-radius: 0;
}

/* Пустой hero при загрузке (только ссылки в теле): полоса как у обложки, без перебоя padding со строкой .hero */
.challenge-partner-profile-modal__hero-mount:has(.challenge-partner-profile-modal__hero-generic-skeleton) {
    padding: 0;
}

.challenge-partner-profile-modal__hero-generic-skeleton {
    display: block;
    width: 100%;
    min-width: 0;
    max-height: var(--gc-modal-hero-cover-max-height);
    height: clamp(var(--space-product-96), 28dvh, var(--gc-modal-hero-cover-max-height));
    border-radius: 0;
    box-sizing: border-box;
}

.challenge-partner-profile-modal__hero {
    min-width: 0;
    width: 100%;
}

.challenge-partner-profile-modal__hero .challenge-partner-row-main {
    width: 100%;
    min-width: 0;
}

.challenge-partner-profile-modal__hero--skeleton .challenge-partner-row-main {
    pointer-events: none;
}

.challenge-partner-profile-modal__hero--skeleton .challenge-partner-profile-modal__hero-skeleton-avatar-slot {
    position: relative;
    flex-shrink: 0;
    border: none;
    border-radius: var(--radius-full);
    background: transparent;
}

.challenge-partner-profile-modal__hero--skeleton .challenge-partner-profile-modal__hero-skeleton-avatar-slot > .gc-skeleton {
    border-radius: inherit;
}

/* Блок привязки канала/пользователя в hero-модалке: только обложка (entity-head внутри entity-stack) */
.challenge-partner-profile-modal__entity-stack {
    display: block;
    min-width: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.challenge-partner-profile-modal__entity-cover--placeholder {
    background-color: var(--surface-control);
}

/* Логотип в первой строке списка вместо иконки (квадрат lg как gc-list-media-icon) */
.challenge-partner-profile-modal__links-scope .challenge-partner-profile-modal__link-logo-slot {
    padding: 0;
    overflow: hidden;
}

.challenge-partner-profile-modal__links-scope .challenge-partner-profile-modal__link-logo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Ссылки партнёра: gc-list-media-icon sm (рамка из lists.css), ph-fill + спрайты VK/OK */
.challenge-partner-profile-modal__links-scope .gc-list-media-icon {
    --gc-list-media-glyph-size: var(--font-size-18);
    color: var(--text-secondary);
}

.challenge-partner-profile-modal__links-scope .gc-list-media-icon svg.challenge-partner-soc-icon {
    display: block;
    width: var(--gc-list-media-glyph-size);
    height: var(--gc-list-media-glyph-size);
    fill: currentColor;
}

.gc-interactive-row.interactive:hover .challenge-partner-profile-modal__links-scope .gc-list-media-icon,
a.gc-interactive-row:hover .challenge-partner-profile-modal__links-scope .gc-list-media-icon {
    color: var(--text-primary);
}

.challenge-partner-profile-modal__about {
    font-size: var(--font-size-base);
    line-height: 1.55;
    color: var(--text-primary);
    margin: 0;
}

.challenge-partner-profile-modal__about-line {
    white-space: pre-wrap;
}

/* Скелетон модалки партнёра: та же сетка строк, без клика; шеврон — плейсхолдер, не ph-fill */
.challenge-partner-profile-modal__skeleton-link-fake {
    pointer-events: none;
    cursor: default;
    flex: 1;
    min-width: 0;
}

.challenge-partner-profile-modal__skeleton-link-row {
    cursor: default;
}

.challenge-partner-profile-modal__skeleton-caret-placeholder {
    width: var(--font-size-16);
    height: var(--font-size-16);
    border-radius: var(--radius-8);
    flex-shrink: 0;
}

.challenge-partner-profile-modal__skeleton-link-row .challenge-partner-profile-modal__link-logo-slot {
    position: relative;
}

.challenge-partner-profile-modal__skeleton-logo-fill {
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    border-radius: inherit;
}

.challenge-partner-profile-modal__skeleton-media .gc-skeleton-circle {
    width: var(--gc-list-media-glyph-size, var(--font-size-20));
    height: var(--gc-list-media-glyph-size, var(--font-size-20));
}

/* Скелетон обложки: probe + оверлей в том же блоке, что и финальная обложка */
.challenge-partner-profile-modal__hero-mount
    .challenge-partner-profile-modal__entity-head
    .gc-profile-cover-wrapper:has(.challenge-partner-profile-modal__entity-cover-skeleton-overlay) {
    position: relative;
}

.challenge-partner-profile-modal__entity-cover-probe-img {
    opacity: 0;
    pointer-events: none;
}

.challenge-partner-profile-modal__entity-cover-skeleton-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    border-radius: 0;
    pointer-events: none;
}

.challenge-partner-profile-modal__hero--skeleton {
    width: 100%;
}

/* Вкладка «Партнёры»: отдельные gc-panel подряд (без общей обёртки-tab-stack) */
.catalog-main--content > .challenge-partner-panel + .challenge-partner-panel {
    margin-top: var(--space-4);
}

.catalog-main--content > .challenge-partner-panel.gc-panel.gc-panel--flush {
    overflow: hidden;
}

/* Шапка партнёра: обложка flush, логотип с наездом слева вровень с названием */
.challenge-partner-panel .challenge-partner-panel__card {
    position: relative;
    min-width: 0;
}

.challenge-partner-panel .challenge-partner-panel__cover-slot {
    min-width: 0;
}

.challenge-partner-panel .challenge-partner-panel__cover-frame {
    position: relative;
    min-width: 0;
}

.challenge-partner-panel .challenge-partner-panel__cover-media.gc-briefing-img-container {
    width: 100%;
    border-radius: 0;
    background-color: var(--surface-control);
}

.challenge-partner-panel .challenge-partner-panel__logo-wrap {
    position: absolute;
    left: var(--space-4);
    bottom: 0;
    z-index: 3;
    transform: translateY(50%);
    pointer-events: none;
}

.challenge-partner-panel .challenge-partner-panel__logo-wrap > * {
    pointer-events: auto;
}

.challenge-partner-panel .challenge-partner-panel__logo,
.challenge-partner-panel .challenge-partner-panel__logo--fallback {
    display: block;
    width: 80px;
    height: 80px;
    box-sizing: border-box;
    border-radius: var(--radius-20);
    border: 3px solid var(--surface-panel);
    background: var(--surface-control);
    flex-shrink: 0;
}

.challenge-partner-panel img.challenge-partner-panel__logo {
    object-fit: cover;
}

.challenge-partner-panel .challenge-partner-panel__logo--fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-20);
    font-weight: 600;
    line-height: 1;
    color: var(--text-secondary);
}

.challenge-partner-panel .challenge-partner-panel__logo-only {
    display: flex;
    justify-content: flex-start;
    padding: var(--space-4) var(--space-4) 0;
}

.challenge-partner-panel .challenge-partner-panel__body {
    position: relative;
    padding: var(--space-4);
    min-width: 0;
}

.challenge-partner-panel .challenge-partner-panel__card--cover-logo .challenge-partner-panel__body {
    /* Половина логотипа (80px) выходит из обложки */
    padding-top: calc(var(--space-12) + var(--space-2));
}

/* Текст (название + подпись) в одной колонке; кнопка справа, не раздувает строку */
.challenge-partner-panel .challenge-partner-panel__head-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: var(--space-4);
    align-items: start;
    width: 100%;
    min-width: 0;
}

.challenge-partner-panel .challenge-partner-panel__head-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-product-2);
    min-width: 0;
    grid-column: 1;
}

.challenge-partner-panel .challenge-partner-panel__head-text .gc-profile-name,
.challenge-partner-panel .challenge-partner-panel__head-text .gc-profile-status {
    flex: 0 1 auto;
    width: 100%;
    min-width: 0;
    text-align: start;
}

.challenge-partner-panel .challenge-partner-panel__subscribe {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
}

.challenge-partner-panel .challenge-partner-panel__head-row:not(:has(.challenge-partner-panel__head-text)) .challenge-partner-panel__subscribe {
    grid-column: 1 / -1;
    justify-self: end;
}

.challenge-partner-panel .challenge-partner-panel__subscribe-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--space-1);
}

.challenge-partner-panel .challenge-partner-panel__actions {
    position: absolute;
    top: var(--space-4);
    right: var(--space-4);
    z-index: 3;
    display: flex;
}

.challenge-partner-panel .challenge-partner-panel__about {
    margin-top: var(--space-4);
    text-align: left;
}


.challenge-partner-panel > .challenge-partner-panel__card + .gc-panel-content--list {
    padding-top: var(--space-1);
}

.challenge-partner-panel .challenge-partner-profile-modal__links-stack {
    display: flex;
    flex-direction: column;
    gap: var(--gc-list-zone-padding);
    min-width: 0;
}


.challenge-prize-modal__inner {
    min-width: 0;
}

.challenge-prize-modal__gallery {
    width: 100%;
    min-width: 0;
}

/* Вкладка «Участники»: действия в строке списка */
.challenge-show-main-panel .gc-panel-content--list .gc-list-actions,
.challenge-show-tab-stack .gc-panel-content--list .gc-list-actions {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
}

.challenge-participants-row-chevron,
.challenge-partners-row-chevron {
    display: inline-flex;
    color: var(--text-tertiary);
    font-size: var(--font-size-base);
    line-height: 1;
}

/* ─── Карточка «Мой результат» (Figma: gc-challenge-card, node 973:654) ─── */

.challenge-my-result-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
}

/* Подача заявителя: одна gc-panel на попытку, карточка метрик без второй рамки */
.gc-panel.challenge-result-section {
    overflow: hidden;
}

.gc-panel.challenge-result-section > .gc-panel-content--challenge-result:last-child {
    border-radius: 0 0 var(--gc-corner-outer) var(--gc-corner-outer);
    overflow: hidden;
}

.gc-panel-content--challenge-result {
    padding: 0;
}

.gc-panel.challenge-result-section .gc-challenge-card--in-panel {
    border: none;
    border-radius: 0;
    overflow: hidden;
}

.gc-challenge-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    padding: var(--space-4);
    min-width: 0;
    background: var(--surface-panel);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-16);
    overflow: hidden;
}

.gc-challenge-card__subheader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    min-height: 3.25rem;
    padding: var(--space-4);
    background: var(--surface-panel);
}

.gc-challenge-card__subheader:not(:has(.gc-challenge-card__title)) {
    justify-content: flex-end;
}

.gc-challenge-card__title {
    margin: 0;
    font-size: var(--font-size-15);
    font-weight: 500;
    line-height: var(--line-height-list-title);
    color: var(--text-primary);
}

.gc-challenge-card__menu {
    flex-shrink: 0;
}

.gc-challenge-card__stats {
    display: flex;
    align-items: stretch;
    gap: var(--space-1);
    min-width: 0;
}

/* Отклонённая подача: метрики не участвуют в рейтинге — визуально «выключены» */
.gc-challenge-card__stats--rejected {
    opacity: 0.6;
    filter: grayscale(1);
    pointer-events: none;
    user-select: none;
}

.gc-challenge-card__stats .profile-hit-zones-grid--challenge-card {
    flex: 1 1 0;
    min-width: 0;
}

.profile-hit-zones-grid--challenge-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-1);
}

.profile-hit-zones-grid--challenge-card .profile-hit-zone-cell {
    gap: 0;
    padding: var(--space-2) var(--space-2);
}

.profile-hit-zones-grid--challenge-card .profile-hit-zone-pct {
    font-size: var(--font-size-15);
    font-weight: 500;
    line-height: var(--line-height-list-title);
}

/* Время и HF — две колонки в ряд, одна высота */
.gc-challenge-card__metrics {
    display: grid;
    flex: 1 1 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    align-items: stretch;
    align-self: stretch;
    gap: var(--space-1);
    min-width: 0;
}

.gc-challenge-card__metrics:has(.profile-hit-zone-cell:only-child) {
    grid-template-columns: minmax(0, 1fr);
}

.gc-challenge-card__metrics .profile-hit-zone-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    min-width: 0;
    gap: 0;
    padding: var(--space-2) var(--space-2);
}

.gc-challenge-card__metrics .profile-hit-zone-pct {
    font-size: var(--font-size-15);
    font-weight: 500;
    line-height: var(--line-height-list-title);
}

.gc-challenge-card__metrics .profile-hit-zone-cell-row {
    justify-content: center;
    gap: var(--space-1);
}

.gc-challenge-card__metrics .profile-hit-zone-cell-row img {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    object-fit: contain;
}

.gc-challenge-card__metrics .profile-hit-zone-cell-row .ph-fill {
    font-size: var(--font-size-15);
    line-height: 1;
    flex-shrink: 0;
}

.gc-challenge-card__metrics .profile-hit-zone-cell.gc-challenge-card__metrics-hf {
    justify-content: center;
}

.gc-list-item--submission-rejected .gc-list-actions .gc-stage-best-hf-badge {
    opacity: 0.6;
    filter: grayscale(1);
}

.gc-challenge-card__meta {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-width: 0;
}

.gc-challenge-card__meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    min-width: 0;
    font-size: var(--font-size-15);
    line-height: var(--line-height-list-title);
}

.gc-challenge-card__meta-label {
    flex-shrink: 0;
    color: var(--text-primary);
    font-weight: 400;
}

.gc-challenge-card__meta-value {
    min-width: 0;
    color: var(--text-primary);
    font-weight: 400;
    text-align: right;
}

.gc-challenge-card__meta-status {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-1);
    min-width: 0;
}

/* Ссылка на доказательство: accent + шеврон вплотную, одна кликабельная зона */
.gc-challenge-card__proof-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.125rem;
    min-width: 0;
    max-width: 100%;
    color: var(--accent-link);
    text-decoration: none;
    font-weight: 400;
}

.gc-challenge-card__proof-link:hover {
    color: var(--accent-link-hover);
    text-decoration: none;
}

.gc-challenge-card__proof-link-text {
    min-width: 0;
}

.gc-challenge-card__proof-link .ph {
    flex-shrink: 0;
    font-size: var(--font-size-13);
    line-height: 1;
}

.gc-challenge-card__proof-video-status {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-1);
    min-width: 0;
    text-align: right;
}

.gc-challenge-card__proof-video-hint {
    margin: 0;
}

/* Комментарий: gc-list-entry-detail (lists.css); ритм секций — gap/padding у .gc-challenge-card */
.gc-challenge-card > .gc-list-entry-detail {
    margin: 0;
}

/* Карточка в модалке — без рамки и своих отступов (modal-body задаёт padding) */
.gc-challenge-card--in-modal {
    gap: var(--space-4);
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

/* Модалка подачи: без лишнего gutter справа (modal.css задаёт scrollbar-gutter: stable) */
.challenge-submission-modal .modal-body.challenge-submission-modal__body,
.challenge-submission-reject-modal .modal-body.challenge-submission-reject-modal__body,
.challenge-submission-void-modal .modal-body.challenge-submission-void-modal__body {
    scrollbar-gutter: auto;
    box-sizing: border-box;
}

/* Футер: кнопки — прямые дети .modal-footer (как приз/партнёр) */
.gc-modal .modal-footer.challenge-submission-modal__footer,
.gc-modal .modal-footer.challenge-submission-reject-modal__footer,
.gc-modal .modal-footer.challenge-submission-void-modal__footer {
    justify-content: space-between;
    gap: var(--space-2);
}

.challenge-submission-modal__approve-form {
    display: contents;
    margin: 0;
}

@media (max-width: 767px) {
    .gc-modal .modal-footer.challenge-submission-modal__footer .gc-btn,
    .gc-modal .modal-footer.challenge-submission-reject-modal__footer .gc-btn,
    .gc-modal .modal-footer.challenge-submission-void-modal__footer .gc-btn {
        flex: 1 1 0;
        min-width: 0;
    }
}

/* Модерация: тело подачи (очередь) */
.challenge-submission-body {
    min-width: 0;
}

.challenge-submission-body .profile-widget-hit-zones {
    width: 100%;
}

.challenge-submission-metrics {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    min-width: 0;
}

.challenge-submission-metrics .gc-list-meta-right {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

/* Форма создания / редактирования */
.challenge-form-prize-cover-preview {
    display: block;
    max-width: min(100%, 24rem);
    height: auto;
    border-radius: var(--radius-8);
    border: 1px solid var(--border-subtle);
}

/* ─── Форма челленджа: сворачиваемые блоки (как приглашения в канале) ─── */
.challenge-form-details.gc-panel {
    overflow: hidden;
}

.challenge-form-details.gc-panel:not([open]) > :not(summary) {
    display: none !important;
}

summary.challenge-form-details__summary {
    list-style: none;
    cursor: pointer;
}

summary.challenge-form-details__summary::-webkit-details-marker {
    display: none;
}

summary.challenge-form-details__summary.gc-panel-header {
    justify-content: flex-start;
    gap: var(--space-2);
}

.challenge-form-details__chev {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--text-secondary);
}

.challenge-form-details__chev i {
    font-size: var(--font-size-base);
}

/* Раскрытие: styles.css — caret expand contract ([open]) */

.challenge-form-details__summary-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    flex: 1;
    min-width: 0;
}

.challenge-partner-row-main {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex: 1;
    min-width: 0;
}

.challenge-partner-row-main--link {
    color: inherit;
    text-decoration: none;
}

.challenge-partner-row-main--link:hover,
.challenge-partner-row-main--link:focus-visible {
    color: inherit;
    text-decoration: none;
}

/* Компактная строка партнёра / приза */
.challenge-form-line {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-8);
    background: var(--surface-control);
    overflow: hidden;
}

.challenge-form-line__head {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    border-bottom: 1px solid var(--border-subtle);
    background: var(--surface-panel);
}

.challenge-form-line__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.75rem;
    padding: 0 var(--space-1);
    border-radius: var(--radius-8);
    font-size: var(--font-size-14);
    font-weight: 600;
    color: var(--text-secondary);
    background: var(--surface-control);
    border: 1px solid var(--border-subtle);
}

.challenge-form-line__title {
    font-size: var(--font-size-14);
    font-weight: 500;
    color: var(--text-secondary);
}

.challenge-form-line__body {
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.challenge-form-line__media {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.challenge-form-line__toggle-cell .gc-toggle-container {
    margin-top: var(--space-1);
}

/* Редактирование призов (отдельная страница): линейные блоки без «карточки» .challenge-form-line */
.challenge-prize-edit-entry + .challenge-prize-edit-entry {
    margin-top: var(--space-6);
    padding-top: var(--space-6);
    border-top: 1px solid var(--border-subtle);
}

.challenge-form-coorg-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
}

@media (min-width: 768px) {
    .challenge-form-coorg-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Обзор: описание — обычный кегль тела (как gc-text-content на странице) */
.challenge-show-tab-stack .challenge-description--compact {
    font-size: var(--font-size-base);
    line-height: 1.5;
}

.challenge-show-tab-stack .challenge-description--compact p {
    font-size: inherit;
}

/* Подзаголовки секций внутри панели обзора челленджа — та же типографика, что у названия секции брифинга */
.challenge-show-tab-stack .challenge-in-panel-section-title {
    font-weight: 500;
    font-size: var(--font-size-15);
    color: var(--text-primary);
    line-height: inherit;
    margin: 0;
}

.challenge-show-tab-stack .challenge-in-panel-section-title .stage-section-name-trigger-label {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Контент условий на странице челленджа: единый стек внутри gc-panel-content */
.challenge-briefing-panel-inner {
    min-width: 0;
}

.challenge-briefing-section__title {
    margin: 0;
    font-size: var(--font-size-15);
    font-weight: 600;
    color: var(--text-primary);
}

.challenge-briefing-section__media {
    border-radius: var(--radius-16);
    overflow: hidden;
}

/* ─── Хайлайты (stories) ─── */

.challenge-highlight-stories-panel__content {
    min-width: 0;
    padding-top: 0;
    padding-bottom: var(--space-2);
}

.challenge-highlight-stories {
    --challenge-highlight-thumb-width: 11.5rem;
    display: flex;
    flex-direction: row;
    gap: var(--space-4);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    -webkit-overflow-scrolling: touch;
    padding-inline: 0;
    scrollbar-width: none;
}

@media (min-width: 768px) {
    .challenge-highlight-stories {
        --challenge-highlight-thumb-width: 13rem;
    }
}

@media (min-width: 992px) {
    .challenge-highlight-stories {
        --challenge-highlight-thumb-width: 14rem;
    }
}

.challenge-highlight-stories::-webkit-scrollbar {
    display: none;
}

.challenge-highlight-story {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-2);
    width: var(--challenge-highlight-thumb-width);
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text-primary);
    cursor: pointer;
    scroll-snap-align: start;
    -webkit-tap-highlight-color: transparent;
    text-align: start;
}

.challenge-highlight-story:focus-visible {
    outline: var(--gc-focus-outline);
    outline-offset: 2px;
    border-radius: var(--radius-16);
}

.challenge-highlight-story__media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 9 / 16;
    border-radius: var(--radius-16);
    overflow: hidden;
    background: var(--surface-subtle);
    border: 1px solid var(--border-primary);
    box-sizing: border-box;
    transition: border-color var(--transition-fast);
}

.challenge-highlight-story:hover .challenge-highlight-story__media,
.challenge-highlight-story:focus-visible .challenge-highlight-story__media {
    border-color: var(--border-default);
}

.challenge-highlight-story__thumb,
.challenge-highlight-story__thumb-video,
.challenge-highlight-story__thumb-fallback {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.challenge-highlight-story__thumb-video {
    display: block;
    pointer-events: none;
}

.challenge-highlight-story__thumb-processing {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    background: var(--surface-subtle);
}

.challenge-highlight-story__thumb-skeleton {
    width: 70%;
    height: 40%;
    border-radius: var(--radius-8);
}

.challenge-highlight-story__play-badge {
    position: absolute;
    right: var(--space-2);
    top: var(--space-2);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--surface-canvas) 55%, transparent);
    color: var(--text-primary);
    font-size: var(--font-size-12);
    line-height: 1;
    pointer-events: none;
    opacity: 1;
    transition: opacity var(--transition-fast);
}

.challenge-highlight-story.is-preview-playing .challenge-highlight-story__play-badge {
    opacity: 0;
}

.challenge-highlight-story__thumb-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    font-size: var(--font-size-24);
}

.challenge-highlight-story__caption {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    min-width: 0;
}

.challenge-highlight-story__caption-text {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 0;
}

.challenge-highlight-story__avatar {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: var(--radius-full);
    overflow: hidden;
    border: 1px solid var(--border-primary);
    background: var(--surface-subtle);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-13);
    font-weight: 600;
    color: var(--text-secondary);
}

.challenge-highlight-story__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.challenge-highlight-story__label {
    min-width: 0;
    font-size: var(--font-size-14);
    font-weight: 500;
    line-height: 1.35;
    color: var(--text-primary);
}

.challenge-highlight-story__rank {
    font-size: var(--font-size-13);
    line-height: 1.3;
    color: var(--text-secondary);
}

.challenge-submission-highlight-form__btn--active {
    border-color: var(--accent-link);
    color: var(--accent-link);
}

.challenge-submission-modal__footer .challenge-submission-highlight-form {
    margin-inline-end: auto;
}

/* Story viewer (fullscreen gc-modal) */

.challenge-highlight-viewer.modal.gc-modal {
    --challenge-highlight-frame-width: min(100vw, calc(100dvh * 9 / 16));
    --challenge-highlight-viewer-bg: var(--fill-emphasis);
    --challenge-highlight-viewer-fg: var(--text-on-solid);
    --challenge-highlight-viewer-muted: color-mix(in srgb, var(--text-on-solid) 68%, transparent);
}

.challenge-highlight-viewer.modal.gc-modal.gc-modal-is-open {
    align-items: stretch !important;
    justify-content: stretch !important;
}

.challenge-highlight-viewer.modal.gc-modal .modal-dialog {
    margin: 0;
    max-width: none;
    width: 100%;
    height: 100%;
    min-height: 100dvh;
    max-height: 100dvh;
    transform: none !important;
    opacity: 1 !important;
    transition: opacity var(--transition-fast) ease-out !important;
}

.challenge-highlight-viewer.modal.gc-modal:not(.show) .modal-dialog {
    opacity: 0 !important;
}

@media (max-width: 767.98px) {
    .challenge-highlight-viewer.modal.gc-modal {
        --challenge-highlight-frame-width: 100vw;
    }

    .challenge-highlight-viewer.modal.gc-modal .modal-dialog,
    .challenge-highlight-viewer.modal.gc-modal.show .modal-dialog {
        transform: none !important;
    }

    .challenge-highlight-viewer__stage {
        padding-block: 0;
    }

    .challenge-highlight-viewer__frame {
        width: 100%;
        height: 100%;
        max-height: 100dvh;
        aspect-ratio: auto;
        border-radius: 0;
    }

    .challenge-highlight-viewer__media-wrap {
        position: absolute;
        inset: 0;
    }

    .challenge-highlight-viewer__video,
    .challenge-highlight-viewer__poster,
    .challenge-highlight-viewer__iframe {
        object-fit: cover;
    }

    .challenge-highlight-viewer__video {
        pointer-events: none;
    }

    .challenge-highlight-viewer__footer {
        padding-top: var(--space-16);
        padding-bottom: calc(env(safe-area-inset-bottom) + var(--space-6));
    }

    .challenge-highlight-viewer__tap {
        bottom: calc(env(safe-area-inset-bottom) + 4.5rem);
    }

    .challenge-highlight-viewer__close {
        top: calc(env(safe-area-inset-top) + var(--space-2));
    }

    .challenge-highlight-viewer__progress {
        top: calc(env(safe-area-inset-top) + var(--space-2));
    }
}

.challenge-highlight-viewer.modal.gc-modal .modal-content,
.challenge-highlight-viewer__content {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100dvh;
    max-height: 100dvh;
    width: 100%;
    max-width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.challenge-highlight-viewer__stage {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    overflow: hidden;
    background: transparent;
}

.challenge-highlight-viewer__frame {
    position: relative;
    display: flex;
    flex-direction: column;
    width: var(--challenge-highlight-frame-width);
    height: 100%;
    max-height: 100dvh;
    margin-inline: auto;
    background: var(--challenge-highlight-viewer-bg);
}

@media (min-width: 768px) {
    .challenge-highlight-viewer.modal.gc-modal {
        --challenge-highlight-frame-inset-y: var(--space-6);
        --challenge-highlight-frame-max-height: calc(100dvh - 2 * var(--challenge-highlight-frame-inset-y));
        --challenge-highlight-frame-width: min(
            calc(100vw - 2 * var(--space-8)),
            calc(var(--challenge-highlight-frame-max-height) * 9 / 16)
        );
    }

    .challenge-highlight-viewer__stage {
        display: flex;
        align-items: center;
        justify-content: center;
        padding-block: var(--challenge-highlight-frame-inset-y);
        box-sizing: border-box;
    }

    .challenge-highlight-viewer__frame {
        width: var(--challenge-highlight-frame-width);
        height: auto;
        max-height: var(--challenge-highlight-frame-max-height);
        aspect-ratio: 9 / 16;
        flex-shrink: 0;
        border-radius: var(--radius-16);
        overflow: hidden;
    }
}

.challenge-highlight-viewer__media-wrap {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--challenge-highlight-viewer-bg);
}

.challenge-highlight-viewer__progress {
    position: absolute;
    top: calc(env(safe-area-inset-top) + var(--space-2));
    left: var(--space-2);
    right: calc(var(--space-2) + 2.75rem);
    z-index: 4;
    display: flex;
    gap: 3px;
    pointer-events: none;
}

.challenge-highlight-viewer__progress-segment {
    flex: 1 1 0;
    height: 2px;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--challenge-highlight-viewer-fg) 28%, transparent);
    overflow: hidden;
}

.challenge-highlight-viewer__progress-fill {
    display: block;
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: var(--challenge-highlight-viewer-fg);
}

.challenge-highlight-viewer__progress-segment.is-done .challenge-highlight-viewer__progress-fill {
    width: 100%;
}

.challenge-highlight-viewer__close {
    position: absolute;
    top: calc(env(safe-area-inset-top) + var(--space-2));
    right: var(--space-2);
    z-index: 4;
    color: var(--challenge-highlight-viewer-fg);
    background: color-mix(in srgb, var(--challenge-highlight-viewer-fg) 16%, transparent);
}

.challenge-highlight-viewer__iframe,
.challenge-highlight-viewer__video {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    border: 0;
    background: var(--challenge-highlight-viewer-bg);
}

.challenge-highlight-viewer__video {
    object-fit: contain;
}

.challenge-highlight-viewer__poster {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: var(--challenge-highlight-viewer-bg);
}

.challenge-highlight-viewer__media-loading {
    width: 100%;
    height: 100%;
    background: color-mix(in srgb, var(--challenge-highlight-viewer-fg) 8%, var(--challenge-highlight-viewer-bg));
}

.challenge-highlight-viewer__fallback {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
    width: 100%;
    height: 100%;
    padding: var(--space-6);
    box-sizing: border-box;
}

.challenge-highlight-viewer__fallback-img {
    max-width: 100%;
    max-height: 60%;
    object-fit: contain;
    border-radius: var(--radius-16);
}

.challenge-highlight-viewer__footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    pointer-events: none;
    padding: var(--space-12) var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-4));
    background: linear-gradient(
        180deg,
        transparent 0%,
        color-mix(in srgb, var(--challenge-highlight-viewer-bg) 72%, transparent) 42%,
        color-mix(in srgb, var(--challenge-highlight-viewer-bg) 92%, transparent) 100%
    );
}

.challenge-highlight-viewer__footer-inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-width: 0;
}

.challenge-highlight-viewer__footer-profile {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    min-width: 0;
}

.challenge-highlight-viewer__footer-avatar {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--radius-full);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--challenge-highlight-viewer-fg) 24%, transparent);
    background: color-mix(in srgb, var(--challenge-highlight-viewer-fg) 12%, var(--challenge-highlight-viewer-bg));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-13);
    font-weight: 600;
    color: var(--challenge-highlight-viewer-muted);
}

.challenge-highlight-viewer__footer-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.challenge-highlight-viewer__footer-identity {
    min-width: 0;
}

.challenge-highlight-viewer__footer-name {
    margin: 0;
    font-size: var(--font-size-15);
    font-weight: 600;
    line-height: 1.3;
    color: var(--challenge-highlight-viewer-fg);
}

.challenge-highlight-viewer__footer-meta {
    margin: 0;
    font-size: var(--font-size-13);
    line-height: 1.4;
    color: var(--challenge-highlight-viewer-muted);
}

.challenge-highlight-viewer__stage--dismissible {
    cursor: pointer;
}

.challenge-highlight-viewer__frame {
    cursor: default;
}

.challenge-highlight-viewer__tap {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 3;
    width: 34%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.challenge-highlight-viewer__tap--prev {
    left: 0;
}

.challenge-highlight-viewer__tap--next {
    right: 0;
}

@media (min-width: 768px) {
    .challenge-highlight-viewer__video[controls] {
        pointer-events: auto;
    }
}
