/* =========================================================
   生活页 — 拍立得风格
   ========================================================= */

.page-life{background:
  radial-gradient(1000px 560px at 14% -6%, #fff6e6 0%, rgba(255,246,230,0) 60%),
  radial-gradient(820px 520px at 88% 4%, #ffeef4 0%, rgba(255,238,244,0) 58%),
  radial-gradient(760px 600px at 50% 104%, #eaf2ff 0%, rgba(234,242,255,0) 60%),
  var(--paper);
}
.page-life .topnav a.is-on{
  color:var(--ink);background:#fff;
  border:1.5px solid var(--ink);border-radius:999px;
  padding:5px 13px;box-shadow:2px 2px 0 var(--ink);
}
.page-life .footer__right a{text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:1px}

/* 粉色马克笔 */
.hl--pink::after{
  background:#ff9ec2;
  background-image:repeating-linear-gradient(102deg,rgba(255,255,255,.26) 0 2px,rgba(255,255,255,0) 2px 9px);
}

/* ---------------- 头部 ---------------- */
.lifehead{
  max-width:var(--maxw);margin:0 auto;padding:clamp(34px,6vw,72px) clamp(18px,4vw,48px) 8px;
}
.lifehead__kicker{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;color:var(--red);margin:0 0 14px;
}
.lifehead__title{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(30px,6vw,64px);line-height:1.2;letter-spacing:.02em;margin:0 0 18px;
}
.lifehead__note{
  font-size:15px;line-height:1.95;color:var(--ink-soft);margin:0;max-width:46ch;
}
.lifehead__hint{
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;color:var(--ink);
  border-bottom:1.5px dashed rgba(22,19,13,.4);
}

/* ---------------- 拍立得墙 ---------------- */
.lifewall{
  max-width:var(--maxw);margin:0 auto;padding:clamp(24px,4vw,46px) clamp(18px,4vw,48px) clamp(50px,8vw,110px);
}
.lifewall__grid{columns:3;column-gap:30px}

.polaroid{
  break-inside:avoid;-webkit-column-break-inside:avoid;
  margin:0 0 30px;position:relative;
  background:#fffdf7;border:1.5px solid var(--ink);border-radius:2px;
  padding:12px 12px 0;
  box-shadow:5px 6px 0 rgba(22,19,13,.9),0 18px 34px -20px rgba(22,19,13,.55);
  transform:rotate(var(--rot,0deg));
  transition:transform .3s cubic-bezier(.2,.9,.25,1),box-shadow .3s;
  cursor:pointer;display:block;width:100%;text-align:left;
  font-family:inherit;color:inherit;
}
.polaroid:hover,.polaroid:focus-visible{
  transform:rotate(0deg) translateY(-6px) scale(1.02);
  box-shadow:7px 9px 0 rgba(22,19,13,.9),0 24px 44px -18px rgba(22,19,13,.5);
  outline:none;
}
/* 胶带：用流式定位（负边距压在卡片上沿），避免 multicol 里绝对定位被复制成孤儿 */
.polaroid__tape{
  position:relative;display:block;
  width:78px;height:26px;
  margin:-16px auto -6px;
  transform:rotate(-2.5deg);
  background:rgba(255,224,138,.72);border-left:1px dashed rgba(22,19,13,.18);border-right:1px dashed rgba(22,19,13,.18);
  box-shadow:0 2px 5px -2px rgba(22,19,13,.5);
}
.polaroid__photo{
  position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;
  background:
    repeating-linear-gradient(45deg,rgba(22,19,13,.05) 0 12px,transparent 12px 24px),
    #f1ece1;
  border:1px solid rgba(22,19,13,.22);
}
.polaroid__photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(.92) contrast(1.03);
  transition:filter .35s,transform .5s;
}
.polaroid:hover .polaroid__photo img{filter:saturate(1.06) contrast(1.05);transform:scale(1.04)}
.polaroid__photo--empty{
  display:grid;place-items:center;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--ink-soft);
}

/* 没有照片时：一张「纸条」 */
.polaroid--note{background:#fffdf7}
.polaroid--note .polaroid__paper{
  padding:20px 16px 22px;min-height:150px;
  background-image:
    repeating-linear-gradient(transparent 0 27px,rgba(47,92,255,.13) 27px 28px);
  background-position:0 6px;
}
.polaroid--note .polaroid__cap{
  border-bottom:none;padding-bottom:2px;
  font-size:17px;line-height:1.6;color:var(--ink);margin-top:10px;
}

.polaroid__cap{
  font-family:var(--font-hand,var(--font-display));
  font-size:16px;line-height:1.5;color:var(--ink);
  padding:11px 2px 4px;min-height:26px;
  border-bottom:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.polaroid__foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:6px 2px 14px;
}
.polaroid__date{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;color:var(--red);
}
.polaroid__tag{
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;color:var(--ink-soft);
  border:1px solid rgba(22,19,13,.4);border-radius:999px;padding:2px 8px;
}

/* 空状态 */
.life__loading,.life__empty{
  column-span:all;
  font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;color:var(--ink-soft);
  text-align:center;padding:44px 10px;
}
.life__empty b{
  display:block;font-family:var(--font-display);font-size:24px;letter-spacing:.04em;
  color:var(--ink);margin-bottom:12px;font-weight:400;
}
.life__empty code{
  font-family:var(--font-mono);font-size:12px;background:#fff;
  border:1px solid var(--ink);border-radius:3px;padding:1px 6px;
}

/* ---------------- 详情弹窗 ---------------- */
.modal__win--life{width:min(720px,94vw)}
.lifeview{display:flex;flex-direction:column;gap:18px}
.lifeview__photo{
  width:auto;max-width:100%;max-height:52vh;display:block;margin:0 auto;
  background:#f1ece1;
  border:1.5px solid var(--ink);border-radius:3px;
}
.lifeview__date{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--red);
}
.lifeview__cap{
  font-family:var(--font-hand,var(--font-display));font-size:22px;line-height:1.5;margin:0;
}
.lifeview__text{
  margin:0;font-size:15px;line-height:2;color:var(--ink-soft);white-space:pre-wrap;word-break:break-word;
}
.lifeview__text:empty{display:none}

/* ---------------- 响应式 ---------------- */
@media (max-width:1000px){
  .lifewall__grid{columns:2;column-gap:22px}
}
@media (max-width:640px){
  .lifewall__grid{columns:2;column-gap:14px}
  .polaroid{margin-bottom:18px;padding:8px 8px 0}
  .polaroid__tape{width:56px;height:20px;margin:-12px auto -4px}
  .polaroid__cap{font-size:13px;padding:8px 1px 3px}
  .polaroid__foot{padding:4px 1px 10px;flex-wrap:wrap;gap:4px}
  .polaroid__date{font-size:9px;letter-spacing:.08em}
  .polaroid__tag{font-size:8.5px;padding:1px 6px}
  .lifehead__title{font-size:30px}
}
