/* Public entrance only; actual private responses require server authorization. */
#replay { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.private-door { position: fixed; margin: auto; width: min(360px, calc(100vw - 48px)); max-height: calc(100dvh - 48px); padding: 56px 24px 28px; border: 0; border-radius: 0; color: #171717; background: #fff; font: 350 16px/1.4 'PP Mori', sans-serif; }
.private-door::backdrop { background: rgb(255 255 255 / .94); }
.private-close { position: absolute; top: 0; right: 0; width: 44px; height: 44px; display: grid; place-items: center; }
.private-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.25; }
.private-owner { font-size: 13px; }
.private-door h2 { margin: 12px 0 40px; font-size: 48px; line-height: 1; letter-spacing: -.045em; font-weight: 350; }
.private-sign-in { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 12px 0; border-top: 1px solid #bdbdbd; text-align: left; }
.private-sign-in:disabled { color: #626262; opacity: 1; cursor: not-allowed; }
.private-status { margin-top: 12px; font-size: 12px; color: #626262; }
.private-close:focus-visible { outline-offset: -4px; }
@media (prefers-reduced-motion: no-preference) {
  .private-door[open] { animation: private-arrive 220ms ease-out; }
  .private-door[open]::backdrop { animation: private-veil 220ms ease-out; }
  @keyframes private-arrive { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes private-veil { from { opacity: 0; } to { opacity: 1; } }
}
@media (forced-colors: active) { .private-door { background: Canvas; color: CanvasText; border: 1px solid CanvasText; } .private-door::backdrop { background: Canvas; } .private-status, .private-sign-in:disabled { color: GrayText; } }

.private-method { display: block; min-height: 44px; margin-top: 4px; padding: 10px 0; font-size: 13px; text-align: left; }
.private-method:hover, .private-method:focus-visible { color: #626262; }
.private-password-form label { display: block; margin-bottom: 8px; font-size: 13px; }
.private-password-field { display: flex; min-height: 48px; margin-bottom: 16px; border: 1px solid #777; }
.private-password-field input { width: 100%; min-width: 0; padding: 12px; border: 0; border-radius: 0; background: #fff; color: #171717; font: inherit; font-size: 16px; }
.private-password-field input:focus-visible { outline: 2px solid #171717; outline-offset: -3px; }
.private-password-visibility { min-width: 56px; min-height: 48px; padding: 8px; font-size: 12px; }
.private-password-visibility:focus-visible { outline-offset: -3px; }
@media (max-height: 440px) { .private-door { padding-top: 44px; } .private-door h2 { margin-bottom: 24px; font-size: 36px; } }
