.member-photo-capture{border:1px solid #e2dbcf;border-radius:14px;padding:1rem;margin:1rem 0;grid-column:1/-1}[data-photo-current]{display:flex;gap:1rem;flex-wrap:wrap}.photo-review{width:76px;height:100px;object-fit:cover;border-radius:10px}.photo-dialog{width:min(94vw,650px);max-height:92dvh;overflow:auto;border:1px solid #d8c9b0;border-radius:18px;padding:1.3rem;background:#fff;color:#263248}.photo-dialog::backdrop{background:#100b0bc9}.photo-close{float:inline-end}.photo-file{display:block;margin:.8rem 0}.photo-file input{display:block;max-width:100%}.photo-stage{position:relative;aspect-ratio:3/4;width:min(100%,320px);margin:1rem auto;background:#222;overflow:hidden;border-radius:12px}.photo-stage video,.photo-stage canvas{width:100%;height:100%;object-fit:cover}.photo-stage video{transform:scaleX(-1)}.photo-oval{position:absolute;inset:12% 18%;border:3px dashed #f3ce62;border-radius:50%;pointer-events:none;box-shadow:0 0 0 100px #0004}.photo-stage:has(video[hidden]) .photo-oval{display:none}[data-photo-countdown]{position:absolute;inset:35% 0 auto;text-align:center;font-size:4rem;color:#fff;text-shadow:0 2px 8px #000}.photo-actions{display:flex;gap:.6rem;flex-wrap:wrap}.photo-dialog [hidden]{display:none!important}.member-photo-capture button{margin:.2rem}@media(prefers-reduced-motion:reduce){.photo-dialog *{animation:none!important;transition:none!important}}

.photo-current-wrap{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.85rem;margin:.4rem 0 .8rem}
.photo-current-img,.member-photo-capture .sc-photo-thumb{
  width:120px;height:160px;object-fit:cover;border-radius:16px;display:block;
  border:2px solid #d8c9b0;background:#f6f3ee;aspect-ratio:3/4;
}
.photo-current-empty{color:#5b6573;font-size:.85rem}
.photo-actions-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.35rem 0 .6rem}
.photo-crop{margin:1rem auto;width:min(100%,320px)}
.photo-crop-viewport{
  position:relative;aspect-ratio:3/4;width:100%;overflow:hidden;border-radius:12px;
  background:#1a1a1a;cursor:grab;touch-action:none;
}
.photo-crop-viewport:active{cursor:grabbing}
.photo-crop-viewport img{position:absolute;top:0;left:0;max-width:none;user-select:none;pointer-events:none}
.photo-crop-zoom{display:flex;align-items:center;gap:.6rem;margin:.6rem 0 .2rem;font-size:.85rem}
.photo-crop-zoom input{flex:1}
.photo-capture-compact{margin:0;padding:.2rem 0 .4rem;border:0}
.photo-capture-compact h3{display:none}
#main .sc-console .member-photo-capture{background:transparent;border-color:transparent;color:inherit;padding:0;margin:.2rem 0}
#main .sc-console .photo-current-img,#main .sc-console .sc-photo-thumb{border-color:var(--sc-aws-border,#414d5c)}
#main .sc-console .photo-dialog{background:#161d26;color:#e8edf5;border-color:#414d5c}
@media(max-width:640px){
  .photo-actions-row .btn{min-height:44px;flex:1 1 9rem}
  .photo-crop,.photo-stage{width:min(100%,100%)}
}
.photo-current-frame{position:relative;display:inline-block;width:120px;max-width:100%}
.photo-delete-icon{
  position:absolute;top:4px;right:4px;z-index:2;
  width:28px;height:28px;min-width:28px;min-height:28px;padding:0;margin:0;
  border:0;border-radius:50%;background:#1a1a1acc;color:#fff;
  display:grid;place-items:center;cursor:pointer;line-height:1;
}
.photo-delete-icon[hidden]{display:none !important}
.photo-delete-icon:hover,.photo-delete-icon:focus-visible{background:#b92327;outline:2px solid #fff;outline-offset:1px}
.photo-actions-compact{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0}
.photo-actions-compact .sc-photo-tool{
  display:inline-flex;align-items:center;gap:4px;margin:0;padding:0;border:0;
  background:transparent;color:inherit;font:600 11px/1.2 system-ui,sans-serif;cursor:pointer;
}
.photo-capture-compact [data-photo-status]:empty{display:none}
