/* Game shell: floating collectibles on a continuous pearlescent surface. */
.collection-empty{grid-column:1/-1;text-align:center;padding:48px 12px;color:var(--ui-muted);}
.collection-empty h2{font:600 20px var(--fb);color:var(--ui-text);margin:0 0 12px;}
.collection-empty p{font:13px/1.6 var(--fb);margin:0 0 24px;}
.inspection-hero{display:flex;flex-direction:column;align-items:center;}
#s-app .card-inspection .cd-name{margin:0;text-align:center;}
#s-app .card-inspection .ability{margin-top:8px;}
.inspection-stats{display:grid;grid-template-columns:1fr 1fr;margin:18px 0;text-align:center;}
.inspection-stats>div{display:flex;flex-direction:column;gap:5px;}
.inspection-stats>div+div{border-left:1px solid #dbe7ee;}
.inspection-stats b{font:600 17px var(--fb);color:var(--ui-text);}
.inspection-stats span{font:11px var(--fb);color:var(--ui-muted);}
.inspection-ownership{font:11px/1.5 var(--fb);color:var(--ui-muted);text-align:center;margin:18px 0 4px;}
.inspection-note{font:12px/1.6 var(--fb);color:var(--ui-muted);text-align:center;margin:18px 0 0;}
@media(max-height:760px){
  .inspection-hero{flex-direction:row;gap:20px;align-items:center;margin:4px 0 18px;}
  #s-app .card-inspection .cd-card{width:112px;flex:none;margin:0;}
  #s-app .card-inspection .cd-card .mc{border-width:3px;border-radius:9px;}
  .inspection-heading{min-width:0;flex:1;}
  #s-app .card-inspection .cd-name{text-align:left;font-size:21px;}
  #s-app .card-inspection .cd-chips{justify-content:flex-start;margin:12px 0 0;gap:4px;}
  #s-app .card-inspection .cd-chips .chip{padding:3px 0;min-height:20px;margin-right:8px;}
  #s-app .card-inspection .ability{margin-top:0;padding:14px;}
  .inspection-stats{margin:16px 0;}
}
#s-final{padding:0;gap:0;overflow:hidden;}
#s-final .final-content{flex:1;min-height:0;overflow:auto;width:100%;max-width:none;padding:30px 24px 20px;}
#s-final .final-content>*{max-width:420px;margin-left:auto;margin-right:auto;}
#s-final .f-trophy{text-align:center;margin-bottom:16px;}
#s-final .f-title{text-align:center;margin-bottom:10px;}
#final-reason{font:12px/1.5 var(--fb);color:var(--ui-muted);text-align:center;margin-top:0;margin-bottom:24px;}
#s-final .f-totals{margin-bottom:18px;}
#s-final .final-details{margin-bottom:18px;}
#s-final #f-btns{flex:none;margin:0 auto;padding:16px 24px 20px;width:100%;max-width:468px;background:#eef4f9;border-top:1px solid #dce7ee;gap:8px;}
#s-final #f-btns .btn-p{background:linear-gradient(#acebd8,#67d4b9);border:1px solid white;color:var(--ui-text);box-shadow:0 3px 0 #53ab97;}
#s-final .f-tot-half{padding:12px;}
@media(max-height:650px){#s-final .final-content{padding:20px 20px 12px;}#s-final .f-trophy{margin-bottom:12px;}#s-final .f-title{font-size:26px;}#final-reason{margin-bottom:18px;}#s-final .f-tot-score{font-size:40px;}#s-final .f-totals{padding:8px 0;}#s-final .f-tot-lbl{margin-bottom:8px;}#s-final #f-btns{padding:12px 20px;}#s-final .pm-box{padding:12px 16px;}}
.room-header{padding:26px;text-align:center;font:600 15px var(--fb);color:var(--ui-muted);}
.battle-lobby .room-body{gap:0;padding:18px 28px;overflow:auto;}
.room-players{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:32px;}
.room-player{display:flex;align-items:center;flex-direction:column;gap:14px;color:var(--ui-muted);font:12px var(--fb);}
.room-player .mc,.room-guest{width:92px;height:132px;border:2px solid white;border-radius:10px;box-shadow:0 8px 16px #526f8517;}
.room-player .mc-tag,.room-player .mc-pip{display:none;}
.room-guest{display:grid;place-items:center;background:#ffffff60;border:1px dashed #b9d4db;box-shadow:none;}
.room-guest span{font:300 32px var(--fb);color:var(--ui-muted);}
.room-versus{font:italic 14px var(--fb);color:var(--ui-muted);}
#room-status{font:600 23px/1.3 var(--fb);color:var(--ui-text);text-align:center;margin:0 0 12px;}
.room-instruction,.room-start-note{font:12px/1.6 var(--fb);color:var(--ui-muted);text-align:center;max-width:280px;margin:0;}
.room-code-panel{margin:26px 0 20px;padding:16px 28px;background:#ffffffa0;border:1px solid white;border-radius:18px;text-align:center;min-width:220px;}
.room-code-panel>span{display:block;font:10px var(--fb);color:var(--ui-muted);}
.room-code-panel strong{display:block;font:600 30px var(--fb);letter-spacing:5px;color:var(--ui-muted);margin:8px 0;user-select:text;}
#copy-room-code{border:0;background:transparent;padding:8px 16px;font:600 12px var(--fb);color:var(--ui-muted);cursor:pointer;}
#copy-room-code:disabled{opacity:.45;cursor:wait;}
.room-start-note{font-size:10px;max-width:245px;}
.battle-lobby .f-foot{padding:16px 28px 26px;}
@media(max-height:650px){.room-header{padding:16px;}.battle-lobby .room-body{padding:10px 24px;}.room-players{margin-bottom:20px;}.room-player .mc,.room-guest{width:66px;height:95px;}.room-code-panel{margin:18px 0 12px;padding:10px 20px;}#room-status{font-size:20px;}.battle-lobby .f-foot{padding:12px 24px 18px;}}
#club-match-menu{padding:0;overflow:hidden;background:#f7fbfd;border:1px solid white;max-height:calc(100dvh - 24px);width:calc(100% - 24px);}
#club-match-menu[open]{display:flex;flex-direction:column;}
.match-menu-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 10px;flex:none;}
#club-match-menu h2{font:600 20px var(--fb);letter-spacing:-.3px;margin:0;color:var(--ui-text);}
.match-menu-close{width:36px;height:36px;border:0;border-radius:50%;background:#eaf1f5;color:var(--ui-muted);font:24px var(--fb);cursor:pointer;}
.match-menu-body{overflow:auto;padding:6px 20px 0;min-height:0;}
.match-captains{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:center;}
.match-captains>button{display:flex;align-items:center;flex-direction:column;background:transparent;border:0;padding:6px;color:var(--ui-text);cursor:pointer;}
.match-captains .mc{width:72px;height:103px;border:2px solid white;border-radius:8px;box-shadow:0 5px 12px #31516a20;}
.match-captains .mc-tag,.match-captains .mc-pip{display:none;}
.match-captains b{font:600 12px var(--fb);margin-top:12px;}
#club-match-menu .match-captains small{font-size:10px;margin:5px 0 0;color:var(--ui-muted);}
.match-piles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;}
.match-piles button{border:1px solid #dce7ed;border-radius:14px;background:white;min-height:42px;font:11px var(--fb);color:var(--ui-muted);cursor:pointer;}
.match-help{border-top:1px solid #e0e9ee;color:var(--ui-muted);font:12px/1.6 var(--fb);}
.match-help summary{padding:14px 0;cursor:pointer;}
#club-match-menu .match-help ol{margin:0 0 12px;}
.match-menu-footer{flex:none;padding:12px 20px 18px;background:#f7fbfd;border-top:1px solid #e0e9ee;text-align:center;}
.match-menu-footer .game-primary{width:100%;min-height:46px;font-size:13px;}
.match-leave{display:block;margin:12px auto 0;padding:8px 20px;border:0;background:none;color:#8b7480;font:12px var(--fb);cursor:pointer;}
#club-match-menu .match-menu-footer small{font-size:9px;margin-top:5px;color:var(--ui-muted);}
#s-board{background:#eaf2f7;}
#s-board .bd-frame{background:radial-gradient(ellipse at 65% 25%,#e4f8f3,transparent 50%),linear-gradient(#f7fbfd,#e8f0f8);}
#s-board .wizard{min-height:76px;height:76px;background:#f7fbfdef;border-color:#dae8ef;padding:12px 14px;}
#s-board .winstr{font-size:13px;color:var(--ui-text);}#s-board .winstr small{font-size:10px;color:var(--ui-muted);max-width:220px;}
#s-board .wbtn{min-height:44px;height:44px;font-size:12px;padding:0 17px;}
#s-board .wbtn.go,#s-board .wbtn.lock{background:linear-gradient(#acebd8,#67d4b9);border:1px solid #fff;color:var(--ui-text);box-shadow:0 3px 0 #53ab97;}
#s-board .wbtn:disabled{background:#e4edf2;box-shadow:none;border-color:#d6e3eb;color:var(--ui-muted);cursor:default;}
#s-board .field{height:322px;gap:8px;}
#s-board .bd-arena{gap:10px;}
/* Keep every card's artwork and name available without overlapping hit areas. */
#s-board .hand-scroll{display:flex;align-items:flex-start;gap:10px;padding:7px 14px 4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#b1cdd5 transparent;overscroll-behavior-x:contain;}
#s-board #hand-scroll>[id^="hw"]{position:relative;top:auto;left:auto!important;transform:none!important;flex:0 0 88px;}
#s-board .card.chand{width:88px;height:124px;}
/* A compact composition uses the phone's width instead of miniaturizing 840px. */
#s-board .bd-frame.compact-board{--bw:54px;--bh:76px;--aw:86px;--ah:121px;}
#s-board .compact-board .scorebar{height:48px;min-height:48px;}
#s-board .compact-board .opp-hand{height:12px;min-height:12px;}
#s-board .compact-board .bd-arena{gap:8px;padding:8px 0;}
#s-board .compact-board .zone-row{min-height:76px;}
#s-board .compact-board .field{height:250px;gap:8px;}
#s-board .compact-board .field-left,#s-board .compact-board .field-right{height:121px;}
#s-board .compact-board .hzone,#s-board .compact-board .hand-scroll{height:118px;}
#s-board .compact-board #hand-scroll>[id^="hw"]{flex-basis:78px;}
#s-board .compact-board .card.chand{width:78px;height:110px;}
#dice-overlay .compact-board .d-scroll{max-height:275px;padding:12px 18px;gap:4px 12px;}
#s-app .onboarding .app-col{background:radial-gradient(ellipse at 50% 35%,#fff,#e2f5f1 48%,#eef1fa);}
.onboarding .f-hdr{min-height:72px;}.onboarding .f-hdr .a-title{font:600 20px var(--fb);color:var(--ui-muted);}.onboarding .f-x{background:#fff9;border-radius:50%;color:var(--ui-muted);}
.onboarding .ob-brand{justify-content:center;}.onboarding .f-foot{border:0;text-align:center;padding:18px 24px 30px;}
.ob-welcome h1{font:600 26px var(--fb);color:var(--ui-text);letter-spacing:-.5px;margin:28px 0 12px;}
.ob-welcome>p{font:13px/1.6 var(--fb);color:var(--ui-muted);margin:0 0 34px;}
.ob-card-fan{width:280px;height:220px;position:relative;flex-shrink:0;}
.ob-card-fan .mc{position:absolute;width:110px;height:158px;left:50%;top:28px;transform:translateX(-110%) rotate(-18deg);}
.ob-card-fan .mc:nth-child(2){width:132px;height:189px;transform:translateX(-50%);top:6px;z-index:2;}
.ob-card-fan .mc:nth-child(3){transform:translateX(10%) rotate(18deg);}
.onboarding .mc-tag,.onboarding .mc-pip{display:none;}
.ob-name-label{display:block;width:280px;max-width:100%;text-align:left;font:12px var(--fb);color:var(--ui-muted);margin-bottom:10px;}
.ob-welcome #ob-name{width:280px;max-width:100%;border:1px solid #d9e8ed;border-radius:14px;background:#ffffffa0;padding:16px;font:16px var(--fb);color:var(--ui-text);}
.starter-body{gap:12px;justify-content:safe center;padding:8px 16px;}
.starter-preview{display:flex;flex-direction:column;align-items:center;min-height:0;flex-shrink:0;}
.starter-preview>.mc{width:200px;height:286px;box-shadow:0 14px 26px #3f667426!important;transform:rotate(-3deg);}
.starter-preview h2{font:600 21px var(--fb);color:var(--ui-text);margin:10px 0 6px;}
.starter-preview p{font:13px/1.6 var(--fb);color:var(--ui-muted);max-width:360px;margin:0;}
.starter-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;max-width:420px;flex-shrink:0;}
.starter-choice{border:0;padding:4px;background:none;border-radius:14px;color:var(--ui-muted);cursor:pointer;display:flex;align-items:center;flex-direction:column;gap:6px;}
.starter-choice>.mc{width:min(88px,100%);height:auto;aspect-ratio:7/10;border-radius:9px!important;opacity:.8;}
.starter-choice>span{font:11px var(--fb);overflow-wrap:anywhere;}.starter-choice[aria-pressed="true"]{background:#ffffffb0;color:var(--ui-text);box-shadow:0 3px 10px #5076830e;}.starter-choice[aria-pressed="true"]>.mc{opacity:1;border-color:#75caba!important;}
.starter-included{font:11px var(--fb);color:var(--ui-muted);margin:0 0 18px;}
@media(max-height:650px){.onboarding .f-hdr{min-height:54px;padding:12px;}.onboarding .f-foot{padding:12px 20px 18px;}.ob-card-fan{height:166px;transform:scale(.8);transform-origin:center top;margin-bottom:-25px;}.ob-welcome h1{font-size:23px;margin-top:20px;}.ob-welcome>p{margin-bottom:22px;}.starter-preview{min-height:0;}.starter-preview>.mc{width:150px;height:214px;}.starter-preview h2{font-size:18px;margin:14px 0 8px;}.starter-preview p{font-size:12px;min-height:34px;}.starter-body{gap:12px;}.starter-choice>.mc{width:min(72px,100%);height:auto;}.starter-choice{gap:8px;}.starter-included{margin-bottom:12px;}}
/* Keep the enlarged captain cards; reclaim space from the surrounding chrome. */
.onboarding .app-col:has(.starter-body)>.f-hdr{min-height:48px;padding:8px 16px;flex-shrink:0;}
.onboarding .app-col:has(.starter-body)>.f-foot{padding:8px 20px calc(12px + env(safe-area-inset-bottom));flex-shrink:0;}
.starter-body+.f-foot .starter-included{margin-bottom:8px;}
@media(max-height:700px){.starter-body{gap:8px;padding-top:6px;padding-bottom:6px;}.starter-preview h2{margin:8px 0 4px;}.starter-preview p{min-height:0;}.starter-choice{gap:4px;}}
.header-spacer{width:36px;}
.learn-intro{text-align:center;padding:20px 0 28px;}
.learn-card-pair{display:flex;align-items:center;justify-content:center;gap:20px;margin:8px 0 22px;}
.learn-card-pair .mc{width:80px;height:114px;transform:rotate(-7deg);}.learn-card-pair .mc:last-child{transform:rotate(7deg);}
.learn-card-pair>span{font:italic 15px var(--fb);color:var(--ui-muted);}
.learn-card-pair .mc-tag,.learn-card-pair .mc-pip,.lesson-cards .mc-tag,.lesson-cards .mc-pip{display:none;}
.learn-intro h2{font:600 22px var(--fb);color:var(--ui-text);margin:0 0 10px;}
.learn-intro p{font:12px/1.5 var(--fb);color:var(--ui-muted);margin:0 0 24px;}
#s-app[data-view="learn"] .ch{border:0;border-bottom:1px solid #d6e5ec;border-radius:0;background:none;margin:0;}
#s-app[data-view="learn"] .ch-hd{width:100%;border:0;background:none;text-align:left;padding:20px 0;gap:12px;color:var(--ui-text);}
#s-app[data-view="learn"] .ch-ic{background:#ffffff80;border:0;border-radius:50%;width:30px;height:30px;color:var(--ui-muted);font:500 12px var(--fb);}
#s-app[data-view="learn"] .ch-t b{font:600 14px var(--fb);}.ch-chevron{font:18px var(--fb);color:var(--ui-muted);}
#s-app[data-view="learn"] .ch-ls{padding:0 0 15px 42px;gap:0;}
#s-app[data-view="learn"] .ls{width:100%;border:0;border-bottom:1px solid #deebf080;border-radius:0;background:none;color:var(--ui-muted);min-height:44px;padding:12px 0;text-align:left;}
#s-app[data-view="learn"] .ls-t{font:400 13px var(--fb);}.lesson-read{color:var(--ui-muted);font:16px var(--fb);}
.lesson-heading{text-align:center;font:500 12px var(--fb);color:var(--ui-muted);margin:0 0 20px;}
#s-app .lesson{min-height:0;padding:0;}
#s-app .lesson h3{font:600 21px/1.25 var(--fb);color:var(--ui-text);margin:22px 0 12px;}
#s-app .lesson p{font:13px/1.7 var(--fb);color:var(--ui-muted);max-width:320px;}
.lesson-cards{display:flex;justify-content:center;gap:18px;margin:6px 0;}.lesson-cards .mc{width:95px;height:136px;transform:rotate(-5deg);}.lesson-cards .mc:last-child{transform:rotate(5deg);}
.lesson-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:330px;}
.lesson-outcomes>div{background:#ffffffb0;border:1px solid #fff;border-radius:12px;padding:14px 7px;}.lesson-outcomes b{display:block;font:600 15px var(--fb);color:var(--ui-muted);margin-bottom:8px;}.lesson-outcomes span{font:11px var(--fb);color:var(--ui-muted);}
.lesson-cycle{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;max-width:300px;padding:24px 0;}.lesson-cycle span{padding:12px 16px;background:#fff;border-radius:22px;color:var(--ui-muted);font:600 13px var(--fb);}.lesson-cycle i{font:11px var(--fb);color:var(--ui-muted);}
.lesson-score{padding:22px;text-align:center;}.lesson-score span,.lesson-score small{display:block;font:12px var(--fb);color:var(--ui-muted);}.lesson-score b{display:block;font:600 36px var(--fb);color:var(--ui-muted);margin:15px 0;}
#s-app .battle-intro .app-col,#s-app .battle-lobby .app-col{background:radial-gradient(ellipse at 50% 40%,#fff,#e3f4f2 50%,#edf2fa);}
.battle-intro .mm-t,.battle-lobby .mm-t{font:600 25px var(--fb);color:var(--ui-text);}.battle-intro .mm-s,.battle-lobby .mm-s{font:12px/1.6 var(--fb);color:var(--ui-muted);}
.battle-intro .mm-vs{gap:25px;margin-bottom:25px;}.battle-intro .mm-vs .mc{width:120px;height:172px;}.battle-intro .mm-vs .mc-tag,.battle-intro .mm-vs .mc-pip{display:none;}.battle-intro .mm-vs>b{font:italic 18px var(--fb);color:var(--ui-muted);}
.battle-lobby .spin{border:3px solid #cde6e5;border-top-color:#72bfb0;width:50px;height:50px;}.battle-lobby .room-code{font:600 36px var(--fb);letter-spacing:5px;color:var(--ui-muted);margin:18px 0;}.battle-lobby .f-foot{text-align:center;border:0;}
@media(max-height:620px){.learn-card-pair .mc{width:60px;height:86px;}.learn-intro{padding:14px 0 20px;}.lesson-cards .mc{width:74px;height:106px;}#s-app .lesson h3{font-size:19px;margin:15px 0 10px;}}
.reward-ready{text-align:center;padding:26px 0 8px;}
.reward-amount{font:600 40px var(--fb);letter-spacing:-1px;color:var(--ui-muted);}.reward-amount .coin{font-size:25px;margin-right:8px;}
.reward-ready p{font:12px var(--fb);color:var(--ui-muted);margin:8px 0 20px;}
.reward-reset{font:11px var(--fb);color:var(--ui-muted);text-align:center;margin:-8px 0 18px;}
.reward-empty{font:13px var(--fb);color:var(--ui-muted);text-align:center;padding:30px 0;}
#s-app[data-view="missions"] .ms{border:0;border-bottom:1px solid #dce8ed;border-radius:0;background:none;padding:18px 4px;margin:0;gap:14px;}
#s-app[data-view="missions"] .ms.ready{background:#ffffff60;border-radius:14px;border:0;padding:16px;}
#s-app[data-view="missions"] .ms-t b{font:500 14px var(--fb);color:var(--ui-text);}
#s-app[data-view="missions"] .ms-t .bar{background:#dce8ed;height:4px;margin:9px 0 6px;}
#s-app[data-view="missions"] .ms-t .bar i{background:#7cccc0;}
#s-app[data-view="missions"] .ms-rw{border:0;background:#fff9;padding:8px 12px;color:var(--ui-muted);font:600 13px var(--fb);}
.quiet-details{border-bottom:1px solid #dce7ee;margin-top:8px;padding-bottom:8px;}
.quiet-details summary{padding:18px 4px;cursor:pointer;font:500 14px var(--fb);color:var(--ui-text);}
.quiet-details[open] summary{margin-bottom:8px;}
#s-app[data-view="profile"] .pf{flex-direction:column;text-align:center;gap:14px;padding:22px 0 16px;}
#s-app[data-view="profile"] .pf-av{width:100px;height:100px;background:linear-gradient(145deg,#bfe7df,#70a9bf);border:4px solid white;box-shadow:0 8px 25px #50788e22;color:white;font:500 38px var(--fb);}
#s-app[data-view="profile"] .pf-nm{justify-content:center;font:600 22px var(--fb);margin-bottom:8px;color:var(--ui-text);}
#s-app[data-view="profile"] button.pf-nm{border:0;background:none;width:100%;padding:0;}
#s-app[data-view="profile"] .pf .chip{background:none;border:0;font-size:11px;color:var(--ui-muted);}
.player-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:14px 0 30px;}
.player-stats>div{text-align:center;border-right:1px solid #d4e4eb;}.player-stats>div:last-child{border:0;}
.player-stats b{display:block;font:600 24px var(--fb);color:var(--ui-muted);margin-bottom:6px;}.player-stats span{font:11px var(--fb);color:var(--ui-muted);}
#s-app[data-view="profile"] .stats2 .stat{border:0;background:#ffffff65;border-radius:12px;}
#s-app[data-view="profile"] .set-row{border-width:1px;font:13px var(--fb);padding:15px 8px;}
.profile-reset{background:none;border:0;padding:18px 8px;color:#9f7373;font:13px var(--fb);cursor:pointer;}
.profile-feedback{display:flex;justify-content:space-between;width:100%;padding:24px 4px;border:0;background:none;color:var(--ui-muted);font:500 14px var(--fb);cursor:pointer;}
.friend-lobby{text-align:center;padding:6px 12px 0;}.friend-lobby>.a-sub{margin:14px 0 22px;}
.friend-lobby #room-in{max-width:280px;margin:0 auto 20px;text-align:center;text-transform:uppercase;letter-spacing:4px;font:600 21px var(--fb);padding:18px;border:1px solid #d8e8ee;background:#fff9;}
.friend-lobby #room-in::placeholder{font:400 14px var(--fb);letter-spacing:1px;text-transform:none;color:var(--ui-muted);}
.friend-divider{display:flex;align-items:center;gap:16px;margin:24px 0;color:var(--ui-muted);font-size:11px;}.friend-divider:before,.friend-divider:after{content:'';height:1px;background:#dce8ee;flex:1;}
.friend-create{width:100%;max-width:280px;border:1px solid #c5dae4;border-radius:28px;padding:15px;background:#ffffff90;color:var(--ui-muted);font:600 14px var(--fb);cursor:pointer;}
.friend-deck{font:11px var(--fb);color:var(--ui-muted);margin:22px 0 8px;}
#s-app #col-grid .mc.locked .mc-art{filter:saturate(.65);opacity:.8;}
#s-app #col-grid .mc.locked .mc-name{color:#fff;background:linear-gradient(transparent,#102b42d9);text-shadow:0 1px 2px #0006;}
#s-app #col-grid .mc.locked:after{top:7px;right:7px;left:auto;transform:none;font-size:10px;opacity:1;background:#f8fcfff0;border-radius:50%;padding:4px;}
#s-app .cd-card .mc.locked .mc-art{filter:none;opacity:1;}
#s-app .cd-card .mc.locked:after{display:none;}
.pack.rivals>img{filter:drop-shadow(4px 10px 8px #143b352b);}
#s-app .pack-flow{color:var(--ui-text);background:#eff6fa;}
#s-app .pack-flow .app-col{background:radial-gradient(ellipse at 50% 42%,#fff 0%,#e3f5f3 48%,#eef2fa 100%);}
.pack-flow .f-hdr{min-height:76px;gap:10px;}
.pack-flow .f-hdr .a-title{font:600 20px var(--fb);}
.pack-flow .f-hdr .pill{border:0;background:#fff8;color:var(--ui-muted);}
.pack-flow .f-x{border-radius:50%;background:#fff9;width:38px;height:38px;color:var(--ui-muted);}
.pack-flow .set-pick{gap:12px;margin:0;align-items:start;}
.pack-choice{border:0;padding:0;background:none;width:100%;cursor:pointer;transition:transform .2s;}
.pack-choice:active{transform:scale(.96);}
.pack-choice .pack{aspect-ratio:2/3;width:100%;}
.pack-flow .set-nm{font:600 18px var(--fb);color:var(--ui-text);margin-top:18px;}
.pack-flow .set-bl{font:12px/1.5 var(--fb);color:var(--ui-muted);max-width:155px;margin:8px auto 0;}
.pack-flow .f-hint{font:12px var(--fb);color:var(--ui-muted);opacity:1;margin-top:30px;}
.pack-instruction{margin:14px 0 0;font:13px var(--fb);color:var(--ui-muted);}
.pack-flow #pk-o{width:min(260px,62vw);}
.pack-flow .pk-open{width:100%;aspect-ratio:2/3;}
.pack-flow .tap-big{font:600 20px var(--fb);letter-spacing:0;color:var(--ui-text);margin-top:24px;}
.pack-flow .f-foot{text-align:center;border:0;padding:20px 24px 30px;}
.pack-flow .rv-card{width:min(240px,62vw);}
#s-app .pack-flow .rv-card .mc{border:4px solid white;border-radius:12px;box-shadow:0 18px 40px #345d762b;}
.pack-flow .rv-card .mc-name,.pack-flow .rv-card .mc-tag,.pack-flow .rv-card .mc-pip{display:none;}
/* Reveal shows the full card face (ability text readable), sized to fit the screen height */
.pack-flow .rv-card.rv-full{width:min(270px,72vw,calc((100dvh - 250px)*63/88));perspective:900px;}
.pack-flow .rv-full .pc{animation:flipIn .55s cubic-bezier(.2,.8,.3,1);}
.pack-flow .rv-full.r-rare .pc{box-shadow:0 0 0 1px #0003,0 0 26px rgba(58,123,213,.5);}
.pack-flow .rv-full.r-epic .pc{box-shadow:0 0 0 1px #0003,0 0 30px rgba(176,68,154,.6);}
.pack-flow .rv-full.r-legendary .pc{box-shadow:0 0 0 1px #0003,0 0 36px rgba(226,169,43,.7);}
.pack-flow .rv-full+.rv-badges{margin-top:14px;}
.pack-flow .rv-card{touch-action:pan-y;user-select:none;-webkit-user-select:none;will-change:transform;}
.pack-flow .rv-card img{-webkit-user-drag:none;pointer-events:none;}
.pack-flow .rv-swipe-hint{color:var(--ui-muted);font:11px var(--fb);letter-spacing:1px;margin-top:10px;opacity:.8;}
.pack-flow .rv-count{color:var(--ui-muted);font:12px var(--fb);letter-spacing:2px;opacity:1;}
.pack-flow .rv-name{font:600 23px var(--fb);color:var(--ui-text);margin-top:12px;}
.pack-flow .rv-type{font:12px var(--fb);color:var(--ui-muted);margin-top:8px;opacity:1;}
.pack-flow .rv-rar{margin:16px 0 0;}
.pack-flow .rv-rar .r-tag{background:none;color:var(--ui-muted);font-size:10px;letter-spacing:1px;}
.pack-flow .badge-new{background:#7acdb6;font:600 10px var(--fb);padding:4px 12px;}
.pack-flow .badge-dupe{background:#ffffff80;color:var(--ui-muted);font:500 10px var(--fb);padding:4px 10px;letter-spacing:0;}
.pack-flow .sum-grid{margin-top:16px;gap:14px;max-width:370px;}
.pack-flow .sum-grid .mc{box-shadow:0 8px 15px #456b8120;}
.pack-flow .sum-note{border:0;color:var(--ui-muted);font-size:12px;margin-top:22px;}
.pack-flow .pack-summary>.a-title{color:var(--ui-text);}
@media(max-height:650px){.pack-flow .rv-card{width:min(170px,48vw);}.pack-flow .f-hdr{min-height:50px;padding:12px 18px;}.pack-flow .rv-name{font-size:20px;margin-top:6px;}.pack-flow .rv-rar{margin-top:8px;}.pack-flow .f-foot{padding:12px 20px 18px;}.pack-flow #pk-o{width:180px;}}
@media(prefers-reduced-motion:reduce){.pack-flow .pk-open,.pack-flow .rv-card .mc,.pack-flow .rv-full .pc{animation:none;}.pack-choice{transition:none;}}
.collection-count{font-size:12px;color:var(--ui-muted);font-variant-numeric:tabular-nums;}
.captain-change{border:0;background:none;text-align:left;cursor:pointer;flex:1;color:inherit;}
.captain-change>span{display:block;}.captain-change .b-cap-name{font:600 17px var(--fb);margin-top:5px;}
.captain-change .b-cap-name>span{margin-left:8px;color:var(--ui-muted);}
#s-app[data-view="builder"] .b-cap{background:#ffffff70;border-radius:16px;padding:12px;margin:0;}
#s-app[data-view="builder"] .b-cap .mc-tag{display:none;}
#s-app[data-view="builder"] .b-cap .mc{width:46px;}
#s-app[data-view="builder"] .b-cap-lbl{font:500 11px var(--fb);text-transform:none;letter-spacing:0;}
#s-app[data-view="builder"] .b-name{font:600 19px var(--fb);}
.deck-overview{margin:4px 0 20px;border-bottom:1px solid #dbe7ed;padding:0 0 10px;}
.deck-overview summary{cursor:pointer;color:var(--ui-muted);font:500 12px var(--fb);padding:10px 0;}
.deck-overview .b-slots{margin-top:14px;}
#s-app[data-view="builder"] .b-errs:empty{display:none;}
.builder-hint{font:11px var(--fb);line-height:1.6;color:var(--ui-muted);margin:0 0 12px;}
.builder-hint span{display:block;color:var(--ui-text);}
#s-app #bld-grid .mc.in-deck{opacity:1;border-color:#6bc7b6;box-shadow:0 0 0 1px #6bc7b6,0 4px 9px #42617a1c;}
#s-app #bld-grid .mc-check{top:6px;right:6px;left:auto;transform:none;width:20px;height:20px;background:#65b9a8;border:1px solid #fff;font-size:12px;}
#s-app #bld-grid .mc-tag{display:none;}
.collection-tabs{display:flex;margin:18px 0 22px;border-bottom:1px solid #cfdee7;}
.collection-tabs button{flex:1;background:none;border:0;padding:12px;color:var(--ui-muted);font:600 14px var(--fb);cursor:pointer;position:relative;}
.collection-tabs button[aria-pressed="true"]{color:var(--ui-text);}
.collection-tabs button[aria-pressed="true"]:after{content:'';position:absolute;bottom:-1px;left:20%;right:20%;height:3px;border-radius:3px;background:#5ac5b3;}
#s-app[data-view="decks"] .search-row{margin-bottom:10px;gap:6px;}
#s-app[data-view="decks"] .search-row .search{border:0;background:#fff9;border-radius:24px;min-height:42px;}
#s-app[data-view="decks"] .chip{border:0;background:#fff8;color:var(--ui-muted);min-height:34px;}
#s-app[data-view="decks"] .chip.on{background:#bcebe7;color:var(--ui-text);}
@media(max-width:360px){
  #s-app[data-view="decks"] .search-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;}
  #s-app[data-view="decks"] .search-row .search{grid-column:1/-1;min-width:0;}
  #s-app[data-view="decks"] .search-row .chip{padding:5px 3px;font-size:10px;text-align:center;justify-content:center;}
}
#s-app[data-view="decks"] .grid4{gap:16px 12px;padding:6px 0 20px;}
#s-app[data-view="decks"] .mc-tag{display:none;}
#s-app[data-view="decks"] .mc-name{font-size:11px;font-weight:500;padding:20px 6px 7px;}
.deck-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;padding:8px 8px 20px;}
.deck-gallery .dk{width:auto;background:none;border:0;box-shadow:none;padding:0;display:flex;flex-direction:column;align-items:center;}
.deck-gallery .dk .mc{width:116px;height:166px;transform:rotate(-4deg);box-shadow:4px 4px 0 #dbe7ed,7px 7px 0 #fff,10px 14px 18px #3f617321;margin:8px 0 18px;}
.deck-gallery .dk-name{font-size:13px;text-align:center;}
.deck-gallery .dk-badge{position:static;margin-top:7px;align-self:center;font-size:9px;background:#d0eee7;color:var(--ui-text);padding:4px 10px;}
.deck-gallery .dk.new{margin:8px 0 50px;min-height:166px;border:1px dashed #a9c8d4;border-radius:12px;color:var(--ui-muted);font:500 13px var(--fb);justify-content:center;gap:10px;background:#ffffff30;}
.deck-hint{text-align:center;color:var(--ui-muted);font-size:12px;}
.sheet-top{position:sticky;top:-10px;height:38px;z-index:5;pointer-events:none;}
.sheet-top .a-grab{margin:0 auto;position:relative;top:6px;}
.sheet-close{pointer-events:auto;position:absolute;right:0;top:0;width:40px;height:40px;border:1px solid #e5eef3;background:#ffffffed;border-radius:50%;color:var(--ui-muted);font:24px var(--fb);cursor:pointer;box-shadow:0 2px 8px #36526b0a;}
#s-app .a-sheet{background:linear-gradient(145deg,#f8fcff,#ecf4f8);box-shadow:0 -12px 50px #31526b1a;}
#s-app .cd-card{width:min(190px,44vw);margin:0 auto 20px;}
#s-app .cd-card .mc{border:4px solid white;border-radius:12px;box-shadow:0 12px 24px #36566c28;}
#s-app .cd-card .mc-name,#s-app .cd-card .mc-tag,#s-app .cd-card .mc-pip{display:none;}
#s-app .cd-name{font:600 23px var(--fb);color:var(--ui-text);}
#s-app .cd-chips .chip{border:0;background:none;color:var(--ui-muted);font-size:10px;}
#s-app .stat3{gap:0;margin:20px 0;}
#s-app .stat3 .stat{border:0;border-right:1px solid #dbe7ee;border-radius:0;}
#s-app .stat3 .stat:last-child{border-right:0;}
#s-app .stat3 .stat b{font:600 17px var(--fb);margin-bottom:5px;}
#s-app .ability{background:#fff9;border:0;border-radius:16px;padding:17px;}
#s-app .ability .a-lbl{letter-spacing:0;text-transform:none;font:600 13px var(--fb);color:var(--ui-text);margin-bottom:8px;}
#s-app .ability p{font-size:13px;color:var(--ui-muted);line-height:1.65;}
:root{--m-bg:#f1f6fa;--m-ink:#29465c;--m-ink2:#7790a2;--m-acc:#319d91;--m-acc-lt:#e0f6ee;--m-line:#dce8ed;}
body,#s-app{background:#eaf2f7;}
#s-app .app-col{background:radial-gradient(ellipse at 75% 28%,#dbf9f1a8,transparent 52%),radial-gradient(ellipse at 10% 68%,#e3dff9a6,transparent 45%),linear-gradient(#f9fcff,#edf4f9);box-shadow:none;border:0;}
#s-app[data-view="home"] .app-scroll,#s-app[data-view="play"] .app-scroll{display:flex;flex-direction:column;padding:22px 26px 10px;overflow:auto;}
.game-top{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;flex-shrink:0;z-index:2;}
.game-profile,.game-icon{width:36px;height:36px;flex:none;border:1px solid #fff;border-radius:50%;background:#ffffffb0;box-shadow:0 3px 10px #40677910;color:var(--ui-muted);font:600 15px var(--fb);cursor:pointer;}
.game-profile{background:linear-gradient(135deg,#b9e1de,#79b3c3);color:white;border:2px solid white;}
.game-wordmark{font:600 13px var(--fb);letter-spacing:2px;color:var(--ui-text);}
.game-wordmark b{font-size:21px;font-weight:800;letter-spacing:-1px;margin-left:2px;}
.game-page-title{font:600 24px var(--fb);letter-spacing:-.6px;color:var(--ui-text);}
.booster-scene{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:285px;isolation:isolate;}
.scene-halo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:320px;height:320px;border-radius:50%;background:radial-gradient(ellipse,#fff 10%,#c9f1ec55 46%,transparent 70%);pointer-events:none;z-index:-1;}
.booster-scene:after{content:'';position:absolute;width:155px;height:18px;bottom:8%;left:50%;transform:translateX(-50%);border-radius:50%;background:#48778a1c;filter:blur(12px);z-index:-1;}
.booster-scene .hero-booster{width:232px;height:348px;max-height:100%;max-width:70%;aspect-ratio:2/3;transform:rotate(-5deg);z-index:2;animation:booster-float 6s ease-in-out infinite;}
.booster-scene .hero-booster img{filter:drop-shadow(8px 12px 10px #2f546227);}
.pack-wing{position:absolute;left:50%;width:180px;height:270px;background:url('../assets/ui/legends-booster.webp') center/contain no-repeat;opacity:.3;filter:blur(.3px);z-index:0;}
.wing-left{transform:translateX(-83%) rotate(-17deg) scale(.84);}.wing-right{transform:translateX(-15%) rotate(14deg) scale(.84);}
.booster-actions{text-align:center;flex-shrink:0;z-index:3;}
.game-primary{display:block;width:min(100%,280px);margin:0 auto;border:1px solid #ffffffd9;border-radius:30px;min-height:52px;padding:13px 24px;background:linear-gradient(#acedd8,#5fd5b8);color:#285d60;font:700 16px var(--fb);box-shadow:0 4px 0 #3ba98f,0 7px 20px #549b9220,inset 0 2px 0 #fff7;cursor:pointer;transition:transform .15s,box-shadow .15s;}
.game-primary:active{transform:translateY(3px);box-shadow:0 1px 0 #3ba98f;}
.game-primary:disabled{background:linear-gradient(#edf3f7,#d9e4ed);color:var(--ui-muted);box-shadow:0 3px 0 #ccd9e2;cursor:default;}
.game-pack-time{font:11px var(--fb);color:var(--ui-muted);margin-top:18px;min-height:18px;}
.game-pack-time span{font-variant-numeric:tabular-nums;color:var(--ui-muted);font-weight:600;}
.game-utilities{display:flex;justify-content:space-between;align-items:center;margin-top:25px;flex-shrink:0;min-height:42px;}
.game-wallet,.game-rewards{background:#ffffffa8;border:1px solid white;border-radius:22px;min-height:38px;padding:8px 14px;color:var(--ui-muted);font:600 12px var(--fb);display:flex;align-items:center;gap:7px;cursor:pointer;box-shadow:0 2px 8px #65839308;}
.game-rewards svg{width:17px;height:17px;}.game-rewards em{font:600 10px var(--fb);background:#eaa26e;color:white;border-radius:50%;min-width:17px;padding:3px;}
.team-display{position:relative;flex:1;min-height:300px;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--ui-text);isolation:isolate;padding:20px 0;}
.team-fan{width:100%;height:225px;position:relative;}
.team-fan .mc{position:absolute;left:50%;top:15px;width:124px;height:177px;border:3px solid #fff;border-radius:9px;box-shadow:0 12px 20px #3d5d792a;pointer-events:none;}
.team-fan .mc-tag,.team-fan .mc-pip{display:none;}
.team-fan .mc-name{font-size:10px;padding:20px 6px 6px;}
.team-fan .fan-left{transform:translateX(-105%) rotate(-17deg);top:30px;z-index:1;}
.team-fan .fan-right{transform:translateX(5%) rotate(17deg);top:30px;z-index:1;}
.team-fan .fan-captain{transform:translateX(-50%);width:138px;height:197px;z-index:2;}
.team-name{display:block;font:600 15px var(--fb);padding:10px 20px;background:#ffffff9e;border:1px solid white;border-radius:22px;}
.team-name>span{margin-left:12px;color:var(--ui-muted);}
.battle-controls{flex-shrink:0;text-align:center;padding-bottom:12px;}
.battle-modes{display:flex;width:250px;max-width:100%;margin:0 auto;background:#dfe9ef8c;border-radius:26px;padding:4px;}
.battle-modes button{flex:1;min-height:38px;border:0;background:none;border-radius:22px;color:var(--ui-muted);font:600 13px var(--fb);cursor:pointer;}
.battle-modes button[aria-pressed="true"]{background:#fff;color:var(--ui-text);box-shadow:0 2px 6px #3f66771a;}
.battle-mode-description{font:11px var(--fb);color:var(--ui-muted);margin:15px 0 24px;min-height:14px;}
.game-text-button{border:0;background:none;color:var(--ui-muted);font:500 12px var(--fb);padding:22px;cursor:pointer;}
#s-app .a-nav{min-height:76px;padding:0 18px 8px;background:linear-gradient(#ffffff00,#ffffffb8);border:0;box-shadow:none;gap:12px;}
#s-app .a-nav button{color:var(--ui-muted);font:500 10px var(--fb);gap:5px;padding-top:8px;}
#s-app .a-nav .ni{width:46px;height:30px;border-radius:18px;display:grid;place-items:center;transition:background .2s,transform .2s;}
#s-app .a-nav .ni svg{width:24px;height:24px;}
#s-app .a-nav button.on{color:var(--ui-text);}
#s-app .a-nav button.on .ni{background:#bcebe788;transform:translateY(-2px);}
#s-app .a-nav button.on:after{display:none;}
#s-app .mc{border:2px solid #fff;border-radius:8px;box-shadow:0 4px 9px #42617a1c;}
#s-app .a-title{color:var(--ui-text);font-size:24px;}
#s-app .a-hdr>.pill{background:none;border:0;color:var(--ui-muted);}
@keyframes booster-float{0%,100%{transform:translateY(0) rotate(-5deg);}50%{transform:translateY(-7px) rotate(-3deg);}}
@media(max-height:740px){.booster-scene{min-height:230px;}.booster-scene .hero-booster{width:185px;height:278px;}.pack-wing{width:150px;height:225px;}.game-utilities{margin-top:14px;}.team-display{min-height:260px;}.team-fan{height:210px;}}
@media(max-height:620px){#s-app[data-view="home"] .app-scroll,#s-app[data-view="play"] .app-scroll{padding-top:12px;}.booster-scene{min-height:190px;}.booster-scene .hero-booster{width:144px;height:216px;}.pack-wing{width:120px;height:180px;}.game-top{min-height:36px;}.game-utilities{margin-top:8px;}.game-pack-time{margin-top:10px;}.game-primary{min-height:46px;}.team-display{min-height:220px;padding:0;}.team-fan{height:175px;transform:scale(.8);transform-origin:center bottom;}.team-name{font-size:13px;padding:7px 16px;}.battle-mode-description{margin:10px 0 16px;}.game-text-button{padding:14px;}}
@media(prefers-reduced-motion:reduce){.booster-scene .hero-booster{animation:none;}}
@media(max-height:620px){
  .team-display{min-height:184px;flex-shrink:0;}
  .team-fan{height:148px;flex-shrink:0;transform:none;}
  .team-fan .mc{width:86px;height:123px;top:12px;}
  .team-fan .fan-captain{width:98px;height:140px;top:0;}
  .team-name{flex-shrink:0;}
  .battle-controls{padding-bottom:0;}
  .battle-mode-description{margin:8px 0 12px;}
  .game-text-button{padding:12px;}
}
/* Pack showcase and interactive foil opening. */
.pack-selection{gap:0;padding-top:18px;}
.pack-selection>.pack-preview-label{margin-bottom:28px;}
.pack-preview-label{font:800 17px var(--fb);margin:0 0 7px;color:var(--ui-text);}
.pack-preview-note{font:11px/1.5 var(--fb);color:var(--ui-muted);margin:0 0 22px;max-width:310px;}
.pack-flow .pack-selection .pack-choice .pack{max-height:250px;}
.pack-flow .pack-selection .set-nm{margin-top:9px;}
.drop-rates-link{display:block;margin:4px auto 0;padding:4px 8px;border:0;background:none;font:600 11px var(--fb);color:var(--ui-muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer;}
.drop-rates-link:hover,.drop-rates-link:focus-visible{color:var(--ui-text);}
.drop-rates .a-title{margin:2px 0 12px;}
.dr-slots{display:grid;gap:8px;margin-bottom:10px;}
.dr-slots>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font:12px var(--fb);}
.dr-slots small{width:100%;font:800 10px var(--fb);text-transform:uppercase;letter-spacing:.8px;color:var(--ui-muted);}
.dr-r{padding:3px 8px;border-radius:99px;background:#eef3f7;font-weight:700;color:var(--ui-text);}
.dr-note{font:11px/1.5 var(--fb);color:var(--ui-muted);margin:0 0 14px;}
.dr-group{margin-bottom:14px;}
.dr-group h4{font:800 11px var(--fb);text-transform:uppercase;letter-spacing:.8px;margin:0 0 4px;color:var(--ui-text);}
.dr-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #dfe7ee;font:13px var(--fb);color:var(--ui-text);}
.dr-row b{font-variant-numeric:tabular-nums;}
.dr-row em{font:700 9px var(--fb);font-style:normal;text-transform:uppercase;color:#267dba;margin-left:4px;}
.dr-rare{color:#2f6fae;}.dr-epic{color:#7a45b8;}.dr-legendary{color:#a97812;}
.dr-r.dr-rare{background:#e5effa;}.dr-r.dr-epic{background:#efe6fa;}.dr-r.dr-legendary{background:#faf1dc;}
.pack-flow .pack-selection .f-hint{margin-top:20px;}
.pack-opening{overflow-x:hidden;justify-content:flex-start;padding-top:24px;}

.pack-flow #pk-o.slice-pack{position:relative;aspect-ratio:2/3;touch-action:none;user-select:none;cursor:grab;isolation:isolate;flex-shrink:0;}
.slice-pack .wrapper-body,.slice-pack .wrapper-top{position:absolute;inset:0;pointer-events:none;}
.slice-pack .wrapper-body{clip-path:polygon(0 8%,100% 8%,100% 100%,0 100%);z-index:2;}
.slice-pack .wrapper-top{clip-path:polygon(0 0,100% 0,100% 8%,0 8%);z-index:3;}
.pack-flow .slice-pack .pk-open{animation:none;aspect-ratio:2/3;height:100%;}
.slice-pack img{-webkit-user-drag:none;}
.slice-instruction{font:700 14px var(--fb);color:var(--ui-text);margin:12px 0 6px;}
.slice-cards{position:absolute;inset:16% 12% 6%;z-index:1;opacity:0;}
.slice-cards i{position:absolute;inset:0;border:3px solid white;border-radius:10px;background:#164d59 url('../assets/ui/card-back.svg') center/cover;box-shadow:0 8px 24px #28435930;}
.slice-cards i:nth-child(1){transform:rotate(-5deg);}.slice-cards i:nth-child(2){transform:rotate(5deg);}
.slice-flash{position:absolute;top:8%;left:7%;right:7%;height:3px;background:white;opacity:0;z-index:5;box-shadow:0 0 20px 8px #b0fff4;}
.is-opening .wrapper-top{animation:foilPeel .85s cubic-bezier(.2,.7,.4,1) forwards;transform-origin:85% 8%;}
.is-opening .wrapper-body{animation:foilDrop .85s .2s ease-in forwards;}
.is-opening .slice-cards{animation:cardsRise .9s .12s both;}
.is-opening .slice-flash{animation:seamFlash .45s ease-out;}
@keyframes foilPeel{20%{transform:translateY(-12px) rotate(-5deg);}100%{transform:translate(95px,-150px) rotate(28deg);opacity:0;}}
@keyframes foilDrop{to{transform:translateY(190px) rotate(-8deg);opacity:0;}}
@keyframes cardsRise{from{opacity:0;}20%{opacity:1;}to{opacity:1;transform:translateY(-32px) scale(1.04);}}
@keyframes seamFlash{20%{opacity:1;transform:scaleX(1.1);}100%{opacity:0;transform:scaleX(1.3);}}
@media(max-height:700px){.pack-flow #pk-o.slice-pack{width:160px;}.pack-opening{padding-top:16px;}.pack-flow .pack-selection .pack-choice .pack{max-height:190px;}.pack-preview-note{margin-bottom:10px;}}
@media(prefers-reduced-motion:reduce){.is-opening .wrapper-top,.is-opening .wrapper-body,.is-opening .slice-cards,.is-opening .slice-flash{animation:none;}}

/* A moving swipe cue at the foil seal, with no guide line. */
.seal-swipe-cue{position:absolute;top:8%;left:12%;z-index:6;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fffffff0;color:#248c90;box-shadow:0 2px 12px #377e8b33;font:700 21px var(--fb);transform:translate(-50%,-50%);pointer-events:none;animation:sealSwipe 2.2s ease-in-out infinite;}
.slicing .seal-swipe-cue,.is-opening .seal-swipe-cue{visibility:hidden;}
@keyframes sealSwipe{0%,10%{left:12%;opacity:0;}20%{opacity:1;}75%{left:88%;opacity:1;}90%,100%{left:88%;opacity:0;}}
@media(prefers-reduced-motion:reduce){.seal-swipe-cue{animation:none;left:50%;}}
/* Pinned deck tray and independently scrolling collection. */
#s-app[data-view="builder"] .app-scroll{display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:10px 14px 0;}
#s-app[data-view="builder"] .a-hdr{flex:none;margin:0 0 8px;min-height:40px;gap:10px;}
.builder-pinned{flex:none;padding-bottom:8px;border-bottom:1px solid #cbdde3;}
#s-app[data-view="builder"] .b-cap{padding:7px 10px;border:1px solid #ddc37e;background:linear-gradient(110deg,#fff5d9,#fffdf5);border-radius:12px;}
#s-app[data-view="builder"] .captain-change{display:flex;align-items:center;gap:10px;padding:0;width:100%;min-width:0;}
#s-app[data-view="builder"] .b-cap .mc{width:35px;border-color:#c5a34c;border-radius:5px;}
.captain-copy{min-width:0;}
#s-app[data-view="builder"] .b-cap-lbl{display:block;font-size:9px;font-weight:800;color:#85641f;letter-spacing:.35px;}
#s-app[data-view="builder"] .b-cap-name{display:block;font-size:16px;line-height:1.2;margin-top:2px;}
.captain-ability{display:block;font-size:10px;color:#7a6740;margin-top:2px;}
.captain-empty{display:grid;place-items:center;width:35px;height:49px;border:1px dashed #c5a34c;border-radius:5px;}
.builder-deck-heading,.builder-collection-heading{display:flex;align-items:center;gap:8px;min-height:32px;}
.builder-deck-heading>b,.builder-collection-heading>b{font-size:12px;}
#s-app[data-view="builder"] .b-count{display:flex;align-items:baseline;gap:4px;margin:0;}
#s-app[data-view="builder"] .b-count b{font:800 14px var(--fb);}
#s-app[data-view="builder"] .b-count span{font-size:10px;}
#s-app[data-view="builder"] .b-slots{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin:0;}
.builder-slot-card,.builder-card{display:block;width:100%;min-width:0;padding:0;border:0;background:none;color:inherit;text-align:inherit;cursor:pointer;font:inherit;}
.builder-slot-card .mc{width:100%;height:100%;}
#s-app[data-view="builder"] .b-slot{font:600 10px var(--fb);border-radius:4px;background:#ffffff55;}
#s-app[data-view="builder"] .b-slots .mc{border-radius:4px;border-width:1px;}
#s-app[data-view="builder"] .b-meters{gap:8px;margin:6px 0 0;flex-wrap:nowrap;align-items:center;}
#s-app[data-view="builder"] .b-meters .chip{border:0;background:none;padding:0;min-height:0;font-size:10px;white-space:nowrap;}
#s-app[data-view="builder"] .b-errs{font-size:10px;margin-top:4px;min-height:0;}
.builder-collection{display:flex;flex-direction:column;min-height:0;flex:1;}
.builder-browse-tools{flex:none;padding:3px 0 8px;}
.builder-collection-heading{justify-content:space-between;}
.builder-collection-heading>span{font-size:10px;color:var(--ui-muted);}
#s-app[data-view="builder"] .search-row{gap:5px;margin:0;}
#s-app[data-view="builder"] .search{min-height:34px;border-radius:9px;}
#s-app[data-view="builder"] .search-row .chip{min-height:27px;padding:3px 10px;font-size:11px;cursor:pointer;}
.builder-card-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:3px 2px 16px;scrollbar-width:thin;}
.builder-card-hint{flex:none;margin:0 0 5px;font-size:10px;color:var(--ui-muted);}
.builder-card-item{min-width:0;}
.builder-detail-action{position:sticky;bottom:0;padding:12px 0 0;background:var(--m-bg,#fff);text-align:center;}
.builder-detail-action .btn{width:100%;min-height:44px;}
.builder-detail-action p{font-size:12px;color:var(--ui-muted);margin:8px 0;}
#s-app[data-view="builder"] #bld-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px;}
#s-app[data-view="builder"] #bld-grid .mc{border:2px solid #fff;box-shadow:0 2px 5px #203e351a;}
#s-app[data-view="builder"] #bld-grid .mc.in-deck{opacity:1;}
#s-app[data-view="builder"] .mc-pip{display:none;}
/* Collection cards already in the deck: greyed out under an "In deck" label */
.mc-indeck{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;border-radius:inherit;background:#46505acc;color:#fff;font:800 13px var(--fb);letter-spacing:.6px;text-transform:uppercase;pointer-events:none;}
#s-app[data-view="builder"] #bld-grid[data-columns="5"] .mc-indeck{font-size:9px;letter-spacing:.2px;}
/* Deck cards with no ability: the obvious ones to swap out */
.mc-noab{position:absolute;left:2px;right:2px;bottom:2px;z-index:4;padding:1px 0;border-radius:3px;background:#2b3440d9;color:#fff;font:700 6px/1.3 var(--fb);white-space:nowrap;overflow:hidden;text-align:center;text-transform:uppercase;pointer-events:none;}
/* Deck not full yet: the count and what's missing turn amber */
#s-app[data-view="builder"] .b-count.short b{color:#c06a00;}
.builder-needs.short{flex:none;margin-left:auto;padding:4px 9px;border-radius:999px;background:#fff1d6;border:1px solid #f0c472;color:#8a4b00;font:700 11px var(--fb);text-align:center;min-width:0;}
#s-app[data-view="builder"] #bld-grid .mc-check{display:grid;place-items:center;position:absolute;top:5px;right:5px;bottom:auto;left:auto;width:23px;height:23px;border-radius:50%;background:#fff;color:#236b5e;font:bold 17px var(--fb);box-shadow:0 1px 4px #0003;}
#s-app[data-view="builder"] #bld-grid .in-deck .mc-check{background:#208f79;color:#fff;}
#s-app[data-view="builder"] #bld-grid .mc-name{font-size:11px;padding:22px 5px 7px;}
.builder-slot-card:focus-visible,.builder-card:focus-visible,.captain-change:focus-visible{outline:3px solid #267dba;outline-offset:2px;border-radius:6px;}
@media(max-height:600px){
 #s-app[data-view="builder"] .app-scroll{padding-top:4px;}
 #s-app[data-view="builder"] .a-hdr{margin-bottom:4px;min-height:32px;}
 #s-app[data-view="builder"] .b-cap .mc{width:28px;}
 #s-app[data-view="builder"] .b-slots{max-width:320px;margin-inline:auto;gap:3px;}
 #s-app[data-view="builder"] .builder-browse-tools{padding-bottom:4px;}
}
@media(max-height:500px) and (min-width:600px){
 #s-app[data-view="builder"] .app-col{max-width:800px;}
 #s-app[data-view="builder"] .a-nav{display:none;}
 #s-app[data-view="builder"] .builder-pinned{display:grid;grid-template-columns:190px 1fr;column-gap:14px;}
 #s-app[data-view="builder"] .b-cap{grid-row:1/4;align-self:center;}
 #s-app[data-view="builder"] .b-cap-lbl{font-size:8px;}
 #s-app[data-view="builder"] .b-slots{width:100%;max-width:390px;margin:0;grid-column:2;}
 #s-app[data-view="builder"] .b-meters,#s-app[data-view="builder"] .b-errs{grid-column:2;}
 #s-app[data-view="builder"] .builder-browse-tools{display:flex;align-items:center;gap:16px;padding:6px 0;}
 #s-app[data-view="builder"] .builder-collection-heading{flex:none;}
 #s-app[data-view="builder"] .builder-collection-heading>span{display:none;}
 #s-app[data-view="builder"] .search-row{flex:1;flex-wrap:nowrap;}
 #s-app[data-view="builder"] .search{flex:1;min-width:100px;}
 #s-app[data-view="builder"] #bld-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
}
/* A quieter builder: one progress line, more room for the collection. */
#s-app[data-view="builder"] .a-nav{display:none;}
#s-app[data-view="builder"] .builder-deck-heading{gap:5px;flex-wrap:wrap;padding:5px 0;min-height:30px;}
#s-app[data-view="builder"] .builder-deck-heading>b{font-size:11px;}
#s-app[data-view="builder"] .b-count b{font-size:12px;}
.builder-needs{flex:1;min-width:140px;font-size:9px;line-height:1.35;color:var(--ui-muted);text-align:right;}
#s-app[data-view="builder"] .builder-pinned{padding-bottom:3px;}
#s-app[data-view="builder"] .b-slots{min-width:0;}
#s-app[data-view="builder"] .b-slots.is-large{display:grid;grid-template-columns:none;grid-template-rows:repeat(2,70px);grid-auto-flow:column;grid-auto-columns:50px;overflow-x:auto;overflow-y:hidden;gap:5px;padding:2px 1px 5px;scroll-snap-type:x proximity;scrollbar-width:thin;max-width:100%;overscroll-behavior-x:contain;}
#s-app[data-view="builder"] .b-slots.is-large>*{scroll-snap-align:start;}
#s-app[data-view="builder"] .b-slots.is-large .mc-name{font-size:8px;line-height:1.15;}
.builder-density{display:flex;align-items:center;gap:3px;}
.builder-density>span{font-size:10px;color:var(--ui-muted);margin-right:4px;}
.builder-density button{border:1px solid #cfdfdf;border-radius:7px;min-width:30px;min-height:27px;background:#fff;color:var(--ui-muted);font:700 11px var(--fb);cursor:pointer;}
.builder-density button[aria-pressed="true"]{border-color:#208f79;background:#e0f5ef;color:#176657;}
#s-app[data-view="builder"] #bld-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr));}
#s-app[data-view="builder"] #bld-grid[data-columns="5"]{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px 5px;}
#s-app[data-view="builder"] #bld-grid[data-columns="5"] .mc-name{font-size:9px;padding:14px 3px 4px;}
#s-app[data-view="builder"] #bld-grid[data-columns="5"] .mc-check{width:17px;height:17px;top:2px;right:2px;font-size:12px;}
#s-app[data-view="builder"] #bld-grid[data-columns="5"] .mc-tag{display:none;}
@media(max-height:500px) and (min-width:600px){
 #s-app[data-view="builder"] .b-slots.is-large{grid-template-rows:repeat(2,49px);grid-auto-columns:35px;}
 #s-app[data-view="builder"] .builder-collection-heading{gap:12px;}
 #s-app[data-view="builder"] .search-row{min-width:0;}
}

/* Captain and live composition share the same compact panel. */
#s-app[data-view="builder"] .b-cap{gap:10px;}
#s-app[data-view="builder"] .captain-change{flex:1;width:auto;gap:8px;}
#s-app[data-view="builder"] .captain-change>.mc{flex-shrink:0;}
.captain-deck-counts{flex:none;display:flex;flex-direction:column;gap:2px;min-width:76px;padding-left:10px;border-left:1px solid #ddc37e80;color:#79683c;font:500 10px/1.4 var(--fb);}
.captain-deck-counts>span{display:flex;align-items:baseline;gap:6px;}
.captain-deck-counts b{min-width:15px;text-align:right;color:#4e523f;font-weight:800;}
@media(max-height:500px) and (min-width:600px){
 #s-app[data-view="builder"] .builder-pinned{grid-template-columns:240px minmax(0,1fr);}
 #s-app[data-view="builder"] .b-cap{gap:6px;padding-inline:7px;}
 .captain-deck-counts{min-width:64px;padding-left:6px;font-size:9px;}
}

/* Search and card-type filter occupy one shared row. */
#s-app[data-view="builder"] .builder-search-bar{display:flex;flex-wrap:nowrap;gap:0;align-items:center;background:#fff;border:1px solid #cbdce5;border-radius:9px;overflow:hidden;min-height:36px;}
#s-app[data-view="builder"] .builder-search-bar .search{flex:1 1 0;min-width:0;min-height:34px;border:0;background:none;border-radius:0;margin:0;}
#s-app[data-view="builder"] .builder-search-bar input{min-width:0;width:100%;}
.builder-filter{display:flex;align-items:center;flex:none;gap:3px;padding:0 7px;border-left:1px solid #dce7ed;color:#3a716b;}
.builder-filter svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;}
.builder-filter select{max-width:100px;min-height:32px;border:0;background:transparent;color:inherit;font:600 11px var(--fb);cursor:pointer;}
.builder-filter select:focus-visible{outline:2px solid #267dba;outline-offset:-2px;border-radius:4px;}

#s-app[data-view="builder"] #b-autofill[hidden]{display:none;}

.builder-name-edit{display:flex;align-items:center;gap:3px;flex:1;min-width:0;}
#s-app[data-view="builder"] .builder-name-edit .b-name{field-sizing:content;flex:0 1 auto;width:auto;max-width:calc(100% - 35px);}
.builder-name-pen{display:grid;place-items:center;flex:none;width:32px;height:36px;padding:7px;border:0;border-radius:8px;background:none;color:#6a8794;cursor:pointer;}
.builder-name-pen svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.builder-name-pen:hover{background:#e4f0f2;color:#236b5e;}
.builder-name-pen:focus-visible{outline:2px solid #267dba;outline-offset:1px;}

/* Compact boxed set previews; the opening stage gives the wrapper centre stage. */
.pack-flow .pack-selection{justify-content:center;padding:16px 16px 24px;}
.pack-selection>.pack-preview-label{margin-bottom:24px;}
.pack-selection .set-pick{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.pack-flow .pack-selection .pack-choice .pack{max-height:280px;}
.pack-flow .pack-selection .f-hint{margin-top:24px;}
.pack-flow .pack-opening{justify-content:center;padding:40px 20px 24px;}
.pack-flow #pk-o.slice-pack{width:min(290px,76vw,calc((100dvh - 190px)*2/3));}
.pack-opening .slice-instruction{visibility:hidden;min-height:20px;margin:12px 0 0;}
.pack-opening .slice-instruction.is-visible{visibility:visible;}
@media(max-height:700px){
 .pack-flow .pack-selection{padding-top:8px;padding-bottom:16px;}
 .pack-selection>.pack-preview-label{font-size:15px;margin-bottom:16px;}
 .pack-flow .pack-selection .pack-choice .pack{max-height:210px;}
 .pack-flow .pack-selection .f-hint{margin-top:16px;}
 .pack-flow .pack-opening{padding-top:28px;}
}

/* Deck cards lift without adding controls over their artwork. */
.builder-card,.builder-slot-card{cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;}
.builder-card img,.builder-slot-card img{pointer-events:none;-webkit-user-drag:none;}
.builder-drag-source{opacity:.35;}
.builder-drop-ready{outline:2px dashed #208f79;outline-offset:-2px;border-radius:8px;}
.builder-drop-over{background:#d5f1e9;outline-style:solid;}
.builder-drag-ghost{position:fixed;z-index:10000;pointer-events:none;transform:translate(-50%,-65%) rotate(-5deg);padding:0;border:0;background:none;filter:drop-shadow(0 8px 10px #173d4b55);}
.builder-drag-ghost .mc{width:100%;}
@media(pointer:coarse){.builder-card-hint{font-size:9px;}.builder-card-hint::after{content:' · Hold to drag';}}

/* Pack rewards: charge the seal, release the cards, then reveal their rarity. */
.pack-aura{position:absolute;inset:-18%;z-index:0;border-radius:50%;background:radial-gradient(ellipse,#8de4dc80,transparent 67%);animation:packBreathe 2.8s ease-in-out infinite;pointer-events:none;}
.seal-energy{position:absolute;top:8%;left:0;width:100%;height:3px;z-index:5;background:#d4fff7;box-shadow:0 0 18px 5px #65d9ca;opacity:0;transform:scaleX(var(--tear,0));pointer-events:none;}
.slicing .seal-energy{opacity:1;}
.is-opening .seal-energy{display:none;}
.is-opening .pack-aura{animation:packRelease 1s ease-out both;}
.pack-sparks{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:visible;}
.pack-sparks i{position:absolute;left:50%;top:45%;width:5px;height:10px;border-radius:2px;background:var(--reward-color,#56bfb1);opacity:0;}
.is-opening .pack-sparks i{animation:rewardSpark 850ms var(--sd) ease-out both;}
.is-opening .slice-cards i:first-child{animation:packFanLeft .8s .15s both;}
.is-opening .slice-cards i:last-child{animation:packFanRight .8s .15s both;}
.reward-stage{--reward-color:#62b8a4;--reveal-time:850ms;position:relative;isolation:isolate;overflow:hidden;perspective:1000px;}
.reward-stage.r-rare{--reward-color:#4b99e4;--reveal-time:1000ms;}
.reward-stage.r-epic{--reward-color:#b669d7;--reveal-time:1150ms;}
.reward-stage.r-legendary{--reward-color:#e5b33e;--reveal-time:1350ms;}
.reward-orbit{position:absolute;width:min(410px,94vw);aspect-ratio:1;top:45%;left:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,transparent 30%,var(--reward-color) 31%,transparent 32%,transparent 46%,var(--reward-color) 47%,transparent 48%),radial-gradient(circle,var(--reward-color),transparent 68%);opacity:.14;pointer-events:none;animation:rewardHalo var(--reveal-time) ease-out both;z-index:-1;}
.reward-stage .pack-sparks{z-index:-1;}
.reward-stage .pack-sparks i{animation:rewardSpark 1000ms calc(var(--reveal-time)*.55 + var(--sd)) ease-out both;}
.reward-stage.r-common .pack-sparks i:nth-child(even){display:none;}
.reward-turn{position:relative;transform-style:preserve-3d;animation:rewardTurn var(--reveal-time) cubic-bezier(.18,.75,.25,1) both;}
/* The face is hidden outright until the card turns edge-on (backface-visibility alone lets
   some phone browsers show it mirrored mid-flip, most visibly on duplicates whose art is cached). */
.pack-flow .reward-turn .pc{animation:rewardFaceIn var(--reveal-time) step-end both;-webkit-backface-visibility:hidden;backface-visibility:hidden;}
.reward-back{position:absolute;inset:0;border:3px solid white;border-radius:12px;background:#164d59 url('../assets/ui/card-back.svg') center/cover;transform:rotateY(180deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:0 12px 35px #164d5940;animation:rewardBackOut var(--reveal-time) step-end both;}
.reward-sheen{position:absolute;inset:0;border-radius:12px;pointer-events:none;overflow:hidden;}
.reward-sheen:after{content:'';position:absolute;inset:-20% -100%;background:linear-gradient(115deg,transparent 42%,#fff9 50%,transparent 58%);transform:translateX(-60%);animation:rewardShine 700ms var(--reveal-time) ease-out both;}
.reward-stage .rv-badges,.reward-stage .rv-rar{animation:rewardLabel 400ms calc(var(--reveal-time)*.65) both;}
.pack-summary .sum-grid .col{animation:rewardDeal 650ms var(--deal) cubic-bezier(.2,.8,.25,1) both;}
.pack-summary .sum-dex,.pack-summary .sum-xp{animation:rewardLabel 500ms 450ms both;}
@keyframes packBreathe{50%{transform:scale(1.1);opacity:.5;}}
@keyframes packRelease{25%{transform:scale(.85);opacity:1;}100%{transform:scale(1.8);opacity:0;}}
@keyframes packFanLeft{to{transform:translate(-24px,-15px) rotate(-14deg);}}
@keyframes packFanRight{to{transform:translate(24px,-8px) rotate(12deg);}}
@keyframes rewardTurn{0%{transform:translateY(24px) scale(.86) rotateY(180deg);}32%{transform:translateY(-8px) scale(.95) rotateY(180deg);}76%{transform:translateY(-5px) scale(1.035) rotateY(-8deg);}100%{transform:translateY(0) scale(1) rotateY(0);}}
@keyframes rewardFaceIn{0%{visibility:hidden;}38%,100%{visibility:visible;}}
@keyframes rewardBackOut{0%{visibility:visible;}38%,100%{visibility:hidden;}}
@keyframes rewardHalo{0%,30%{opacity:.04;transform:translate(-50%,-50%) scale(.5);}65%{opacity:.3;}100%{opacity:.14;transform:translate(-50%,-50%) scale(1);}}
@keyframes rewardSpark{0%{opacity:0;transform:translate(0,0) scale(.3);}12%{opacity:1;}100%{opacity:0;transform:translate(var(--sx),var(--sy)) rotate(var(--sr)) scale(.3);}}
@keyframes rewardShine{to{transform:translateX(60%);}}
@keyframes rewardLabel{from{opacity:0;transform:translateY(10px) scale(.94);}to{opacity:1;transform:none;}}
@keyframes rewardDeal{from{opacity:0;transform:translateY(35px) rotate(-8deg) scale(.8);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){
 .pack-flow .pack-aura,.pack-flow .slice-cards i,.pack-flow .reward-turn,.pack-flow .reward-orbit,.pack-flow .rv-badges,.pack-flow .rv-rar,.pack-flow .sum-grid .col,.pack-flow .sum-dex,.pack-flow .sum-xp{animation:none;}
 .pack-flow .pack-sparks,.pack-flow .reward-sheen{display:none;}
 .pack-flow .rv-card{transition:none!important;}
}

/* A stadium-dark stage makes the opening a distinct, full-screen moment. */
#s-app .pack-flow.pack-cinema{--reward-color:#55efca;background:#041515;}
#s-app .pack-cinema .app-col{background:radial-gradient(ellipse at 50% 43%,#143c42 0%,#061b23 55%,#020b12 100%);overflow:hidden;}
#s-app .pack-cinema.cinema-rare{--reward-color:#67baff;}
#s-app .pack-cinema.cinema-epic{--reward-color:#e08aff;}
#s-app .pack-cinema.cinema-legendary{--reward-color:#ffd26d;}
.pack-cinema .rv-count,.pack-cinema .rv-swipe-hint,.pack-cinema .tap-big,.pack-cinema .slice-instruction{color:#e0f7f4;}
.pack-cinema .f-foot .game-primary{background:#e5fff5;color:#103d35;box-shadow:0 0 28px #70efc62b;}
.pack-cinema .pack-aura{inset:-35%;background:radial-gradient(ellipse,#4df7cf99,transparent 65%);}
.pack-cinema .seal-energy{height:6px;box-shadow:0 0 30px 12px #65ffd9;}
.pack-cinema .pack-opening{position:relative;isolation:isolate;overflow:hidden;}
.pack-detonating:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,#d4fff3 0%,#62ffcf80 25%,transparent 70%);opacity:0;animation:cinemaImpact 1.9s both;z-index:5;}
.pack-cinema .is-opening{animation:packCharge 650ms ease-in both;}
.pack-cinema .is-opening .wrapper-top{animation:foilPeel 850ms 650ms cubic-bezier(.2,.7,.4,1) forwards;}
.pack-cinema .is-opening .wrapper-body{animation:foilDrop 950ms 750ms ease-in forwards;}
.pack-cinema .is-opening .slice-cards{animation:cardsRise 1s 800ms both;}
.pack-cinema .is-opening .slice-flash{animation:seamFlash 700ms 650ms both;}
.pack-cinema .is-opening .pack-aura{animation:packRelease 1.2s 600ms both;}
.pack-cinema .is-opening .pack-sparks i{animation:rewardSpark 1.2s calc(650ms + var(--sd)) ease-out both;}
.pack-cinema .is-opening .slice-cards i:first-child{animation:packFanLeft 1s 800ms both;}
.pack-cinema .is-opening .slice-cards i:last-child{animation:packFanRight 1s 800ms both;}
.pack-cinema .pack-sparks i{width:8px;height:18px;background:var(--reward-color,#70ffcf);box-shadow:0 0 12px currentColor;color:var(--reward-color,#70ffcf);}
.pack-cinema .pack-sparks i:nth-child(3n){width:5px;height:5px;border-radius:50%;background:#fff;}
.pack-cinema .reward-stage{--reward-color:inherit;--reveal-time:1500ms;--impact-delay:700ms;overflow:hidden;}
.pack-cinema .reward-stage.r-rare{--reveal-time:1700ms;--impact-delay:800ms;}
.pack-cinema .reward-stage.r-epic{--reveal-time:2000ms;--impact-delay:950ms;}
.pack-cinema .reward-stage.r-legendary{--reveal-time:2400ms;--impact-delay:1150ms;}
.reward-rays{position:absolute;left:50%;top:43%;width:150vmax;height:150vmax;pointer-events:none;z-index:-1;background:repeating-conic-gradient(from 0deg,transparent 0deg 12deg,var(--reward-color) 13deg 17deg,transparent 18deg 30deg);mask-image:radial-gradient(circle,#000 0%,transparent 62%);opacity:0;animation:cinemaRays 16s linear infinite,cinemaRayEntry 700ms var(--impact-delay) forwards;}
.pack-cinema .reward-orbit{width:min(580px,145vw);opacity:.55;animation:cinemaHalo var(--reveal-time) both;}
.reward-shockwave{position:absolute;left:50%;top:43%;width:130px;height:130px;border:6px solid var(--reward-color);box-shadow:0 0 40px var(--reward-color),inset 0 0 35px var(--reward-color);border-radius:50%;pointer-events:none;opacity:0;animation:cinemaShock 900ms var(--impact-delay) ease-out both;z-index:-1;}
.pack-cinema .reward-stage .pack-sparks{z-index:3;}
.pack-cinema .reward-stage .pack-sparks i{animation:rewardSpark 1600ms calc(var(--impact-delay) + var(--sd)) cubic-bezier(.1,.5,.25,1) both;}
.pack-cinema .reward-stage.r-common .pack-sparks i:nth-child(even){display:block;}
.reward-announcement{position:absolute;top:12px;left:8px;right:8px;color:var(--reward-color);font:900 clamp(20px,7vw,34px)/1.1 var(--fh);letter-spacing:3px;text-shadow:0 0 24px var(--reward-color);animation:cinemaTitle 650ms var(--impact-delay) both;pointer-events:none;}
.pack-cinema .reward-turn{animation:cinemaCard var(--reveal-time) cubic-bezier(.2,.7,.25,1) both;}
.pack-cinema .reward-back{box-shadow:0 0 30px var(--reward-color),0 0 65px #ffffff30;animation-name:cinemaBackOut;}
.pack-cinema.pack-flow .reward-turn .pc{animation-name:cinemaFaceIn;}
.pack-cinema .rv-rar .r-tag{color:var(--reward-color);font-size:13px;font-weight:800;letter-spacing:3px;}
.pack-cinema .reward-stage .rv-badges,.pack-cinema .reward-stage .rv-rar{animation:cinemaTitle 500ms var(--impact-delay) both;}
.pack-cinema .rv-card.rv-full{width:min(270px,68vw,calc((100dvh - 310px)*63/88));}
.pack-cinema .reward-sheen:after{animation-duration:1s;}
@keyframes packCharge{0%{transform:scale(1);}25%{transform:scale(1.04) rotate(-3deg);}45%{transform:scale(1.07) rotate(3deg);}65%{transform:scale(1.09) rotate(-4deg);}85%{transform:scale(1.12) rotate(4deg);}100%{transform:scale(1.05);}}
@keyframes cinemaImpact{0%,32%{opacity:0;}40%{opacity:.85;}72%,100%{opacity:0;}}
@keyframes cinemaCard{0%{transform:translateY(65px) scale(.55) rotateY(180deg) rotateZ(-15deg);}35%{transform:translateY(-20px) scale(.9) rotateY(180deg) rotateZ(5deg);}48%{transform:translateY(-25px) scale(.86) rotateY(270deg);}65%{transform:translateY(-10px) scale(1.18) rotateY(360deg) rotateZ(-4deg);}80%{transform:translateY(5px) scale(.97) rotateY(360deg) rotateZ(2deg);}100%{transform:translateY(0) scale(1) rotateY(360deg);}}
@keyframes cinemaFaceIn{0%{visibility:hidden;}48%,100%{visibility:visible;}}  /* cinemaCard is edge-on (270deg) at 48% */
@keyframes cinemaBackOut{0%{visibility:visible;}48%,100%{visibility:hidden;}}
@keyframes cinemaRays{from{transform:translate(-50%,-50%) rotate(0deg);}to{transform:translate(-50%,-50%) rotate(360deg);}}
@keyframes cinemaRayEntry{to{opacity:.2;}}
@keyframes cinemaHalo{0%,35%{opacity:.1;transform:translate(-50%,-50%) scale(.3);}60%{opacity:.85;transform:translate(-50%,-50%) scale(1.25);}100%{opacity:.45;transform:translate(-50%,-50%) scale(1);}}
@keyframes cinemaShock{0%{opacity:0;transform:translate(-50%,-50%) scale(.3);}15%{opacity:1;}100%{opacity:0;transform:translate(-50%,-50%) scale(5);}}
@keyframes cinemaTitle{from{opacity:0;transform:scale(1.7) translateY(-12px);}65%{opacity:1;transform:scale(.95);}to{opacity:1;transform:scale(1);}}
@media(prefers-reduced-motion:reduce){
 .pack-cinema .is-opening,.pack-cinema .is-opening *,.pack-cinema .reward-turn,.pack-flow .reward-turn .pc,.reward-back,.pack-cinema .reward-orbit,.pack-cinema .reward-announcement,.pack-cinema .reward-stage .rv-badges,.pack-cinema .reward-stage .rv-rar{animation:none!important;}
 .pack-cinema .reward-rays,.pack-cinema .reward-shockwave,.pack-detonating:after{display:none;}
}

/* The pre-match face-off: two portraits own the stage. */
#s-app .battle-intro{background:#070e19;color:#fff;}
#s-app .battle-intro .app-col{width:100%;max-width:440px;height:100dvh;max-height:100%;container-type:size;background:#070e19;overflow:hidden;}
.clash-stage{position:relative;isolation:isolate;width:100%;height:100%;overflow:hidden;background:#070e19;font-family:var(--fb);}
.clash-legend{position:absolute;inset:0 50% 0 0;overflow:hidden;background:#0a383e;animation:clash-enter-left .85s cubic-bezier(.16,1,.3,1) both;}
.clash-rival{inset:0 0 0 50%;background:#492036;animation-name:clash-enter-right;animation-delay:.18s;}
.clash-portrait{position:absolute;inset:0;overflow:hidden;opacity:.87;animation:clash-push 4.4s ease-out both;}
.clash-portrait img{position:absolute;width:100%;height:190%;object-fit:cover;object-position:50% 0;top:-4%;filter:saturate(.65) contrast(1.1);}
.clash-shade{position:absolute;inset:0;background:linear-gradient(0deg,#031b24 2%,#031b2480 28%,transparent 66%,#031b24b8),linear-gradient(90deg,#21d5c32b,transparent);}
.clash-rival .clash-shade{background:linear-gradient(0deg,#290e25 2%,#290e2580 28%,transparent 66%,#290e25b8),linear-gradient(270deg,#fa6c642b,transparent);}
.clash-identity{position:absolute;left:9%;right:9%;bottom:17%;animation:clash-name .65s .5s both;}
.clash-rival .clash-identity{text-align:right;animation-delay:.75s;}
.clash-side{display:inline-block;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#9affeb;border-top:2px solid #6fffe0;padding-top:10px;}
.clash-rival .clash-side{color:#ffbbab;border-color:#ff9b8d;}
.clash-identity h2{font:900 italic clamp(36px,5.8vw,88px)/.95 var(--fh);text-transform:uppercase;letter-spacing:-1px;color:#fff;margin:14px 0 10px;text-shadow:0 4px 25px #0008;overflow-wrap:anywhere;}
.clash-identity p{font-size:12px;letter-spacing:1px;color:#dae3e9;margin:0;}
.clash-header{position:absolute;top:max(32px,env(safe-area-inset-top));left:20px;right:20px;text-align:center;animation:clash-name .6s .1s both;text-shadow:0 2px 12px #000;}
.clash-header span{display:block;font-size:9px;letter-spacing:4px;font-weight:700;text-transform:uppercase;color:#c7d8df;}
.clash-header b{display:block;font:italic 600 clamp(18px,2.5vw,28px) var(--fh);margin-top:9px;color:#fff;}
.clash-seam{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#eafff4;box-shadow:0 0 16px #8effe6,0 0 48px #83ffe7;transform:rotate(5deg);animation:clash-seam 1s .65s both;}
.clash-vs{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:104px;height:104px;margin:-52px;background:#101725;border:1px solid #d8f9eb;box-shadow:0 0 0 8px #070e1966,0 0 50px #8bffe354;font:900 italic 56px/1 var(--fh);color:#fff;transform:rotate(-8deg);animation:clash-impact .65s 1.05s both;}
.clash-footer{position:absolute;bottom:max(38px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(220px,48%);text-align:center;}
.clash-footer>span{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:#e1edea;}
.clash-progress{height:2px;background:#ffffff30;margin-top:14px;overflow:hidden;}
.clash-progress i{display:block;height:100%;background:#d4fff1;transform-origin:left;animation:clash-charge 4.4s linear both;box-shadow:0 0 10px #a4ffe1;}
.clash-skip{position:absolute;right:22px;bottom:22px;min-height:44px;padding:8px 12px;border:1px solid #ffffff36;background:#09111c9c;color:#e2e9ef;font:11px var(--fb);border-radius:4px;cursor:pointer;}
.clash-skip:focus-visible{outline:2px solid #aeffe7;outline-offset:4px;}
@keyframes clash-enter-left{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes clash-enter-right{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes clash-name{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}
@keyframes clash-push{from{transform:scale(1.1)}to{transform:scale(1)}}
@keyframes clash-impact{from{opacity:0;transform:scale(2) rotate(-18deg)}65%{opacity:1;transform:scale(.94) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(-8deg)}}
@keyframes clash-seam{from{opacity:0;scale:1 0}to{opacity:1;scale:1 1}}
@keyframes clash-charge{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@container(max-width:600px){
 .clash-legend{inset:0 0 50%;}.clash-rival{inset:50% 0 0;}
 .clash-portrait img{height:210%;top:-9%;}
 .clash-identity{left:24px;right:24px;bottom:28px;}
 .clash-rival .clash-identity{bottom:100px;}
 .clash-identity h2{font-size:clamp(32px,10cqw,52px);margin:9px 0 6px;}
 .clash-identity p{font-size:10px;}.clash-side{font-size:8px;letter-spacing:2px;padding-top:7px;}
 .clash-header{top:max(22px,env(safe-area-inset-top));}.clash-header b{font-size:20px;}
 .clash-seam{left:-5%;right:-5%;top:50%;bottom:auto;width:110%;height:2px;transform:rotate(-5deg);}
 .clash-vs{width:76px;height:76px;margin:-38px;font-size:43px;}
 .clash-footer{left:24px;bottom:max(31px,env(safe-area-inset-bottom));transform:none;text-align:left;width:42%;}
 .clash-footer>span{font-size:8px;letter-spacing:2px;}.clash-skip{right:24px;bottom:max(22px,env(safe-area-inset-bottom));}
}
@container(max-height:600px) and (max-width:600px){.clash-header b{display:none;}.clash-identity{bottom:14px;}.clash-rival .clash-identity{bottom:76px;}.clash-identity h2{font-size:30px;}.clash-side{padding-top:4px;}.clash-vs{width:58px;height:58px;margin:-29px;font-size:32px;}}
@media(prefers-reduced-motion:reduce){.battle-intro *,.battle-intro *::before,.battle-intro *::after{animation:none!important;}.clash-progress i{transform:scaleX(1);}}

@media(orientation:landscape) and (max-height:500px){
 #s-app .battle-intro .app-col{max-width:800px;}
}
@container(min-width:601px) and (max-height:500px){
 .clash-identity{bottom:25%;}.clash-identity h2{font-size:32px;}
 .clash-header{top:16px;}.clash-header b{font-size:18px;}
 .clash-vs{width:66px;height:66px;margin:-33px;font-size:38px;}
 .clash-side{font-size:8px;letter-spacing:2px;}
}

/* Special cosmetic editions: charge behind the card before the reveal. */
.pack-cinema .reward-stage.special-edition{--reveal-time:2900ms;--impact-delay:1392ms;--reward-color:#65d8ff;}
.pack-cinema .reward-stage.edition-legendary{--reveal-time:3800ms;--impact-delay:1824ms;--reward-color:#ffcf64;}
.special-edition .reward-back{border-color:var(--reward-color);filter:drop-shadow(0 0 22px var(--reward-color));}
.pack-cinema .special-edition .reward-orbit{border:3px double var(--reward-color);box-shadow:0 0 65px var(--reward-color);}
.edition-anticipation{position:absolute;top:16px;left:10px;right:10px;text-align:center;color:var(--reward-color);font-weight:800;letter-spacing:2px;animation:editionCharge var(--impact-delay) both;}
.special-edition .reward-sheen{filter:drop-shadow(0 0 18px var(--reward-color));}
.pack-cinema .special-edition .rv-rar .r-tag{font-size:11px;letter-spacing:1px;}
@keyframes editionCharge{0%{opacity:0;transform:scale(.8);}20%,80%{opacity:1;}50%{text-shadow:0 0 25px currentColor;transform:scale(1.08);}100%{opacity:0;transform:scale(1.2);}}
@media(prefers-reduced-motion:reduce){.edition-anticipation{display:none;}.special-edition .reward-sheen{animation:none!important;}}
/* Edition reveal: energy collapses into the card, then explodes at the flip. */
.pack-cinema .special-edition{isolation:isolate;background:radial-gradient(ellipse at 50% 43%,#10242d, #02080ef2 70%);}
.pack-cinema .special-edition .reward-turn{animation-name:editionCardUnleash;animation-timing-function:cubic-bezier(.2,.65,.25,1);}
.pack-cinema .special-edition .reward-back{border:2px solid var(--reward-color);box-shadow:0 0 24px var(--reward-color),0 0 80px var(--reward-color),inset 0 0 35px var(--reward-color);}
.pack-cinema .special-edition .reward-back:after{content:'';position:absolute;inset:-6px;background:linear-gradient(115deg,transparent 35%,#fff9 48%,transparent 60%);animation:editionBackSweep .65s linear 3;}
.edition-vortex{position:absolute;left:50%;top:43%;width:110vmax;height:110vmax;pointer-events:none;z-index:-1;background:repeating-conic-gradient(transparent 0deg 25deg,var(--reward-color) 26deg 28deg,transparent 30deg 45deg);mask-image:radial-gradient(circle,transparent 5%,#000 18%,transparent 55%);animation:editionVortex var(--impact-delay) ease-in both;}
.edition-streaks{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden;}
.edition-streaks i{position:absolute;left:50%;top:43%;height:3px;width:42vmax;background:linear-gradient(90deg,transparent,var(--reward-color),#fff);transform-origin:0 50%;box-shadow:0 0 10px var(--reward-color);animation:editionStreak var(--impact-delay) ease-in both;}
.edition-impact{position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(circle at 50% 43%,#fff 0%,var(--reward-color) 25%,transparent 72%);animation:editionImpactLight 700ms var(--impact-delay) both;}
.edition-ring{position:absolute;left:50%;top:43%;width:160px;height:160px;border:4px solid var(--reward-color);border-radius:50%;box-shadow:0 0 35px var(--reward-color),inset 0 0 20px var(--reward-color);pointer-events:none;z-index:3;animation:editionBlastRing 850ms var(--impact-delay) ease-out both;}
.edition-ring-two{animation-delay:calc(var(--impact-delay) + 140ms);border-width:1px;}
.pack-cinema .special-edition .reward-announcement{z-index:6;animation:editionTitleSlam 650ms var(--impact-delay) both;font-size:clamp(19px,6.5vw,32px);}
.pack-cinema .special-edition .reward-rays{animation:cinemaRays 12s linear infinite,editionRayBurst 900ms var(--impact-delay) forwards;}
.pack-cinema .special-edition .rv-card{animation:editionRecoil 550ms var(--impact-delay) both;}
.pack-cinema .edition-legendary .reward-sheen:after{animation:editionFoil 2.6s calc(var(--impact-delay) + 800ms) infinite;}
.edition-anticipation{z-index:6;font-size:12px;text-transform:uppercase;letter-spacing:3px;top:24px;}
@keyframes editionCardUnleash{0%{transform:translateY(65px) scale(.45) rotateY(180deg) rotateZ(-12deg);}18%{transform:translateY(-12px) scale(.82) rotateY(180deg) rotateZ(0);}30%{transform:translateY(-12px) scale(.85) rotateY(180deg) rotateZ(-2deg);}36%{transform:translateY(-12px) scale(.87) rotateY(180deg) rotateZ(2deg);}42%{transform:translateY(-12px) scale(.78) rotateY(180deg) rotateZ(-2deg);}46%{transform:translateY(-12px) scale(.7) rotateY(180deg);}48%{transform:translateY(-12px) scale(.85) rotateY(270deg);}56%{transform:translateY(-8px) scale(1.22) rotateY(360deg) rotateZ(-4deg);}69%{transform:translateY(4px) scale(.97) rotateY(360deg) rotateZ(2deg);}84%,100%{transform:translateY(0) scale(1) rotateY(360deg);}}
@keyframes editionBackSweep{from{opacity:0;transform:translateX(-70%);}30%,70%{opacity:.9;}to{opacity:0;transform:translateX(70%);}}
@keyframes editionVortex{0%{opacity:0;transform:translate(-50%,-50%) rotate(0) scale(1.4);}40%{opacity:.45;}80%{opacity:.85;}100%{opacity:0;transform:translate(-50%,-50%) rotate(220deg) scale(.08);}}
@keyframes editionStreak{0%,15%{opacity:0;transform:rotate(calc(var(--ray)*18deg)) translateX(55vmax) scaleX(.8);}45%{opacity:.15;}85%{opacity:.8;}100%{opacity:0;transform:rotate(calc(var(--ray)*18deg)) translateX(0) scaleX(.05);}}
@keyframes editionImpactLight{0%{opacity:0;}10%{opacity:.85;}100%{opacity:0;}}
@keyframes editionBlastRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.3);}12%{opacity:1;}100%{opacity:0;transform:translate(-50%,-50%) scale(6);}}
@keyframes editionTitleSlam{0%{opacity:0;transform:scale(2.1);filter:blur(6px);}45%{opacity:1;transform:scale(.94);filter:blur(0);}70%{transform:scale(1.04);}100%{opacity:1;transform:scale(1);}}
@keyframes editionRayBurst{0%{opacity:0;}20%{opacity:.65;}100%{opacity:.28;}}
@keyframes editionRecoil{0%,100%{translate:0 0;}18%{translate:-6px 4px;}38%{translate:5px -3px;}58%{translate:-3px 2px;}78%{translate:2px 0;}}
@keyframes editionFoil{0%,30%{transform:translateX(-150%) rotate(25deg);opacity:0;}45%{opacity:.7;}65%,100%{transform:translateX(150%) rotate(25deg);opacity:0;}}
@media(prefers-reduced-motion:reduce){
 .edition-vortex,.edition-streaks,.edition-impact,.edition-ring,.special-edition .reward-back:after{display:none;}
 .pack-cinema .special-edition .rv-card,.pack-cinema .special-edition .reward-turn,.pack-cinema .special-edition .reward-announcement,.pack-cinema .edition-legendary .reward-sheen:after{animation:none!important;}
}
/* Legendary gets its own six-second cinematic, with a silent beat before impact. */
.pack-cinema .reward-stage.edition-legendary{--reveal-time:6000ms;--impact-delay:3600ms;background:#020408;perspective:1000px;}
.legend-cinematic .f-hdr,.legend-cinematic .f-foot{animation:legendControls 6s both;}
.legend-cinematic .edition-anticipation,.legend-cinematic .rv-swipe-hint{display:none;}
.legend-cinematic .reward-stage .reward-turn{animation:legendAscension 6s linear both;}
.legend-cinematic.pack-flow .reward-turn .pc{animation:legendFace 6s step-end both;}
.legend-cinematic .reward-back{animation:legendBack 6s step-end both;}
.legend-cinematic .reward-back:after{animation:legendFracture 3600ms ease-in both;background:linear-gradient(78deg,transparent 44%,#ffdf91 45%,#fff 47%,transparent 48%),linear-gradient(-35deg,transparent 46%,#ffcf64 47%,#fff 49%,transparent 50%);inset:0;}
.legend-blackout{position:absolute;inset:0;background:#000;z-index:4;pointer-events:none;animation:legendDarkness 3600ms both;}
.legend-prologue{position:absolute;inset:15% 0 auto;text-align:center;z-index:6;color:#ffe8a8;pointer-events:none;animation:legendPrologue 3300ms both;text-shadow:0 0 35px #ffbb4670;}
.legend-prologue small{display:block;font-size:9px;letter-spacing:4px;margin-bottom:18px;}
.legend-prologue b{font:900 clamp(36px,12vw,58px)/.95 var(--fh);letter-spacing:4px;}
.legend-beam{position:absolute;top:0;bottom:0;left:50%;width:12px;transform:translateX(-50%);background:#fff6d6;box-shadow:0 0 25px 12px #ffcf64,0 0 100px 50px #f7b63588;pointer-events:none;z-index:3;animation:legendBeam 4600ms both;}
.legend-cracks{position:absolute;inset:0;z-index:4;pointer-events:none;animation:legendCracks 3900ms both;}
.legend-cracks i{position:absolute;inset:0;background:#fff1b4;clip-path:polygon(48% 43%,30% 29%,34% 19%,15% 0,36% 18%,32% 28%,51% 42%,72% 58%,68% 74%,90% 100%,66% 75%,70% 59%);filter:drop-shadow(0 0 8px #ffbf3d);}
.legend-cracks i:nth-child(2){transform:rotate(75deg);}.legend-cracks i:nth-child(3){transform:rotate(150deg);}
.legend-cinematic .edition-vortex{animation-delay:800ms;animation-duration:2800ms;}
.legend-cinematic .edition-streaks i{animation-delay:1200ms;animation-duration:2400ms;}
.legend-cinematic .reward-orbit{animation:legendHalo 6s both;}
.legend-cinematic .reward-announcement{font-size:clamp(18px,6vw,30px);letter-spacing:2px;}
.legend-cinematic .legend-name{position:absolute;bottom:24px;left:0;right:0;text-align:center;font:900 24px/1 var(--fh);letter-spacing:2px;color:#ffe9b0;text-transform:uppercase;animation:cinemaTitle 800ms 4500ms both;}
.legend-cinematic .reward-stage .rv-rar{animation-delay:4400ms;}
.legend-cinematic .reward-stage .rv-badges{animation-delay:4200ms;}
.legend-cinematic .edition-impact{animation-duration:1000ms;}
.legend-cinematic .edition-ring{border-width:7px;animation-duration:1200ms;}
.legend-cinematic .edition-ring-two{border-width:2px;animation-delay:3800ms;}
@keyframes legendAscension{0%,12%{opacity:0;transform:translateY(150px) scale(.3) rotateY(180deg);}25%{opacity:1;transform:translateY(48px) scale(.58) rotateY(180deg) rotateZ(-7deg);}40%{transform:translateY(-15px) scale(.75) rotateY(180deg) rotateZ(4deg);}48%{transform:translateY(-20px) scale(.8) rotateY(180deg) rotateZ(-3deg);}53%{opacity:1;transform:translateY(-20px) scale(.82) rotateY(180deg);}56%,58%{opacity:.12;transform:translateY(-20px) scale(.72) rotateY(180deg);}60%{opacity:1;transform:translateY(-20px) scale(.8) rotateY(270deg);}67%{transform:translateY(-8px) scale(1.28) rotateY(360deg) rotateZ(-5deg);}76%{transform:translateY(4px) scale(.96) rotateY(360deg) rotateZ(2deg);}88%,100%{opacity:1;transform:translateY(0) scale(1) rotateY(360deg);}}
@keyframes legendFace{0%{visibility:hidden;}60%,100%{visibility:visible;}}
@keyframes legendBack{0%{visibility:visible;}60%,100%{visibility:hidden;}}
@keyframes legendDarkness{0%,20%{opacity:1;}45%,85%{opacity:0;}94%{opacity:.9;}100%{opacity:0;}}
@keyframes legendPrologue{0%,8%{opacity:0;transform:scale(.85);filter:blur(6px);}25%,58%{opacity:1;transform:scale(1);filter:blur(0);}85%,100%{opacity:0;transform:scale(1.18);filter:blur(3px);}}
@keyframes legendBeam{0%,45%{opacity:0;scale:.02 1;}65%{opacity:.8;scale:.25 1;}74%{opacity:0;scale:.02 1;}78%{opacity:1;scale:1 1;}88%{opacity:.7;scale:40 1;}100%{opacity:0;scale:70 1;}}
@keyframes legendCracks{0%,58%{opacity:0;transform:scale(.2);}78%{opacity:.8;transform:scale(.8);}89%{opacity:1;transform:scale(1);}100%{opacity:0;transform:scale(1.5);}}
@keyframes legendFracture{0%,40%{opacity:0;clip-path:inset(50%);}65%{opacity:.3;clip-path:inset(20%);}92%,100%{opacity:1;clip-path:inset(0);}}
@keyframes legendHalo{0%,20%{opacity:0;transform:translate(-50%,-50%) scale(.1);}50%{opacity:.4;transform:translate(-50%,-50%) scale(.6);}58%{opacity:0;transform:translate(-50%,-50%) scale(.2);}70%{opacity:1;transform:translate(-50%,-50%) scale(1.3);}100%{opacity:.5;transform:translate(-50%,-50%) scale(1);}}
@keyframes legendControls{0%,80%{opacity:0;}100%{opacity:1;}}
@media(prefers-reduced-motion:reduce){
 .legend-blackout,.legend-prologue,.legend-beam,.legend-cracks{display:none;}
 .legend-cinematic .f-hdr,.legend-cinematic .f-foot,.legend-cinematic .legend-name,.legend-cinematic .reward-stage .reward-turn,.legend-cinematic.pack-flow .reward-turn .pc,.legend-cinematic .reward-back,.legend-cinematic .reward-orbit{animation:none!important;}
}
