
.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.interaction-bar,
.interaction-inline-row,
.interaction-panel-card,
.interaction-photo-page,
.interaction-ad-box{
    border:1px solid #e7e7e7;
    border-radius:16px;
    background:#fff;
}

.interaction-bar,
.interaction-inline-row,
.interaction-photo-page,
.interaction-ad-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 16px;
}

.interaction-title,
.interaction-count-line,
.interaction-static-note,
.interaction-helper{
    margin:0;
}

.interaction-title{
    font-size:14px;
    color:#666;
}

.interaction-count-line{
    font-size:18px;
    font-weight:700;
    color:#111;
}

.interaction-helper,
.interaction-static-note{
    font-size:13px;
    color:#666;
}

.interaction-button{
    display:inline-flex;
    align-items:center;
    gap:10px;
    border:1px solid #111;
    border-radius:999px;
    background:#111;
    color:#fff;
    padding:10px 16px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    text-decoration:none;
    transition:transform .12s ease, opacity .12s ease, background .12s ease, color .12s ease;
}

.interaction-button:hover{
    transform:translateY(-1px);
}

.interaction-button.active{
    background:#fff;
    color:#111;
}

.interaction-button.is-loading,
.interaction-action-button.is-loading{
    opacity:.7;
    pointer-events:none;
}

.interaction-button .js-interaction-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    height:28px;
    padding:0 8px;
    border-radius:999px;
    background:rgba(255,255,255,.16);
}

.interaction-button.active .js-interaction-count{
    background:#f3f3f3;
}

.interaction-ad-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}

.interaction-ad-message-form{
    margin:0;
}

.market-view-group-candidates{
    display:grid;
    gap:12px;
}

.market-view-group-candidate-row{
    display:flex;
    align-items:flex-start;
    gap:12px;
    flex-wrap:wrap;
}

.market-view-group-candidate-status{
    flex:0 0 auto;
    min-width:118px;
    margin:0;
    font-size:0.95rem;
    font-weight:700;
    color:var(--text-color);
}

.market-view-group-candidate-list{
    flex:1 1 320px;
    min-width:0;
    display:flex;
    align-items:flex-start;
    gap:8px 18px;
    flex-wrap:wrap;
}

.market-view-group-candidate-item{
    margin:0;
    align-items:center;
    flex:0 0 auto;
    transition:opacity .12s ease;
}

.market-view-group-candidate-item span{
    display:inline-block;
    line-height:1.45;
    color:var(--text-color);
}

.market-view-group-candidate-item.is-saving{
    opacity:.55;
    pointer-events:none;
}

.market-view-project-chat-box{
    margin-top:16px;
}

.market-view-project-chat-heading{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:8px;
    margin:0 0 12px;
}

.market-view-project-chat-heading-note{
    color:var(--text-muted);
    font-size:.95rem;
    font-weight:400;
}

.market-view-project-chat-label{
    margin:0 0 10px;
    color:var(--text-color);
    font-weight:600;
}

.interaction-section-gap{
    margin:0 0 24px;
}

.interaction-ad-box.interaction-section-gap{
    background:var(--ui-box-bg);
    border-color:var(--ui-box-border);
    box-shadow:var(--ui-box-shadow);
    color:var(--text-color);
}

.interaction-ad-box.interaction-section-gap .interaction-title,
.interaction-ad-box.interaction-section-gap .interaction-helper,
.interaction-ad-box.interaction-section-gap .interaction-static-note{
    color:var(--text-muted);
}

.interaction-ad-box.interaction-section-gap .interaction-count-line{
    color:var(--text-color);
}

.market-view-sidecolumn .interaction-ad-box.interaction-section-gap,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap{
    margin:0;
    display:grid;
    width:100%;
    grid-template-columns:minmax(0,1fr);
    gap:10px;
    align-items:stretch;
    justify-items:stretch;
    padding:16px;
    border-radius:18px;
    background:var(--card-bg);
}

.market-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-ad-actions,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-ad-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    align-items:stretch;
    justify-items:stretch;
}

.market-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-ad-action,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-ad-action{
    width:100%;
    box-sizing:border-box;
    min-height:46px;
    padding:10px 13px;
    border-radius:12px;
    border:1px solid var(--border-color);
    background:var(--card-bg);
    color:var(--text-color);
    font-weight:600;
    box-shadow:none;
    transform:none;
    justify-content:flex-start;
    display:flex;
    align-items:center;
    gap:10px;
}

.market-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-ad-action:hover,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-ad-action:hover{
    border-color:color-mix(in oklab, var(--text-color) 14%, var(--border-color));
    background:color-mix(in oklab, var(--card-bg) 88%, var(--text-color));
}

.market-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-ad-action:focus-visible,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-ad-action:focus-visible{
    outline:2px solid color-mix(in oklab, var(--accent-color) 44%, transparent);
    outline-offset:2px;
    border-color:color-mix(in oklab, var(--accent-color) 26%, var(--border-color));
}

.market-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-ad-action.active,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-ad-action.active{
    color:var(--text-color);
    background:var(--card-bg);
}

.market-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-icon,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-icon{
    width:19px;
    height:19px;
    filter:none;
}

.market-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-button-copy,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-button-copy{
    display:flex;
    align-items:center;
    min-width:0;
    flex:1 1 auto;
}

.market-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-button-text,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-button-text{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.market-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-button--market-save.active,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-button--market-save.active{
    background:var(--card-bg);
}

.market-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-action-count,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-action-count{
    margin-left:auto;
    min-width:0 !important;
    height:auto !important;
    line-height:1 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--text-muted);
    font-weight:500;
    font-size:.95rem;
    white-space:nowrap;
}

.market-view-sidecolumn .interaction-ad-box.interaction-section-gap .js-interaction-count,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap .js-interaction-count,
.market-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-ad-action.active .js-interaction-count,
.ad-view-sidecolumn .interaction-ad-box.interaction-section-gap .interaction-ad-action.active .js-interaction-count{
    min-width:0 !important;
    height:auto !important;
    line-height:1 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--text-muted);
}

.interaction-panel-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.interaction-fixed-cluster{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:120;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:10px;
}

.interaction-fixed-cluster--landing,
.interaction-fixed-cluster--profile{
    flex-direction:column;
    align-items:flex-end;
}

.interaction-action-button{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:46px;
    min-width:46px;
    height:46px;
    padding:0;
    border:1px solid rgba(255,255,255,.82);
    border-radius:999px;
    background:rgba(8,10,14,.82);
    box-shadow:0 12px 30px rgba(0,0,0,.28);
    color:#fff;
    cursor:pointer;
    text-decoration:none;
    transition:transform .12s ease, box-shadow .12s ease, opacity .12s ease, background .12s ease, border-color .12s ease;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.interaction-action-button:hover{
    transform:translateY(-1px);
    background:rgba(8,10,14,.92);
    box-shadow:0 14px 34px rgba(0,0,0,.3);
}

.interaction-action-button.active{
    background:rgba(8,10,14,.96);
    border-color:rgba(255,255,255,.92);
}

.interaction-action-button.is-disabled,
.interaction-action-button[aria-disabled="true"]{
    cursor:default;
    opacity:.86;
}

.interaction-action-button--small{
    width:44px;
    min-width:44px;
    height:44px;
}

.interaction-action-button--counted{
    width:46px;
    min-width:46px;
    height:56px;
    padding:7px 6px;
    border-radius:18px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
}

.interaction-icon{
    width:18px;
    height:18px;
    display:block;
    flex:0 0 auto;
    filter:brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0,0,0,.28));
    opacity:1;
}

.interaction-count-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    height:auto;
    padding:0;
    border:none;
    border-radius:0;
    background:transparent;
    color:#fff;
    font-size:11px;
    font-weight:700;
    line-height:1;
    box-shadow:none;
    text-shadow:none;
    font-variant-numeric:tabular-nums;
    pointer-events:none;
}

.interaction-action-button--counted .interaction-count-badge{
    order:-1;
    position:static;
}

.interaction-short-label,
.interaction-close-x{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    font-size:14px;
    font-weight:700;
    color:#fff;
    line-height:1;
}

.interaction-close-x{
    font-size:18px;
}

.interaction-photo-stage{
    position:relative;
}

.interaction-photo-image{
    display:block;
    width:100%;
    max-width:100%;
    max-height:calc(100vh - 220px);
    height:auto;
    margin:0 auto;
    border-radius:14px;
    object-fit:contain;
}

.interaction-photo-stage .interaction-fixed-cluster{
    position:absolute;
    right:16px;
    bottom:16px;
}

.interaction-photo-page-wrap{
    max-width:1000px;
    margin:0 auto;
}

.interaction-photo-back-link{
    margin:0 0 12px;
}

.interaction-photo-heading{
    margin:0 0 18px;
}

@media (max-width: 1024px){
    .interaction-photo-image{
        max-height:calc(100vh - 180px);
    }
}

.portfolio-action-modal{
    position:fixed;
    inset:0;
    z-index:1000020;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.portfolio-action-modal-open{
    overflow:hidden;
}

.portfolio-action-modal[hidden]{
    display:none !important;
}

.portfolio-action-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.52);
}

.portfolio-action-modal__dialog{
    position:relative;
    z-index:1;
    width:min(520px, calc(100vw - 32px));
    max-height:min(88vh, 760px);
    overflow:auto;
    padding:20px;
    border:1px solid rgba(17,24,39,.12);
    border-radius:18px;
    background:rgba(255,255,255,.98);
    box-shadow:0 28px 70px rgba(15,23,42,.22);
    color:#111827;
}

.portfolio-action-modal__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}

.portfolio-action-modal__title{
    margin:0;
    font-size:20px;
    font-weight:700;
    line-height:1.2;
    color:#111827;
}

.portfolio-action-modal__close{
    border:0;
    background:transparent;
    color:#475569;
    font:inherit;
    font-size:13px;
    font-weight:600;
    line-height:1.2;
    cursor:pointer;
    padding:4px 0;
}

.portfolio-action-modal__body{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.portfolio-action-modal__intro{
    font-size:14px;
    line-height:1.5;
    color:#475569;
}

.portfolio-action-modal__section{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.portfolio-action-modal__label{
    font-size:13px;
    font-weight:700;
    line-height:1.3;
    color:#111827;
}

.portfolio-action-modal__chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.portfolio-action-modal__chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 12px;
    border:1px solid rgba(148,163,184,.36);
    border-radius:999px;
    background:#fff;
    color:#1f2937;
    font:inherit;
    font-size:13px;
    font-weight:600;
    line-height:1.2;
    cursor:pointer;
    transition:border-color .12s ease, color .12s ease, box-shadow .12s ease;
}

.portfolio-action-modal__chip:hover,
.portfolio-action-modal__chip:focus-visible,
.portfolio-action-modal__chip.is-active{
    border-color:#2563eb;
    color:#0f172a;
    box-shadow:0 0 0 1px rgba(37,99,235,.16);
    outline:none;
}

.portfolio-action-modal__input,
.portfolio-action-modal__textarea{
    width:100%;
    padding:10px 12px;
    border:1px solid rgba(148,163,184,.36);
    border-radius:12px;
    background:#fff;
    color:#111827;
    font:inherit;
    font-size:14px;
    line-height:1.5;
    box-sizing:border-box;
}

.portfolio-action-modal__textarea{
    min-height:116px;
    resize:vertical;
}

.portfolio-action-modal__input:focus,
.portfolio-action-modal__textarea:focus{
    outline:none;
    border-color:#2563eb;
    box-shadow:0 0 0 1px rgba(37,99,235,.16);
}

.portfolio-action-modal__meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    font-size:12px;
    line-height:1.4;
    color:#64748b;
}

.portfolio-action-modal__hint{
    flex:1;
}

.portfolio-action-modal__counter{
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}

.portfolio-action-modal__list{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.portfolio-action-modal__option{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:10px 12px;
    border:1px solid rgba(148,163,184,.28);
    border-radius:12px;
    cursor:pointer;
    background:#fff;
}

.portfolio-action-modal__option.is-active{
    border-color:#2563eb;
    box-shadow:0 0 0 1px rgba(37,99,235,.14);
}

.portfolio-action-modal__option input{
    margin:3px 0 0;
}

.portfolio-action-modal__option-copy{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.portfolio-action-modal__option-title{
    font-size:14px;
    font-weight:600;
    line-height:1.3;
    color:#111827;
}

.portfolio-action-modal__option-meta,
.portfolio-action-modal__empty{
    font-size:13px;
    line-height:1.45;
    color:#64748b;
}

.portfolio-action-modal__actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:4px;
}

:root[data-theme="dark"] .portfolio-action-modal__dialog{
    border-color:rgba(148,163,184,.22);
    background:rgba(15,23,42,.98);
    box-shadow:0 28px 70px rgba(2,6,23,.56);
    color:#e5edf6;
}

:root[data-theme="dark"] .portfolio-action-modal__title{
    color:#f8fafc;
}

:root[data-theme="dark"] .portfolio-action-modal__close,
:root[data-theme="dark"] .portfolio-action-modal__intro,
:root[data-theme="dark"] .portfolio-action-modal__meta,
:root[data-theme="dark"] .portfolio-action-modal__option-meta,
:root[data-theme="dark"] .portfolio-action-modal__empty{
    color:#94a3b8;
}

:root[data-theme="dark"] .portfolio-action-modal__label,
:root[data-theme="dark"] .portfolio-action-modal__option-title{
    color:#f8fafc;
}

:root[data-theme="dark"] .portfolio-action-modal__chip,
:root[data-theme="dark"] .portfolio-action-modal__input,
:root[data-theme="dark"] .portfolio-action-modal__textarea,
:root[data-theme="dark"] .portfolio-action-modal__option{
    border-color:rgba(148,163,184,.24);
    background:rgba(15,23,42,.78);
    color:#e5edf6;
}

:root[data-theme="dark"] .portfolio-action-modal__chip:hover,
:root[data-theme="dark"] .portfolio-action-modal__chip:focus-visible,
:root[data-theme="dark"] .portfolio-action-modal__chip.is-active,
:root[data-theme="dark"] .portfolio-action-modal__input:focus,
:root[data-theme="dark"] .portfolio-action-modal__textarea:focus,
:root[data-theme="dark"] .portfolio-action-modal__option.is-active{
    border-color:#60a5fa;
    box-shadow:0 0 0 1px rgba(96,165,250,.16);
}

.portfolio-more-menu{
    position:fixed;
    top:0;
    left:0;
    z-index:1000010;
    min-width:200px;
    max-width:min(280px, calc(100vw - 24px));
    padding:6px;
    border:1px solid rgba(17,24,39,.12);
    border-radius:16px;
    background:rgba(255,255,255,.98);
    box-shadow:0 24px 60px rgba(15,23,42,.18);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    color:#111827;
}

.portfolio-more-menu[hidden]{
    display:none !important;
}

.portfolio-more-menu__list{
    display:flex;
    flex-direction:column;
    gap:0;
}

.portfolio-more-menu__section-label{
    margin:4px 6px 2px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#6b7280;
}

.portfolio-more-menu__item,
a.portfolio-more-menu__item,
button.portfolio-more-menu__item{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-height:30px;
    padding:5px 10px;
    border:0;
    border-radius:0;
    background:transparent;
    color:#111827;
    font-family:inherit;
    font-size:13px;
    font-weight:500;
    line-height:1.2;
    text-decoration:none !important;
    text-align:left;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    box-shadow:none;
    outline:none;
    letter-spacing:normal;
    transition:color .12s ease, opacity .12s ease;
}

.portfolio-more-menu__item:hover,
a.portfolio-more-menu__item:hover,
button.portfolio-more-menu__item:hover{
    background:transparent;
    border:0;
    color:#030712;
    opacity:1;
    font-weight:600;
    text-decoration:none !important;
    box-shadow:none;
}

.portfolio-more-menu__item:focus-visible,
a.portfolio-more-menu__item:focus-visible,
button.portfolio-more-menu__item:focus-visible{
    outline:none;
    background:transparent;
    border:0;
    color:#030712;
    opacity:1;
    font-weight:600;
    text-decoration:none !important;
    box-shadow:none;
}

.portfolio-more-menu__item:active,
a.portfolio-more-menu__item:active,
button.portfolio-more-menu__item:active{
    background:transparent;
    border:0;
    color:#030712;
    opacity:1;
    text-decoration:none !important;
    box-shadow:none;
}

.portfolio-more-menu__item--danger,
a.portfolio-more-menu__item--danger,
button.portfolio-more-menu__item--danger{
    color:var(--danger-color, #c62828);
}

.portfolio-more-menu__item--danger:hover,
a.portfolio-more-menu__item--danger:hover,
button.portfolio-more-menu__item--danger:hover,
.portfolio-more-menu__item--danger:focus-visible,
a.portfolio-more-menu__item--danger:focus-visible,
button.portfolio-more-menu__item--danger:focus-visible{
    color:color-mix(in oklab, var(--danger-color, #c62828) 88%, #000);
}

:root[data-theme="dark"] .portfolio-more-menu{
    border-color:rgba(148,163,184,.2);
    background:rgba(17,24,39,.96);
    box-shadow:0 24px 60px rgba(2,6,23,.5);
    color:#e5edf6;
}

:root[data-theme="dark"] .portfolio-more-menu__section-label{
    color:#94a3b8;
}

:root[data-theme="dark"] .portfolio-more-menu__item,
:root[data-theme="dark"] a.portfolio-more-menu__item,
:root[data-theme="dark"] button.portfolio-more-menu__item{
    color:#e5edf6;
}

:root[data-theme="dark"] .portfolio-more-menu__item:hover,
:root[data-theme="dark"] a.portfolio-more-menu__item:hover,
:root[data-theme="dark"] button.portfolio-more-menu__item:hover,
:root[data-theme="dark"] .portfolio-more-menu__item:focus-visible,
:root[data-theme="dark"] a.portfolio-more-menu__item:focus-visible,
:root[data-theme="dark"] button.portfolio-more-menu__item:focus-visible{
    background:transparent;
    border:0;
    color:#ffffff;
    opacity:1;
    font-weight:600;
    text-decoration:none !important;
    box-shadow:none;
}

:root[data-theme="dark"] .portfolio-more-menu__item:active,
:root[data-theme="dark"] a.portfolio-more-menu__item:active,
:root[data-theme="dark"] button.portfolio-more-menu__item:active{
    background:transparent;
    border:0;
    color:#ffffff;
    opacity:1;
    text-decoration:none !important;
    box-shadow:none;
}

:root[data-theme="dark"] .portfolio-more-menu__item--danger,
:root[data-theme="dark"] a.portfolio-more-menu__item--danger,
:root[data-theme="dark"] button.portfolio-more-menu__item--danger{
    color:#fca5a5;
}

:root[data-theme="dark"] .portfolio-more-menu__item--danger:hover,
:root[data-theme="dark"] a.portfolio-more-menu__item--danger:hover,
:root[data-theme="dark"] button.portfolio-more-menu__item--danger:hover,
:root[data-theme="dark"] .portfolio-more-menu__item--danger:focus-visible,
:root[data-theme="dark"] a.portfolio-more-menu__item--danger:focus-visible,
:root[data-theme="dark"] button.portfolio-more-menu__item--danger:focus-visible{
    color:#fecaca;
}

.interaction-filter-dock,
.interaction-chip-panel{
    position:absolute;
    right:calc(100% + 12px);
    bottom:0;
    z-index:3;
}

.interaction-filter-dock{
    display:flex;
    align-items:center;
    gap:8px;
}

.interaction-chip-panel{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    width:max-content;
    max-width:min(calc(100vw - 220px), 860px);
}

.interaction-chip-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    align-items:center;
    gap:6px;
    width:100%;
}

.interaction-chip-panel[hidden],
.interaction-filter-dock[hidden],
.interaction-chip-row[hidden]{
    display:none !important;
}

.gallery-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 11px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:999px;
    background:rgba(8,10,14,.92);
    color:#fff;
    font-size:12px;
    font-weight:600;
    line-height:1;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(0,0,0,.12);
}

.gallery-chip:hover{
    border-color:#fff;
}

.gallery-chip.active{
    background:#fff;
    color:#111;
    border-color:#111;
}

.gallery-chip.js-gallery-filter-chip[data-filter="all"],
.gallery-chip.js-gallery-filter-tag[data-tag="all"]{
    background:rgba(8,10,14,.92);
    color:#fff;
    border-color:rgba(255,255,255,.72);
}

.gallery-chip.js-gallery-filter-chip[data-filter="all"].active,
.gallery-chip.js-gallery-filter-tag[data-tag="all"].active{
    background:#fff;
    color:#111;
    border-color:#111;
}

.interaction-chip-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    min-width:32px;
    height:32px;
    padding:0;
    border:1px solid rgba(255,255,255,.82);
    border-radius:999px;
    background:rgba(8,10,14,.88);
    color:#fff;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(0,0,0,.2);
}

.interaction-chip-close:hover{
    background:#111;
}

.upg-box{
    position:relative;
    overflow:hidden;
}

.upg-box::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.18) 100%);
    opacity:0;
    transition:opacity .22s ease;
    pointer-events:none;
    z-index:1;
}

.upg-photo{
    transition:transform .28s ease, filter .22s ease;
    transform-origin:center center;
}

.upg-box,
.upg-box .photo-link,
.upg-photo{
    cursor:zoom-in;
}

.interaction-tile-actions{
    position:absolute;
    right:12px;
    bottom:12px;
    z-index:4;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:8px;
    opacity:0;
    pointer-events:none;
    transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease;
}

.interaction-tile-actions .interaction-action-button,
.interaction-tile-actions .upg-open-indicator{
    width:46px;
    min-width:46px;
    height:46px;
    align-self:flex-end;
}

.interaction-tile-actions .interaction-action-button--counted{
    height:56px;
    order:2;
}

.interaction-tile-actions .upg-open-indicator{
    order:1;
}

.interaction-tile-actions .js-photo-more-link{
    order:3;
}

.interaction-tile-actions .interaction-action-button,
.interaction-tile-actions .upg-open-indicator,
.interaction-tile-actions .js-interaction-toggle,
.interaction-tile-actions .js-photo-more-link{
    cursor:pointer;
}

.upg-open-indicator{
    display:inline-flex;
    position:static;
    border:1px solid rgba(255,255,255,.82);
    border-radius:999px;
    background:rgba(8,10,14,.82);
    box-shadow:0 12px 30px rgba(0,0,0,.28);
    align-items:center;
    justify-content:center;
    padding:0;
}

.upg-open-indicator svg{
    width:16px;
    height:16px;
    display:block;
    stroke:#fff;
}

.upg-box:hover::after{
    opacity:1;
}

.upg-box:hover .upg-photo{
    transform:scale(1.03);
}

.upg-box:hover .interaction-tile-actions{
    opacity:1;
    pointer-events:auto;
    transform:none;
}

#upg-gallery.masonry-small .interaction-tile-actions .interaction-action-button,
#upg-gallery.masonry-small .interaction-tile-actions .upg-open-indicator,
#upg-gallery.grid-small .interaction-tile-actions .interaction-action-button,
#upg-gallery.grid-small .interaction-tile-actions .upg-open-indicator{
    width:40px;
    min-width:40px;
    height:40px;
}

#upg-gallery.masonry-small .interaction-tile-actions .interaction-action-button--counted,
#upg-gallery.grid-small .interaction-tile-actions .interaction-action-button--counted{
    height:48px;
}

#upg-gallery.masonry-small .interaction-icon,
#upg-gallery.grid-small .interaction-icon{
    width:16px;
    height:16px;
}

#upg-gallery.masonry-small .interaction-count-badge,
#upg-gallery.grid-small .interaction-count-badge{
    font-size:10px;
}

#upg-gallery.grid-large .interaction-tile-actions .interaction-action-button,
#upg-gallery.grid-large .interaction-tile-actions .upg-open-indicator{
    width:38px;
    min-width:38px;
    height:38px;
}

#upg-gallery.grid-large .interaction-tile-actions .interaction-action-button--counted{
    width:38px;
    min-width:38px;
    height:46px;
}

#upg-gallery.grid-large .interaction-icon{
    width:16px;
    height:16px;
}

#upg-gallery.grid-large .interaction-count-badge{
    font-size:10px;
}

.lb-actions{
    display:flex;
    align-items:flex-end;
    gap:10px;
}

.lb-actions .interaction-action-button,
.lb-panel-actions .interaction-action-button{
    width:46px;
    min-width:46px;
    height:46px;
}

.lb-actions .interaction-action-button--counted,
.lb-panel-actions .interaction-action-button--counted{
    height:56px;
}

.lb-actions .interaction-action-button:not(.interaction-action-button--counted),
.lb-panel-actions .interaction-action-button:not(.interaction-action-button--counted){
    align-self:flex-end;
}

@media (max-width: 991px){
    .interaction-panel-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 1024px){
    .interaction-fixed-cluster{
        right:14px;
        bottom:18px;
        gap:8px;
    }

    .interaction-fixed-cluster--landing,
    .interaction-fixed-cluster--profile{
        right:14px;
        bottom:18px;
    }

    .interaction-action-button,
    .interaction-filter-dock .interaction-action-button,
    .upg-open-indicator{
        width:42px;
        min-width:42px;
        height:42px;
    }

    .interaction-action-button--counted,
    .interaction-tile-actions .interaction-action-button--counted,
    .lb-actions .interaction-action-button--counted,
    .lb-panel-actions .interaction-action-button--counted{
        height:50px;
        width:42px;
        min-width:42px;
        border-radius:16px;
        padding:6px 5px;
    }

    .interaction-icon,
    .upg-open-indicator svg{
        width:16px;
        height:16px;
    }

    .interaction-count-badge{
        font-size:10px;
    }

    .interaction-filter-dock{
        position:fixed;
        right:60px;
        bottom:18px;
        gap:6px;
    }

    .interaction-chip-panel{
        position:fixed;
        left:12px;
        right:56px;
        bottom:18px;
        width:auto;
        max-width:none;
    }

    .gallery-chip{
        min-height:30px;
        padding:0 9px;
        font-size:11px;
    }

    .interaction-chip-close{
        width:30px;
        min-width:30px;
        height:30px;
    }

    .interaction-tile-actions{
        right:10px;
        bottom:10px;
        gap:7px;
    }


    .upg-cell.is-mobile-active .upg-box::after{
        opacity:1;
    }

    .upg-cell.is-mobile-active .upg-photo{
        transform:scale(1.03);
    }

    .upg-cell.is-mobile-active .interaction-tile-actions{
        opacity:1;
        pointer-events:auto;
        transform:none;
    }
}

@media (max-width: 700px){
    .interaction-bar,
    .interaction-inline-row,
    .interaction-photo-page,
    .interaction-ad-box{
        flex-direction:column;
        align-items:flex-start;
    }

    .interaction-button{
        width:100%;
        justify-content:center;
    }

    .market-view-group-candidate-row{
        gap:6px;
    }

    .market-view-group-candidate-status{
        min-width:0;
        width:100%;
    }

    .market-view-group-candidate-list{
        flex-basis:100%;
    }
}

/* user/user_interactions.php */
.user-interactions-page .interactions-panel-box{
    margin-bottom:20px;
}

.user-interactions-page .interactions-title-tight{
    margin-bottom:6px;
}

.user-interactions-page .interactions-error-box{
    margin-bottom:20px;
}

.user-interactions-page .interactions-overview-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin:0 0 20px;
}

.user-interactions-page .interactions-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin:0 0 20px;
}

.user-interactions-page .interactions-card{
    border:1px solid var(--border-color, #e7e7e7);
    border-radius:14px;
    padding:18px;
    background:var(--card-bg, #fff);
}

.user-interactions-page .interactions-card--featured{
    margin:0 0 20px;
    display:grid;
    gap:16px;
}

.user-interactions-page .interactions-featured-section{
    display:grid;
    gap:10px;
}

.user-interactions-page .interactions-card-title,
.user-interactions-page .interactions-card-value,
.user-interactions-page .interactions-item-title,
.user-interactions-page .interactions-item-title a,
.user-interactions-page .interactions-item-value,
.user-interactions-page .interactions-item-sub a{
    color:var(--text-color, #111);
}

.user-interactions-page .interactions-card-title{
    margin:0;
    font-size:15px;
    font-weight:700;
}

.user-interactions-page .interactions-card-value{
    margin:0;
    font-size:30px;
    font-weight:700;
    line-height:1.08;
}

.user-interactions-page .interactions-card-sub,
.user-interactions-page .interactions-item-sub,
.user-interactions-page .interactions-empty,
.user-interactions-page .interactions-head-note{
    color:var(--text-muted, #666);
}

.user-interactions-page .interactions-card-sub{
    margin:8px 0 0;
    font-size:14px;
    line-height:1.5;
}

.user-interactions-page .interactions-section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin:0;
    flex-wrap:wrap;
}

.user-interactions-page .interactions-period-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.user-interactions-page .interactions-period-link{
    display:inline-block;
    padding:3px 12px;
    border:1px solid var(--border-color, #dcdcdc);
    border-radius:999px;
    text-decoration:none;
    color:var(--text-color, #222);
    font-size:14px;
    font-weight:600;
    background:var(--card-bg, #fff);
}

.user-interactions-page .interactions-period-link.active{
    background:color-mix(in oklab, var(--accent-color) 18%, var(--card-bg));
    color:var(--text-color, #111);
    border-color:color-mix(in oklab, var(--accent-color) 36%, var(--border-color));
}

.user-interactions-page .interactions-list,
.user-interactions-page .interactions-activity-list{
    margin:0;
    padding:0;
    list-style:none;
}

.user-interactions-page .interactions-list li,
.user-interactions-page .interactions-activity-list li{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:10px 0;
    border-bottom:1px solid var(--border-color, #efefef);
}

.user-interactions-page .interactions-list li:last-child,
.user-interactions-page .interactions-activity-list li:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.user-interactions-page .interactions-list li:first-child,
.user-interactions-page .interactions-activity-list li:first-child{
    padding-top:0;
}

.user-interactions-page .interactions-item-main{
    min-width:0;
}

.user-interactions-page .interactions-item-title{
    margin:0 0 4px;
    font-size:14px;
    font-weight:700;
    word-break:break-word;
}

.user-interactions-page .interactions-item-sub{
    margin:0;
    font-size:13px;
    line-height:1.5;
}

.user-interactions-page .interactions-item-value{
    white-space:nowrap;
    font-size:14px;
    font-weight:700;
}

.user-interactions-page .interactions-empty{
    margin:0;
    font-size:14px;
    line-height:1.65;
}

.user-interactions-page .interactions-empty--tight{
    margin:0;
}

.user-interactions-page .interactions-empty--subtle{
    font-size:13px;
    color:var(--text-muted, #666);
    opacity:0.9;
}

.user-interactions-page .interactions-media-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
}

.user-interactions-page .interactions-media-card{
    min-width:0;
    display:grid;
    gap:6px;
}

.user-interactions-page .interactions-media-card-link{
    min-width:0;
    display:grid;
    gap:6px;
    text-decoration:none;
    color:inherit;
}

.user-interactions-page .interactions-media-thumb{
    width:100%;
    aspect-ratio:1 / 1;
    display:block;
    border-radius:10px;
    overflow:hidden;
    border:1px solid var(--border-color, #e7e7e7);
    background:var(--card-bg, #fff);
}

.user-interactions-page .interactions-media-thumb img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.user-interactions-page .interactions-media-title{
    margin:0;
    color:var(--text-color, #111);
    font-size:13px;
    font-weight:600;
    line-height:1.35;
    overflow:hidden;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    word-break:break-word;
}

.user-interactions-page .interactions-media-count{
    color:var(--text-muted, #666);
    font-size:12px;
    line-height:1.35;
}

@media (max-width: 1100px){
    .user-interactions-page .interactions-overview-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .user-interactions-page .interactions-media-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media (max-width: 850px){
    .user-interactions-page .interactions-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 640px){
    .user-interactions-page .interactions-overview-grid{
        grid-template-columns:1fr;
    }

    .user-interactions-page .interactions-media-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .user-interactions-page .interactions-card{
        padding:14px;
    }
}
