/* ---------- セーブ（手帳のページ） ---------- */
.save-screen { color: var(--ink); }
.save-book {
  position: absolute; left: 330px; top: 50%; translate: 0 -50%; width: 1180px; padding: 40px 56px 36px 110px;
  background:
    linear-gradient(90deg, transparent 84px, var(--pink) 84px 86px, transparent 86px),
    var(--paper);
  border-radius: 8px var(--radius) var(--radius) 8px; box-shadow: var(--pop-lg);
}
/* リングとじ */
.save-book .rings {
  position: absolute; left: -22px; top: 40px; bottom: 40px; width: 56px;
  background: radial-gradient(circle at 36px 50%, var(--paper-2) 9px, var(--line) 9px 11.5px, transparent 12px) 0 0 / 56px 64px space;
}
.save-head { display: flex; align-items: center; gap: 16px; margin-bottom: 26px; }
.save-head .hico { width: 82px; height: 82px; clip-path: inset(0 5% 0 0); } /* ic_save.webp の右端に残った切れ端を隠す */
.save-head .heading { font-size: 42px; }
.save-head .date { margin-left: auto; font-size: 22px; color: var(--ink-2); border-bottom: 2px solid var(--line-soft); padding: 0 6px 2px; }

.slot-list { display: flex; flex-direction: column; }
.slot { display: flex; align-items: center; gap: 22px; height: 100px; padding: 0 6px 0 0; border-bottom: 2px dashed var(--line-soft); }
.slot:first-child { border-top: 2px dashed var(--line-soft); }
.slot .no {
  flex: none; width: 140px; height: 58px; display: grid; place-items: center;
  font-size: 24px; font-weight: 700; color: var(--ink);
  background: var(--tab); border: 2px solid var(--line); border-radius: 10px; rotate: -1deg;
}
.slot .meta { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; color: var(--ink); }
.slot .meta b { font: 900 24px var(--round); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.slot .meta b .num { font-size: 26px; }
.slot .meta .when { font-size: 17px; color: var(--ink-2); font-weight: 700; }
.slot.empty .meta { font-size: 22px; color: var(--ink-2); }
.slot .auto-note { width: 128px; text-align: center; font-size: 19px; color: var(--ink-2); }
.slot .btn.small { min-width: 128px; padding-left: 18px; padding-right: 18px; }

.save-io { display: flex; align-items: center; gap: 16px; margin-top: 34px; }
.save-io .io-label { font-size: 22px; color: var(--ink-2); margin-right: 4px; }
.save-io .back { margin-left: auto; }

/* そえるメモ */
.save-memo { position: absolute; left: 1560px; bottom: 90px; width: 300px; }
.save-memo img { width: 220px; display: block; margin: 0 auto; }
.save-memo .bubble {
  position: absolute; left: 10px; top: -120px; padding: 14px 20px; font-size: 24px; line-height: 1.5; color: var(--ink);
  background: var(--lemon-soft); border: var(--bw) solid var(--line); border-radius: 16px; box-shadow: var(--pop); rotate: 2deg;
}
