.birthday-entry { margin: 0 0 20px; padding: 20px; border: 1px solid #d9c9b8; background: var(--paper,#fbf8f1); color: #302a25; }
.birthday-entry[hidden] { display: none; }
.birthday-entry__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.birthday-entry__head p { margin: 0; color: #8d4d3e; font-size: 12px; letter-spacing: .08em; }
.birthday-entry__head h2 { margin: 4px 0 0; font: 500 24px/1.35 var(--serif,Georgia,serif); }
.birthday-entry__note { margin: 9px 0 0; color: #6d6055; font-size: 13px; line-height: 1.7; }
.birthday-entry__badges { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0 14px; }
.birthday-entry__badge { display: grid; grid-template-columns: 72px minmax(0,1fr); align-items: center; gap: 10px; min-width: min(100%, 260px); }
.birthday-entry__badge .birthday-badge { width: 72px; height: 72px; }
.birthday-entry__badge strong { display: block; font: 500 16px/1.35 var(--serif,Georgia,serif); }
.birthday-entry__badge small { display: block; margin-top: 3px; color: #786c60; line-height: 1.5; }
.birthday-entry__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.birthday-entry__button, .birthday-dialog__button { border: 1px solid #8d4d3e; background: #8d4d3e; color: #fff; padding: 10px 16px; cursor: pointer; font: inherit; }
.birthday-entry__button:hover, .birthday-dialog__button:hover { background: #713d32; }
.birthday-entry__link { color: #765643; font-size: 13px; }
.birthday-entry__status { margin: 10px 0 0; color: #8d4d3e; font-size: 13px; }
.birthday-badge { display: block; width: 72px; height: 72px; overflow: visible; color: #5d5148; }
.birthday-dialog { width: min(560px, calc(100vw - 28px)); max-height: min(760px, calc(100vh - 28px)); padding: 0; border: 1px solid #cbb9a5; background: #fbf8f1; color: #302a25; box-shadow: 0 22px 70px rgba(47,35,25,.24); }
.birthday-dialog::backdrop { background: rgba(35,28,23,.48); }
.birthday-dialog__inner { padding: 24px; }
.birthday-dialog__close { float: right; border: 0; background: transparent; color: #76695d; font-size: 24px; cursor: pointer; line-height: 1; }
.birthday-dialog__kicker { margin: 0; color: #8d4d3e; font-size: 12px; letter-spacing: .1em; }
.birthday-dialog h2 { margin: 5px 36px 0 0; font: 500 28px/1.35 var(--serif,Georgia,serif); }
.birthday-dialog__copy { margin: 10px 0 16px; color: #6d6055; line-height: 1.75; }
.birthday-dialog__badges { display: flex; gap: 14px; flex-wrap: wrap; margin: 0 0 18px; }
.birthday-dialog__badge { display: grid; justify-items: center; gap: 6px; min-width: 92px; text-align: center; }
.birthday-dialog__badge .birthday-badge { width: 92px; height: 92px; }
.birthday-dialog__badge span { font-size: 13px; }
.birthday-dialog__note { margin: 10px 0 0; color: #806d5b; font-size: 12px; line-height: 1.6; }
.birthday-dialog__blessing { margin-top: 18px; padding-top: 18px; border-top: 1px solid #ded4c6; }
.birthday-dialog__blessing[hidden] { display: none; }
@media (max-width: 480px) {
  .birthday-entry { padding: 16px; }
  .birthday-entry__head h2 { font-size: 21px; }
  .birthday-dialog__inner { padding: 19px; }
}
