.birthday-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;background:rgba(8,24,40,.68);backdrop-filter:blur(5px)}
.birthday-card{position:relative;width:min(100%,480px);padding:34px 28px 26px;text-align:center;border:1px solid #e8d9ad;border-radius:24px;background:radial-gradient(circle at top,#fff9e9,#fff 58%);box-shadow:0 24px 80px rgba(0,0,0,.28);color:#173650}
.birthday-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:28px;color:#607487;cursor:pointer}
.birthday-emoji{font-size:42px;letter-spacing:8px;margin-bottom:12px}
.birthday-card h2{margin:0 0 8px;font-size:1.65rem;color:#9b6b18}
.birthday-name{font-size:1.1rem;font-weight:800;margin:0 0 16px}
.birthday-message{white-space:pre-wrap;line-height:1.8;margin:0 auto 20px;max-width:370px;color:#38536a}
.birthday-card small{display:block;color:#6e7d89;margin-bottom:20px}
.birthday-dismiss{border:0;border-radius:999px;background:#173e5d;color:#fff;padding:11px 28px;font:inherit;font-weight:700;cursor:pointer}
@media(max-width:480px){.birthday-card{padding:30px 18px 22px}.birthday-card h2{font-size:1.35rem}}

.birthday-name-list{max-height:180px;overflow:auto;margin:8px auto 16px;padding:8px 10px;border:1px solid #efe4c7;border-radius:12px;background:rgba(255,255,255,.72)}.birthday-name-list .birthday-name{font-size:1rem;margin:6px 0;padding:4px 0}.birthday-name-list .birthday-name+.birthday-name{border-top:1px solid #eee4cf;padding-top:9px}
