/* ============================================================
   迭代3(无素材部分) · 打卡海报 + 卧室多套方案
   ============================================================ */

/* ---------- 打卡海报 ---------- */
.poster-card{ width:min(400px,92vw); }
.poster-img{ width:100%; border-radius:18px; box-shadow:0 12px 34px rgba(180,90,150,.3); display:block; margin-bottom:14px; }
a.day-btn{ display:block; text-decoration:none; text-align:center; box-sizing:border-box; }

/* ---------- 卧室方案工具条 ---------- */
.preset-bar{ display:flex; gap:10px; justify-content:center; margin:0 0 12px; flex-wrap:wrap; }
.preset-tool{
  border:none; border-radius:14px; padding:8px 16px; font-size:13px; font-weight:800; cursor:pointer;
  color:#fff; background:linear-gradient(180deg,#ffb0d8,#ff7fb8); box-shadow:0 5px 14px rgba(255,127,184,.38);
}
.preset-tool:active{ transform:translateY(1px); }

/* ---------- 方案管理列表 ---------- */
.preset-list{ display:flex; flex-direction:column; gap:8px; margin:6px 0 2px; }
.preset-row{ display:flex; align-items:center; gap:8px; padding:9px 12px; border-radius:13px;
  background:linear-gradient(180deg,#fff7fb,#fff0f6); border:1.5px solid #ffdcea; }
.preset-row .pr-name{ flex:1; text-align:left; font-size:14px; font-weight:700; color:#8a4670; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.preset-row .pr-cnt{ flex:0 0 auto; font-size:11px; color:#a08088; }
.pr-btn{ flex:0 0 auto; border:none; border-radius:10px; padding:5px 12px; font-size:12px; font-weight:800; cursor:pointer; }
.pr-btn.apply{ color:#fff; background:linear-gradient(180deg,#c9a0f0,#a97fe0); }
.pr-btn.del{ color:#d6648a; background:#fff2f8; border:1.5px solid #ffd0e0; }

/* ---------- 随身小精灵 ---------- */
.pet-companion{ display:none; position:fixed; left:14px; bottom:calc(84px + env(safe-area-inset-bottom)); z-index:45; width:66px; cursor:pointer; }
body.on-adventure .pet-companion{ display:block; }
.pet-companion .pet-img{ width:66px; height:66px; object-fit:contain; animation:petFloat 3s ease-in-out infinite; filter:drop-shadow(0 4px 8px rgba(180,120,200,.35)); }
@keyframes petFloat{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-8px) } }
.pet-bubble{
  position:absolute; left:60px; bottom:34px; max-width:150px; padding:7px 12px; border-radius:14px 14px 14px 4px;
  background:rgba(255,255,255,.95); color:#8a4670; font-size:12px; font-weight:700; line-height:1.4;
  box-shadow:0 4px 14px rgba(255,130,185,.3); border:1px solid rgba(255,190,215,.7);
  opacity:0; transform:translateY(6px) scale(.9); transform-origin:left bottom; transition:.2s; pointer-events:none; white-space:normal;
}
.pet-bubble.show{ opacity:1; transform:none; }

/* 小精灵选择 */
.pet-pick{ display:flex; gap:12px; justify-content:center; margin:8px 0 4px; }
.pet-opt{ flex:1; max-width:100px; border-radius:18px; padding:10px 4px; cursor:pointer; background:#fff7fb; border:3px solid transparent; transition:.15s; }
.pet-opt img{ width:56px; height:56px; object-fit:contain; }
.pet-opt span{ display:block; margin-top:4px; font-size:13px; font-weight:800; color:#a24672; }
.pet-opt.sel{ border-color:#ff7fb8; background:#ffe6f1; box-shadow:0 0 0 2px #ffb6d5; }
