/* Shared paper layers. State is rebuilt from the current receipt, not an animation timer. */
.dfx-host{position:relative}.dfx-layer{position:absolute;inset:0;z-index:18;pointer-events:none;overflow:hidden}.dfx-layer *{box-sizing:border-box}
.dfx-status{position:absolute;display:flex;align-items:center;justify-content:center;gap:1px;min-width:76px;height:24px;padding:1px 3px;background:#f6e8cc;border:1px solid #836544;box-shadow:1px 2px 0 #422d3b55;color:#493444;border-radius:2px;font:700 10px/1.2 sans-serif;white-space:nowrap}
.dfx-status img{width:19px!important;height:20px!important;object-fit:contain!important;margin:0!important}.dfx-status .paper-rabbit{width:17px;height:19px;filter:drop-shadow(1px 1px 0 #674954)}.dfx-lit{display:flex;color:#bd742b}.dfx-unlit{display:flex;opacity:.23}.dfx-status b{font:inherit;margin-left:2px}.dfx-encore{border-color:#70516c;background:#f5e9d7}
.dfx-stamp{position:absolute;width:108px;display:flex;align-items:center;justify-content:center;gap:3px;padding:3px;background:#f3e3c2;border:1px solid #8c6b49;color:#443341;box-shadow:1px 2px 0 #503b4b33;font:700 11px/1.25 sans-serif;border-radius:2px}
.dfx-stamp img{width:25px!important;height:25px!important;object-fit:contain!important;margin:0!important}.dfx-stamp span{max-width:72px}.dfx-unfold img{animation:dfx-open .32s ease-out;transform-origin:82% 78%}.dfx-consume{animation:dfx-consume .38s ease-out}.dfx-fizzle{border-style:dashed;background:#e7dfd2;color:#655866;animation:dfx-fizzle .45s ease-out}.dfx-hit-caption{font-size:10px;background:#fff0d0;border-color:#a86d33}
.dfx-fold{position:absolute;width:32px;height:42px;transform:rotate(-12deg) scaleX(.65);transform-origin:80% 80%;animation:dfx-fold .35s ease-out}.dfx-fold img{width:32px!important;height:42px!important;object-fit:contain!important;filter:brightness(.84);margin:0!important}
.dfx-ribbon{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.dfx-ribbon path{fill:none;stroke-linecap:butt}.dfx-ribbon-edge{stroke:#5a425a;stroke-width:7}.dfx-ribbon-paper{stroke:#e5b369;stroke-width:4;stroke-dasharray:14 2;animation:dfx-ribbon .35s ease-out}.dfx-invite{position:absolute;width:24px;height:24px;animation:dfx-invite .33s ease-out forwards}.dfx-invite img{width:24px!important;height:24px!important;object-fit:contain!important;margin:0!important}
.dfx-impact{position:absolute;width:40px;height:40px}.dfx-impact i{position:absolute;left:15px;top:15px;width:10px;height:15px;background:#d99a4d;border:1px solid #86614c;clip-path:polygon(0 0,100% 23%,75% 100%,12% 76%);transform:rotate(calc(var(--i)*61deg)) translateY(-15px);animation:dfx-shard .36s ease-out}.dfx-impact i:nth-child(even){background:#76546d}
@keyframes dfx-open{from{transform:scaleX(.25) rotate(-30deg)}to{transform:scaleX(1) rotate(0)}}@keyframes dfx-fold{from{transform:rotate(0) scaleX(1)}to{transform:rotate(-12deg) scaleX(.65)}}@keyframes dfx-consume{from{transform:scale(.86);opacity:.55}to{transform:scale(1);opacity:1}}@keyframes dfx-fizzle{from{opacity:.5;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes dfx-ribbon{from{stroke-dashoffset:40;opacity:.4}to{stroke-dashoffset:0;opacity:1}}@keyframes dfx-invite{from{transform:translate(0,0) rotate(-12deg)}to{transform:translate(var(--dx),var(--dy)) rotate(10deg)}}@keyframes dfx-shard{from{opacity:.4;transform:rotate(calc(var(--i)*61deg)) translateY(-2px)}to{opacity:1;transform:rotate(calc(var(--i)*61deg)) translateY(-15px)}}
.duel-stage.dfx-host{padding-top:34px}.duel-stage .duel-cell{min-height:126px}.duel-stage [data-unit] img{height:72px;width:auto;max-width:82px;object-fit:contain}.duel-stage [data-unit]{display:flex;flex-direction:column;align-items:center;width:100%;font-size:11px;line-height:1.3}.duel-stage .duel-box{display:inline-block;position:relative}.duel-replay-controls{position:sticky;bottom:0;z-index:20;background:#f1e3c5;padding:6px;display:flex;gap:5px;flex-wrap:wrap}
@media(min-width:360px){.duel-stage [data-unit] img{height:82px;max-width:94px}.duel-stage .duel-cell{min-height:138px}}
@media(prefers-reduced-motion:reduce){.dfx-layer *{animation:none!important;transition:none!important}.dfx-invite{transform:translate(var(--dx),var(--dy))}.dfx-ribbon-paper{stroke-dasharray:none}.dfx-unfold img{transform:none}}
