/* Sign-in screen for the standalone Nice Drop */
html.nd-locked, html.nd-locked body { overflow: hidden; }
.nd-signin { position: fixed; inset: 0; z-index: 200; background: #F7F1E3; color: #231B18; display: grid; place-items: center; overflow-y: auto;
  padding: max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom)); }
.nd-si-in { width: 100%; max-width: 380px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; }
.nd-si-logo svg { height: 132px; width: auto; display: block; margin: 0 auto 6px; }
.nd-signin h1 { margin: 0; font: 600 2.25rem/1.05 Fraunces, Georgia, serif; font-variation-settings: "SOFT" 100, "WONK" 1; letter-spacing: -.01em; }
.nd-signin h1 i { color: #651F2A; font-weight: 500; }
.nd-si-sub { margin: 0; font: 400 1rem/1.5 "DM Sans", system-ui, sans-serif; color: #5C514A; max-width: 32ch; }
.nd-si-msg { font: 500 .9375rem/1.4 "DM Sans", system-ui, sans-serif; background: #FFFCF5; border: 1px solid #E2D8C4; border-radius: 14px; padding: 12px 14px; width: 100%; }
.nd-si-msg[hidden] { display: none; }
.nd-si-btns { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 10px; min-height: 48px; margin-top: 8px; }
.nd-si-fine { margin: 6px 0 0; font: 400 .8125rem/1.5 "DM Sans", system-ui, sans-serif; color: #8B8077; }
@media (prefers-reduced-motion: no-preference) {
  .nd-si-in > * { animation: nd-si-rise .6s cubic-bezier(.2,.8,.2,1) both; }
  .nd-si-in > :nth-child(2) { animation-delay: .06s; } .nd-si-in > :nth-child(3) { animation-delay: .12s; }
  .nd-si-in > :nth-child(5) { animation-delay: .18s; } .nd-si-in > :nth-child(6) { animation-delay: .24s; }
  @keyframes nd-si-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
}

/* Signing in: a big, obvious state with a glass that fills */
.nd-signin.is-busy .nd-si-btns, .nd-signin.is-busy .nd-si-fine, .nd-signin.is-busy .nd-si-sub { display: none; }
.nd-si-busy { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 100%; background: #FFFCF5; border: 1px solid #E2D8C4; border-radius: 22px; padding: 22px 18px 20px; margin-top: 6px; }
.nd-si-busy[hidden] { display: none; }
.nd-si-busy b { font: 600 1.375rem/1.2 Fraunces, Georgia, serif; color: #231B18; }
.nd-si-busy span { font: 400 .9375rem/1.45 "DM Sans", system-ui, sans-serif; color: #5C514A; }
.nd-si-glass { width: 56px; height: 84px; margin-bottom: 6px; }
.nd-si-wine { fill: #7A1E2B; transform-origin: 32px 52px; animation: nd-si-pour 1.6s cubic-bezier(.5,0,.3,1) infinite alternate; }
@keyframes nd-si-pour { from { transform: scaleY(.15); } to { transform: scaleY(1); } }
@media (prefers-reduced-motion: reduce) { .nd-si-wine { animation: none; transform: scaleY(.6); } }

/* Invite link buttons (Friends tab and You & Nice Drop) */
.nd-invite-actions { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
.nd-invite-actions .btn { flex: 1 1 140px; height: auto; min-height: 48px; justify-content: center; }
.nd-invite-url { flex-basis: 100%; margin: 2px 0 0; font: 400 .8125rem/1.4 "DM Mono", ui-monospace, monospace; color: #8B8077; word-break: break-all; }
.invite-card { margin-top: 18px; padding: 22px 20px; }
.invite-card h3 { margin: 0 0 4px; }
.invite-card p.muted { margin: 0; }
