.conversation-bubble-v2:has(.photo-vault) { padding: 0 !important; border: 0; background: none !important; box-shadow: none; overflow: visible; }
.photo-message-locked.photo-vault {
  --vault-paper: #e9eddf; --vault-flap: #f1f4e8; --vault-seam: #dce2cf; --vault-seal: #536746;
  position: relative; isolation: isolate; display: block; width: min(202px, calc(100vw - 76px)); height: 120px;
  min-height: 120px; padding: 0; border: 1px solid var(--vault-seam); border-radius: 20px; overflow: hidden;
  color: #34422d; background: var(--vault-paper); box-shadow: 0 4px 12px #26301e05;
  text-align: left; white-space: normal; touch-action: manipulation; font-family: var(--pager-ui-font); cursor: default;
}
html:not([data-pager-theme="light"]) .photo-vault {
  --vault-paper: #20291e; --vault-flap: #293325; --vault-seam: #35422e; --vault-seal: #cbd7a6;
  color: #e1e8ca; box-shadow: none;
}
.photo-vault:has(.photo-vault-trigger:focus-visible) { outline: 2px solid var(--pt-accent); outline-offset: 4px; }
.photo-vault-lid, .photo-vault-clasp, .photo-vault-copy, .photo-vault-light { pointer-events: none; }
.photo-vault-trigger { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; }
.photo-vault-lid { position: absolute; inset: 0; transform-origin: center top; background: linear-gradient(150deg, var(--vault-flap), var(--vault-paper) 75%); }
.photo-vault-clasp { position: absolute; display: grid; place-items: center; width: 30px; height: 30px; top: 26px; left: calc(50% - 15px); color: var(--vault-seal); }
.photo-vault-clasp svg { width: 30px; height: 30px; stroke-width: 1.5; }
.photo-vault-copy { position: absolute; left: 12px; right: 12px; bottom: 22px; text-align: center; font: 500 16px/1.25 var(--pager-ui-font); letter-spacing: -.015em; }
.photo-vault-light { position: absolute; inset: 10px; border-radius: 18px; background: radial-gradient(ellipse at 50% 15%, #fffad8, #e6f4b322 75%); opacity: 0; }
.conversation-bubble-v2:has(.photo-vault) > .conversation-meta-v2 { position: static !important; margin: 6px 8px 0 !important; padding: 0; color: var(--pt-muted) !important; }
.photo-vault-trigger[hidden], .photo-vault-form[hidden] { display: none !important; }
.photo-vault-form { position: absolute; left: 14px; right: 14px; bottom: 14px; margin: 0; padding: 0; }
.photo-vault-input-row { display: flex; align-items: center; gap: 10px; height: 44px; }
.photo-vault-input { box-sizing: border-box; flex: 1; min-width: 0; width: 0; height: 44px; border: 1px solid #ced6c1; background: #f7f9f1; color: inherit; border-radius: 12px; padding: 0 11px; font: 400 16px/1.3 var(--pager-ui-font); caret-color: var(--pt-accent) !important; outline: none; }
html:not([data-pager-theme="light"]) .photo-vault-input { border-color: #3a4b32; background: #172014; }
.photo-vault-input:focus { border-color: #8b9f73; }
.photo-vault-input::placeholder { color: #6b775f; }
html:not([data-pager-theme="light"]) .photo-vault-input::placeholder { color: #a2ad96; }
.photo-vault-status { height: 20px; margin: 0 0 12px; padding-left: 28px; font: 500 14px/20px var(--pager-ui-font); color: inherit; white-space: nowrap; letter-spacing: -.01em; }
.photo-vault-status.is-error { color: #985344; }
html:not([data-pager-theme="light"]) .photo-vault-status.is-error { color: #d7a094; }
.photo-vault-check { position: relative; flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center; margin: 0; padding: 0; border: 0; background: none; color: var(--vault-seal); border-radius: 0; cursor: pointer; }
.photo-vault-check svg { position: relative; width: 18px; height: 18px; stroke-width: 2; color: inherit; }
.photo-vault-check:focus-visible { outline: 2px solid var(--pt-accent); outline-offset: -2px; }
.photo-vault-check:disabled { opacity: .5; cursor: default; }
.photo-vault[aria-busy="true"] .photo-vault-check svg { opacity: 0; }
.photo-vault[aria-busy="true"] .photo-vault-check::after { content: ''; width: 15px; height: 15px; position: absolute; border: 1.5px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: photo-vault-wait .8s linear infinite; }
@keyframes photo-vault-wait { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .photo-vault[aria-busy="true"] .photo-vault-check::after { animation: none; } }
