/* ============================================================
   回信墙：书架入口 + 面板 + 时间线
   ============================================================ */
.mailbox-entry{
  display:inline-flex;align-items:center;gap:6px;
  margin-left:12px;padding:4px 16px;border-radius:999px;
  border:1px solid rgba(226,103,143,.45);
  background:rgba(255,255,255,.55);
  color:var(--rose,#e2678f);font-size:13px;letter-spacing:.08em;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:background .2s, transform .15s;
  position:relative;
}
.mailbox-entry:hover{background:#fff;transform:translateY(-1px)}
.mailbox-entry:focus-visible{outline:2px dashed var(--rose);outline-offset:3px}
.mailbox-entry.has-new{border-color:#f194b4;background:#fff0f5}
.me-badge{
  display:inline-block;width:8px;height:8px;border-radius:50%;
  background:#f0567a;box-shadow:0 0 6px rgba(240,86,122,.8);
}

.mailbox-panel{
  position:fixed;inset:0;z-index:40;
  display:flex;align-items:center;justify-content:center;
  background:rgba(60,30,40,.55);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.mailbox-panel[hidden]{display:none !important}
.mb-box{
  width:min(440px, 92vw);
  height:min(74dvh, 620px);
  display:flex;flex-direction:column;
  background:var(--paper,#fffdf8);
  border-radius:18px;
  box-shadow:0 30px 80px -20px rgba(var(--shadow-rgba,160,70,105),.5);
  overflow:hidden;
}
.mb-head{
  display:flex;align-items:baseline;gap:10px;
  padding:16px 18px 10px;
  border-bottom:1px solid #f3dbe4;
  position:relative;
}
.mb-head b{
  font-family:"Songti SC","STSong","Noto Serif SC",serif;
  font-size:17px;color:var(--rose-deep,#c2476f);letter-spacing:.1em;
}
.mb-sub{font-size:10.5px;color:#c08aa0;letter-spacing:.12em}
.mb-close{
  position:absolute;right:12px;top:12px;
  width:32px;height:32px;border-radius:50%;
  border:1px solid rgba(194,80,120,.3);background:rgba(255,255,255,.7);
  color:#b05576;font-size:16px;cursor:pointer;
  display:grid;place-items:center;line-height:1;
}
.mb-close:hover{background:#fff}

.mb-log{
  flex:1;overflow-y:auto;
  display:flex;flex-direction:column;gap:10px;
  padding:14px 16px;
  background-image:repeating-linear-gradient(transparent,transparent 26px,rgba(233,190,208,.12) 27px);
}
.mb-empty{text-align:center;color:#c08aa0;font-size:13px;padding:30px 0;letter-spacing:.08em}

.mb-msg{max-width:86%}
.mb-msg .mb-meta{font-size:10.5px;color:#c08aa0;letter-spacing:.06em;margin-bottom:3px}
.mb-msg .mb-text{
  padding:10px 13px;border-radius:12px;
  font-size:14px;line-height:1.8;letter-spacing:.02em;
  white-space:pre-wrap;word-break:break-word;
}
.mb-user{align-self:flex-end;text-align:right}
.mb-user .mb-text{
  background:linear-gradient(135deg,#f194b4,#e2678f);
  color:#fff;border-bottom-right-radius:3px;
}
.mb-user .mb-meta{color:#d98aa5}
.mb-his{align-self:flex-start}
.mb-his .mb-text{
  background:#fff3f7;border:1px solid #f3dbe4;
  color:var(--ink,#6b3f4e);border-bottom-left-radius:3px;
}
.mb-his .mb-meta{color:#8fe0bd}

.mb-inputrow{display:flex;gap:8px;padding:10px 14px 4px;border-top:1px solid #f3dbe4}
.mb-inputrow input{
  flex:1;border-radius:12px;border:1px solid rgba(194,80,120,.3);
  background:#fff;color:var(--ink,#6b3f4e);
  font-size:13.5px;padding:10px 12px;font-family:inherit;
}
.mb-inputrow input:focus{outline:none;border-color:var(--rose)}
.mb-inputrow input::placeholder{color:#d8aab9}
.mb-inputrow button{
  border:0;border-radius:12px;padding:0 18px;cursor:pointer;
  background:linear-gradient(90deg,#ffd27a,#f194b4);
  color:#5a2f45;font-size:13px;font-weight:600;letter-spacing:.04em;
  -webkit-tap-highlight-color:transparent;
}
.mb-inputrow button:disabled{opacity:.5}
.mb-quota{
  padding:4px 16px 10px;font-size:10px;color:#c9a3b3;text-align:right;letter-spacing:.06em;
}

/* 信纸尾部的回信按钮 */
.reseal.reply{
  margin-left:12px;
  border-color:rgba(241,148,180,.55);
  color:#e2678f;
}
@media (max-width:480px){
  .reseal.reply{display:block;margin:12px auto 0}
}
