.feed-inline-preview { min-width:0; background:var(--feed-surface, var(--card)); }
.feed-preview-window { position:relative; min-width:0; }
.feed-preview-actions { position:absolute; z-index:3; inset-inline:12px 28px; bottom:12px; display:flex; align-items:center; justify-content:flex-end; gap:6px; min-width:0; pointer-events:none; }
.feed-preview-actions:empty { display:none; }
.feed-preview-actions > .project-follow-button,.feed-preview-follow .project-follow-button { pointer-events:auto; }
.feed-preview-follow { display:flex; flex:none; pointer-events:none; }
.feed-preview-follow > .project-follow-control { align-items:flex-end; }
.feed-preview-window .project-follow-error:not([hidden]) { position:absolute; inset-inline-end:0; bottom:calc(100% + 8px); width:280px; max-width:100%; padding:8px 10px; border:1px solid var(--danger-text); border-radius:8px; background:var(--card); box-shadow:var(--shadow-sm); pointer-events:auto; }
.feed-inline-preview.is-preview-compact .feed-preview-actions { position:relative; inset:auto; min-height:60px; padding-block:8px; padding-inline:12px 28px; }
.feed-inline-preview.is-preview-compact .project-follow-error:not([hidden]) { inset-inline-end:28px; max-width:calc(100% - 40px); }
.feed-preview-stage.showcase-preview { height:220px; border:0; border-radius:0; background:var(--card-soft); }
.feed-preview-stage .showcase-preview-frame,
.feed-preview-stage .showcase-preview-image { border-radius:0; }
.feed-preview-stage .showcase-preview-frame { pointer-events:none; }
.feed-inline-preview.is-preview-interactive .showcase-preview-frame { pointer-events:auto; }
.feed-inline-preview:not(.is-preview-active) .feed-preview-brand-only,
.feed-inline-preview:not(.is-preview-active) .showcase-preview-loading { display:none; }
.feed-inline-preview:not(.is-preview-active) .feed-preview-stage .showcase-preview-fallback { display:block; visibility:visible; opacity:1; }
.feed-preview-stage .showcase-preview-image { pointer-events:none; }
.feed-preview-stage .showcase-preview-loading { padding:24px; text-align:center; }
/* Failed embeds already have a project summary below. Only actual uploaded or
   captured media needs a full-height fallback; a generated brand cover does not. */
.feed-preview-stage.feed-preview-brand-only.is-preview-unavailable { display:none; }
.feed-preview-caption { display:flex; align-items:center; gap:7px; min-width:0; color:var(--feed-muted, var(--muted)); font-size:.75rem; line-height:1.5; }
.feed-preview-caption-slot { min-inline-size:0; max-inline-size:100%; text-align:end; }
.feed-preview-caption-slot .feed-preview-caption { justify-content:flex-end; }
.feed-preview-caption [data-feed-preview-caption] { min-inline-size:0; overflow-wrap:anywhere; }
.feed-preview-dot { width:6px; height:6px; flex:none; border-radius:50%; background:var(--feed-muted, var(--muted)); }
.feed-preview-caption.is-preview-ready .feed-preview-dot { background:#22a269; box-shadow:0 0 0 3px rgb(34 162 105 / 10%); }
.feed-preview-toggle[hidden] { display:none; }
.feed-preview-toggle[aria-pressed="true"] { border-color:rgba(255,255,255,.72); }
.feed-preview-toggle .feed-preview-return-icon,
.feed-preview-toggle[aria-pressed="true"] .feed-preview-interact-icon { display:none; }
.feed-preview-toggle[aria-pressed="true"] .feed-preview-return-icon { display:block; }
@media (min-width:992px) and (hover:hover) and (pointer:fine) {
    .feed-preview-actions { gap:4px; bottom:8px; }
    .feed-preview-actions .project-follow-button { width:32px; height:32px; min-width:32px; min-height:32px; }
    .feed-preview-actions .project-follow-button svg { width:16px; height:16px; }
    .feed-inline-preview.is-preview-compact .feed-preview-actions { min-height:48px; }
}
@media (max-width:991.98px) {
    .feed-preview-actions { inset-inline:8px 20px; bottom:4px; gap:0; }
    /* A small visible surface inside the existing, non-overlapping touch target. */
    .feed-preview-actions .project-follow-button {
        position:relative; isolation:isolate; width:44px; height:44px; min-width:44px; min-height:44px;
        border:0; background:transparent; box-shadow:none; backdrop-filter:none;
        color:#1e293b; --follow-icon-shadow:none;
    }
    .feed-preview-actions .project-follow-button::before {
        content:""; position:absolute; z-index:-1; inset:7px; border-radius:8px;
        border:1px solid rgba(30,41,59,.22); background:rgba(var(--feed-action-tint,238,242,246),.86);
        box-shadow:0 1px 4px rgba(15,23,42,.14);
        -webkit-backdrop-filter:blur(8px) saturate(1.15); backdrop-filter:blur(8px) saturate(1.15);
    }
    .feed-preview-actions .project-follow-button:is(:hover,:focus-visible,.is-following) {
        background:transparent; color:#1e293b; opacity:1;
    }
    .feed-preview-actions .project-follow-button:is(:hover,:focus-visible)::before {
        background:rgba(var(--feed-action-tint,238,242,246),.98); border-color:rgba(30,41,59,.48);
    }
    .feed-preview-actions .project-follow-button:focus-visible { outline:none; }
    .feed-preview-actions .project-follow-button:focus-visible::before { outline:2px solid #1e293b; outline-offset:2px; }
    .feed-preview-actions .project-follow-button svg { width:15px; height:15px; }
    .feed-preview-actions .feed-preview-toggle[aria-pressed="true"]::before { box-shadow:inset 0 0 0 1px #1e293b; }
    .feed-inline-preview.is-preview-compact .feed-preview-actions { min-height:48px; padding-block:2px; padding-inline:8px 20px; }
    @media (forced-colors:active) {
        .feed-preview-actions .project-follow-button { color:ButtonText; }
        .feed-preview-actions .project-follow-button::before { background:ButtonFace; border-color:ButtonText; }
        .feed-preview-actions .project-follow-button:focus-visible::before { outline-color:Highlight; }
    }
}
@media (max-width:575.98px) {
    .feed-preview-stage.showcase-preview { height:180px; }
}
@media (max-width:319.98px) {
    .feed-preview-actions { inset-inline:8px; gap:4px; }
    .feed-inline-preview.is-preview-compact .feed-preview-actions { padding-inline:8px; }
    .feed-inline-preview.is-preview-compact .project-follow-error:not([hidden]) { inset-inline-end:8px; max-width:calc(100% - 16px); }
}
