@font-face{font-family:'EMM2 UI';src:url('assets/ui/EMM2-Recovered-UI.woff') format('woff');font-display:swap;font-weight:400}
body,button,input,select{font-family:'EMM2 UI',Arial,sans-serif;font-weight:400}button{font-weight:400}.viewport{font-size:20px}.menu-bg{filter:brightness(.83);background-size:1387px 1040px;background-position:center center;background-repeat:no-repeat}.game-nav{position:absolute;inset:0 0 auto;height:98px;padding:0;background:linear-gradient(#162230d9,#172635b0);border-top:2px solid #8e7950;border-bottom:2px solid #67b4d0;display:block}.game-nav>button{position:absolute;top:12px;height:70px;padding:0;font-size:35px;color:#d3c48b;border:0;background:none}.game-nav>button.active{color:white;text-shadow:0 1px 3px #0005;isolation:isolate}.game-nav>button.active:before{content:'';position:absolute;top:-14px;left:calc(50% - 128.16px);width:256.32px;height:96px;border:0;transform:none;background:url('assets/ui/UI_Selected.png') center/100% 100% no-repeat;pointer-events:none;z-index:-1}.game-nav .start-tab{left:16px;width:280px;height:70px;top:13px;background:url('assets/ui/GameStart_Button.png') center/100% 100%;font-size:30px;padding-left:52px;color:#fff}.game-nav .start-tab:before{display:none}.game-nav>button[data-view=main]{left:333px;width:135px}.game-nav>button[data-view=item]{left:497px;width:135px}.game-nav>button[data-view=skill]{left:646px;width:135px}.game-nav>button[data-view=shop]{left:807px;width:135px}.game-nav>button[data-view=settings]{left:952px;width:163px}.balance{position:absolute;right:18px;top:11px;width:160px;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:27px;line-height:1.1}.balance>span{display:grid;grid-template-columns:minmax(0,1fr)30px;align-items:center;column-gap:8px;width:100%;height:34px;margin:0;padding:0}.balance b{font-weight:400;color:#eee5b0;grid-column:1;grid-row:1;text-align:right}.balance img{width:29px;height:29px;object-fit:contain;grid-column:2;grid-row:1}.menu-content{position:absolute;left:20px;top:110px;width:870px;height:580px;padding:0;overflow:visible}.viewport[data-view=shop] .menu-content,.viewport[data-view=skill] .menu-content,.viewport[data-view=settings] .menu-content{width:1240px}.viewport[data-view=champions] .menu-content{left:0;width:1280px;top:110px;height:600px}.viewport[data-view=champions] .profile{display:none}
.source-panel{position:relative;isolation:isolate;background:none!important;border:0!important}.source-panel:before{content:'';position:absolute;inset:0;border:30px solid transparent;border-image:url('assets/ui/BasePanel.png') 30 fill;pointer-events:none;z-index:-1}.source-button{background:none!important;position:relative;isolation:isolate;border:0;padding:8px 16px;font-size:25px;min-height:60px;color:white;line-height:1.2;text-shadow:0 1px 3px #000}.source-button:before{content:'';position:absolute;inset:0;border:10px solid transparent;border-image:url('assets/ui/Base_Button.png') 10 fill;z-index:-1;pointer-events:none}.source-button.gold:before{border-image-source:url('assets/ui/YellowButton.png')}.source-button.red:before{border-image-source:url('assets/ui/RedButton.png')}.source-button:disabled{cursor:default;filter:brightness(.63);opacity:1}.source-exit{position:absolute;width:80px;height:80px;right:8px;top:0;background:none;border:0;padding:0;z-index:9}.source-exit img{width:100%;height:100%}.currency-cost{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit}.currency-cost>img{width:24px;height:24px;object-fit:contain}.source-flag{position:relative;isolation:isolate}.source-flag:before,.profile:before{content:'';display:block;position:absolute;inset:0;background:url('assets/ui/Flag.png') center/100% 100%;z-index:2;pointer-events:none}.flag-head{position:absolute;left:25.96%;top:1.03%;width:48.08%;aspect-ratio:1;z-index:1}.flag-head>img{width:100%;height:100%;object-fit:contain}.flag-level{position:absolute;top:24%;left:36.4%;width:27.2%;height:5.8%;display:grid;place-items:center;background:url('assets/ui/Level_Portrait.png') center/100% 100%;font-size:17px;z-index:3;color:#ddd5a9;padding-bottom:2px}.source-flag>h2,.profile>h2{position:absolute;left:0;right:0;top:29.5%;margin:0;text-align:center;font-size:28px;z-index:3;color:#fff}.profile{position:absolute;right:63.5px;top:122px;width:313px;height:582px;padding:0;margin:0;background:none;border:0;box-shadow:none;overflow:visible}.profile .profile-gear{position:absolute;top:38.35%;left:14%;width:72%;display:grid;grid-template-columns:repeat(3,66px);grid-auto-rows:66px;gap:9px;justify-content:center;z-index:3}.source-gear-slot{position:relative;width:66px;height:66px;padding:0;background:#0c1b2077;border:1px solid #98927a}.source-gear-slot>img{width:100%;height:100%;object-fit:cover}.item-level-badge{position:absolute;left:-5px;top:-6px;min-width:21px;height:22px;border:1px solid #b5a979;border-radius:50%;background:#010909;color:#fff;font-size:14px;display:grid;place-items:center;z-index:3;padding:0 3px}.unequip-mark{position:absolute;right:-1px;top:-1px;width:17px;height:17px;background:#a04336;color:#fff;font:20px/15px Arial;font-style:normal}.profile-actions{position:absolute;top:67%;left:calc(50% - 116px);right:auto;width:232px;display:flex;gap:8px;z-index:3}.profile-actions>button:first-child{flex:1;min-width:0;height:72px;font-size:21px;line-height:1.1;padding:5px}.profile-actions>button:last-child{width:76px;height:72px;font-size:18px;padding:0;filter:none;opacity:1;cursor:not-allowed}.profile .source-stat-grid{position:absolute;top:69%;left:8%;width:84%;z-index:3;grid-template-columns:repeat(3,1fr);gap:8px 3px;font-size:13px}.source-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 13px}.source-stat-grid>span{display:flex;gap:5px;align-items:center;min-width:0}.source-stat-grid img{width:24px;height:24px;object-fit:contain}.source-stat-grid b{font-weight:400;font-size:15px;white-space:nowrap}
/* RewardSlot212x202, stride220x210, parent scale0.8. Keep the user's group anchor.
   The previous dark-fill override was explicitly withdrawn; use APK texture alpha. */
.boxes{position:absolute;left:0;top:85px;margin:0;padding:0;display:grid;grid-template-columns:169.6px 169.6px;grid-template-rows:161.6px 161.6px;gap:6.4px;width:345.6px}
.box-slot{position:relative;width:169.6px;height:161.6px;margin:0;border:0;background:transparent;box-shadow:none;display:block;padding:0;isolation:isolate}
.box-slot:before{content:'';position:absolute;left:0;top:0;right:.803791px;bottom:.803980px;background:url('assets/ui/RewardSlot.png') center/100% 100% no-repeat;pointer-events:none}
.box-slot:hover,.box-slot:disabled{filter:none}
.box-slot:disabled{opacity:1;cursor:default}
.box-slot>img{position:absolute;left:27.6px;top:22.8px;width:114.4px;height:116px;object-fit:fill;margin:0;display:block;pointer-events:none}
/* Atlas-trim padding restored within the143x145 widget (UISprite drawingDimensions). */
.box-slot>img.box-tier-0{left:60.285714px;top:35.746429px;width:49.539286px;height:90.107143px;}
.box-slot>img.box-tier-4{left:31.175000px;top:30.567857px;width:106.739286px;height:100.982143px;}
.box-slot>img.box-tier-5{left:31.175000px;top:26.425000px;width:107.250000px;height:108.750000px;}
.box-slot>.box-slot-label{position:absolute;left:8.8px;top:124.64px;width:152px;height:32px;line-height:32px;text-align:center;white-space:nowrap;font-size:32px;color:#fff;text-shadow:0 2.4px 0 #000;pointer-events:none}
.box-slot.empty{background:transparent;display:block;padding:0}
.box-slot.empty:before,.box-slot.empty>.box-slot-label{opacity:.5}
/* User49: raise the empty label and black silhouette together6px. */
.box-slot.empty>.box-empty-silhouette{top:49.746429px;filter:brightness(0);opacity:.5}
.box-slot.empty>.box-empty-label{top:10.8px}
.box-ready-alarm{position:absolute;left:144.8px;top:0;width:27.2px;height:27.2px;background:#ffd400;-webkit-mask:url('assets/ui/Circle.png') center/100% 100% no-repeat;mask:url('assets/ui/Circle.png') center/100% 100% no-repeat;pointer-events:none}
.box-ready-alarm[hidden]{display:none}
.source-banner{position:absolute;background:url('assets/ui/btn_MainAD.png') center/100% 100%;border:0;padding:0;isolation:isolate}.source-banner>img{position:absolute;left:5%;top:12%;width:19%;height:76%;object-fit:contain}.source-banner>span{position:absolute;left:24%;right:10%;top:0;bottom:0;display:flex;align-items:center;justify-content:center;color:#eee9d6}.reward-banner{left:0;top:425px;width:344px;height:86px;font-size:24px}.source-banner.reward-banner>img{left:.87324%;top:3.06818%;width:22.53521%;height:90.90909%;margin:0}.rank-banner,.friend-banner{left:62px;width:610px;height:153px;font-size:48px}.rank-banner{top:125px}.friend-banner{top:325px}.rank-banner>img{width:19%;left:2.5%;top:5%;height:89%}.friend-banner>img{left:4%}.mode-original{position:absolute;top:105px;width:280px;height:390px;border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.mode-original>img{width:270px;height:285px;object-fit:contain}.mode-original>span{font-size:54px;color:#e9dca5;margin-top:4px}.ai-original{left:50px}.pvp-original{left:440px}.mode-divider{position:absolute;left:375px;top:75px;height:365px;width:4px;background:linear-gradient(transparent,#70cce8,transparent);box-shadow:0 0 12px #63b9ee}.menu-content>.source-exit{left:0;right:auto;top:0}.farming-toggle{position:absolute;left:210px;top:75px;font-size:22px;z-index:4;text-align:center}.farming-toggle>input{position:absolute;opacity:0;width:60px;height:60px;left:50px;top:28px}.farming-toggle>span{display:block;width:52px;height:52px;background:#17232780;margin:5px auto}.farming-toggle>input:checked+span{background:url('assets/ui/Check.png') center/contain no-repeat}
.champion-carousel{position:absolute;inset:0;display:flex;align-items:flex-start;gap:110px;padding:12px 490px 10px;width:1280px;height:580px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;touch-action:pan-x}.champion-carousel:active{cursor:grabbing}.champion-carousel::-webkit-scrollbar{display:none}.carousel-card{flex:0 0 300px;width:300px;height:558px;scroll-snap-align:center;transform-origin:center;will-change:transform;pointer-events:auto;user-select:none}.carousel-card .flag-head img{pointer-events:none;-webkit-user-drag:none}.carousel-card h2{top:29.5%;font-size:28px}.carousel-confirm{position:absolute;left:540px;top:495px;width:200px;height:70px;z-index:6;font-size:27px}.viewport[data-view=champions] #carouselExit{left:auto;right:34px;top:-5px}
.item-shell{position:absolute;left:-7px;top:-5px;width:840px;height:510px}.catalog-tabs{position:absolute;left:15px;top:12px;height:48px;display:flex;gap:0;width:446px;border-bottom:2px solid #3c677a}.catalog-tabs>button{border:0;background:none;font-size:25px;width:88px;height:42px;padding:0;color:#eee}.catalog-tabs>button.active{color:#fff;text-shadow:0 0 14px #fff}.item-grid{position:absolute;left:16px;top:69px;display:grid;grid-template-columns:repeat(5,80px);grid-auto-rows:114px;align-content:start;gap:8px 9px;width:446px;height:425px;overflow-y:auto;padding:4px 2px;scrollbar-width:thin;scrollbar-color:#52676a transparent}.item-button{position:relative;width:80px;height:112px;padding:0;border:0;background:none;overflow:visible}.item-button>img{position:absolute;left:0;top:0;width:80px;height:80px;border:1px solid #78838a;object-fit:cover}.item-button.selected>img{border:2px solid #cdbd6d;box-shadow:0 0 8px #eee}.item-button .item-level-badge{font-size:15px}.catalog-price{position:absolute;top:82px;left:-5px;right:-5px;font-size:18px;white-space:nowrap}.catalog-price .currency-cost{gap:2px}.catalog-price img{width:19px;height:19px}.upgrade-dot{position:absolute;right:-2px;top:-4px;width:17px;height:17px;border-radius:50%;background:#ffe87c;box-shadow:0 0 10px #ffe477;z-index:4}.item-detail{position:absolute;left:478px;top:17px;width:344px;height:475px;border:0;background:none;padding:0}.item-detail>.no-selection{position:absolute;inset:0;display:grid;place-items:center;font-size:28px;text-align:center}.item-heading{display:flex;gap:12px;align-items:flex-start;padding:0;height:106px}.item-heading>img{width:96px;height:96px;object-fit:cover;border:1px solid #9b8c62}.item-heading>div{flex:1;min-width:0}.item-heading h3{font-size:25px;color:#dfd292;margin:0 0 7px;line-height:1.05}.item-heading p{font-size:18px;margin:0 0 9px}.card-bar{position:relative;background:#020a0d;width:100%;height:28px;border:0;overflow:hidden}.card-bar>i{display:block;background:#48bfe3;height:100%;max-width:100%}.card-bar>span{position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:18px;text-shadow:0 1px 3px #000}.item-description{position:absolute;top:108px;bottom:85px;left:0;right:0;overflow:auto;font-size:17px;line-height:1.3}.item-description p{margin:4px 0 45px}.item-description .item-bonuses{color:#99d88c;font-size:21px;line-height:1.2}.item-description strong{font-weight:400;color:#e5cb7d}.item-detail .actions{position:absolute;left:0;right:0;bottom:0;display:flex;gap:10px;margin:0}.item-detail .actions>button{width:164px;min-height:74px;font-size:22px;padding:5px}.item-detail .actions .currency-cost{font-size:22px;margin-bottom:3px}
.skill-columns{position:absolute;top:3px;left:7.5px;display:grid;grid-template-columns:repeat(4,285px);gap:25px}.skill-card{position:relative;display:block;width:285px;height:494px;margin:0;padding:0;gap:0;background:none}.skill-heading{position:absolute;left:15px;right:15px;top:15px;height:90px}.skill-heading>img{position:absolute;left:0;top:0;width:85.5px;height:85.5px}.skill-heading>h3{position:absolute;left:92px;right:0;top:3px;margin:0;font-size:20px;line-height:1.05;text-align:left;color:#e0d397}.skill-heading>span{position:absolute;left:92px;top:38px;font-size:18px}.skill-heading>.card-bar{position:absolute;left:92px;top:63px;width:163px;height:24px}.skill-heading>.card-bar>span{font-size:15px}.skill-cooldown{position:absolute;left:15px;right:15px;top:110px;font-size:18px;line-height:25px;margin:0;padding:0 0 5px;border-bottom:1px solid #6f8d90;display:flex;gap:8px;align-items:center;color:#dbe8e4}.skill-cooldown img{width:20px;height:20px}.skill-description{position:absolute;left:15px;right:15px;top:148px;height:171px;margin:0;font-size:14.5px;line-height:1.10;color:#e0e8e1;text-align:left;overflow-y:auto;scrollbar-width:thin}.skill-description em{font-style:normal;color:#e9b65a}.skill-upgrade-area{position:absolute;left:15px;right:15px;top:322px;height:156px;border-top:2px solid transparent;border-image:url('assets/ui/Img_DivideLine.png') 0 20 0 20 stretch}.skill-upgrade-area:before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:url('assets/ui/Img_DivideLine.png') center/100% 100%}.skill-growth{position:absolute;top:11px;left:0;right:0;margin:0;display:flex;justify-content:space-between;font-size:18px;line-height:22px;color:#fff}.skill-growth span{color:#9edc8d}.skill-growth b{font-weight:400}.skill-upgrade-area .source-button{position:absolute;width:222px;height:85.5px;min-height:0;left:16.5px;bottom:0;padding:5px;font-size:25px;line-height:1.3}.skill-upgrade-area .currency-cost{font-size:25px}.skill-upgrade-area .currency-cost img{width:27px;height:27px}
.scene-overlay{position:absolute;inset:0;width:1280px;height:720px;z-index:70;background:#020a1080}.scene-overlay.hidden{display:none}.scene-overlay .source-exit{width:86px;height:86px;right:-22px;top:-22px}.ai-preview-panel{position:absolute;left:40px;top:118px;width:1200px;height:490px}.ai-preview-halves{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr}.ai-summary{position:relative;min-width:0}.ai-summary:first-child:after{content:'';position:absolute;right:0;top:160px;bottom:34px;width:3px;box-shadow:0 0 7px #77d8ff;background:#68bce1}.summary-top{position:absolute;top:24px;left:29px;right:29px;height:115px}.summary-tier{position:absolute;left:0;top:-18px;width:136px;height:136px;object-fit:contain}.summary-top h2{margin:0 0 3px 150px;font-size:34px;color:#e8d58f}.summary-top p{margin:0 0 0 150px;font-size:25px}.ai-summary:nth-child(2) .summary-tier{left:auto;right:0}.ai-summary:nth-child(2) .summary-top h2,.ai-summary:nth-child(2) .summary-top p{margin-left:0;margin-right:150px;text-align:right}.summary-champion{position:absolute;top:136px;left:27px;right:27px;height:107px}.summary-champion .flag-head{left:0;top:0;width:108px;height:108px}.summary-champion .flag-level{left:25px;top:86px;width:60px;height:24px;font-size:14px}.summary-champion h3{position:absolute;left:123px;top:0;font-size:24px;margin:0}.summary-skills{position:absolute;left:123px;top:35px;display:flex;gap:8px}.summary-skills>span,.rank-skills>span{position:relative}.summary-skills img{width:65px;height:65px}.summary-skills b,.rank-skills b{position:absolute;right:-3px;bottom:-3px;background:#000;border-radius:50%;min-width:22px;height:22px;font-size:15px;display:grid;place-items:center;font-weight:400}.summary-spell{position:absolute;right:0;top:35px;width:63px;height:63px}.summary-items{position:absolute;left:25px;right:25px;top:265px;display:flex;gap:13px}.summary-items .source-gear-slot{width:77px;height:77px}.ai-summary>.source-stat-grid{position:absolute;left:25px;right:25px;top:350px;font-size:17px;grid-template-columns:repeat(4,1fr);gap:8px}.source-start{position:relative;background:none;border:0;isolation:isolate;font-size:38px;color:#b9d0e1}.source-start:before{content:'';position:absolute;inset:0;background:#0a2030;border:4px solid #5084a3;clip-path:polygon(15% 0,85% 0,100% 50%,85% 100%,15% 100%,0 50%);z-index:-2}.source-start:after{content:'';position:absolute;inset:7px;background:#2d2e31;clip-path:polygon(14% 0,86% 0,100% 50%,86% 100%,14% 100%,0 50%);z-index:-1}.ai-preview-panel>.source-start{position:absolute;left:450px;top:25px;width:300px;height:125px;z-index:4}.versus-screen{background:url('assets/bg/Loading_Panel.png') center/1280px 960px no-repeat}.versus-flag{position:absolute;top:15px;width:360px;height:670px}.versus-flag.me{left:110px}.versus-flag.enemy{right:110px}.versus-flag>.flag-level{font-size:22px}.versus-flag h2{top:29%;font-size:38px;color:#61ca3c}.versus-flag.enemy h2{color:#ef492e}.versus-spell{position:absolute;width:85px;height:85px;right:53px;top:103px;border-radius:50%;z-index:4}.versus-rank{position:absolute;left:100px;top:252px;width:160px;height:160px;object-fit:contain;z-index:3}.versus-gear{position:absolute;left:72px;top:430px;display:grid;grid-template-columns:repeat(3,66px);gap:12px;z-index:3}.versus-pause{position:absolute;left:605px;top:10px;width:70px;height:70px;border:0;background:none;padding:0}.versus-pause img{width:100%;height:100%}
.result-screen{background:#010508b0}.result-rewards{position:absolute;left:40px;top:5px;width:360px;height:670px}.result-rewards h2{top:34%;font-size:36px}.reward-divider{position:absolute;left:35px;right:35px;top:280px;height:4px;background:url('assets/ui/Img_DivideLine.png') center/100% 100%;z-index:3}.result-loot{position:absolute;left:30px;right:30px;top:310px;display:flex;justify-content:space-around;gap:15px;z-index:3}.result-loot>div{width:130px;text-align:center;font-size:27px;line-height:1.05}.result-loot img{width:110px;height:110px;object-fit:contain;display:block;margin:0 auto 7px}.result-loot span{display:block}.result-victory{position:absolute;left:405px;top:5px;width:850px;height:610px;object-fit:contain}.result-buttons{position:absolute;left:570px;top:515px;display:flex;gap:30px;z-index:4}.result-buttons>button{width:240px;height:87px;font-size:36px}.farming-caption{position:absolute;left:440px;top:15px;margin:0;font-size:28px;z-index:4}.farming-caption b,.capsule-info b{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#328fa6;color:#fff;margin-right:12px}.no-reward-caption{position:absolute;left:30px;right:30px;top:330px;font-size:24px;line-height:1.4;text-align:center;z-index:3}
.capsule-screen{background:#020c17}.capsule-background{position:absolute;left:0;top:-120px;width:1280px;height:960px;pointer-events:none}.capsule-screen>h2{position:absolute;left:300px;right:300px;top:48px;text-align:center;margin:0;color:#e6dbaa;font-size:40px;line-height:1.15}.capsule-intro-art{position:absolute;left:512px;top:120px;width:256px;height:240px;animation:loot-reveal .4s ease-out}.capsule-intro-art img{width:100%;height:100%;object-fit:contain}.capsule-info{position:absolute;left:10px;top:42px;width:370px;color:#b0cad8;font-size:17px;line-height:1.25}.capsule-info p{margin:0 0 17px;display:flex;align-items:center}.capsule-info b{width:26px;height:26px;flex-shrink:0;font-size:24px;margin-right:9px}.capsule-reveal-art{position:absolute;left:565px;top:179px;width:150px;height:150px;animation:loot-reveal .3s ease-out}.capsule-reveal-art img{width:100%;height:100%;object-fit:contain}.capsule-amount{position:absolute;left:400px;right:400px;top:365px;text-align:center;font-size:40px;color:#fff;font-weight:400}.capsule-confirm{position:absolute;left:505px;top:495px;width:270px;height:90px;font-size:36px}.capsule-progress{position:absolute;left:600px;right:600px;top:600px;text-align:center;font-size:16px;color:#a6bec6}@keyframes loot-reveal{from{transform:scale(.75);opacity:0}to{transform:scale(1);opacity:1}}
.rank-panel{position:absolute;left:45px;top:120px;width:1180px;height:490px}.rank-profile{position:absolute;left:25px;top:25px;bottom:25px;width:325px;border-right:2px solid #5296b9;text-align:center}.rank-profile h2{font-size:30px;color:#eee5b0;margin:0 0 3px}.rank-profile p{font-size:20px;margin:0}.rank-profile>img{position:absolute;left:70px;top:100px;width:180px;height:200px;object-fit:contain}.rank-profile>.source-start,.rank-profile>.source-button{position:absolute;left:40px;bottom:0;width:245px;height:75px;font-size:27px}.rank-profile #queueClock{position:absolute;left:100px;right:100px;bottom:85px;font-size:18px}.rank-loadout{position:absolute;left:375px;right:25px;top:30px;bottom:25px}.rank-loadout>.flag-head{left:0;top:0;width:105px;height:105px}.rank-loadout>.flag-level{left:24px;top:85px;width:60px;height:22px;font-size:14px}.rank-loadout>h3{position:absolute;left:125px;top:4px;font-size:25px;margin:0}.rank-skills{position:absolute;left:125px;top:43px;display:flex;gap:14px}.rank-skills img{width:75px;height:75px;object-fit:contain}.rank-spell{position:absolute;right:5px;top:43px;width:75px;height:75px}.rank-items{position:absolute;left:0;right:0;top:150px;display:flex;justify-content:space-between}.rank-items .source-gear-slot{width:96px;height:96px}.rank-loadout>.source-stat-grid{position:absolute;left:0;right:0;top:270px;gap:12px 15px}.rank-loadout>.source-stat-grid img{width:30px;height:30px}.rank-loadout>.source-stat-grid b{font-size:21px}.friend-panel{position:absolute;left:220px;top:150px;width:840px;min-height:400px;padding:45px;text-align:center}.friend-panel h2{font-size:35px}.friend-panel p,.friend-panel strong{font-size:24px;display:block;overflow-wrap:anywhere}.friend-room-form{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.friend-room-form label{display:block;width:100%;font-size:22px}.friend-room-form input{margin-left:15px;background:#102b37;border:1px solid #b3a46f;color:#fff;padding:10px}.friend-room-form button{font-size:24px;min-width:180px}.match-found-screen{background:#000b}.match-found-circle{position:absolute;left:410px;top:95px;width:460px;height:460px;border:3px solid #ab965f;border-radius:50%;background:url('assets/bg/Loading_Panel.png') center/720px 540px no-repeat;box-shadow:0 0 50px #38baf544}.match-found-glow{position:absolute;inset:25px;border:9px solid #4cdbf4;border-bottom-color:transparent;border-radius:50%;filter:drop-shadow(0 0 9px #13aee7);animation:matching-spin 10s linear infinite}.match-found-circle:after{content:'';position:absolute;inset:13px;border:1px solid #a8955e;border-radius:50%;pointer-events:none}.match-found-inner{position:absolute;inset:70px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.match-found-icon{font-family:Arial,sans-serif;font-size:72px;line-height:1;color:#71c8de;text-shadow:0 0 6px #d1bd78}.match-found-inner h2{font-size:27px;margin:5px 0}.match-found-circle>.source-start{position:absolute;left:120px;bottom:-13px;width:220px;height:65px;font-size:27px;z-index:3}.match-found-circle>.source-button{position:absolute;left:175px;bottom:-57px;width:110px;height:35px;min-height:0;padding:2px;font-size:15px;z-index:3}.original-shop-scroll{font-size:20px}.shop-box h3{font-size:25px}.shop-box p{font-size:17px}.shop-box button{font-size:25px}.shop-footer{font-size:15px}.settings-icons button{font-size:25px}.dialog,.dialog button,.dialog input,.dialog select{font-family:'EMM2 UI',Arial,sans-serif}.dialog h2{font-family:inherit}.dialog p,.dialog li{font-family:Arial,sans-serif}

/* Reset dimensions inherited from the superseded handmade frame. */
.profile{border-radius:0;display:block;isolation:isolate}.profile:before{width:auto;height:auto;border:0;top:0;left:0;right:0;bottom:0}.viewport[data-view=skill] .profile,.viewport[data-view=shop] .profile,.viewport[data-view=settings] .profile{display:none}.item-button .catalog-price{font-size:18px}.item-button .item-level-badge{font-size:15px}.skill-card .skill-growth{font-size:18px;color:#fff;margin:0}.skill-description{width:auto;flex:none}.item-description{padding:0}.item-detail{display:block;gap:0;right:auto;bottom:auto}.catalog-tabs{margin:0}.profile-actions>button:last-child{min-width:0}

/* Immediate press feedback; scrollable choices still commit on release. */
button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}button:not(:disabled):active{filter:brightness(1.22)}button img{-webkit-user-drag:none;user-select:none}.profile .profile-gear .source-gear-slot{width:66px;height:66px;min-height:0;aspect-ratio:1}.source-gear-slot>img{display:block}.profile-actions .source-button{flex-shrink:0}.profile-actions>button:first-child{flex-shrink:1}.profile .source-gear-slot:focus-visible{outline-offset:2px}

.champion-carousel.dragging,.champion-carousel.moving{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing}.carousel-card:focus-visible{outline:2px solid #54cadd;outline-offset:-12px}

/* Keep the original outer frame without seams from nine-slice image scaling. */
.item-shell.source-panel:before,.skill-card.source-panel:before{border:0;border-image:none;background:url('assets/ui/BasePanel.png') center/100% 100% no-repeat}

/* Item layout measured against the supplied All screenshot (1280 x 720). */
.catalog-tabs{left:17px;top:12px;width:460px;height:48px;padding:0;gap:0;overflow:visible}
.catalog-tabs>button{position:relative;isolation:isolate;flex:0 0 90px;width:90px;height:42px;min-width:0}
.catalog-tabs>button.active{color:#fff;text-shadow:0 1px 3px #0005}
.catalog-tabs>button.active:before{content:'';position:absolute;left:50%;top:-8px;width:150px;height:56.18px;transform:translateX(-50%);background:url('assets/ui/UI_Selected.png') center/100% 100% no-repeat;z-index:-1;pointer-events:none}
.item-grid{left:12px;top:66px;width:480px;height:436px;max-height:none;padding:8px 8px 12px;grid-template-columns:repeat(5,80px);grid-auto-rows:112px;gap:8px 15px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y;overscroll-behavior:contain}
.item-grid::-webkit-scrollbar{display:none;width:0;height:0}
.item-button{min-width:0}.item-button .item-level-badge{font-size:15px;line-height:20px}
.item-detail{left:500px;width:322px}.item-detail .actions>button{width:calc((100% - 10px)/2);min-width:0;flex:1}
.viewport[data-view=item] .profile .source-stat-grid{top:66%;left:50%;width:max-content;transform:translateX(-50%);grid-template-columns:repeat(3,minmax(60px,max-content));gap:6px 22px}
.viewport[data-view=item] .profile .source-stat-grid img{flex:0 0 24px;width:24px;height:24px}
.viewport[data-view=item] .profile .source-stat-grid b{font-size:18px;line-height:24px}

.item-button .catalog-price .currency-cost>img{border:0;box-shadow:none;margin:0;display:block;object-fit:contain}

/* Reserve a second title line so long boot names never collide with card progress. */
.item-heading{height:116px}
.item-heading>div{display:grid;grid-template-rows:49px 22px 28px;row-gap:4px;align-content:start}
.item-heading h3{font-size:23px;line-height:1.05;margin:0;overflow-wrap:break-word}
.item-heading p{font-size:18px;line-height:22px;margin:0}
.item-heading .card-bar{height:28px;margin:0}
.item-description{top:124px}

.item-description p{font-size:18px;line-height:1.3}

.item-description{text-align:left;padding:0}

/* Game gestures must not open text selection, image dragging or the iOS callout. */
body,body *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
body input,body textarea,body [contenteditable="true"]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
body img{-webkit-user-drag:none}
.battle-screen{touch-action:none;overscroll-behavior:contain}
/* Shop widget sizes and textures recovered from the original Unity scene. */
.viewport[data-view=shop] .menu-content{height:590px;isolation:isolate}
.viewport[data-view=shop] .menu-content:before{content:'';position:absolute;inset:-12px -20px -20px;background:#171e31;-webkit-mask:url('assets/ui/BlackGradient.png') center/100% 100% no-repeat;mask:url('assets/ui/BlackGradient.png') center/100% 100% no-repeat;pointer-events:none;z-index:-1}
.original-shop-scroll{height:590px;overflow-x:hidden;overflow-y:auto;padding:0 20px 20px;scrollbar-width:none;touch-action:pan-y;overscroll-behavior:contain}
.original-shop-scroll::-webkit-scrollbar{display:none}
.shop-section{position:relative;height:500px}
.shop-section.item-shop{height:570px}
.shop-section-heading{position:relative;height:76px;text-align:center}
.shop-section-heading h2{margin:0;line-height:50px;font-size:38px;font-weight:400;color:#fadd9f}
.item-shop .shop-section-heading{height:105px}
.shop-countdown{margin:2px 0 0;font-size:22px;line-height:28px;color:#fff;font-variant-numeric:tabular-nums}
.shop-refresh{position:absolute;right:0;top:0;display:flex;align-items:center;height:70px}
.shop-refresh-price{display:flex;align-items:center;justify-content:center;width:178px;height:69px;background:url('assets/ui/RewardSlot.png') center/100% 100% no-repeat;font-size:29px}
.shop-refresh-price .currency-cost img{width:36px;height:36px}
.shop-refresh .source-button{width:70px;height:70px;padding:10px;min-height:0}
.shop-refresh button>img{display:block;width:50px;height:50px;object-fit:contain}
.shop-section .shop-boxes{display:grid;grid-template-columns:repeat(4,261px);gap:29px;justify-content:center;margin:0}
.shop-section .shop-box{position:relative;height:416px;min-height:0;background:none;border:0;padding:0;text-align:center}
.shop-section .shop-box:after{content:'';position:absolute;left:calc(100% + 14.5px);top:188px;width:360px;height:10.8px;transform:translate(-50%,-50%) rotate(90deg);background:url('assets/ui/Img_DivideLine.png') center/100% 100% no-repeat;opacity:.588;pointer-events:none}
.shop-section .shop-box:last-child:after{display:none}
.shop-section .shop-box h3{position:absolute;left:18px;right:18px;top:0;height:75px;display:flex;justify-content:center;align-items:center;margin:0;color:#fff;font-size:30px;font-weight:400;line-height:1.1}
.shop-section .shop-box>.shop-art{position:absolute;top:82px;left:49.5px;width:162px;height:162px;object-fit:contain}
.shop-section .shop-box>p{position:absolute;left:12px;right:12px;top:250px;height:66px;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:0;color:#fff;font-size:22px;line-height:1.3}
.shop-card-amount{white-space:nowrap;font-size:24px}.shop-card-multiplier{position:relative;top:2px}
.box-shop .shop-box>p>span{display:block;white-space:nowrap;font-size:20px}
.box-shop .shop-box>p>span:last-child{font-size:19px}
.shop-section .shop-box>.source-button{position:absolute;left:27px;top:326px;width:207px;height:90px;min-height:0;margin:0;padding:10px;font-size:38px}
.shop-section .shop-box .currency-cost>img{width:40px;height:40px}
.shop-item-art{position:absolute;top:92px;left:58.5px;width:144px;height:144px}
.shop-item-art>img{position:absolute;left:4.5px;top:4.5px;width:135px;height:135px;object-fit:contain}
.shop-item-art>img:not(.shop-item-frame){z-index:1}
.shop-item-art>.shop-item-frame{inset:0;width:144px;height:144px;pointer-events:none}
.reward-banner>.reward-label{flex-direction:column;gap:2px;line-height:1.15}
.reward-label>small{font-size:20px;line-height:22px;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000}
.reward-label>small[hidden]{display:none}
.skill-heading{height:96px}
.skill-heading>h3{top:0;max-height:43px;line-height:1.05}
.skill-heading>h3.skill-name-medium{font-size:17px}
.skill-heading>h3.skill-name-long{font-size:14px}
.skill-heading>span{top:44px}
.skill-heading>.card-bar{top:69px}
.skill-columns{top:52px}
.item-description{overflow-x:hidden;scrollbar-width:none}
.item-description::-webkit-scrollbar{display:none}
/* The reduced Settings menu keeps the original 150px icon scale. */
.viewport[data-view=settings] .menu-content{height:590px;isolation:isolate}
.viewport[data-view=settings] .menu-content:before{content:'';position:absolute;inset:-12px -20px -20px;background:#171e31;-webkit-mask:url('assets/ui/BlackGradient.png') center/100% 100% no-repeat;mask:url('assets/ui/BlackGradient.png') center/100% 100% no-repeat;pointer-events:none;z-index:-1}
.settings-icons{position:absolute;left:140px;top:194px;width:960px;margin:0;display:grid;grid-template-columns:repeat(5,160px);grid-auto-rows:210px;gap:40px}
.settings-icons button{position:relative;width:160px;height:210px;padding:0;background:none;border:0;color:#ccbc9d;font-size:27px}
.settings-icons img{position:absolute;left:5px;top:0;width:150px;height:150px;margin:0;object-fit:contain}
.settings-icons .audio-icon{opacity:0}
.settings-icons .audio-icon.is-active{opacity:1}
.settings-icons button>span{position:absolute;left:0;right:0;top:143px;height:60px;display:flex;align-items:center;justify-content:center;line-height:1.1}
/* GameMode: scene coordinates in the original 1280 x 720 UI. */
.viewport[data-view=start] .menu-content{left:0;top:0;width:870px;height:720px}
.viewport[data-view=start] .mode-original{top:214px;width:300px;height:375px;display:block}
.viewport[data-view=start] .ai-original{left:50px}
.viewport[data-view=start] .pvp-original{left:450px}
.viewport[data-view=start] .mode-original>img{position:absolute;left:0;top:0;width:300px;height:300px;object-fit:contain}
.viewport[data-view=start] .mode-original>span{position:absolute;left:0;top:315px;width:300px;height:60px;display:flex;align-items:center;justify-content:center;margin:0;font-size:54px;font-weight:400;line-height:1;color:#f5e3c4}
.viewport[data-view=start] .mode-divider{left:200px;top:367px;width:400px;height:20px;background:url('assets/ui/Img_DivideLine.png') center/100% 100% no-repeat;transform:rotate(90deg);box-shadow:none;pointer-events:none}
.viewport[data-view=start] .menu-content>.source-exit{left:15px;top:110px;width:90px;height:90px}
.viewport[data-view=start] .farming-toggle{left:301px;top:231px;width:50px;height:50px;font-size:22px;pointer-events:none}
.viewport[data-view=start] .farming-toggle>.farming-label{position:absolute;left:-125px;top:-46.4px;width:300px;height:26px;display:flex;align-items:center;justify-content:center;margin:0;background:none;color:white;line-height:1;pointer-events:auto;cursor:pointer}
.viewport[data-view=start] .farming-toggle>input{inset:auto;left:0;top:-17.8px;width:66.2px;height:67.8px;margin:0;cursor:pointer;z-index:2;pointer-events:auto}
.viewport[data-view=start] .farming-toggle>.farming-box{position:absolute;inset:0;width:50px;height:50px;margin:0;background:url('assets/ui/RewardSlot.png') center/100% 100% no-repeat;pointer-events:none}
.viewport[data-view=start] .farming-box:after{content:'';position:absolute;left:.2px;top:-17.8px;width:66px;height:66px;background:url('assets/ui/Check.png') center/100% 100% no-repeat;display:none}
.viewport[data-view=start] .farming-toggle>input:checked+.farming-box:after{display:block}
.viewport[data-view=start] .farming-toggle>input:focus-visible+.farming-box{outline:3px solid #6de7f7;outline-offset:3px}
/* Popup_AIBattle: independent rows; the player's champion is on the outer right. */
.ai-preview-panel{top:125px;height:500px}
.ai-preview-panel>.source-exit{right:-25px;top:-20px;width:100px;height:100px}
.ai-preview-panel>.source-start{left:445px;top:26px;width:300px;height:120px;font-size:46px}
.ai-preview-panel>.source-start:before{inset:0;background:url('assets/ui/BattlePanel_GameStart.png') center/100% 100% no-repeat;border:0;clip-path:none}
.ai-preview-panel>.source-start:after{display:none}
.ai-preview-halves:after{content:'';position:absolute;left:440px;top:306px;width:320px;height:14px;background:url('assets/ui/Img_DivideLine.png') center/100% 100% no-repeat;transform:rotate(90deg);pointer-events:none}
.ai-summary:first-child:after{display:none}
.ai-summary:before{content:'';position:absolute;left:25px;top:267px;width:550px;height:200px;background:#010909b8;pointer-events:none}
.ai-summary>.summary-top{left:0;right:0;top:0;height:140px}
.ai-summary .summary-tier{left:90.5px;top:7.5px;width:119px;height:119px}
.ai-summary .summary-top h2{position:absolute;left:210px;top:32px;width:160px;height:60px;display:flex;align-items:center;justify-content:center;margin:0;font-size:48px;line-height:1}
.ai-summary .summary-top p{position:absolute;left:140px;top:89px;width:300px;height:30px;display:flex;align-items:center;justify-content:center;margin:0;font-size:26px;line-height:1}
.ai-summary:nth-child(2) .summary-tier{left:390.5px;right:auto}
.ai-summary:nth-child(2) .summary-top h2{left:230px;margin:0}
.ai-summary:nth-child(2) .summary-top p{left:160px;margin:0}
.ai-summary>.summary-champion{left:27.5px;right:27.5px;top:144.5px;height:130px}
.ai-summary .summary-champion .flag-head{left:0;top:0;width:105px;height:105px}
.ai-summary .summary-champion .flag-level{left:17.5px;top:86.6px;width:70px;height:25px;font-size:16px}
.ai-summary .summary-champion h3{left:125.5px;top:-4px;width:300px;height:35px;margin:0;font-size:28px;line-height:35px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-summary .summary-skills{left:125.5px;top:34.5px;display:grid;grid-template-columns:repeat(4,70px);gap:15px;height:70px}
.ai-summary .summary-skills>span{display:block;width:70px;height:70px}
.ai-summary .summary-skills img{display:block;width:70px;height:70px}
.ai-summary .summary-spell{left:465.5px;right:auto;top:34.5px;width:70px;height:70px}
.ai-summary:nth-child(2) .summary-champion .flag-head{left:auto;right:0}
.ai-summary:nth-child(2) .summary-champion .flag-level{left:auto;right:17.5px}
.ai-summary:nth-child(2) .summary-champion h3{left:auto;right:125.5px;text-align:right}
.ai-summary:nth-child(2) .summary-skills{left:94.5px}
.ai-summary:nth-child(2) .summary-spell{left:9.5px}
.ai-summary>.summary-items{left:43px;right:auto;top:275px;width:514px;height:64px;display:grid;grid-template-columns:repeat(6,64px);gap:26px}
.ai-summary .summary-items .source-gear-slot{width:64px;height:64px}
.ai-summary>.source-stat-grid{left:41px;right:auto;top:354px;width:550px;display:grid;grid-template-columns:repeat(4,130px);grid-auto-rows:30px;gap:5px 10px;transform:none}
.ai-summary>.source-stat-grid img{flex:0 0 30px;width:30px;height:30px}
.ai-summary>.source-stat-grid b{font-size:22px;line-height:30px}
.spell-shortcut{padding:0;border:0;border-radius:50%;background:none;line-height:0;cursor:pointer}
.spell-shortcut>img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.spell-shortcut:disabled{cursor:default;filter:brightness(.7);opacity:1}
/* SpellPopup: the recovered 820 x 480 panel scales with the game viewport. */
.dialog-shade:has(.original-spell-popup){background:#000b;backdrop-filter:none}
.dialog:has(.original-spell-popup){position:fixed;left:50%;top:50%;width:820px;height:480px;max-height:none;padding:0;border:0;background:none;overflow:visible;box-shadow:none;isolation:isolate;transform:translate(-50%,-50%) scale(var(--game-scale,1));transform-origin:center}
.dialog:has(.original-spell-popup):before{content:'';position:absolute;inset:0;border:30px solid transparent;border-image:url('assets/ui/BasePanel.png') 30 fill;pointer-events:none;z-index:-1}
.dialog:has(.original-spell-popup)>.close{right:-20px;top:-25px;width:100px;height:100px;padding:0;background:url('assets/ui/btn_Exit.png') center/100% 100% no-repeat;border:0;font-size:0}
.original-spell-popup{position:relative;width:820px;height:480px}
.original-spell-popup:after{content:'';position:absolute;left:135px;top:234px;width:420px;height:12px;background:url('assets/ui/Img_DivideLine.png') center/100% 100% no-repeat;transform:rotate(90deg);pointer-events:none}
.original-spell-popup>#dialogTitle{position:absolute;left:30px;top:42px;width:300px;height:50px;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:24px;line-height:1.04;color:#a2ecff}
.original-spell-popup>.summoner-grid{position:absolute;left:34.2px;top:112.2px;display:grid;grid-template-columns:repeat(3,81.6px);grid-auto-rows:81.6px;gap:20.4px}
.summoner-grid>.champ-choice{position:relative;isolation:isolate;width:81.6px;height:81.6px;margin:0;padding:0;border:0;border-radius:0;background:url('assets/ui/btn_SpellSelect.png') center/100% 100% no-repeat;box-shadow:none}
.summoner-grid>.champ-choice>img{position:absolute;left:2.55px;top:2.55px;width:76.5px;height:76.5px;margin:0;object-fit:contain}
.summoner-grid>.champ-choice.selected:before{content:'';position:absolute;left:-5.95px;top:-5.95px;width:93.5px;height:93.5px;background:url('assets/ui/ItemSelect.png') center/100% 100% no-repeat;z-index:-1}
.original-spell-popup .summoner-info>h3{position:absolute;left:377px;top:50px;width:300px;height:50px;margin:0;font-size:38px;line-height:50px;color:#fffeaa}
.original-spell-popup .summoner-info>p{position:absolute;left:377px;top:113px;width:400px;height:210px;overflow:auto;scrollbar-width:none;margin:0;font-family:'EMM2 UI',Arial,sans-serif;font-size:23px;line-height:1.3;color:#cfcfcf}
.original-spell-popup .summoner-info>p::-webkit-scrollbar{display:none}
.original-spell-popup #confirmSpell{position:absolute;left:380px;top:350px;width:400px;height:100px;margin:0;font-size:34px}
/* Popup_PVP: preserve the source My_Status group at scale 1.3. */
.rank-panel{left:40px;top:125px;width:1200px;height:500px}
.rank-panel:after{content:'';position:absolute;left:165px;top:244px;width:450px;height:12px;background:url('assets/ui/Img_DivideLine.png') center/100% 100% no-repeat;transform:rotate(90deg);pointer-events:none}
.rank-profile{left:0;top:0;bottom:auto;width:400px;height:500px;border:0}
.rank-profile>h2{position:absolute;left:50px;top:17px;width:300px;height:50px;margin:0;font-size:42px;line-height:50px}
.rank-profile>p{position:absolute;left:0;top:64px;width:400px;height:30px;margin:0;font-size:26px;line-height:30px}
.rank-profile>p+p{left:44px;top:97px;width:300px}
.rank-profile>img{left:70px;top:102px;width:260px;height:260px;object-fit:contain}
.rank-profile>.source-start{left:59px;top:362.6px;bottom:auto;width:282px;height:113px;font-size:30px}
.rank-profile>.source-start:before{inset:0;background:url('assets/ui/BattlePanel_GameStart.png') center/100% 100% no-repeat;border:0;clip-path:none}
.rank-profile>.source-start:after{display:none}
.rank-profile>.source-button{left:50px;top:370px;bottom:auto;width:300px;height:100px;font-size:30px}
.rank-profile #queueClock{left:50px;right:auto;top:333px;bottom:auto;width:300px;height:30px;font-size:24px;line-height:30px}
.rank-loadout{left:435.75px;right:auto;top:48.75px;bottom:auto;width:550px;height:330px;transform:scale(1.3);transform-origin:0 0}
.rank-loadout:before{content:'';position:absolute;left:-2.5px;top:122.5px;width:550px;height:200px;background:#010909b8;pointer-events:none}
.rank-loadout>.flag-head{left:0;top:0;width:105px;height:105px}
.rank-loadout>.flag-level{left:17.5px;top:86.6px;width:70px;height:25px;font-size:16px}
.rank-loadout>h3{left:123.4px;top:-4px;width:300px;height:35px;margin:0;font-size:25px;line-height:35px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-skills{left:123.5px;top:34.5px;display:grid;grid-template-columns:repeat(4,70px);gap:15px;height:70px}
.rank-skills>span{display:block;width:70px;height:70px}
.rank-skills img{display:block;width:70px;height:70px}
.rank-loadout>.rank-spell{left:463.5px;right:auto;top:34.5px;width:70px;height:70px}
.rank-items{left:15.5px;right:auto;top:130.5px;width:514px;height:64px;display:grid;grid-template-columns:repeat(6,64px);gap:26px}
.rank-items .source-gear-slot{width:64px;height:64px}
.rank-loadout>.source-stat-grid{left:13.5px;right:auto;top:209.5px;width:520px;grid-template-columns:140px 140px 140px 100px;grid-auto-rows:30px;gap:5px 0}
.rank-loadout>.source-stat-grid>span{gap:3px}
.rank-loadout>.source-stat-grid img{flex:0 0 30px;width:30px;height:30px}
.rank-loadout>.source-stat-grid b{font-size:22px;line-height:30px}
.viewport[data-view=pvpModes] .menu-content>.source-exit{left:-5px;top:0;width:90px;height:90px}
.ai-preview-panel>.source-exit,.rank-panel>.source-exit{right:-20px;top:-15px;width:90px;height:90px}
/* PVPMode has separate source widget sizes for the rank and friend emblems. */
.viewport[data-view=pvpModes] .rank-banner,.viewport[data-view=pvpModes] .friend-banner{left:57.5px;width:603px;height:150px}
.viewport[data-view=pvpModes] .rank-banner>img{left:3.5px;top:5px;width:140px;height:140px}
.viewport[data-view=pvpModes] .friend-banner>img{left:26px;top:32.3px;width:96px;height:96px}
.viewport[data-view=pvpModes] .source-banner>span{left:181.5px;right:auto;top:47px;bottom:auto;width:300px;height:60px;color:#f5e3c4}

/* Requested centered single row of five Settings controls. */

/* APK Notice prefab: central white label, horizontal BlackGradient bar, no gold card. */
.viewport>.toast{position:absolute;left:140px;top:335px;bottom:auto;width:1000px;height:50px;max-width:none;margin:0;padding:0;border:0;background:none;box-shadow:none;transform:none;color:#fff;font-size:30px;line-height:50px;text-align:center;text-shadow:0 2px 2px #000;pointer-events:none;isolation:isolate;white-space:pre-line}
.viewport>.toast:before{content:'';position:absolute;left:50%;top:50%;width:80px;height:1473px;transform:translate(-50%,-50%) rotate(-90deg);background:#000;-webkit-mask:url('assets/ui/BlackGradient.png') center/100% 100% no-repeat;mask:url('assets/ui/BlackGradient.png') center/100% 100% no-repeat;z-index:-1;pointer-events:none}

/* APK level2 HUD and PausePopup/ExitPopup geometry. */
.pause{left:18px;top:320px;width:80px;height:80px;opacity:.862745}
.battle-timer{left:540.5px;top:0;width:197px;height:60px;line-height:60px}
.dialog-shade:has(.original-battle-popup){background:rgba(0,0,0,.705882);backdrop-filter:none}
.dialog:has(.original-battle-popup){position:fixed;left:50%;top:50%;width:700px;height:300px;max-height:none;padding:0;border:0;background:url('assets/ui/BasePanel_2.png') center/100% 100% no-repeat;overflow:visible;box-shadow:none;transform:translate(-50%,-50%) scale(var(--game-scale,1));transform-origin:center}
.dialog:has(.original-battle-popup)>.close{right:-37px;top:-27px;width:114px;height:114px;padding:0;border:0;background:url('assets/ui/btn_Exit.png') center/100% 100% no-repeat;font-size:0}
.original-battle-popup{position:relative;width:100%;height:100%}
.pause-popup>h2{position:absolute;left:50px;top:20px;width:600px;height:100px;margin:0;font-size:50px;line-height:100px;color:#fff;text-align:center}
#pauseHome{position:absolute;left:280px;top:125px;width:140px;height:140px;padding:0;border:0;background:none}
#pauseHome>img{display:block;width:100%;height:100%}
.dialog:has(.exit-battle-popup){height:400px;background-image:url('assets/ui/BasePanel.png')}
.dialog:has(.exit-battle-popup)>.close{display:none}
.exit-battle-popup>.exit-alarm{position:absolute;left:305px;top:-43px;width:90px;height:90px}
.exit-battle-popup>p{position:absolute;left:47.5px;top:49px;width:605px;height:200px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'EMM2 UI',Arial,sans-serif;font-size:28px;line-height:1.15;color:#fff;text-align:center}
.exit-battle-popup>.source-button{position:absolute;left:85px;top:260px;width:230px;height:100px;padding:0;font-size:36px}
.exit-battle-popup>#cancelLeave{left:385px}
.result-buttons{left:595px;top:515px;gap:30px}
.result-buttons>button{width:250px;height:90px}
.viewport:has(>.battle-screen:not(.hidden))>.game-nav,.viewport:has(>.battle-screen:not(.hidden))>.menu-content,.viewport:has(>.battle-screen:not(.hidden))>.profile{visibility:hidden;pointer-events:none}

/* Outside-battle audit: selection controls from the supplied video and APK. */
.carousel-confirm{left:530px;top:400px;width:220px;height:80px}
.carousel-confirm.selected:before{border-image-source:url('assets/ui/Disable_Button.png')}
.carousel-confirm.selected{color:#c0c0c0}
.carousel-confirm:disabled{opacity:1;filter:none}
.viewport[data-view=champions] #carouselExit{right:20px;top:0;width:90px;height:90px}

/* FriendPVP source panel. The web service still uses room codes. */
.friend-screen{background:#00000080}
.friend-source-panel{position:absolute;left:265px;top:155px;width:750px;height:420px;padding:0}
.friend-source-panel:before{border:0;background:url('assets/ui/BasePanel.png') center/100% 100% no-repeat}
.friend-source-panel>.source-exit{right:-30px;top:-21px;width:90px;height:90px}
.friend-description{position:absolute;left:75px;top:23.5px;width:600px;height:120px;margin:0;display:grid;place-content:center;text-align:center;font-size:32px;line-height:1.2}
.friend-version{position:absolute;left:61px;top:133.5px;width:628px;height:30px;margin:0;color:#88cdd8;font-size:20px;line-height:30px;text-align:center}
.friend-source-panel #roomCode{position:absolute;left:59.5px;top:170px;width:631px;height:80px;margin:0;padding:10px 15px;border:0;border-radius:0;background:#000000c8;color:#fff;font-family:inherit;font-size:32px;line-height:60px;text-align:center}
.friend-source-panel #roomCode::placeholder{color:#ffffff70}
.friend-source-panel .friend-room-form>.source-button{position:absolute;left:85px;top:280px;width:260px;height:100px;margin:0;padding:0;font-size:34px}
.friend-source-panel .friend-room-form>#joinRoom{left:405px}

/* Popup_MatchingPVP: use original art and native child dimensions at scale 0.9. */
.match-found-screen{background:none}
.matching-backdrop{position:absolute;inset:0;pointer-events:none}
.match-found-shade{position:absolute;inset:0;background:#000000c8;overflow:hidden}
.source-match-found{position:absolute;left:361px;top:31px;width:620px;height:620px;transform:scale(.9);transform-origin:top left}
.matching-source-shine{position:absolute;left:-71.5px;top:-69.5px;width:759px;height:759px;background:#00d9ff;-webkit-mask:url('assets/ui/BlurCircle.png') center/100% 100% no-repeat;mask:url('assets/ui/BlurCircle.png') center/100% 100% no-repeat;z-index:0;pointer-events:none}
.matching-load-art{position:absolute;left:45.5px;top:47.5px;width:525px;height:525px;transform:scaleY(-1);z-index:1;pointer-events:none}
.matching-background{position:absolute;inset:0;width:620px;height:620px;z-index:2;pointer-events:none}
.source-match-found>h2{position:absolute;left:125px;top:332px;width:370px;height:60px;margin:0;color:#e0ddc5;font-size:34px;line-height:60px;text-align:center;z-index:3}
.source-match-found>#acceptMatch{position:absolute;left:191.5px;top:517px;width:237px;height:60px;padding:0;border:0;background:url('assets/ui/PVP_Matching_Button.png') center/100% 100% no-repeat;color:#8cafc5;font-size:30px;line-height:60px;z-index:4}
.source-match-found>#declineMatch{position:absolute;left:244px;top:592.6px;width:140px;height:40px;min-height:0;padding:0;color:#c0ac87;font-size:22px;line-height:40px;z-index:4}
.source-match-found>#acceptMatch:disabled,.source-match-found>#declineMatch:disabled{opacity:.5;cursor:default;filter:none}

/* Box_OpenPanel: source positions and widgets; ad action remains removed. */
.capsule-screen>h2{left:451px;right:auto;width:378px;height:54px;color:#f0e6d2;line-height:54px;display:flex;align-items:center;justify-content:center}
.capsule-screen>.capsule-intro-title{top:43px}
.capsule-screen>.capsule-reward-title{top:116px;font-size:45px;font-weight:400;white-space:nowrap}
.capsule-screen>.capsule-title-long{font-size:30px;line-height:1.1}
.capsule-info{left:9px;top:46px;width:435px;color:#6e8793;line-height:30px}
.capsule-info>p{height:30px;margin:0 0 10px;gap:6.6px}
.capsule-info>p>img{width:30px;height:30px;flex:0 0 30px;object-fit:contain}
.capsule-info>p>span{white-space:nowrap}
.capsule-reveal-art>img.capsule-reward-frame{position:absolute;inset:0;width:150px;height:150px}
.capsule-reveal-art>img.capsule-reward-image{position:absolute;left:5px;top:5px;width:140px;height:140px;object-fit:contain}
.capsule-amount{left:558.5px;right:auto;top:348px;width:163px;height:54px;line-height:54px;color:#f0e6d2}
.capsule-dots{position:absolute;left:0;right:0;top:36.7px;height:25px;display:flex;justify-content:center;gap:15px}
.capsule-dot{display:block;flex:0 0 25px;width:25px;height:25px;background:#e5c971;-webkit-mask:url('assets/ui/Circle.png') center/100% 100% no-repeat;mask:url('assets/ui/Circle.png') center/100% 100% no-repeat;transform:scale(.5);opacity:.501961}
.capsule-dot.active{transform:none;opacity:1}

/* Champ_EquipSlot.Setting restores Empty alpha0.7 when the item pointer is absent. */
.profile .source-gear-slot.empty{opacity:.7}

/* User placement: center the Item panel in the space below the navigation. */
.viewport[data-view=item] .item-shell{top:40px}

/* Native Skill refresh can populate both lines in its title/value labels. */
.skill-growth{display:block}
.skill-growth-row{display:flex;justify-content:space-between;align-items:baseline;gap:6px;line-height:22px;white-space:nowrap}
.skill-growth-row>span{min-width:0;text-align:left}
.skill-growth-row>b{flex-shrink:0;text-align:right}
.skill-growth-row>.skill-growth-long{font-size:16px}

.online-result-content{position:absolute;left:30px;right:30px;top:294px;display:flex;flex-direction:column;align-items:stretch;gap:16px;z-index:3}
.online-result-content>.no-reward-caption{position:static;margin:0;font-size:22px;line-height:1.25}
.online-result-content>.result-loot{position:static;min-height:0}

/* Native My_Status icons navigate to their main tab; preserve icon geometry. */
.prepare-skill{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:0}
.prepare-skill:focus-visible,[data-prepare-view]:focus-visible{outline:2px solid #e5c971;outline-offset:3px}

/* APK GetItemPanel shop preview: two purposeful buttons, before any RP debit. */
.capsule-source-preview>.capsule-intro-title{left:451px;right:auto;width:378px;height:54px;font-size:45px;line-height:54px;color:#f0e6d2}
.capsule-shop-buy,.capsule-shop-cancel{position:absolute;top:495px;width:270px;height:90px;padding:0}
.capsule-shop-buy{left:355px;display:flex;align-items:center;justify-content:center;gap:7.2px}
.capsule-shop-cancel{left:655px}
.capsule-shop-buy>.capsule-shop-coin{position:static;flex:0 0 54px;width:54px;height:54px;object-fit:contain}
.capsule-shop-buy>.capsule-shop-price{position:static;flex:0 0 auto;width:auto;height:54px;font-size:45px;line-height:54px;color:#ffe6a0;text-shadow:none;text-align:center}
.capsule-shop-cancel>span{position:absolute;left:22.5px;top:18px;width:225px;height:54px;font-size:40.5px;line-height:54px;text-shadow:none}
.capsule-source-preview .capsule-intro-art>img{position:absolute;left:0;top:0;object-fit:fill}
.capsule-source-preview .capsule-intro-art>img.box-tier-4{left:8px;top:16.071429px;width:238.857143px;height:208.928571px}
.capsule-source-preview .capsule-intro-art>img.box-tier-5{left:8px;top:7.5px;width:240px;height:225px}
.capsule-source-preview .capsule-intro-art>img.box-tier-0{left:73.142857px;top:26.785714px;width:110.857143px;height:186.428571px}

/* Native waiting-slot information, with the single non-ad OK centered by user request. */
.capsule-slot-timer{position:absolute;left:490px;top:355px;width:300px;height:60px;line-height:60px;font-size:40px;color:#7eaabe;text-align:center;white-space:nowrap}

/* Notice prefab: scale0->1 in0.15s; hold1s then linear alpha1->0 in0.5s. */
.viewport>.toast{font-size:45px;line-height:1;transform-origin:center;will-change:transform,opacity}
.viewport>.toast.show{display:flex;align-items:center;justify-content:center;animation:notice-scale .15s cubic-bezier(.3333333333,0,.6666666667,1.3481592735) both,notice-alpha .5s linear 1s both}
.viewport>.toast>.notice-text{display:block;width:100%;line-height:1;white-space:pre-line}
@keyframes notice-scale{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes notice-alpha{from{opacity:1}to{opacity:0}}

/* Capsule labels from Box_OpenPanel; original user button/group anchors retained. */
.capsule-screen>h2{font-weight:400}
.capsule-screen>.capsule-intro-title{font-size:45px}
.capsule-confirm{padding:0;display:flex;align-items:center;justify-content:center;font-size:40.5px;line-height:54px}
.capsule-amount{font-size:45px}
.capsule-info>p>span{display:flex;align-items:center;flex:0 0 300px;width:300px;height:30px;font-size:22px;white-space:normal}
.capsule-info .capsule-info-label{display:block;width:300px;font-size:22px;line-height:1;white-space:pre-line}
.champion-unlock-condition{position:absolute;left:15px;top:10px;width:190px;height:60px;display:flex;align-items:center;justify-content:center}
.champion-unlock-condition>span{display:block;width:190px;font-size:35px;line-height:1;white-space:pre-line}

/* User override: show settled rewards immediately after Open, without a chest flash. */
.capsule-intro-art,.capsule-reveal-art{animation:none}

/* Start_Obj/Box TweenPosition: y110->130->110, looping3s, zero tangents. */
.capsule-intro-art{animation:capsule-box-float 3s cubic-bezier(.3333333333,0,.6666666667,1) infinite}
@keyframes capsule-box-float{0%,100%{transform:translateY(10px)}50%{transform:translateY(-10px)}}

/* Seasonal balance beside the focused Ryze offer; leave main currencies/Item alone. */
.xmas-token-balance{position:absolute;left:480px;top:488px;width:320px;height:34px;display:flex;align-items:center;justify-content:center;gap:6px;color:#f0e6d2;font-size:20px;z-index:6;pointer-events:none}
.xmas-token-balance[hidden]{display:none}
.xmas-token-balance>img{width:28px;height:28px;object-fit:contain}

/* APK PanelTween: unweighted zero tangents at0, slope2 at1 (t squared). */
.menu-content.native-menu-enter{animation:native-menu-in .4s cubic-bezier(.3333333333,0,.6666666667,.3333333333) both}
@keyframes native-menu-in{from{opacity:0}to{opacity:1}}
/* RewardSlot's parent is0.8; do not animate the user's lowered empty silhouette. */
.box-slot:not(.empty)>img{animation:native-slot-float 5s cubic-bezier(.3333333333,0,.6666666667,1) infinite}
@keyframes native-slot-float{0%,100%{transform:translateY(-4px)}50%{transform:translateY(4px)}}
.box-ready-alarm:before{content:'';position:absolute;inset:-14px;background:#ffd400;-webkit-mask:url('assets/ui/BlurCircle.png') center/100% 100% no-repeat;mask:url('assets/ui/BlurCircle.png') center/100% 100% no-repeat;animation:native-alarm-shine 2s cubic-bezier(.3333333333,0,.6666666667,1) infinite}
@keyframes native-alarm-shine{0%,100%{opacity:0}50%{opacity:1}}
/* User-requested soft crop of capsule glow: remove the rectangular hard edge. */
img[src^="assets/ui/box_1.png"],img[src^="assets/ui/box_2.png"],img[src^="assets/ui/box_3.png"]{-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.xmas-event-banner{position:absolute;left:382.5px;top:110px;width:355px;height:88px;background:url('assets/ui/btn_Event.png') center/100% 100%;border:0;padding:0;color:#f0e6d2}
.xmas-event-banner>img{position:absolute;left:15.5px;top:16px;width:56px;height:56px}
.xmas-event-banner>span{position:absolute;left:97px;top:22px;width:220px;height:40px;font-size:31px;line-height:40px;text-align:center;white-space:nowrap}
.xmas-event-screen{animation:native-menu-in .2s cubic-bezier(.3333333333,0,.6666666667,.3333333333) both}
.xmas-event-shade{position:absolute;inset:0;background:#0009}
.xmas-event-panel{position:absolute;left:90px;top:20px;width:1100px;height:580px}
.xmas-event-panel>.source-exit{right:-20px;top:-20px;width:100px;height:100px}
.xmas-event-title{position:absolute;left:247.5px;top:37px;width:605px;height:60px;margin:0;text-align:center;font-size:60px;line-height:1;color:#d9cda2;font-weight:400}
.xmas-divider{position:absolute;left:205.5px;top:103px;width:689px;height:6px}
.xmas-event-days{position:absolute;left:247.5px;top:103px;width:605px;height:60px;margin:0;line-height:60px;text-align:center;font-size:34px;color:#7eaabd}
.xmas-orb-art{position:absolute;left:192px;top:185px;width:190px;height:190px;animation:xmas-orb-float 2s cubic-bezier(.3333333333,0,.6666666667,1) infinite alternate}
@keyframes xmas-orb-float{from{transform:translateY(0)}to{transform:translateY(-10px)}}
.xmas-orb-label{position:absolute;left:147px;top:373px;width:280px;height:30px;margin:0;text-align:center;color:#7cc9ff;font-size:40px;line-height:1;font-weight:400}
.xmas-ingredient-title{position:absolute;left:479px;top:193px;width:540px;height:40px;margin:0;font-size:34px;line-height:1;color:#fff}
.xmas-ingredients{position:absolute;left:479px;top:238px;width:540px;height:194px;margin:0;font-size:30px;line-height:30px;color:#fff}
.xmas-event-open{position:absolute;left:201px;top:438px;width:420px;height:110px;font-size:42px}
.xmas-event-remain{position:absolute;left:641px;top:438px;width:240px;height:110px;padding:0}
.xmas-event-remain>img{position:absolute;left:56px;top:16px;width:44px;height:44px}
.xmas-event-remain>span{position:absolute;left:125px;top:18px;font-size:35px;line-height:36px}
.xmas-event-remain>small{position:absolute;left:20px;top:66px;width:200px;height:30px;font-size:25px;line-height:30px;white-space:nowrap}
.capsule-orb-balance{position:absolute;left:340px;top:370px;width:600px;height:38px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:34px;color:#fff}
.capsule-orb-balance>img{width:40px;height:40px;object-fit:contain}
.capsule-orb-buy,.capsule-orb-cancel{position:absolute;top:490.5px;width:270px;height:99px;padding:0}
#xmasBuy1{left:215px}#xmasBuy10{left:505px}
.capsule-orb-buy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}
.capsule-orb-buy>.currency-cost{font-size:32.4px;line-height:32.4px}
.capsule-orb-buy>.currency-cost>img{width:32.4px;height:32.4px}
.capsule-orb-buy>span:last-child{font-size:30.6px;line-height:30.6px}
.capsule-orb-cancel{left:795px;font-size:40.5px}

.box-ready-alarm{background:none;-webkit-mask:none;mask:none}
.box-ready-alarm:after{content:'';position:absolute;inset:0;background:#ffd400;-webkit-mask:url('assets/ui/Circle.png') center/100% 100% no-repeat;mask:url('assets/ui/Circle.png') center/100% 100% no-repeat}

/* Exact serialized Xmas widget colors (including the original dark popup veil). */
.xmas-event-shade{background:rgba(0,0,0,.7058823705)}
.xmas-event-title{color:rgb(84.90566015% 79.19855714% 62.07725406%)}
.xmas-event-days{color:rgb(56.07843399% 82.5371325% 100%)}
.xmas-orb-label{color:rgb(50.47169924% 88.12856078% 100%)}
.xmas-ingredient-title{color:rgb(100% 91.88133478% 60.84905863%)}

/* Serialized UIButtonScale duration0: capsule/Item/Settings shrink to0.95;
   the Xmas information popup's Open/Remain buttons grow to1.1 instead. */
.capsule-screen .source-button,.item-detail .actions>button,.settings-icons>button,#xmasEvent,#freeRewards,.xmas-event-panel button{scale:1}
.capsule-screen .source-button:not(:disabled):active,.item-detail .actions>button:not(:disabled):active,.settings-icons>button:not(:disabled):active,#xmasEvent:not(:disabled):active,#freeRewards:not(:disabled):active,.xmas-event-panel>.source-exit:not(:disabled):active{scale:.95}
.xmas-event-panel>#xmasOpen:not(:disabled):active,.xmas-event-panel>#xmasRemain:not(:disabled):active{scale:1.1}

/* Outside audit43: native label sizes after ancestor scale; Item overrides stay. */
.skill-heading{height:104px}
.skill-heading>span{height:28.501px;line-height:28.501px;font-size:24.701px;right:0}
.skill-heading>.card-bar{top:75px;height:28.288px}
.skill-heading>.card-bar>span{font-size:20.206px;line-height:1}
.skill-description{width:251.838px;height:156.805px;right:auto;font-size:19.007px}
.box-shop .shop-box>.source-button{font-size:40.491px}
.settings-icons button{font-size:30px}

/* User49: lower the float center2px and halve its range to clear the footer. */
.box-slot:not(.empty)>img{translate:0 -18px}
.box-slot:not(.empty)>.box-slot-label{top:122.64px}

/* Keep the ready dot and its glow together at the raised corner anchor. */
.box-ready-alarm{top:-4px}

/* APK Loading panel: black alpha220/255, centered200px ring and30px label. */
.loading{background:rgba(0,0,0,.8627451);display:block}
.loading>.loading-ring{position:absolute;left:541.388889px;top:260px;width:197.222222px;height:200px;opacity:1;object-fit:fill;animation:native-loading-spin 1s linear infinite}
.loading>.loading-label{position:absolute;left:337.5px;top:301px;width:605px;height:120px;display:grid;place-items:center;text-align:center;text-shadow:none}
.loading>.loading-label>p{margin:0;font-size:30px;line-height:1;white-space:pre-line}
.loading>progress{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@keyframes native-loading-spin{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
.loading.load-error>.loading-ring{display:none}
.loading.load-error>.loading-label{left:140px;top:250px;width:1000px;height:220px}
.loading.load-error>.loading-label>p{font-size:22px;line-height:1.3;overflow-wrap:anywhere}
/* Skill43 kept native larger labels; reserve their full boxes before Cooldown. */
.skill-card>.skill-cooldown{top:124px;font-size:19.001px;line-height:25px}
.skill-card>.skill-description{top:162px}

/* APK GetReward: a win with four occupied slots shows the unavailable-box column. */
.result-box-unavailable{position:relative}
.result-loot .result-unavailable-box{opacity:.35}
.result-no-slot{position:absolute;left:-6px;right:-6px;top:15px;display:grid;justify-items:center;font-size:24px;line-height:1.05;color:#eee8d3}
.result-loot .result-no-slot>img{width:38px;height:38px;margin:0 0 8px}
