
.v107-creators-wrap{
  border:1px solid var(--color-border);
  background:color-mix(in oklab,var(--color-card) 92%,transparent);
  border-radius:24px;
  padding:14px 12px 12px;
  overflow:hidden;
}
.v107-creator-strip{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:12px 2px 4px;
  scroll-snap-type:x mandatory;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.v107-creator-strip::-webkit-scrollbar{display:none}
.v107-creator{
  flex:0 0 82px;
  display:grid;
  justify-items:center;
  gap:5px;
  color:var(--color-muted-foreground);
  scroll-snap-align:start;
  transition:transform .18s ease,color .18s ease;
}
.v107-creator:active{transform:scale(.96)}
.v107-creator.is-active{color:var(--color-foreground)}
.v107-ring{
  width:70px;height:70px;border-radius:999px;padding:3px;
  display:grid;place-items:center;
  background:conic-gradient(from 210deg,#ff1526,#a80716 42%,#303846 65%,#ff1526);
  box-shadow:0 0 0 3px rgba(239,29,45,.08);
}
.v107-creator.is-active .v107-ring{box-shadow:0 0 0 3px rgba(239,29,45,.28),0 10px 28px rgba(239,29,45,.18)}
.v107-ring>img,.v107-ring>.v107-initial,.v107-ring>.v107-all-icon{
  width:100%;height:100%;border-radius:999px;border:3px solid #090d13;
  object-fit:cover;background:#111823;display:grid;place-items:center;color:#fff;font-weight:900;
}
.v107-creator-name{width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;text-align:center}
.v107-creator small{font-size:9px;color:var(--color-muted-foreground)}
.v107-reel-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));
  gap:16px;
  align-items:start;
}
.v107-reel{
  position:relative;
  width:100%;
  max-width:430px;
  aspect-ratio:9/16;
  margin-inline:auto;
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.10);
  background:#05070a;
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}
.v107-reel>video{width:100%;height:100%;display:block;object-fit:cover;background:#000}
.v107-reel-shade{
  pointer-events:none;position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.50) 0%,rgba(0,0,0,0) 24%,rgba(0,0,0,0) 54%,rgba(0,0,0,.78) 100%);
}
.v107-reel-head{
  position:absolute;inset-inline:14px;top:14px;z-index:3;display:flex;align-items:center;gap:10px;
}
.v107-reel-head>img,.v107-reel-avatar-fallback{
  width:42px;height:42px;border-radius:999px;border:2px solid #ef1d2d;object-fit:cover;background:#111823;
}
.v107-reel-avatar-fallback{display:grid;place-items:center;color:#fff;font-weight:900}
.v107-featured{border-radius:999px;background:rgba(239,29,45,.90);padding:5px 8px;font-size:9px;font-weight:900;color:white}
.v107-reel-foot{position:absolute;inset-inline:14px;bottom:16px;z-index:3}
.v107-own-badge{
  display:inline-flex;align-items:center;gap:5px;border-radius:999px;
  border:1px solid rgba(239,29,45,.45);background:rgba(239,29,45,.14);
  padding:5px 9px;color:#ff5c68;font-size:10px;font-weight:900;
}
.v107-own-badge::before{content:"●";font-size:7px;color:#ef1d2d}
.v107-state{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900}
.v107-state.pending{background:rgba(245,158,11,.16);color:#fbbf24}
.v107-state.rejected{background:rgba(239,68,68,.16);color:#f87171}
.v107-state.hidden{background:rgba(148,163,184,.16);color:#cbd5e1}
.v107-delete-own{margin-top:8px;border:1px solid rgba(239,68,68,.35);border-radius:12px;padding:7px 10px;color:#f87171;font-size:10px;font-weight:900;background:rgba(239,68,68,.08)}
@media(max-width:640px){
  .v107-reel-grid{grid-template-columns:1fr}
  .v107-reel{max-width:390px;border-radius:22px}
  .v107-creator{flex-basis:76px}
  .v107-ring{width:64px;height:64px}
  .v107-creator-name{width:76px}
}

/* V108 — persistent Instagram-style top strip + intentional empty reel area */
.v107-creator .v107-ring{
  background:conic-gradient(from 205deg,#ff1d35 0deg,#ff1d35 95deg,#7f1524 150deg,#252d39 225deg,#ff1d35 360deg);
}
.v107-creator.is-active .v107-ring{
  transform:translateY(-2px);
}
.v107-all-icon{
  background:#111823!important;
}
.v108-empty-reels{
  min-height:260px;
  border:1px dashed color-mix(in oklab,var(--color-border) 88%,transparent);
  border-radius:26px;
  background:linear-gradient(180deg,color-mix(in oklab,var(--color-card) 90%,transparent),color-mix(in oklab,var(--color-background) 95%,transparent));
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  text-align:center;
  padding:28px;
}
.v108-empty-icon{
  width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(239,29,45,.12);
  border:1px solid rgba(239,29,45,.28);
  color:#ff3141;
  font-size:22px;
}
.v108-empty-reels h3{font-weight:900;font-size:16px}
.v108-empty-reels p{max-width:420px;color:var(--color-muted-foreground);font-size:11px;line-height:1.9}


/* =========================================================
   V109 — Instagram-style Story Popup
   ========================================================= */
.v109-stories-wrap{
  border:1px solid var(--color-border);
  background:color-mix(in oklab,var(--color-card) 92%,transparent);
  border-radius:24px;
  padding:14px 12px 12px;
  overflow:hidden;
}
.v109-stories-strip{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:12px 2px 4px;
  scroll-snap-type:x mandatory;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.v109-stories-strip::-webkit-scrollbar{display:none}
.v109-story-person{
  flex:0 0 80px;
  display:grid;
  justify-items:center;
  gap:5px;
  scroll-snap-align:start;
  color:var(--color-foreground);
}
.v109-story-person:active{transform:scale(.97)}
.v109-story-person b{
  width:80px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:center;
  font-size:11px;
  font-weight:900;
}
.v109-story-person small{
  font-size:9px;
  color:var(--color-muted-foreground);
}
.v109-story-ring{
  width:70px;
  height:70px;
  border-radius:999px;
  padding:3px;
  display:grid;
  place-items:center;
  background:#2a313c;
  box-shadow:0 0 0 1px rgba(255,255,255,.05);
}
.v109-story-ring.has-video{
  background:conic-gradient(from 215deg,#ff1d35,#ef1d2d 30%,#8f1422 55%,#2c3441 76%,#ff1d35);
  box-shadow:0 0 0 3px rgba(239,29,45,.10);
}
.v109-story-ring>img,
.v109-story-ring>.v109-story-initial,
.v109-story-ring>.v109-story-all-icon{
  width:100%;
  height:100%;
  border-radius:999px;
  border:3px solid #090d13;
  object-fit:cover;
  background:#111823;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:900;
}
.v109-story-person.is-mine .v109-story-ring.has-video{
  box-shadow:0 0 0 3px rgba(239,29,45,.28),0 10px 30px rgba(239,29,45,.18);
}
.v109-video-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.v109-video-tile{
  position:relative;
  display:block;
  aspect-ratio:9/14;
  overflow:hidden;
  border-radius:18px;
  border:1px solid var(--color-border);
  background:#05070a;
  text-align:right;
}
.v109-video-tile>video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:#000;
  pointer-events:none;
}
.v109-video-tile-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.12),rgba(0,0,0,0) 42%,rgba(0,0,0,.78));
}
.v109-video-tile-top{
  position:absolute;
  inset-inline:9px;
  top:9px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}
.v109-video-tile-play{
  width:30px;height:30px;border-radius:999px;
  display:grid;place-items:center;
  background:rgba(0,0,0,.56);
  color:#fff;
  backdrop-filter:blur(8px);
}
.v109-video-tile-bottom{
  position:absolute;
  inset-inline:10px;
  bottom:10px;
  color:#fff;
  display:grid;
  gap:3px;
}
.v109-video-tile-bottom b{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:11px;
  line-height:1.6;
}
.v109-video-tile-bottom small{
  opacity:.72;
  font-size:9px;
}

/* fullscreen / modal viewer */
.v109-story-overlay{
  position:fixed;
  inset:0;
  z-index:10050;
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.86);
  backdrop-filter:blur(12px);
  padding:0;
}
.v109-story-shell{
  position:relative;
  width:min(100%,430px);
  height:100dvh;
  max-height:920px;
  overflow:hidden;
  background:#020305;
  box-shadow:0 0 0 1px rgba(255,255,255,.08),0 30px 90px rgba(0,0,0,.55);
}
.v109-story-media{
  position:absolute;
  inset:0;
  background:#000;
}
.v109-story-media video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#000;
}
.v109-story-gradient{
  pointer-events:none;
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(to bottom,rgba(0,0,0,.62) 0%,rgba(0,0,0,.08) 18%,rgba(0,0,0,0) 52%,rgba(0,0,0,.78) 100%);
}
.v109-story-progress{
  position:absolute;
  z-index:8;
  top:max(10px,env(safe-area-inset-top));
  inset-inline:10px;
  display:flex;
  gap:4px;
}
.v109-story-progress-track{
  flex:1 1 0;
  height:3px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.30);
}
.v109-story-progress-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:#fff;
  transition:width .08s linear;
}
.v109-story-header{
  position:absolute;
  z-index:8;
  top:calc(max(10px,env(safe-area-inset-top)) + 15px);
  inset-inline:12px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#fff;
}
.v109-story-header>img,
.v109-story-avatar-fallback{
  width:40px;
  height:40px;
  border-radius:999px;
  border:2px solid #ef1d2d;
  object-fit:cover;
  background:#10151d;
}
.v109-story-avatar-fallback{
  display:grid;
  place-items:center;
  font-weight:900;
}
.v109-story-header p{
  font-size:12px;
  font-weight:900;
}
.v109-story-header small{
  font-size:9px;
  color:rgba(255,255,255,.70);
}
.v109-story-own{
  max-width:100px;
  border-radius:999px;
  border:1px solid rgba(239,29,45,.50);
  background:rgba(239,29,45,.18);
  padding:5px 8px;
  color:#ff737e;
  font-size:8px;
  font-weight:900;
  text-align:center;
}
.v109-story-close{
  width:34px;height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(0,0,0,.48);
  color:#fff;
  font-size:16px;
  backdrop-filter:blur(8px);
}
.v109-story-nav{
  position:absolute;
  z-index:6;
  top:18%;
  bottom:18%;
  width:28%;
  color:#fff;
  opacity:.65;
  font-size:18px;
}
.v109-story-nav:disabled{opacity:0;pointer-events:none}
.v109-story-prev{right:0;text-align:right;padding-right:12px}
.v109-story-next{left:0;text-align:left;padding-left:12px}
.v109-story-paused{
  position:absolute;
  z-index:7;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:62px;height:62px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.56);
  color:#fff;
  font-size:20px;
  backdrop-filter:blur(10px);
}
.v109-story-footer{
  position:absolute;
  z-index:8;
  bottom:max(18px,env(safe-area-inset-bottom));
  inset-inline:16px;
  color:#fff;
}
.v109-story-footer h3{
  font-size:16px;
  font-weight:900;
  line-height:1.5;
}
.v109-story-footer>p{
  margin-top:5px;
  max-width:90%;
  font-size:11px;
  line-height:1.8;
  color:rgba(255,255,255,.74);
}
.v109-story-tags{
  margin-top:8px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.v109-story-tags span{
  border-radius:999px;
  background:rgba(239,29,45,.86);
  padding:5px 8px;
  font-size:9px;
  font-weight:900;
}
.v109-story-tags .pending{background:rgba(245,158,11,.86)}
.v109-story-tags .rejected{background:rgba(220,38,38,.88)}
.v109-story-tags .hidden{background:rgba(71,85,105,.90)}
.v109-story-delete{
  margin-top:10px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  background:rgba(0,0,0,.34);
  padding:8px 11px;
  color:#fff;
  font-size:10px;
  font-weight:900;
}
@media(min-width:700px){
  .v109-story-overlay{padding:18px}
  .v109-story-shell{
    height:min(92dvh,900px);
    border-radius:28px;
  }
  .v109-video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:420px){
  .v109-story-person{flex-basis:74px}
  .v109-story-ring{width:64px;height:64px}
  .v109-story-person b{width:74px}
  .v109-story-shell{width:100%;height:100dvh;max-height:none}
}
