/* PACKWOOD 首页桥接层样式 (钱包槽位 / 抽卡遮罩 / 开卡结果 / 提示)
 * 配色贴着 bonkuji 首页: 近黑底 + 橙色主色 */
.pw-wallet { display: inline-flex; align-items: center; gap: 8px; margin-left: 12px; font-size: 13px; }
.pw-wallet-addr { color: #ededed; font-weight: 600; letter-spacing: .02em; }
.pw-wallet-bal { color: #ff6a1f; font-weight: 700; }
.pw-wallet button {
  background: rgba(255, 255, 255, .06); color: #ededed; border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 600; cursor: pointer;
}
.pw-wallet button:hover { background: rgba(255, 255, 255, .14); }

.pw-veil {
  position: fixed; inset: 0; z-index: 99998; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 14px;
  background: rgba(8, 6, 12, .78); backdrop-filter: blur(6px); color: #ededed;
}
.pw-veil-title { font-size: 18px; font-weight: 700; letter-spacing: .04em; }
.pw-veil-sub { font-size: 13px; color: rgba(237, 237, 237, .6); }
.pw-spinner {
  width: 42px; height: 42px; border-radius: 50%;
  border: 3px solid rgba(255, 106, 31, .25); border-top-color: #ff6a1f;
  animation: pw-spin .9s linear infinite;
}
@keyframes pw-spin { to { transform: rotate(360deg); } }

.pw-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; background: rgba(8, 6, 12, .72); }
.pw-modal-box {
  background: #16121c; border: 1px solid rgba(255, 255, 255, .12); border-radius: 16px;
  padding: 26px 28px; max-width: 420px; color: #ededed; box-shadow: 0 24px 60px rgba(0, 0, 0, .55);
}
.pw-modal-box h3 { margin: 0 0 10px; font-size: 18px; }
.pw-modal-box p { margin: 0 0 20px; font-size: 13px; line-height: 1.6; color: rgba(237, 237, 237, .75); }
.pw-modal-actions { display: flex; gap: 10px; justify-content: flex-end; }

.pw-btn {
  background: #ff6a1f; color: #1a0d02; border: 0; border-radius: 999px;
  padding: 10px 22px; font-size: 13px; font-weight: 800; letter-spacing: .04em; cursor: pointer;
}
.pw-btn:hover { filter: brightness(1.08); }
.pw-btn.ghost { background: transparent; color: #ededed; border: 1px solid rgba(255, 255, 255, .22); }

.pw-reveal {
  position: fixed; inset: 0; z-index: 99999; overflow-y: auto;
  background: radial-gradient(1200px 600px at 50% -10%, rgba(255, 106, 31, .18), transparent 60%), rgba(8, 6, 12, .92);
  backdrop-filter: blur(8px); color: #ededed; display: flex; align-items: center; justify-content: center; padding: 40px 20px;
}
.pw-reveal-inner { width: min(1080px, 100%); }
.pw-reveal-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px; margin-bottom: 22px; }
.pw-reveal-title { font-size: 22px; font-weight: 800; letter-spacing: .02em; }
.pw-reveal-meta { font-size: 13px; color: #ff6a1f; font-weight: 600; }
.pw-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.pw-cards:not(.multi) { grid-template-columns: minmax(0, 380px); justify-content: center; }
.pw-card {
  margin: 0; background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02));
  border: 1px solid var(--tier); border-radius: 16px; padding: 12px; position: relative;
  box-shadow: 0 0 32px -12px var(--tier); animation: pw-pop .45s cubic-bezier(.2, .9, .3, 1.2) both;
}
@keyframes pw-pop { from { opacity: 0; transform: translateY(14px) scale(.96); } to { opacity: 1; transform: none; } }
.pw-card-img { aspect-ratio: 3 / 4; border-radius: 10px; overflow: hidden; background: #0d0a12; }
.pw-card-img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.pw-card figcaption { padding: 10px 4px 2px; display: flex; flex-direction: column; gap: 6px; }
.pw-tier { align-self: flex-start; font-size: 11px; font-weight: 800; letter-spacing: .08em; color: var(--tier); border: 1px solid var(--tier); border-radius: 999px; padding: 2px 10px; }
.pw-card-name { font-size: 12px; line-height: 1.45; color: rgba(237, 237, 237, .82); }
.pw-card-value { font-size: 15px; font-weight: 800; color: #2dd48f; }
.pw-reveal-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 26px; }
.pw-stock { font-size: 12px; color: rgba(237, 237, 237, .55); }

.pw-toast {
  position: fixed; left: 50%; bottom: 40px; transform: translate(-50%, 20px); z-index: 99999;
  background: #16121c; color: #ededed; border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 12px; padding: 12px 20px; font-size: 13px; opacity: 0; pointer-events: none;
  transition: opacity .2s, transform .2s;
}
.pw-toast.show { opacity: 1; transform: translate(-50%, 0); }
.pw-toast.err { border-color: rgba(255, 92, 138, .6); color: #ffd7e2; }

/* ---------------------------------------------------------------- 开机动画
   渲染出来的成片(Seedance 底片 + 我们的像素灯牌字标合成), 不是 CSS 加载态。
   规矩和 SHERWOOD / SIGIL 一致:
     · 只放一次(localStorage), ?boot=1 可强制重放而且不留痕
     · 随时能跳过: 点画面 / 按任意键 / 点 Skip
     · 放不出来(网络/编码/自动播放被拦)就【立刻让路】—— 绝不能挡住用户用站
     · prefers-reduced-motion 直接不放 */
.pw-boot {
  position: fixed; inset: 0; z-index: 100000; background: #05080a;
  opacity: 1; transition: opacity .7s ease; cursor: pointer;
}
.pw-boot-out { opacity: 0; pointer-events: none; }
.pw-boot video { width: 100%; height: 100%; object-fit: cover; display: block; }
/* 竖屏: 用 contain, 不然机器会被裁掉两侧 */
@media (max-aspect-ratio: 1/1) { .pw-boot video { object-fit: contain; } }
.pw-boot-skip {
  position: absolute; right: 22px; bottom: 22px;
  font: 700 11px/1 'Chakra Petch', system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(237, 237, 237, .72); background: rgba(10, 14, 12, .55);
  border: 1px solid rgba(45, 212, 143, .35); border-radius: 999px;
  padding: 10px 18px; cursor: pointer; backdrop-filter: blur(6px);
}
.pw-boot-skip:hover { color: #fff; border-color: rgba(45, 212, 143, .8); background: rgba(10, 14, 12, .85); }
@media (prefers-reduced-motion: reduce) { .pw-boot { display: none; } }
