
        :root {
            --ink: #07020d;
            --line: rgba(255, 255, 255, .12);
            --muted: #f0e7ff;
            --dim: #c7b8dd;
            --neon: #a855f7;
            --magenta: #d9468f;
            --hot: #ff4fad;
            --gold: #f8d778;
        }

        * { box-sizing: border-box; }
        html { text-rendering: optimizeLegibility; }
        html { background: #000; color: #fff; font-family: var(--font-body); scroll-behavior: smooth; }
        body {
            margin: 0;
            min-height: 100vh;
            background:
                linear-gradient(115deg, rgba(255, 79, 173, .1), transparent 30%),
                linear-gradient(245deg, rgba(168, 85, 247, .1), transparent 34%),
                linear-gradient(180deg, #000 0%, #07020d 48%, #000 100%);
        }
        a { color: inherit; text-decoration: none; }
        img { display: block; max-width: 100%; }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 20;
            border-bottom: 1px solid var(--line);
            background: rgba(0, 0, 0, .88);
            backdrop-filter: blur(18px);
        }

        .nav {
            width: min(1180px, calc(100% - 32px));
            min-height: 72px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            gap: 14px;
        }

        .brand { display: inline-flex; align-items: center; }
        .header-logo { display: inline-grid; justify-items: center; min-width: 168px; line-height: .9; }
        .header-logo .crown { width: 34px; height: 21px; color: var(--hot); filter: drop-shadow(0 0 9px rgba(255, 79, 173, .85)); }
        .brand-top,
        .brand-bottom { font-family: Orbitron, Montserrat, Inter, sans-serif; font-weight: 800; text-transform: uppercase; }
        .brand-top { font-size: clamp(1.25rem, 2vw, 1.75rem); text-shadow: 0 0 10px rgba(255, 255, 255, .5); }
        .brand-bottom { font-size: clamp(1.15rem, 1.9vw, 1.65rem); color: var(--hot); text-shadow: 0 0 16px rgba(255, 79, 173, .82); }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 22px;
            color: var(--muted);
            font-size: .92rem;
            font-weight: 800;
        }

        .nav-links a:hover,
        .nav-links a.is-active { color: #fff; text-shadow: 0 0 16px rgba(255, 79, 173, .72); }

        .cta {
            min-height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            border-radius: 8px;
            padding: 0 18px;
            color: #fff;
            font-weight: 900;
            background: linear-gradient(135deg, var(--neon), var(--magenta));
            box-shadow: 0 12px 30px rgba(217, 70, 143, .28);
        }

        .nav-cta { margin-left: auto; }

        main {
            width: min(720px, calc(100% - 28px));
            margin: 0 auto;
            padding: 34px 0 70px;
        }

        .feed-head {
            margin-bottom: 22px;
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 18px;
        }

        .feed-head h1 {
            margin: 0;
            display: flex;
            align-items: center;
            gap: 12px;
            font-family: var(--font-heading);
            font-size: clamp(2.1rem, 5vw, 3.6rem);
            line-height: 1.08;
            color: transparent;
            background: linear-gradient(100deg, #fff6bf, #d99b25 32%, #fff0a6 52%, #ffe89b);
            -webkit-background-clip: text;
            background-clip: text;
        }

        .feed-head svg { color: var(--gold); filter: drop-shadow(0 0 14px rgba(248, 215, 120, .55)); }
        .feed-head p { margin: 8px 0 0; color: var(--muted); font-weight: 700; line-height: 1.55; }

        .feed-back-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 14px;
            color: var(--muted);
            font-size: .86rem;
            font-weight: 800;
        }

        .feed-back-link:hover,
        .feed-back-link:focus {
            color: #fff;
            outline: none;
        }

        .feed-back-link svg {
            width: 16px;
            height: 16px;
        }

        .feed-empty {
            border: 1px dashed rgba(255, 255, 255, .14);
            border-radius: 8px;
            padding: 28px 18px;
            text-align: center;
            color: var(--muted);
            background: rgba(255, 255, 255, .03);
            font-weight: 750;
            line-height: 1.6;
        }

        .feed-empty strong {
            display: block;
            margin-bottom: 8px;
            color: #fff4bd;
            font-size: 1rem;
        }

        .feed-status {
            margin-bottom: 14px;
            border: 1px solid rgba(159, 255, 194, .28);
            border-radius: 8px;
            padding: 12px 14px;
            color: #d8ffe8;
            background: rgba(34, 120, 74, .22);
            font-weight: 800;
        }

        .post {
            margin-bottom: 14px;
            overflow: hidden;
            border: 1px solid rgba(255, 79, 173, .18);
            border-radius: 8px;
            background: rgba(7, 2, 13, .96);
            box-shadow: 0 18px 42px rgba(0, 0, 0, .72), 0 0 28px rgba(255, 79, 173, .14);
        }

        a.profile-hit,
        a.profile-name-link {
            color: inherit;
            text-decoration: none;
        }

        a.profile-name-link:hover,
        a.profile-name-link:focus {
            color: var(--hot);
            outline: none;
        }

        a.profile-hit img.avatar {
            cursor: pointer;
        }

        .media a.profile-hit {
            display: block;
        }

        .post-top {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 12px;
        }

        .avatar {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid rgba(255, 79, 173, .52);
        }

        .author { font-weight: 950; }
        .meta { color: var(--dim); font-size: .78rem; font-weight: 800; }
        .more { margin-left: auto; color: var(--muted); }

        .media {
            position: relative;
            background: #000;
            overflow: hidden;
        }

        .media img,
        .media video,
        .media .feed-video-poster img {
            width: 100%;
            max-height: 760px;
            object-fit: cover;
            display: block;
        }

        .caption .animated-emoji {
            display: inline-block;
            filter: drop-shadow(0 0 8px rgba(255, 79, 173, .6));
            animation: emojiDance 1.2s ease-in-out infinite;
        }

        .caption {
            display: grid;
            gap: 0;
            padding: 12px 12px 0;
        }

        .caption-author {
            color: #fff;
            font-size: .92rem;
            font-weight: 950;
            line-height: 1.35;
        }

        .caption-text {
            margin-top: 8px;
            padding-top: 8px;
            border-top: 1px solid rgba(255, 255, 255, .1);
            color: #f3e8ff;
            font-weight: 750;
            line-height: 1.55;
            word-break: break-word;
        }

        .counts { padding: 8px 12px 0; color: var(--muted); font-size: .82rem; font-weight: 800; }

        .video-badge {
            position: absolute;
            left: 12px;
            bottom: 12px;
            z-index: 3;
            display: inline-flex;
            align-items: center;
            gap: 7px;
            border-radius: 8px;
            padding: 8px 10px;
            color: #fff;
            background: rgba(0, 0, 0, .7);
            font-size: .78rem;
            font-weight: 900;
            backdrop-filter: blur(8px);
        }

        .post-comments {
            display: grid;
            gap: 8px;
            padding: 10px 12px 0;
        }

        .comment-item {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            border-left: 2px solid rgba(255, 79, 173, .32);
            padding: 8px 10px;
            color: var(--muted);
            background: rgba(255, 255, 255, .035);
            border-radius: 8px;
            font-size: .86rem;
            font-weight: 750;
        }

        .comment-item strong { color: #fff; }

        .comment-body {
            display: grid;
            gap: 4px;
            min-width: 0;
        }

        .comment-author {
            display: block;
            color: #fff;
            font-size: .84rem;
            font-weight: 950;
            line-height: 1.3;
        }

        .comment-text {
            display: block;
            color: #eadcff;
            font-weight: 750;
            line-height: 1.45;
        }

        .animated-emoji {
            display: inline-block;
            filter: drop-shadow(0 0 8px rgba(255, 79, 173, .6));
            animation: emojiDance 1.2s ease-in-out infinite;
        }

        @keyframes emojiDance {
            0%, 100% { transform: translateY(0) scale(1) rotate(0deg); }
            35% { transform: translateY(-3px) scale(1.12) rotate(-8deg); }
            70% { transform: translateY(1px) scale(1.05) rotate(8deg); }
        }

        .actions {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 1px;
            padding: 12px;
        }

        .actions button {
            min-height: 40px;
            border: 1px solid rgba(255, 79, 173, .14);
            border-radius: 8px;
            color: var(--muted);
            background: rgba(255, 255, 255, .04);
            font: inherit;
            font-size: .82rem;
            font-weight: 900;
            cursor: pointer;
        }

        .actions button:hover,
        .actions button.is-on {
            color: #fff;
            background: rgba(255, 79, 173, .14);
            box-shadow: 0 0 18px rgba(255, 79, 173, .18);
        }

        .heart-burst {
            position: absolute;
            inset: 0;
            z-index: 4;
            overflow: hidden;
            pointer-events: none;
        }

        .heart-float {
            position: absolute;
            left: var(--x);
            bottom: 20px;
            font-size: var(--size);
            opacity: 0;
            animation: heartFloat 1.35s ease-out forwards;
        }

        @keyframes heartFloat {
            0% { opacity: 0; transform: translateY(0) scale(.7); }
            15% { opacity: 1; }
            100% { opacity: 0; transform: translateY(-86px) translateX(var(--drift)) scale(1.25); }
        }

        .share-backdrop {
            position: fixed;
            inset: 0;
            z-index: 80;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 20px;
            background: rgba(0, 0, 0, .72);
            backdrop-filter: blur(12px);
        }

        .share-backdrop.is-open { display: flex; }

        .share-modal {
            width: min(440px, 100%);
            border: 1px solid rgba(255, 79, 173, .26);
            border-radius: 8px;
            padding: 18px;
            background: #09030f;
            box-shadow: 0 30px 80px rgba(0, 0, 0, .86), 0 0 50px rgba(255, 79, 173, .2);
        }

        .share-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
        .share-title strong { font-size: 1.05rem; }
        .close-share { border: 0; color: #fff; background: transparent; cursor: pointer; }
        .feed-video-poster {
            position: relative;
            display: block;
            width: 100%;
            padding: 0;
            border: 0;
            color: inherit;
            background: #000;
            cursor: pointer;
        }

        .feed-video-poster::after {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at center, rgba(0,0,0,.06), rgba(0,0,0,.38));
            pointer-events: none;
        }

        .feed-video-backdrop {
            position: fixed;
            inset: 0;
            z-index: 86;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 16px;
            background: rgba(0, 0, 0, .82);
            backdrop-filter: blur(12px);
        }

        .feed-video-backdrop.is-open { display: flex; }

        .feed-video-dialog {
            position: relative;
            width: min(960px, 100%);
            aspect-ratio: 16 / 9;
            overflow: hidden;
            border: 1px solid rgba(255, 79, 173, .28);
            border-radius: 8px;
            background: #000;
            box-shadow: 0 30px 80px rgba(0, 0, 0, .9), 0 0 50px rgba(255, 79, 173, .2);
        }

        .feed-video-message {
            position: absolute;
            inset: 0;
            z-index: 1;
            display: grid;
            place-items: center;
            margin: 0;
            padding: 20px;
            color: #fff;
            font-weight: 800;
            text-align: center;
            pointer-events: none;
        }

        .feed-video-frame {
            display: block;
            width: 100%;
            height: 100%;
            border: 0;
            background: #000;
        }

        .feed-video-close {
            position: absolute;
            top: 8px;
            right: 8px;
            z-index: 2;
            width: 38px;
            height: 38px;
            display: grid;
            place-items: center;
            border: 1px solid rgba(255,255,255,.2);
            border-radius: 50%;
            color: #fff;
            background: rgba(0,0,0,.72);
            cursor: pointer;
        }

        @media (max-width: 640px) {
            .feed-video-backdrop { padding: 0; }
            .feed-video-dialog { width: 100%; border-radius: 0; }
        }

        .share-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
        .share-grid a,
        .copy-link {
            min-height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            border: 1px solid rgba(255, 79, 173, .18);
            border-radius: 8px;
            color: #fff;
            background: rgba(255, 255, 255, .05);
            font-weight: 900;
        }
        .copy-link { grid-column: 1 / -1; cursor: pointer; }

        .comment-backdrop {
            position: fixed;
            inset: 0;
            z-index: 82;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 20px;
            background: rgba(0, 0, 0, .72);
            backdrop-filter: blur(12px);
        }

        .comment-backdrop.is-open { display: flex; }

        .comment-modal {
            width: min(520px, 100%);
            border: 1px solid rgba(255, 79, 173, .26);
            border-radius: 8px;
            padding: 18px;
            background: #09030f;
            box-shadow: 0 30px 80px rgba(0, 0, 0, .86), 0 0 50px rgba(255, 79, 173, .2);
        }

        .comment-title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            margin-bottom: 14px;
        }

        .comment-title strong { font-size: 1.05rem; }
        .close-comment { border: 0; color: #fff; background: transparent; cursor: pointer; }
        .comment-form { display: grid; gap: 12px; }
        .comment-form label { color: var(--muted); font-size: .82rem; font-weight: 900; }
        .comment-form input,
        .comment-form select {
            width: 100%;
            min-height: 44px;
            border: 1px solid rgba(255, 79, 173, .22);
            border-radius: 8px;
            padding: 0 12px;
            color: #fff;
            background: #050207;
            font: inherit;
            font-weight: 800;
            outline: none;
        }

        .comment-form select { height: 44px; }
        .comment-form input:focus,
        .comment-form select:focus {
            border-color: rgba(255, 79, 173, .58);
            box-shadow: 0 0 22px rgba(255, 79, 173, .18);
        }

        .comment-actions {
            display: flex;
            justify-content: space-between;
            gap: 10px;
            flex-wrap: wrap;
        }

        .suggest-comment,
        .publish-comment {
            min-height: 42px;
            border-radius: 8px;
            padding: 0 14px;
            font: inherit;
            font-weight: 900;
            cursor: pointer;
        }

        .suggest-comment {
            border: 1px solid rgba(255, 79, 173, .22);
            color: var(--muted);
            background: rgba(255, 255, 255, .04);
        }

        .publish-comment {
            border: 0;
            color: #fff;
            background: linear-gradient(135deg, var(--neon), var(--magenta));
        }

        @media (max-width: 760px) {
            .nav { flex-wrap: wrap; width: min(100% - 20px, 1180px); padding: 8px 0 10px; }
            .header-logo { min-width: 132px; }
            .brand-top { font-size: 1.08rem; }
            .brand-bottom { font-size: 1rem; }
            .nav-links { order: 3; width: 100%; gap: 12px; overflow-x: auto; padding-bottom: 4px; }
            .nav-cta { margin-left: auto; padding: 0 12px; }
            main { width: min(100% - 18px, 720px); padding-top: 24px; }
            .feed-head { display: block; }
            .actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
            .actions button { min-height: 44px; padding: 8px; overflow-wrap: anywhere; }
            .post-top > div { min-width: 0; overflow-wrap: anywhere; }
            .comment-form input, .comment-form select { min-width: 0; max-width: 100%; font-size: 16px; }
        }
/* Pagination remains readable on narrow viewports. */
.feed-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; padding: 24px 0; }
.feed-pagination a { color: #f8d778; }
.feed-new-posts { position: sticky; top: 76px; z-index: 20; display: block; margin: 0 auto 12px; border: 1px solid rgba(255,79,173,.4); border-radius: 999px; padding: 10px 18px; color: #fff; background: rgba(30,8,35,.96); box-shadow: 0 12px 30px rgba(0,0,0,.45); font: inherit; font-size: .85rem; font-weight: 900; cursor: pointer; }
.feed-new-posts[hidden] { display: none; }

/* Feed: avatar remoto, player inline, reações e comentários. */
.post-top .avatar {
    width: 52px;
    height: 52px;
    border-radius: 10px;
    object-fit: contain;
    background: #100817;
    border: 1px solid rgba(255,255,255,.16);
}
.media .feed-inline-video { position: relative; background: #050208; }
.media .feed-inline-video .feed-video-poster { display: block; width: 100%; padding: 0; border: 0; background: #050208; cursor: pointer; }
.media .feed-inline-video .feed-video-poster img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #050208; }
.media .feed-inline-video-container { width: 100%; aspect-ratio: 16 / 9; background: #000; }
.media .feed-inline-video-container:empty { display: none; }
.feed-inline-video-status { margin: 6px 12px 10px; color: #f0e7ff; font-size: .82rem; }
.feed-video-processing { display: grid; place-items: center; min-height: 180px; padding: 20px; color: #f8d778; background: #100817; text-align: center; font-weight: 800; }
.actions button[data-react="heart"].is-on { color: #ff5c7a; border-color: rgba(255,92,122,.7); }
.actions button[data-react="applause"].is-on { color: #f8d778; border-color: rgba(248,215,120,.72); }
.reaction-burst { position: absolute; inset: 0; pointer-events: none; z-index: 4; overflow: hidden; }
.reaction-float {
    position: absolute;
    left: var(--x);
    bottom: 12%;
    font-size: var(--size);
    opacity: 0;
    animation: reaction-rise 1100ms ease-out forwards;
    filter: drop-shadow(0 4px 10px rgba(0,0,0,.45));
}
@keyframes reaction-rise {
    0% { opacity: 0; transform: translate(0, 8px) scale(.7); }
    20% { opacity: 1; }
    100% { opacity: 0; transform: translate(var(--drift), -90px) scale(1.15); }
}
.comment-body { display: grid; gap: 2px; min-width: 0; }
.comment-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.comment-date { color: var(--dim); font-size: .68rem; }
.comments-more { margin: 6px 0; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; padding: 7px 10px; background: transparent; color: #f0e7ff; font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }
.comment-status { min-height: 1em; margin: 0 0 8px; color: #ff9b9b; font-size: .78rem; }
@media (prefers-reduced-motion: reduce) {
    .reaction-burst { display: none !important; }
    .reaction-float { animation: none !important; }
}

/* Feed media states: the profile avatar is never used as a post cover. */
.media .feed-video-poster img { object-fit: cover; background: #050208; }
.media .feed-video-poster[hidden] { display: none !important; }
.feed-video-placeholder,
.feed-media-placeholder {
    display: grid;
    place-items: center;
    gap: 6px;
    width: 100%;
    min-height: 220px;
    padding: 24px;
    color: #f0e7ff;
    background: radial-gradient(circle at 50% 35%, rgba(255,79,173,.18), transparent 65%), #100817;
    text-align: center;
}
.feed-video-placeholder[hidden],
.feed-media-placeholder[hidden] { display: none !important; }
.feed-video-placeholder svg,
.feed-media-placeholder svg { width: 34px; height: 34px; color: #f8d778; }
.feed-video-placeholder strong,
.feed-media-placeholder strong { color: #fff; font-size: .95rem; }
.feed-video-placeholder span { color: #cdbde4; font-size: .8rem; }
.feed-inline-video-retry {
    display: block;
    width: calc(100% - 24px);
    margin: 8px 12px 12px;
    border: 1px solid rgba(255,79,173,.55);
    border-radius: 8px;
    padding: 10px 14px;
    color: #fff;
    background: rgba(255,79,173,.14);
    font: inherit;
    font-size: .86rem;
    font-weight: 900;
    cursor: pointer;
}
.feed-inline-video-retry[hidden] { display: none !important; }
.feed-panel-cover-placeholder {
    display: grid;
    place-items: center;
    width: 96px;
    height: 96px;
    border-radius: 8px;
    color: #f8d778;
    background: #100817;
    font-size: .65rem;
    font-weight: 900;
    text-align: center;
}
.feed-panel-cover-placeholder[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
    .reaction-burst,
    .reaction-float,
    .heart-burst,
    .heart-float,
    .animated-emoji,
    .caption .animated-emoji { animation: none !important; }
    .reaction-burst { display: none !important; }
}

.feed-inline-video { position: relative; }
.feed-inline-video-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 6;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 50%;
    color: #fff;
    background: rgba(5,2,8,.78);
    font: inherit;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
}
.feed-inline-video-close[hidden] { display: none !important; }

/* Preloaded Bunny player: cover stays until the player is ready, then the
   player's own play button is the single click target. */
.media .feed-inline-video {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #050208;
}
.media .feed-inline-video .feed-video-poster {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    border: 0;
    padding: 0;
    background: #050208;
    cursor: default;
}
.media .feed-inline-video .feed-video-poster::after { pointer-events: none; }
.media .feed-inline-video .feed-video-poster img {
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: auto;
    object-fit: cover;
}
.feed-inline-video-placeholder,
.feed-video-placeholder {
    position: absolute;
    inset: 0;
    min-height: 0;
    padding: 20px;
}
.feed-inline-video-container {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    background: #000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.feed-inline-video-container:empty { display: block; }
.feed-inline-video.is-ready .feed-video-poster { display: none; }
.feed-inline-video.is-ready .feed-inline-video-container {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.feed-inline-video.is-ready .video-badge { display: none; }
.feed-inline-video.is-ready .feed-video-placeholder { display: none !important; }
.feed-inline-video-preparing {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transform: translate(-50%, -50%);
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    color: #fff;
    background: rgba(5,2,8,.78);
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
    pointer-events: none;
}
.feed-inline-video-preparing[hidden] { display: none !important; }
.feed-inline-video-spinner {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: #ff5c7a;
    border-radius: 50%;
    animation: feedPlayerSpin .8s linear infinite;
}
@keyframes feedPlayerSpin { to { transform: rotate(360deg); } }
.feed-inline-video-status {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 10px;
    z-index: 5;
    margin: 0;
    padding: 3px 6px;
    border-radius: 6px;
    color: #f0e7ff;
    background: rgba(5,2,8,.72);
    font-size: .78rem;
    pointer-events: none;
}
.feed-inline-video-status:empty { display: none; }
.feed-inline-video-retry {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 7;
    width: auto;
    margin: 0;
}
.feed-inline-video.is-failed .feed-video-poster { display: block; }
.feed-inline-video.is-failed .feed-inline-video-container { opacity: 0; visibility: hidden; }
@media (prefers-reduced-motion: reduce) {
    .feed-inline-video-spinner { animation: none; }
}

.actions [data-react="heart"] .lucide-heart { color: #ff5c7a; fill: transparent; }
.actions [data-react="heart"].is-on .lucide-heart { fill: currentColor; }
.actions [data-react="heart"].is-on {
    color: #ff5c7a;
    background: rgba(255,92,122,.16);
    border-color: rgba(255,92,122,.72);
}
.actions [data-react="heart"] span[data-hearts] { color: #ff5c7a; }
.feed-inline-video.is-failed .feed-inline-video-status { bottom: 58px; }
.animated-emoji.is-paused { animation-play-state: paused !important; }

/* Public feed: four visible comments with an internal scroll area; actions stay outside. */
.post-comments {
    max-height: 360px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,79,173,.42) transparent;
    padding-right: 4px;
}
@media (max-width: 768px) {
    .post-comments { max-height: 350px; }
}

/* Photo posts: show the complete published file, never a cover crop. */
.media.is-photo {
    overflow: visible;
    background: transparent;
}
.media.is-photo a.profile-hit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: #050208;
}
.media.is-photo img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: min(82vh, 900px);
    object-fit: contain;
    margin: 0 auto;
}
@media (max-width: 768px) {
    .media.is-photo img { max-height: 82dvh; }
}

/* Caption and comments are distinct sections below the media. */
.feed-caption-block {
    margin: 10px 12px 0;
    padding: 10px 12px;
    border-left: 3px solid rgba(255,79,173,.55);
    border-radius: 0 8px 8px 0;
    background: rgba(255,255,255,.035);
}
.feed-caption-label {
    color: #d9c8eb;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .02em;
}
.feed-caption-text {
    margin-top: 5px;
    color: #fff;
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.55;
    white-space: pre-line;
    overflow-wrap: anywhere;
}
.feed-comments-heading {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin: 10px 12px 0;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,.1);
    color: #f3e8ff;
    font-size: .82rem;
}
.feed-comments-heading strong { font-weight: 950; }
.feed-comments-heading [data-comments-count] {
    display: inline-grid;
    min-width: 20px;
    place-items: center;
    padding: 1px 6px;
    border-radius: 999px;
    color: #fff;
    background: rgba(255,79,173,.3);
    font-size: .72rem;
    font-weight: 900;
}
.post-comments { margin-top: 2px; }

/* Creator replies stay visually nested under the original comment. */
.comment-item .creator-reply { margin: 8px 0 0 30px; }
.creator-reply { display: flex; gap: 8px; align-items: flex-start; min-width: 0; padding: 8px 10px; border-left: 2px solid rgba(248, 215, 120, .65); border-radius: 0 8px 8px 0; background: rgba(248, 215, 120, .06); }
.creator-reply-body { display: grid; gap: 3px; min-width: 0; }
.creator-reply-head { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.creator-reply-author { color: #fff4bd; font-size: .8rem; }
.creator-reply-badge { border: 1px solid rgba(248, 215, 120, .4); border-radius: 999px; padding: 1px 6px; color: #ffe9a8; font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.creator-reply-text { margin: 0; color: #f5e9ff; font-size: .82rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.creator-reply-date { color: var(--dim); font-size: .66rem; }
.feed-reply-toggle { justify-self: start; margin-top: 4px; border: 0; padding: 2px 0; background: transparent; color: #ffd166; font: inherit; font-size: .74rem; font-weight: 850; cursor: pointer; }
.feed-reply-form { display: grid; gap: 6px; margin-top: 6px; }
.feed-reply-form textarea { width: 100%; min-width: 0; resize: vertical; border: 1px solid rgba(255,255,255,.16); border-radius: 7px; padding: 7px 8px; background: rgba(0,0,0,.35); color: #fff; font: inherit; font-size: .8rem; }
.reply-form-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.reply-form-actions button { border: 1px solid rgba(248,215,120,.35); border-radius: 7px; padding: 6px 10px; background: rgba(248,215,120,.1); color: #ffe9a8; font: inherit; font-size: .74rem; font-weight: 850; cursor: pointer; }
.reply-form-actions button[type="submit"] { background: rgba(255,79,173,.2); border-color: rgba(255,79,173,.45); color: #fff; }
.reply-status { margin: 0; min-height: 1em; color: #ffb3b3; font-size: .72rem; }
@media (max-width: 640px) { .comment-item .creator-reply { margin-left: 0; } }
@media (prefers-reduced-motion: reduce) { .creator-reply .animated-emoji { animation: none !important; } }
