/* The Vault (vault-view.js + hairline/figures/vault.js). Last updated: 2026-10-26. */
.vault-room { position: relative; margin: 18px 0 8px; padding: 6px 0 4px; }
.vault-stage { position: relative; max-width: 420px; margin: 0 auto; }
.vault-door { width: 100%; cursor: pointer; border-radius: 14px; transition: transform .6s cubic-bezier(.2, .8, .2, 1); }
.vault-door:focus-visible { outline-offset: 6px; }
.vault-read { display: block; min-height: 1.2em; margin-top: -6px; text-align: center; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.vault-room.is-open .vault-door { transform: scale(.82) translateY(-6%); }
.vault-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 16px; margin: 6px 0 14px; text-align: center; }
.vault-sum { margin: 0; font-size: 14px; color: var(--ink-2); }
.vault-sum b { font: 500 17px/1.2 var(--serif, Georgia, serif); color: var(--ink); }
.vault-shelf { scroll-margin-top: 80px; list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vault-shelf > li { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; border: 1px solid var(--line); background: var(--paper);
  opacity: 0; transform: translateY(-26px) scale(.94); transform-origin: 50% 0;
  transition: opacity .45s ease, transform .6s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--i, 0) * 70ms); }
.vault-shelf.out > li { opacity: 1; transform: none; }
.vt-main { flex: 1; min-width: 0; display: grid; gap: 2px; }
.vt-main b { font: 500 18px/1.25 var(--serif, Georgia, serif); color: var(--ink); }
.vt-main small { font-size: 12.5px; color: var(--ink-3); }
.vt-next { font-size: 13.5px; color: var(--ink-2); }
.vt-acts { display: flex; gap: 8px; flex: none; }
.vt-empty { justify-content: center; text-align: center; color: var(--ink-3); font-size: 14px; }
@media (max-width: 560px) { .vault-shelf > li { flex-wrap: wrap; } .vt-acts { width: 100%; } .vt-acts .btn { flex: 1; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .vault-shelf > li, .vault-door { transition: none; } }
