/* 祝福回执卡片 + 弹幕 */
#hljDanmaku{
  position:fixed;
  inset:0;
  z-index:50;
  pointer-events:none;
  overflow:hidden;
}
body.hlj-gate-open #hljDanmaku{display:none}

#hljDanmaku .hlj-dm{
  position:absolute;
  left:100%;
  white-space:nowrap;
  font-family:"Noto Serif SC","Songti SC","PingFang SC",serif;
  font-weight:500;
  text-shadow:0 1px 2px rgba(255,250,240,.9), 0 0 1px rgba(90,40,30,.25);
  animation-name:hlj-dm-fly;
  animation-timing-function:linear;
  animation-fill-mode:forwards;
  opacity:.92;
}
#hljDanmaku .hlj-dm.is-me{
  font-weight:700;
  padding:2px 10px;
  border-radius:999px;
  background:rgba(255,248,236,.88);
  border:1px solid rgba(201,162,74,.55);
  box-shadow:0 4px 10px rgba(120,50,30,.12);
}
@keyframes hlj-dm-fly{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-100vw - 100%))}
}

#hljRsvp{
  display:none;
  box-sizing:border-box;
  font-family:"Noto Serif SC","Songti SC","PingFang SC",serif;
  padding:0;
  pointer-events:auto;
}
#hljRsvp.on{display:block}
#hljRsvp *{box-sizing:border-box}

.hlj-rsvp-card{
  padding:12px 12px 14px;
  border-radius:14px;
  border:1px solid rgba(201,162,74,.55);
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%,rgba(255,236,200,.55),transparent 60%),
    linear-gradient(180deg,#FFFDF8,#FFF6EA);
  box-shadow:
    0 10px 24px rgba(120,50,30,.12),
    inset 0 0 0 1px rgba(255,255,255,.65);
}

.hlj-rsvp-card-hd{
  text-align:center;
  margin-bottom:10px;
  padding-bottom:8px;
  border-bottom:1px dashed rgba(201,162,74,.45);
}
.hlj-rsvp-xi{
  width:28px;height:28px;margin:0 auto 4px;border-radius:50%;
  display:grid;place-items:center;
  font-size:14px;font-weight:700;color:#FFF4D8;
  background:radial-gradient(circle at 35% 30%,#E84840,#B01E1E 72%);
  border:1px solid rgba(224,184,78,.65);
}
.hlj-rsvp-title{
  font-size:16px;letter-spacing:.28em;color:#8F1E1E;font-weight:700;
}
.hlj-rsvp-sub{
  margin-top:3px;font-size:11px;letter-spacing:.16em;color:#A07860;
}

.hlj-rsvp-row{margin:0 0 8px}
.hlj-rsvp-label{
  display:block;
  margin:0 0 3px;
  font-size:11px;
  letter-spacing:.18em;
  color:#B01E1E;
}
.hlj-rsvp-input,
#hljRsvp textarea{
  display:block;
  width:100%;
  padding:8px 10px;
  border:1px solid rgba(245,151,20,.75);
  border-radius:8px;
  background:#fff;
  color:#404040;
  font-size:14px;
  line-height:1.35;
  font-family:inherit;
  outline:none;
  -webkit-appearance:none;
  appearance:none;
}
#hljRsvp textarea{
  min-height:46px;
  resize:none;
}
.hlj-rsvp-input::placeholder,
#hljRsvp textarea::placeholder{color:#b0a09a}
.hlj-rsvp-input:focus,
#hljRsvp textarea:focus{
  border-color:#C4922A;
  box-shadow:0 0 0 3px rgba(224,184,78,.22);
}

.hlj-rsvp-name-show{
  display:none;
  padding:8px 10px;
  border:1px solid rgba(245,151,20,.45);
  border-radius:8px;
  background:rgba(255,248,236,.95);
  color:#8F1E1E;
  font-size:14px;
  letter-spacing:.12em;
  font-weight:600;
}
.hlj-rsvp-name-row.has-to .hlj-rsvp-name-show{display:block}
.hlj-rsvp-name-row.has-to #hljRsvpName{display:none}

.hlj-rsvp-people{
  display:flex;
  align-items:center;
  gap:6px;
}
.hlj-rsvp-chip{
  flex:0 0 auto;
  min-width:52px;
  height:34px;
  padding:0 10px;
  border:1px solid rgba(245,151,20,.85);
  border-radius:8px;
  background:#fff;
  color:#6a4030;
  font-size:12px;
  letter-spacing:.06em;
  font-family:inherit;
  cursor:pointer;
}
.hlj-rsvp-chip.on{
  background:#B01E1E;
  border-color:#B01E1E;
  color:#fff;
}
.hlj-rsvp-chip-absent.on{
  background:#8a7a70;
  border-color:#8a7a70;
  color:#fff;
}
.hlj-rsvp-people-input{
  flex:1 1 auto;
  min-width:0;
  height:34px;
  padding-top:0;
  padding-bottom:0;
}

.hlj-rsvp-submit{
  display:block;
  width:100%;
  margin-top:4px;
  height:40px;
  border:0;
  border-radius:8px;
  background:linear-gradient(180deg,#D12A2A,#B01E1E);
  color:#fff;
  font-size:14px;
  letter-spacing:.28em;
  font-family:inherit;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(176,30,30,.22);
}
.hlj-rsvp-submit:disabled{
  opacity:.7;
  cursor:default;
}

.hlj-rsvp-tip{
  margin-top:6px;
  font-size:12px;
  letter-spacing:.08em;
  text-align:center;
}
.hlj-rsvp-tip.ok{color:#1f7a3a}
.hlj-rsvp-tip.err{color:#B01E1E}

body.hlj-gate-open #hljRsvp{visibility:hidden;pointer-events:none}
#hljBless{display:none!important}
