/* Persistent metal frames; playable/target states use an outer outline. */
.card[class*="rarity-"]{border:2px solid var(--rarity);box-shadow:inset 0 0 0 1px #ffffff20,0 3px 8px #0005}
.card[class*="rarity-"]::after{content:"";position:absolute;inset:3px;border:1px solid color-mix(in srgb,var(--rarity) 36%,transparent);border-radius:4px;pointer-events:none}
.card.rarity-bronze{border-color:#bc815b;background:linear-gradient(150deg,#332820,#192332 60%)}
.card.rarity-silver{border-color:#d4e2ee;box-shadow:inset 0 0 0 1px #ecf6ff55,0 0 10px #b9dfff18;background:linear-gradient(150deg,#354557,#192332 60%)}
.card.rarity-gold{border:3px solid #edc566;box-shadow:inset 0 0 0 1px #fff0b477,0 0 14px #edc56633;background:linear-gradient(150deg,#493b24,#192332 60%)}
.card.rarity-rainbow{border:3px solid transparent;background:linear-gradient(145deg,#272b44,#231e35) padding-box,linear-gradient(135deg,#9df1ff 0%,#c6afff 22%,#ffc1dc 43%,#ffe9a8 65%,#a8f0d6 83%,#9df1ff 100%) border-box;box-shadow:0 0 15px #bba6ff70,inset 0 0 18px #c4aaff18}
.card.rarity-rainbow::after{border-color:#edceff77;box-shadow:inset 0 0 10px #b6a1ff30}
.card[class*="rarity-"].playable{outline:1px solid #79e6b6;outline-offset:2px}
.card[class*="rarity-"].selected{outline:2px solid #fff3b0;outline-offset:3px;transform:translateY(-6px)}
.card[class*="rarity-"].rarity-rainbow:hover{box-shadow:0 0 24px #c5adff99,inset 0 0 18px #c4aaff25}
.rarity-tag{right:7px;top:31px;min-width:43px;padding:1px 6px;font-size:10px;font-weight:700;line-height:18px;border-radius:3px;background:#111725f2;color:var(--rarity);border:1px solid var(--rarity);text-shadow:0 1px 2px #000}
.rarity-tag>span{font-size:8px;margin-right:2px}
.rarity-rainbow .rarity-tag{color:#f9eaff;border-color:#e1c2ff;background:linear-gradient(120deg,#34316b,#59304e,#3d4467)}
.unit[class*="rarity-"]{border:2px solid var(--rarity)}
.unit.rarity-gold{border-color:#edc566;box-shadow:0 0 10px #edc56630}
.unit.rarity-rainbow{border:3px solid transparent;background:linear-gradient(#202c40,#202c40) padding-box,linear-gradient(140deg,#9df1ff,#c6afff,#ffc1dc,#ffe9a8,#a8f0d6) border-box;box-shadow:0 0 14px #bba6ff66}
.unit[class*="rarity-"].ready{outline:1px solid #79e6b6;outline-offset:2px}
.unit[class*="rarity-"].targetable{outline:2px solid #efa68b;outline-offset:2px}
.unit[class*="rarity-"].picked{outline:2px solid #fff3b0;outline-offset:3px}
.deck-rarity{font-size:9px!important;font-weight:700;color:var(--rarity)!important;border:1px solid var(--rarity);width:19px;height:19px;line-height:17px;text-align:center;border-radius:3px;flex-shrink:0}
.rarity-legend{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:18px 0;padding:14px;background:#0f1827;border:1px solid #b7c7e325;border-radius:9px}
.frame-swatch{display:inline-block;font-size:11px;padding:5px 11px;border:2px solid;border-radius:5px;background:#1a2436}
.frame-swatch.bronze{border-color:#bc815b;color:#dfa17b}.frame-swatch.silver{border-color:#d4e2ee;color:#e0ebf6}.frame-swatch.gold{border-color:#edc566;color:#f4d991;box-shadow:0 0 9px #edc56622}.frame-swatch.rainbow{border-color:transparent;background:linear-gradient(#272438,#272438) padding-box,linear-gradient(130deg,#9df1ff,#c6afff,#ffc1dc,#ffe9a8,#a8f0d6) border-box;color:#f3d7ff;box-shadow:0 0 9px #bba6ff44}
.rarity-legend button{margin-left:auto;font-size:11px;color:#eed7ff;border-color:#be99e86b}
/* Rainbow entrance: one bounded cinematic per successful rainbow play. */
.legendary-stage{position:fixed;inset:0;z-index:45;pointer-events:none;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at center,#111b2ebf 5%,#070e1ad9 75%);animation:legendary-stage 2.7s both}
.legendary-aura{position:absolute;width:min(95vw,760px);aspect-ratio:1;border-radius:50%;background:conic-gradient(from 45deg,#9df1ff00,#a6a9ff60,#efb2dc44,#ffe2a855,#aaf1dc55,#9df1ff00);filter:blur(32px);animation:legendary-aura 2.7s both;opacity:.8}
.legendary-orbit{position:absolute;width:min(85vw,560px);aspect-ratio:1;border-radius:50%;border:1px solid #d6cbff77;box-shadow:0 0 22px #aa8ffd33,inset 0 0 22px #aa8ffd22;animation:legendary-orbit 2.7s both}
.legendary-orbit::before,.legendary-orbit::after{content:"✦";position:absolute;left:50%;top:-17px;color:#f1dfff;font-size:25px;text-shadow:0 0 16px #d6b8ff}
.legendary-orbit::after{top:auto;bottom:-17px;color:#bbf2ff}
.orbit-inner{width:min(75vw,450px);border-style:dashed;border-color:#ffe3b955;animation-direction:reverse}
.legendary-content{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;width:min(92vw,620px);animation:legendary-arrival 2.7s both}
.legendary-kicker{font:600 11px system-ui;letter-spacing:5px;color:#e8d5ff;text-shadow:0 0 18px #bf9eff}
.legendary-crown{font:22px Georgia;color:#f8dfaa;letter-spacing:6px;margin:10px 0 12px;text-shadow:0 0 18px #f6d1a6}
.legendary-art-frame{position:relative;width:clamp(205px,31vh,300px);aspect-ratio:1;border:3px solid transparent;border-radius:16px;background:linear-gradient(#242d44,#242d44) padding-box,linear-gradient(135deg,#9df1ff,#c6afff,#ffc1dc,#ffe9a8,#a8f0d6) border-box;padding:6px;box-shadow:0 0 0 5px #bca4f01b,0 0 45px #c9abff70,0 20px 55px #0009;transform:rotate(-3deg);overflow:hidden}
.legendary-art{width:100%;height:100%;border-radius:8px;background-image:var(--art-sheet);background-size:var(--art-full-size);background-position:var(--art-x) var(--art-y)}
.legendary-art-shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#eddbff55 45%,#ffffff66 49%,transparent 65%);transform:translateX(-130%);animation:legendary-shine 1.9s .2s both}
.legendary-seal{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);padding:4px 16px;color:#f7e4ff;font:600 12px system-ui;letter-spacing:4px;background:#201c3be8;border:1px solid #ead3ffbb;border-radius:30px;white-space:nowrap}
.legendary-content h2{margin:23px 0 7px;font-size:clamp(23px,3.2vw,36px);line-height:1.4;letter-spacing:4px;font-weight:600;color:#fff3de;text-shadow:0 0 25px #cdb9ff88,0 3px 8px #000}
.legendary-type{font:10px system-ui;letter-spacing:3px;color:#c3cce1}
.legendary-line{width:200px;height:1px;background:linear-gradient(90deg,transparent,#d3b5ff,#f4d28f,transparent);margin-top:18px}
.legendary-sparks{position:absolute;inset:0;display:grid;place-items:center}
.legendary-sparks i{position:absolute;width:4px;height:12px;border-radius:100%;background:var(--spark-color);box-shadow:0 0 10px var(--spark-color);animation:legendary-spark 2.2s var(--spark-delay) both}
@keyframes legendary-stage{0%{opacity:0}10%,82%{opacity:1}100%{opacity:0}}
@keyframes legendary-arrival{0%{opacity:0;transform:translateY(25px) scale(.68)}16%{opacity:1;transform:translateY(-4px) scale(1.035)}28%,80%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-15px) scale(1.06)}}
@keyframes legendary-aura{0%{transform:rotate(-30deg) scale(.3)}30%{transform:rotate(20deg) scale(1)}100%{transform:rotate(100deg) scale(1.2)}}
@keyframes legendary-orbit{0%{opacity:0;transform:rotate(-55deg) scale(.3)}25%{opacity:1}85%{opacity:1}100%{opacity:0;transform:rotate(70deg) scale(1.12)}}
@keyframes legendary-shine{0%,15%{transform:translateX(-130%)}80%,100%{transform:translateX(130%)}}
@keyframes legendary-spark{0%{opacity:0;transform:rotate(var(--angle)) translateY(45px) scale(.2)}25%{opacity:1}75%{opacity:.8}100%{opacity:0;transform:rotate(var(--angle)) translateY(calc(-1 * var(--reach))) scale(.4)}}
.legendary-still{animation:none;background:#091222d9}.legendary-still .legendary-content{animation:none}.legendary-still .legendary-orbit,.legendary-still .legendary-aura,.legendary-still .legendary-sparks,.legendary-still .legendary-art-shine{display:none}
@media(max-width:620px){.rarity-tag{font-size:9px;min-width:39px;right:5px}.rarity-legend{gap:7px;padding:10px}.frame-swatch{padding:4px 8px;font-size:10px}.rarity-legend button{width:100%;margin-left:0}.legendary-content h2{letter-spacing:2px}.legendary-art-frame{width:min(58vw,250px)}.legendary-sparks i:nth-child(even){display:none}}
@media(prefers-reduced-motion:reduce){.legendary-stage,.legendary-content,.legendary-aura,.legendary-orbit,.legendary-sparks i,.legendary-art-shine{animation:none!important}.legendary-aura,.legendary-orbit,.legendary-sparks,.legendary-art-shine{display:none}.legendary-art-frame{transform:none}}
/* Complete archive and rainbow deck cores. */
dialog:has(.archive-stats){max-width:1120px}.archive-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.archive-stats>span{border:1px solid #c8b5ff35;background:#1a2337;border-radius:9px;padding:12px;font-size:11px;color:#b7c4d8}.archive-stats b{display:block;font:28px Georgia;color:#f0d7a0;margin-bottom:4px}.archive-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.archive-shortcuts button{font-size:11px}.archive-search{display:flex;align-items:center;gap:14px;color:#e1d0ac;font-size:12px;margin:15px 0}.archive-search input{flex:1;min-width:0;border:1px solid #aabce54d;border-radius:7px;background:#0e1829;padding:12px;color:#ecedef;font:13px system-ui}.archive-search input:focus{outline:2px solid #cbb889;outline-offset:2px}.archive-result{padding:10px 12px;background:#20304980;border-left:2px solid #b9a0ec;font-size:12px}.collection-grid .collection-item>span{max-width:145px;line-height:1.7}.core-routes{margin:30px 0;padding-bottom:24px;border-bottom:1px solid #c4adf344}.core-routes>h2{font-size:23px;margin:8px 0}.core-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:20px 0}.core-route-grid article{display:grid;grid-template-columns:118px minmax(0,1fr);gap:13px;border:1px solid #c4a6f54d;border-radius:12px;background:linear-gradient(140deg,#282339,#162436);padding:14px;align-items:start}.core-route-grid .card{width:118px;min-width:118px;height:222px}.core-route-grid .card-name{font-size:10px;padding:0 6px;white-space:normal;line-height:1.5}.core-route-grid .card-text{font-size:10px;padding:0 6px;line-height:1.45}.core-route-grid h3{font-size:17px;color:#ead3ff;margin:6px 0}.core-route-grid p{font-size:11px;line-height:1.9;margin:7px 0}.core-route-grid summary{font-size:10px;color:#d6c594;cursor:pointer}.core-route-grid button:not(.card){font-size:10px;padding:8px;margin-top:12px;color:#f0dfa9;border-color:#cfb78766}.route-label{font-size:9px;letter-spacing:1px;color:#c6b1e6}.objective-panel{width:100%;display:grid;grid-template-columns:1fr auto;gap:5px 12px;text-align:left;padding:12px 14px;margin:10px 0;background:#c1a0fb0e;border:1px solid #bca0e955;border-radius:10px}.objective-panel>span:first-child{font-size:12px;color:#e4d1fa}.objective-panel>span:last-child{grid-column:1/-1;font-size:10px;color:#b6c3da;line-height:1.8}.objective-panel strong{font:18px Georgia;color:#ead4a2}.objective-ready{border-color:#e1c57e;box-shadow:0 0 14px #e1c57e22;background:#d8b66c12}.victory-reason{color:#efdb9d;background:#cfb78715;padding:12px;border:1px solid #cfb78755;border-radius:8px}.lobby-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){.core-route-grid{grid-template-columns:1fr}.archive-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-stats b{font-size:24px}.archive-search{display:block}.archive-search input{display:block;width:100%;margin-top:8px}.lobby-actions{justify-content:flex-start}.core-route-grid article{grid-template-columns:118px minmax(0,1fr)}}
/* Keep archive controls compact so the first row of cards is visible. */
dialog:has(.archive-stats){padding:24px}.archive-stats{margin:12px 0}.archive-stats>span{display:flex;gap:9px;align-items:baseline;padding:10px}.archive-stats b{display:inline;font-size:25px;margin:0}.archive-stats~p{font-size:12px;margin:10px 0}.archive-stats~.rarity-legend{padding:9px;margin:10px 0}.archive-shortcuts{margin:10px 0}.archive-stats~.filters{margin-bottom:10px}.archive-search{margin:10px 0}.archive-search input{padding:9px 11px}.archive-stats~.collection-controls{margin:10px 0}.archive-stats~.archive-result{margin:10px 0}.archive-stats~.modal-cards{margin-top:14px}
@media(max-width:700px){dialog:has(.archive-stats){padding:24px 16px}.archive-stats>span{display:block}.archive-stats b{margin-right:6px;font-size:23px}}
.acquisition-guide{margin:12px 0;border:1px solid #acbbd53b;border-radius:9px;padding:12px 14px;background:#111d30}.acquisition-guide>summary{cursor:pointer;color:#ead8ac;font-size:12px;font-weight:600}.acquisition-guide table{width:100%;border-collapse:collapse;margin:14px 0;font-size:12px;text-align:left}.acquisition-guide th,.acquisition-guide td{border-bottom:1px solid #aebfe329;padding:9px 7px}.acquisition-guide th{color:#d6c49e}.acquisition-guide p{font-size:11px;line-height:1.9}.acquisition-guide button{font-size:11px;padding:7px 10px}.collection-item .card-source{display:block;max-width:155px;font-size:10px;line-height:1.7;color:#cab89c;margin-top:5px}.shop .acquisition-guide{margin-bottom:20px}
@media(max-width:620px){.acquisition-guide{padding:10px}.acquisition-guide table{font-size:10px}.acquisition-guide th,.acquisition-guide td{padding:8px 4px}}

/* Cosmetic foil effects stay clipped to the illustration, clear of rules and stats. */
.card.foil-card .card-art{position:relative;isolation:isolate;overflow:hidden}
.card.foil-card .card-art::before,.card.foil-card .card-art::after{
 content:"";position:absolute;inset:0;pointer-events:none
}
.card.foil-card .card-art::before{
 background:linear-gradient(112deg,transparent 29%,#a4ecff20 39%,#fff7d95c 49%,#d5a8ff35 56%,transparent 67%);
 transform:translateX(-100%);animation:foil-sweep 6s ease-in-out infinite
}
.card.foil-card .card-art::after{
 background:
  radial-gradient(circle at 17% 66%,#fff 0 1px,transparent 4px),
  radial-gradient(circle at 79% 24%,#a8eaff 0 1px,transparent 4px),
  radial-gradient(circle at 53% 71%,#fff1a8 0 1px,transparent 4px),
  radial-gradient(circle at 41% 25%,#fff 0 1px,transparent 3px);
 animation:foil-drift 4.8s ease-in-out infinite alternate
}
.card.foil-orbit .card-art::after{
 inset:11% 14%;border:1px solid #c2f8ffab;border-radius:50%;
 box-shadow:0 0 8px #88c7ff85,inset 0 0 7px #cddfff75;
 background:radial-gradient(circle at 83% 14%,#fff 0 2px,transparent 5px);
 animation:foil-orbit 7s linear infinite
}
.card.foil-ember .card-art::after{
 background:radial-gradient(circle at 24% 71%,#ffe6a3 0 1px,transparent 4px),
  radial-gradient(circle at 74% 42%,#ffc08b 0 1px,transparent 4px),
  radial-gradient(circle at 51% 79%,#ff7d9b 0 2px,transparent 5px),
  radial-gradient(ellipse at 46% 100%,#f45b4860,transparent 63%);
 animation:foil-drift 3.7s ease-in-out infinite alternate
}
.card.foil-tide .card-art::after{
 inset:auto -10% -30% -10%;height:95%;
 background:repeating-radial-gradient(ellipse at 53% 120%,transparent 0 10px,#80dcff58 12px,transparent 15px 25px);
 animation:foil-tide 5s ease-in-out infinite alternate
}
.foil-tag{position:absolute;z-index:2;top:40px;right:5px;padding:2px 4px;border-radius:4px;background:#19263ee6;color:#d1f5ff;font-size:9px;font-weight:800;pointer-events:none}
@keyframes foil-sweep{0%,15%{transform:translateX(-110%)}55%,100%{transform:translateX(110%)}}
@keyframes foil-drift{from{transform:translateY(12%);opacity:.3}to{transform:translateY(-12%);opacity:.85}}
@keyframes foil-orbit{from{transform:rotate(-20deg) scaleY(.8)}to{transform:rotate(340deg) scaleY(.8)}}
@keyframes foil-tide{from{transform:translateY(10%);opacity:.3}to{transform:translateY(-13%);opacity:.75}}
@media(prefers-reduced-motion:reduce){
 .card.foil-card .card-art::before,.card.foil-card .card-art::after{animation:none;transform:none;opacity:.65}
}

#modal:has(.pack-opening){
 width:100%;height:100%;max-width:none;max-height:none;
 padding:0;margin:0;border:0;border-radius:0;overscroll-behavior:contain;
 background:#080d1a;scrollbar-width:thin;
}
#modal:has(.pack-opening:not(.pack-complete)) > .close:not(:focus-visible){opacity:0;pointer-events:none}
.pack-opening{
 min-height:100vh;min-height:100dvh;display:grid;align-content:center;justify-items:center;
 padding:clamp(18px,4vw,56px);box-sizing:border-box;
 background:radial-gradient(ellipse at 50% 45%,#293055 0%,#10162a 50%,#080d1a 90%);
}
.pack-progress{
 position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);
}
.pack-opening .pack-reveal-grid{
 width:min(100%,960px);margin:0;gap:clamp(10px,2vw,24px);
}
.pack-card-shell{position:relative;min-width:0}
.pack-opening .pack-back{
 touch-action:pan-y;user-select:none;cursor:pointer;
 border:1px solid #bca77a;
 background:radial-gradient(circle,#454473,#17243e 64%,#0f182b);
 box-shadow:0 8px 26px #0007,inset 0 0 0 4px #ddc28122;
}
.pack-opening .pack-tile .card{animation:none}
.pack-opening .pack-open-actions{position:static;margin-top:24px;background:none;border:0}
.pack-turn-back{position:absolute;inset:0;pointer-events:none;animation:pack-back-turn .24s ease-in both}
.pack-opening .pack-new-reveal .card{animation:pack-face-turn .60s cubic-bezier(.2,.78,.35,1) both}
.pack-turn-gold .pack-card-shell{animation:pack-gold-shake .34s ease-out .24s both}
.pack-opening .pack-turn-rainbow .pack-card-shell > .card{
 animation:pack-rainbow-land 1.48s step-end both;
}
.pack-rainbow-hero{
 position:fixed;left:50%;top:50%;z-index:21;pointer-events:none;
 width:var(--pack-card-width,140px);height:var(--pack-card-height,245px);
 animation:pack-rainbow-launch 1.48s both;
}
.pack-rainbow-hero > .card{
 width:100%;height:100%;min-width:0;margin:0;pointer-events:none;animation:none;
 box-shadow:0 0 14px #fff,0 0 34px #b2a4ff,0 12px 30px #0c112e;
}
.pack-rainbow-hero .card-art{height:100px}
.pack-rainbow-burst{
 position:fixed;inset:0;z-index:20;overflow:hidden;pointer-events:none;
 animation:pack-prism-fade 1.45s ease-out both;
 background:radial-gradient(ellipse at center,#e7d7ff90,#5730bf55 40%,transparent 75%);
}
.pack-prism-rays,.pack-prism-ring,.pack-prism-stars{position:absolute;left:50%;top:50%}
.pack-prism-rays{
 width:min(160vmax,1500px);aspect-ratio:1;border-radius:50%;
 background:conic-gradient(from 22deg,#a5f6ffbb,transparent 10%,#d2a1ffdc 24%,transparent 36%,#ffa8e6cc 48%,transparent 57%,#ffe9a6bf 69%,transparent 78%,#a0ffead0 91%,#a5f6ffbb);
 mask-image:radial-gradient(closest-side,#000 8%,#000b 46%,transparent 82%);
 animation:pack-prism-spin 1.45s ease-out both;
}
.pack-prism-ring{
 width:min(80vmin,520px);aspect-ratio:1;border:3px solid #faf1ff;border-radius:50%;
 box-shadow:0 0 32px 8px #80caff,inset 0 0 22px #ff9fed;
 animation:pack-prism-ring 1.05s ease-out .08s both;
}
.pack-prism-echo{border-color:#ffd7fc;animation-delay:.23s}
.pack-prism-stars{
 width:min(90vmin,620px);aspect-ratio:1;
 background:
  radial-gradient(circle at 18% 30%,#fff 0 2px,#9defff 3px,transparent 9px),
  radial-gradient(circle at 38% 16%,#fff 0 2px,#ffa4ff 3px,transparent 7px),
  radial-gradient(circle at 68% 18%,#fff 0 2px,#ffdf95 3px,transparent 10px),
  radial-gradient(circle at 82% 37%,#fff 0 2px,#a3ebff 3px,transparent 8px),
  radial-gradient(circle at 80% 77%,#fff 0 2px,#ffa4ff 3px,transparent 9px),
  radial-gradient(circle at 44% 86%,#fff 0 2px,#ffdf95 3px,transparent 8px),
  radial-gradient(circle at 20% 72%,#fff 0 2px,#a3ebff 3px,transparent 10px);
 animation:pack-prism-ring 1.2s ease-out .15s both;
}
@keyframes pack-back-turn{from{transform:perspective(800px) rotateY(0)}to{transform:perspective(800px) rotateY(var(--pack-angle));visibility:hidden}}
@keyframes pack-face-turn{
 0%,40%{transform:perspective(800px) rotateY(calc(-1 * var(--pack-angle)));visibility:hidden}
 41%{visibility:visible}
 100%{transform:perspective(800px) rotateY(0)}
}
@keyframes pack-gold-shake{20%,60%{transform:translateX(2px) rotate(.7deg)}40%,80%{transform:translateX(-2px) rotate(-.7deg)}}
@keyframes pack-rainbow-land{from{opacity:0}to{opacity:1}}
@keyframes pack-rainbow-launch{
 0%,16%{
  opacity:0;
  transform:translate(-50%,-50%) translate(var(--pack-source-x,0px),var(--pack-source-y,0px)) perspective(800px) rotateY(calc(-.85 * var(--pack-angle,90deg)));
 }
 17%{
  opacity:1;
  transform:translate(-50%,-50%) translate(var(--pack-source-x,0px),var(--pack-source-y,0px)) perspective(800px) rotateY(calc(-.47 * var(--pack-angle,90deg)));
  animation-timing-function:cubic-bezier(.18,.85,.28,1);
 }
 42%{opacity:1;transform:translate(-50%,-54%) rotate(-3deg) scale(var(--pack-hero-scale,1.8))}
 54%,76%{opacity:1;transform:translate(-50%,-50%) scale(calc(var(--pack-hero-scale,1.8) * .94))}
 99%{opacity:1;transform:translate(-50%,-50%) translate(var(--pack-source-x,0px),var(--pack-source-y,0px))}
 100%{opacity:0;visibility:hidden;transform:translate(-50%,-50%) translate(var(--pack-source-x,0px),var(--pack-source-y,0px))}
}
@keyframes pack-prism-fade{0%,100%{opacity:0}20%{opacity:.95}46%{opacity:.7}}
@keyframes pack-prism-spin{from{transform:translate(-50%,-50%) rotate(-22deg) scale(.34)}to{transform:translate(-50%,-50%) rotate(21deg) scale(1.45)}}
@keyframes pack-prism-ring{from{transform:translate(-50%,-50%) scale(.16);opacity:0}24%{opacity:1}to{transform:translate(-50%,-50%) scale(1.65);opacity:0}}
@media(max-height:460px) and (min-width:601px){
 .pack-opening .pack-reveal-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
 .pack-opening .pack-new-reveal .card,.pack-new-reveal .pack-card-shell{animation:none}
 .pack-turn-back,.pack-rainbow-burst,.pack-rainbow-hero{display:none}
}
