/* DGC_PARTNER_GENERATION_V1 */
.dgc-partner-button{position:relative;border:0;background:transparent;color:#fff;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;filter:drop-shadow(0 2px 5px #0008)}
.dgc-partner-button .dgc-partner-people{font-size:29px;line-height:1}.dgc-partner-button .dgc-partner-star{position:absolute;right:2px;bottom:2px;font-size:15px;color:#ffd85c;text-shadow:0 1px 3px #000}
.dgc-partner-private-actions .dgc-partner-button{pointer-events:auto}.dgc-partner-private-actions{position:absolute;right:14px;top:52%;z-index:14;display:flex;flex-direction:column;gap:8px}
.dgc-partner-wrap{display:grid;gap:14px}.dgc-partner-source{width:min(240px,70vw);max-height:40vh;object-fit:cover;border-radius:16px;margin:auto;display:block}.dgc-partner-note{font-size:.9rem;opacity:.78}.dgc-partner-warning{font-size:.86rem;opacity:.8;border-left:3px solid #f4c95d;padding-left:10px}.dgc-partner-private{padding:10px 12px;border-radius:12px;background:#152019;border:1px solid #386648;font-size:.9rem}.dgc-partner-price{font-size:1.3rem;font-weight:800;text-align:center}.dgc-partner-keywords{display:grid;gap:8px}.dgc-partner-keywords input{width:100%;box-sizing:border-box}.dgc-partner-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dgc-partner-actions button{min-height:46px}.dgc-partner-confirm{display:flex;gap:8px;align-items:flex-start;font-size:.88rem}.dgc-partner-confirm input{margin-top:3px}.dgc-partner-qr{display:block;width:min(310px,78vw);height:auto;background:#fff;padding:8px;border-radius:12px;margin:8px auto}.dgc-partner-cam{display:grid;gap:10px}.dgc-partner-cam video{width:100%;max-height:58vh;border-radius:14px;background:#000;object-fit:cover}.dgc-partner-status{text-align:center;font-size:.92rem;opacity:.85}.dgc-partner-toast{position:fixed;z-index:10003;left:50%;bottom:82px;transform:translateX(-50%);max-width:min(92vw,520px);border:0;border-radius:14px;padding:12px 16px;background:#1c3022;color:#fff;box-shadow:0 8px 30px #0008}.dgc-partner-toast.error{background:#5a2026}.dgc-partner-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.dgc-partner-card{background:#11111b;border-radius:14px;overflow:hidden;border:1px solid #ffffff18}.dgc-partner-card img,.dgc-partner-card video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#050509;display:block}.dgc-partner-card p{padding:8px 10px;margin:0;font-size:.82rem}.dgc-partner-library-button{width:100%;margin-top:10px}
@media(max-width:700px){.dgc-partner-actions{grid-template-columns:1fr}.dgc-partner-private-actions{right:10px}.dgc-partner-button{width:44px;height:44px}.dgc-partner-button .dgc-partner-people{font-size:26px}}

/* DGC_PARTNER_BUTTON_SPACING_V1
   CSS-only: use the existing generation action holder; no DOM/JS changes. */
.dgc-generation-private-actions{gap:14px!important}


/* DGC_PORTRAIT_STUDIO_V1 */
.dgc-portrait-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.dgc-portrait-card{background:#11111b;border:1px solid #ffffff18;border-radius:14px;overflow:hidden}.dgc-portrait-card>img,.dgc-portrait-choice img{width:100%;aspect-ratio:3/4;object-fit:cover;background:#050509;display:block;cursor:zoom-in}.dgc-portrait-card-body{display:grid;gap:6px;padding:9px}.dgc-portrait-card-body>span{font-size:.8rem;opacity:.72}.dgc-portrait-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dgc-portrait-card-actions button{font-size:.78rem;padding:7px}.dgc-portrait-choice{display:grid;gap:6px;padding:0 0 8px;background:#11111b;color:#fff;border:1px solid #ffffff18;border-radius:14px;overflow:hidden;cursor:pointer}.dgc-portrait-choice span{padding:0 8px;font-size:.82rem}.dgc-partner-wrap select{width:100%;min-height:44px;box-sizing:border-box}.dgc-partner-library-button + .dgc-partner-library-button{margin-top:8px}
@media(max-width:700px){.dgc-portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dgc-portrait-card-actions{grid-template-columns:1fr}}
/* DGC_PARTNER_RESULT_ACTIONS_V1 */
.dgc-result-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;position:relative;z-index:2}.dgc-result-actions button{min-width:180px}
@media(max-width:700px){.dgc-result-actions{width:min(94vw,520px)}.dgc-result-actions button{flex:1 1 100%;min-width:0}}

/* DGC_PROFILE_PARTNER_ICON_FIX_V1 */
.dgc-partner-button{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:none!important;
  filter:none!important;
}
.dgc-partner-button .dgc-partner-icon{
  width:38px!important;
  height:38px!important;
  display:block!important;
  object-fit:contain!important;
  border-radius:10px!important;
  pointer-events:none!important;
}
.dgc-partner-button .dgc-partner-people,
.dgc-partner-button .dgc-partner-star{
  display:none!important;
}
@media (max-width:699px){
  .dgc-partner-button{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }
  .dgc-partner-button .dgc-partner-icon{
    width:38px!important;
    height:38px!important;
  }
}

/* DGC_PROFILE_PARTNER_ICON_POSITION_FIX_V1_2
   Existing icon stays unchanged. Only align its box/position with user-generation icons. */
.dgc-generation-private-actions .dgc-partner-button{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  box-shadow:none!important;
  pointer-events:auto!important;
}
.dgc-generation-private-actions .dgc-partner-button .dgc-partner-icon{
  width:38px!important;
  height:38px!important;
  display:block!important;
  object-fit:contain!important;
  margin:0!important;
  pointer-events:none!important;
}
/* Fallback holder, if a slide has no generation holder yet: align to the same anchor. */
.dgc-partner-private-actions{
  right:max(12px,env(safe-area-inset-right))!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:28!important;
  gap:10px!important;
}
.dgc-partner-private-actions .dgc-partner-button{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
}
.dgc-partner-private-actions .dgc-partner-button .dgc-partner-icon{
  width:38px!important;
  height:38px!important;
  display:block!important;
  object-fit:contain!important;
  margin:0!important;
}

/* DGC_PROFILE_ACTION_ORDER_FIX_V1_3_1
   Visual order only: image -> video -> partner.
   Existing icons, click handlers and mouse-return fix stay unchanged. */
.dgc-generation-private-actions{
  gap:10px!important;
}
.dgc-generation-private-actions .dgc-generation-image{
  order:1!important;
}
.dgc-generation-private-actions .dgc-generation-video{
  order:2!important;
}
.dgc-generation-private-actions .dgc-partner-button{
  order:3!important;
}
.dgc-partner-private-actions{
  gap:10px!important;
}

/* DGC_PROFILE_VIEWER_SIDE_ACTION_ORDER_FIX_V1_4
   Actual profile viewer uses .side-actions.
   Preserve all icons/handlers; force generation order image -> video -> partner. */
#viewer-scroll .post .side-actions .dgc-generation-image,
article.post[data-scope="profile"] .side-actions .dgc-generation-image{
  order:100!important;
}
#viewer-scroll .post .side-actions .dgc-generation-video,
article.post[data-scope="profile"] .side-actions .dgc-generation-video{
  order:101!important;
}
#viewer-scroll .post .side-actions .dgc-partner-button,
article.post[data-scope="profile"] .side-actions .dgc-partner-button{
  order:102!important;
}
/* Same outer box gives the three generated-media actions the same spacing rhythm. */
#viewer-scroll .post .side-actions .dgc-generation-button,
#viewer-scroll .post .side-actions .dgc-partner-button,
article.post[data-scope="profile"] .side-actions .dgc-generation-button,
article.post[data-scope="profile"] .side-actions .dgc-partner-button{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  flex:0 0 42px!important;
}
