.quqii-feed-profile { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.quqii-feed-profile img { width: 56px !important; height: 56px !important; min-width: 56px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.quqii-feed-profile-info h3 { font-size: 1rem; font-weight: 700; margin: 0 0 .15rem; }
.quqii-feed-followers { font-size: .82rem; color: #666; }
.quqii-feed-followers strong { color: #111; } .quqii-feed-followers--inline { font-size: inherit; color: inherit; }
.quqii-feed-followers--inline strong { color: inherit; font-weight: inherit; } .quqii-feed {
container-type: inline-size;
container-name: quqii-feed;
}
.quqii-feed-grid {
display: grid;
grid-template-columns: repeat(var(--quqii-feed-cols, 3), 1fr);
gap: var(--quqii-feed-gap, 0.25rem);
} @media (max-width: 700px) {
.quqii-feed-grid {
grid-template-columns: repeat(var(--quqii-feed-cols-mobile, min(2, var(--quqii-feed-cols, 3))), 1fr); gap: calc(var(--quqii-feed-gap, 0.25rem) / 2);
}
}
@media (max-width: 500px) {
.quqii-feed-grid {
grid-template-columns: repeat(var(--quqii-feed-cols-mobile, 1), 1fr);
}
} @container quqii-feed (max-width: 700px) {
.quqii-feed-grid {
grid-template-columns: repeat(var(--quqii-feed-cols-mobile, min(2, var(--quqii-feed-cols, 3))), 1fr);
gap: calc(var(--quqii-feed-gap, 0.25rem) / 2);
}
}
@container quqii-feed (max-width: 500px) {
.quqii-feed-grid {
grid-template-columns: repeat(var(--quqii-feed-cols-mobile, 1), 1fr);
}
} .quqii-feed-slider {
--quqii-feed-vis: var(--quqii-feed-cols, 3);
--quqii-feed-slide-gap: var(--quqii-feed-gap, 0.25rem); --quqii-feed-slide-w: calc((100cqw - (var(--quqii-feed-vis) - 1) * var(--quqii-feed-slide-gap)) / var(--quqii-feed-vis));
}
.quqii-feed-slider-viewport { position: relative; }
.quqii-feed-grid--slider {
display: flex;
grid-template-columns: none;
gap: var(--quqii-feed-slide-gap);
overflow-x: auto;
scroll-snap-type: x mandatory;
scroll-behavior: smooth;
scrollbar-width: none;
-webkit-overflow-scrolling: touch;
overscroll-behavior-x: contain;
}
.quqii-feed-grid--slider::-webkit-scrollbar { display: none; }
.quqii-feed-grid--slider > .quqii-feed-post {
flex: 0 0 calc((100% - (var(--quqii-feed-vis) - 1) * var(--quqii-feed-slide-gap)) / var(--quqii-feed-vis));
min-width: 0;
scroll-snap-align: start;
}
@media (max-width: 700px) {
.quqii-feed-slider {
--quqii-feed-vis: var(--quqii-feed-cols-mobile, 1.15);
--quqii-feed-slide-gap: calc(var(--quqii-feed-gap, 0.25rem) / 2);
}
}
@container quqii-feed (max-width: 700px) {
.quqii-feed-slider {
--quqii-feed-vis: var(--quqii-feed-cols-mobile, 1.15);
--quqii-feed-slide-gap: calc(var(--quqii-feed-gap, 0.25rem) / 2);
}
}
@media (prefers-reduced-motion: reduce) {
.quqii-feed-grid--slider { scroll-behavior: auto; }
}
.quqii-feed-slider-btn {
position: absolute; z-index: 2;
top: 40%; top: calc(var(--quqii-feed-slide-w) * 0.625);
transform: translateY(-50%);
width: 2.25rem; height: 2.25rem; padding: 0;
display: flex; align-items: center; justify-content: center;
border: 0; border-radius: 50%; cursor: pointer;
background: rgba(255,255,255,.92); color: #111;
box-shadow: 0 1px 6px rgba(0,0,0,.25);
transition: opacity .2s, background .2s;
}
.quqii-feed-slider-btn:hover, .quqii-feed-slider-btn:focus-visible { background: #fff; }
.quqii-feed-slider-btn[disabled] { opacity: 0; pointer-events: none; } .quqii-feed-slider-btn--prev { left: 0; transform: translate(-50%, -50%); }
.quqii-feed-slider-btn--next { right: 0; transform: translate(50%, -50%); }
.quqii-feed-slider[data-arrows="0"] .quqii-feed-slider-btn { display: none; }
.quqii-feed-slider[data-dots="0"] .quqii-feed-slider-dots { display: none; }
.quqii-feed-slider-btn svg { width: 1rem; height: 1rem; }
.quqii-feed-slider-nav { display: flex; justify-content: center; align-items: center; gap: .75rem; margin-top: .75rem; }
.quqii-feed-slider-dots { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .7rem; border-radius: 99px; background: rgba(0,0,0,.08); max-width: 100%; overflow: hidden; }
.quqii-feed-slider-dot { width: .4rem; height: .4rem; padding: 0; border: 0; border-radius: 99px; background: rgba(0,0,0,.35); cursor: pointer; flex: none; transition: width .25s, background .25s; }
.quqii-feed-slider-dot.active { width: 1.4rem; background: #111; }
.quqii-feed-slider-play { width: 1.9rem; height: 1.9rem; padding: 0; border: 0; border-radius: 50%; background: rgba(0,0,0,.08); color: #111; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.quqii-feed-slider-play svg { width: .8rem; height: .8rem; }
.quqii-feed-item {
--quqii-feed-inset: 1.25rem; position: relative;
aspect-ratio: 4 / 5;
overflow: hidden;
border-radius: var(--quqii-feed-radius, 4px);
background: #eee;
display: block;
text-decoration: none;
}
.quqii-feed-item img,
.quqii-feed-item video {
width: 100%; height: 100%;
object-fit: cover;
display: block;
transition: transform .2s;
}
.quqii-feed-item video { cursor: pointer; } .quqii-feed-slides {
display: flex;
width: 100%; height: 100%;
overflow-x: scroll;
scroll-snap-type: x mandatory;
scrollbar-width: none;
-ms-overflow-style: none;
}
.quqii-feed-slides::-webkit-scrollbar { display: none; }
.quqii-feed-slide {
flex: 0 0 100%;
height: 100%;
scroll-snap-align: start;
position: relative;
}
.quqii-feed-slide img,
.quqii-feed-slide video {
width: 100%; height: 100%;
object-fit: cover;
display: block;
}
.quqii-feed-slide video { cursor: pointer; }
.quqii-feed-slide .quqii-feed-badge { pointer-events: none; }
.quqii-feed-dots { position: absolute; bottom: calc(var(--quqii-feed-inset, 1.25rem) + 5px); left: 50%;
transform: translateX(-50%);
display: flex; gap: 4px;
pointer-events: none;
}
.quqii-feed-dot {
width: 5px; height: 5px;
border-radius: 50%;
background: rgba(255,255,255,.5);
transition: background .2s;
flex-shrink: 0;
}
.quqii-feed-dot.active { background: #fff; }
.quqii-feed-badge {
position: absolute; top: 6px; right: 8px;
color: #fff; font-size: .8rem;
text-shadow: 0 1px 3px rgba(0,0,0,.6);
pointer-events: none;
transition: opacity .2s;
}
.quqii-feed-item.playing .quqii-feed-badge { opacity: 0; }
.quqii-feed-badge svg { display: block; width: 16px; height: 16px; fill: transparent; } .quqii-feed-play-badge {
position: absolute; top: 50%; left: 50%;
transform: translate(-50%, -50%);
width: 48px; height: 48px;
display: flex; align-items: center; justify-content: center;
pointer-events: none;
transition: opacity .2s;
}
.quqii-feed-play-badge svg { display: block; width: 48px; height: 48px; fill: #fff; filter: drop-shadow(0 2px 6px rgba(0,0,0,.5)); }
.quqii-feed-item.playing .quqii-feed-play-badge { opacity: 0; } .quqii-feed-bottom-left {
position: absolute; bottom: var(--quqii-feed-inset, 1.25rem); left: var(--quqii-feed-inset, 1.25rem);
z-index: 2;
height: 15px; line-height: 1;
display: flex; align-items: center; gap: 8px;
}
.quqii-feed-likes {
display: inline-flex; align-items: center; gap: 4px;
height: 15px; line-height: 1; color: #fff; font-size: .75rem; font-weight: 600;
text-shadow: 0 1px 3px rgba(0,0,0,.6);
pointer-events: none;
}
.quqii-feed-likes svg { display: block; width: 13px; height: 13px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.5)); }
.quqii-feed-ig-link {
position: absolute; bottom: var(--quqii-feed-inset, 1.25rem); right: var(--quqii-feed-inset, 1.25rem);
width: 15px; height: 15px;
display: flex; align-items: center; justify-content: center;
color: #fff; opacity: .85; line-height: 1;
transition: opacity .2s;
}
.quqii-feed-ig-link:hover { opacity: 1; }
.quqii-feed-ig-link:hover svg { fill:rgba(0, 0, 0, 0.2); }
.quqii-feed-ig-link svg { display: block; width: 15px; height: 15px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.5)); fill: transparent; }
.quqii-feed-ig-btn {
display: inline-block;
padding: .45rem 1.1rem;
background: #e1306c;
color: #fff;
text-decoration: none;
border-radius: 6px;
font-size: .875rem;
font-weight: 600;
line-height: 1.4;
transition: background .15s;
}
.quqii-feed-ig-btn:hover { background: #c0254f; color: #fff; } .quqii-feed-post { display: flex; flex-direction: column; } .quqii-feed-caption--below {
font-size: .8rem;
color: #374151;
line-height: 1.45;
margin: 1em 0 0;
padding: 0 1em;
} .quqii-feed-caption--overlay {
position: absolute;
inset: 0;
z-index: 1; display: flex;
flex-direction: column;
overflow-y: auto;
background: rgba(var(--quqii-feed-overlay-color, 0, 0, 0), var(--quqii-feed-overlay-alpha, .7));
color: #fff;
font-size: .92rem;
line-height: 1.5; padding: 1.25rem var(--quqii-feed-inset, 1.25rem) calc(3.5rem + var(--quqii-feed-gap, 0.25rem)) var(--quqii-feed-inset, 1.25rem);
box-sizing: border-box;
opacity: 0;
pointer-events: none;
transition: opacity .25s ease;
scrollbar-width: thin;
scrollbar-color: rgba(255,255,255,.4) transparent;
}
.quqii-feed-caption--overlay p {
margin: 0;
margin-top: auto; }
.quqii-feed-caption--overlay::-webkit-scrollbar { width: 4px; }
.quqii-feed-caption--overlay::-webkit-scrollbar-thumb { background: rgba(255,255,255,.4); border-radius: 2px; }
.quqii-feed-item.quqii-feed-show-caption .quqii-feed-caption--overlay {
opacity: 1;
pointer-events: auto;
} .quqii-feed-caption-toggle {
-webkit-appearance: none;
appearance: none;
background: none;
border: none;
padding: 0;
margin: 0;
width: 14px;
height: 14px;
display: flex;
align-items: center;
justify-content: center;
line-height: 0;
cursor: pointer;
opacity: .85;
transition: opacity .2s;
}
.quqii-feed-caption-toggle:hover,
.quqii-feed-item.quqii-feed-show-caption .quqii-feed-caption-toggle {
opacity: 1;
}
.quqii-feed-caption-toggle svg {
display: block;
width: 14px;
height: 14px;
filter: drop-shadow(0 1px 2px rgba(0,0,0,.5));
fill: transparent; }
.quqii-feed-error { color: #c00; font-size: .875rem; }
.quqii-feed-notice {
font-size: .875rem;
color: #6b7280;
background: #f9fafb;
border: 1px solid #e5e7eb;
border-radius: 8px;
padding: .75rem 1rem;
margin: 0;
}
.quqii-feed-notice--pending {
color: #92400e;
background: #fffbeb;
border-color: #fde68a;
}