/* Treasury and chest preview. Same editorial chrome as the other HUNT pages. */
.wallet{color:#eee;word-break:break-all}
.wallet code{font-size:13px;color:#f5f5f5}
.lede{max-width:720px}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0 8px}
.actions a,.actions button{padding:8px 18px;border:1px solid #333;border-radius:999px;background:transparent;color:#f5f5f5;font:13px/1.5 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;text-decoration:none}
.actions a:hover,.actions button:hover{background:#262626;color:#fff}
.actions a.primary,.actions button.primary{background:#f5f5f5;border-color:#f5f5f5;color:#101010}
.actions a.primary:hover,.actions button.primary:hover{background:#ddd;color:#111}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:8px}
.card{border:1px solid #292929;background:#111;padding:16px}
.card img{display:block;width:100%;height:320px;object-fit:contain;background:#070707;border:1px solid #222}
.card h2{margin:16px 0 8px;padding:0;border:0;font-size:22px;letter-spacing:-.03em;color:#fff}
.card p{margin:4px 0}
.meta{color:#8e8e8e;font-size:13px}
.asset{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:#d0d0d0;word-break:break-all}
.empty{border:1px solid #292929;padding:18px 16px;color:#b6b6b6}

.stage{position:relative;min-height:480px;margin-top:8px;border:1px solid #292929;background:#0c0c0c;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.stamp{position:absolute;top:16px;left:16px;z-index:3;margin:0;padding:6px 10px;border:1px solid #f5f5f5;color:#fff;font-size:11px;letter-spacing:2.5px;text-transform:uppercase}
.chest{width:192px;height:192px;background:url("/img/3/chest.png") center/192px 192px no-repeat;image-rendering:pixelated;animation:bob 1.1s steps(2,end) infinite}
.stage.is-shaking .chest{animation:shake .08s steps(2,end) infinite}
.stage.is-open .chest{animation:none;opacity:0;transform:translateY(8px)}
.flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}
.stage.is-flash .flash{animation:flash .28s steps(2,end)}
.sparks{position:absolute;width:8px;height:8px;background:#f5f5f5;opacity:0;image-rendering:pixelated;pointer-events:none}
.stage.is-flash .sparks{animation:sparks .45s steps(4,end) forwards}
.reward{display:none;z-index:2;max-width:440px;padding:12px 18px 28px;text-align:center}
.stage.is-open .reward{display:block}
.reward h2{margin:0 0 8px;padding:0;border:0;font-size:clamp(28px,4vw,40px);letter-spacing:-.04em;color:#fff}
.reward .sent{color:#f5f5f5;font-size:18px;margin:0 0 16px}
.reward .loot-line{color:#b6b6b6}
.loot-icon{width:96px;height:96px;margin:8px auto 12px;background-repeat:no-repeat;background-position:0 0;image-rendering:pixelated}
.card-shot{display:block;max-width:280px;max-height:300px;width:auto;height:auto;margin:8px auto 14px;border:8px solid #ececec;background:#111;object-fit:contain}
.grade{color:#eee}
.vault{margin-top:10px;color:#f5f5f5;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
@keyframes bob{50%{transform:translateY(-4px)}}
@keyframes shake{50%{transform:translateX(-6px)}}
@keyframes flash{40%{opacity:.9}100%{opacity:0}}
@keyframes sparks{0%{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(28px,-36px)}}
@media(prefers-reduced-motion:reduce){.chest,.sparks,.flash{animation:none!important}}
