/* ============================================================
   Get Cited Flow Animation
   All rules scoped to avoid page conflicts
   Brand palette: #FD5812 orange · #23272E dark · #f0e8e3 warm border
   ============================================================ */

.gcf-wrap {
    width: 100%;
    overflow: hidden;
    padding-bottom: 140px;
}

.gcf-stage {
    position: relative;
    width: 780px;
    height: 420px;
    overflow: visible;
    transform-origin: left top;
    transform: scale(var(--gcf-scale, 1));
}

/* ── GET CITED logo box ──────────────────────────────────── */
#gcf-logo {
    position: absolute;
    width: 140px;
    height: 80px;
    left: 40px;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    border: 1.5px solid #f0e8e3;
    border-radius: 16px;
    overflow: visible;
    padding: 12px 16px;
    box-shadow: 0 4px 24px rgba(253,88,18,0.08), 0 1px 4px rgba(0,0,0,0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
}
#gcf-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* ── ChatGPT icon ────────────────────────────────────────── */
#gcf-cgpt-icon {
    position: absolute;
    width: 72px;
    height: 72px;
    right: 40px;
    top: 50%;
    transform: translateY(-50%) scale(0.8);
    border-radius: 50%;
    background: #10a37f;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(16,163,127,0.30);
    opacity: 0;
    overflow: visible;
    z-index: 5;
}

/* ── Corner status badges ────────────────────────────────── */
.gcf-corner-badge {
    position: absolute;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(0);
    transition: opacity 0.3s, transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
    z-index: 30;
    border: 2px solid #fff;
    top: -8px;
    right: -8px;
}
/* Publish badge → brand orange */
#gcf-publish-badge { background: #FD5812; }
/* Search badge → ChatGPT green (identifies the engine) */
#gcf-search-badge  { background: #10a37f; }

.gcf-spin-ring {
    position: absolute;
    inset: -5px;
    border-radius: 50%;
    border: 2px solid transparent;
    pointer-events: none;
}
#gcf-publish-badge .gcf-spin-ring {
    border-top-color: rgba(253,88,18,0.85);
    border-right-color: rgba(253,88,18,0.25);
    animation: gcf-spin 1s linear infinite;
}
#gcf-search-badge .gcf-spin-ring {
    border-top-color: rgba(255,255,255,0.85);
    border-right-color: rgba(255,255,255,0.25);
    animation: gcf-spin 0.85s linear infinite;
}
@keyframes gcf-spin { to { transform: rotate(360deg); } }

/* ── Platform icons ──────────────────────────────────────── */
.gcf-platform-icon {
    position: absolute;
    width: 58px;
    height: 58px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1.5px solid #f0e8e3;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
}

/* ── Check badges (published ✓) ──────────────────────────── */
.gcf-check-badge {
    position: absolute;
    bottom: -7px;
    right: -7px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #FD5812;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(0);
    transition: opacity 0.3s, transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
    box-shadow: 0 2px 8px rgba(253,88,18,0.35);
    z-index: 10;
    border: 2px solid #fff;
}
.gcf-check-badge svg { width: 11px; height: 11px; }

/* ── SVG path canvas ─────────────────────────────────────── */
.gcf-flow-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
    z-index: 0;
}

/* ── Result card ─────────────────────────────────────────── */
#gcf-result-card {
    position: absolute;
    right: 40px;
    top: calc(50% + 44px);
    z-index: 10;
    width: 200px;
    background: #fff;
    border: 1.5px solid #f0e8e3;
    border-top: 3px solid #FD5812;
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(253,88,18,0.10), 0 2px 8px rgba(0,0,0,0.05);
    padding: 14px 16px 12px;
    opacity: 0;
    transform: translateY(-6px) scale(0.96);
    transform-origin: top right;
    transition: opacity 0.4s ease, transform 0.45s cubic-bezier(0.34,1.3,0.64,1);
    pointer-events: none;
}
#gcf-result-card::before {
    content: '';
    position: absolute;
    top: -8px;
    right: 28px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-top: 1.5px solid #f0e8e3;
    border-left: 1.5px solid #f0e8e3;
    border-radius: 3px 0 0 0;
    transform: rotate(45deg);
}
#gcf-result-card.gcf-show {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.gcf-result-header {
    font-size: 10px;
    font-weight: 700;
    color: #FD5812;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 5px;
}
.gcf-result-header svg { flex-shrink: 0; }

.gcf-result-title {
    font-size: 13px;
    font-weight: 700;
    color: #23272E;
    line-height: 1.35;
    margin-bottom: 11px;
}

.gcf-result-divider {
    height: 1px;
    background: #f0e8e3;
    margin-bottom: 10px;
}

.gcf-result-item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
    opacity: 0;
    transform: translateX(6px);
    transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.34,1.3,0.64,1);
}
.gcf-result-item:last-child { margin-bottom: 0; }
.gcf-result-item.gcf-show {
    opacity: 1;
    transform: translateX(0);
}

.gcf-result-dot {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #FD5812;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.gcf-result-dot svg { width: 10px; height: 10px; }

/* ── Dot-flow paths: data flowing from platforms toward ChatGPT ── */
.gcf-dot-path {
    fill: none;
    stroke: #10a37f;
    stroke-width: 2.5;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}
.gcf-dot-path.gcf-flowing {
    opacity: 0.85;
    animation: gcf-flow-dots 0.65s linear infinite;
}
@keyframes gcf-flow-dots {
    /* Increasing dashoffset makes dots travel backward along the path
       (i.e. from platform end toward ChatGPT start) */
    from { stroke-dashoffset: 0; }
    to   { stroke-dashoffset: 20; }
}

.gcf-result-item span {
    font-size: 11.5px;
    font-weight: 500;
    color: #64748B;
    line-height: 1.3;
}
