#info-dialog.royal-xp-dialog{padding:0;border:0;border-radius:21px;background:transparent;box-shadow:none;width:min(430px,calc(100vw - 30px));max-width:430px;max-height:calc(100dvh - 105px);overflow:visible;margin:auto;transform:translateY(23px)}
#info-dialog.royal-xp-dialog::backdrop{background:#03091bba;backdrop-filter:blur(7px)}
.royal-xp{position:relative;padding:104px 17px 24px;text-align:center;isolation:isolate;border:3px solid #ffdc68;border-radius:24px;background:radial-gradient(ellipse at 50% 10%,#258bdd66,transparent 48%),repeating-conic-gradient(from 8deg at 50% 0%,#55b6ff08 0deg 9deg,transparent 9deg 20deg),linear-gradient(135deg,#1856a0,#0d3469 45%,#092346);box-shadow:inset 0 0 0 3px #86571a,inset 0 0 0 5px #4c90d2,0 0 0 2px #38220c,0 9px 28px #000a;animation:royal-xp-reveal .5s cubic-bezier(.2,.7,.2,1) both}
.royal-xp:before{content:'';position:absolute;inset:10px;border:1px solid #5ab3ec88;border-radius:18px;pointer-events:none;z-index:-1}
.royal-xp-crest{position:absolute;top:-72px;left:50%;transform:translateX(-50%);width:100%;height:165px;pointer-events:none;filter:drop-shadow(0 5px 3px #00133088)}.royal-xp-crest img{height:100%;width:100%}.royal-xp-crest b{position:absolute;top:61px;left:0;right:0;font:72px/1 'Lilita One',var(--sans);color:#fff0b3;-webkit-text-stroke:1px #a96d18;text-shadow:0 4px #402713,0 6px #07152c}
#info-dialog.royal-xp-dialog>.dialog-close{z-index:3;right:12px;top:12px;width:37px;height:38px;color:#b9e4ff;background:linear-gradient(#3379bf,#123972);border:2px solid #061d42;border-radius:10px;box-shadow:inset 0 1px 0 #b7e6ff,0 0 0 1px #6099c7,0 3px #041634}
#info-dialog.royal-xp-dialog>.dialog-close svg{width:23px;height:23px;stroke-width:3}
.royal-xp-heading>span{font:16px 'Lilita One',var(--sans);color:#c5ddff;letter-spacing:.5px;text-shadow:0 2px #021331}.royal-xp-heading h2{font:clamp(30px,8vw,43px)/1.05 'Lilita One',var(--sans);letter-spacing:0;color:#ffe89c;-webkit-text-stroke:.7px #bb7413;text-shadow:0 3px #975014,0 5px #49250e,0 7px 6px #00112b;margin:10px 0 13px}
.royal-xp-heading>strong{display:block;font:clamp(42px,11vw,58px)/1 'Lilita One',var(--sans);color:#79f2ff;-webkit-text-stroke:1px #bcfaff;text-shadow:0 4px #087cc7,0 6px #033d7b,0 8px 9px #062044;margin-bottom:18px}
/* The three XP sources as painted quest tiles (Eddy's pick B, 2026-11-06); they pop in one after another. */
.royal-xp-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.royal-xp-tile{display:grid;justify-items:center;align-content:start;gap:3px;padding:9px 4px 8px;border-radius:16px;border:2px solid #e9b84b;background:linear-gradient(#174a8d,#0a2551);box-shadow:inset 0 1px #6fb6ff88,inset 0 -3px #06183b,0 3px #00102a;animation:royal-xp-pop .4s calc(.3s + var(--d)*.12s) both cubic-bezier(.3,1.5,.5,1)}
.royal-xp-tile>img{width:52px;height:52px;object-fit:contain;border:0;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 2px 2px #0007)}
.royal-xp-tile>b{font:24px/1 'Lilita One',var(--sans);color:#8ff1ff;text-shadow:0 2px #033d7b}
.royal-xp-tile>span{font:700 11px/1.15 var(--sans);color:#c6ddfa}
.royal-xp-tile.is-empty{border-color:#6f86a8;filter:saturate(.25) brightness(.8)}.royal-xp-tile.is-empty>b{color:#b7c7dc}
/* Trophies on a gold strip: the match-results trophy, the change, the total and the player's league badge. */
.royal-xp-trophies{display:flex;align-items:center;gap:8px;margin-top:9px;padding:5px 8px 5px 10px;border-radius:14px;border:2px solid #fff0a6;background:linear-gradient(#ffe878,#f2b221 60%,#d98a12);box-shadow:inset 0 2px #fffbd2,0 3px #7b3c0c;animation:royal-xp-slide .35s .7s both ease-out}
.royal-xp-trophies>span,.royal-xp-trophies>b{font:17px 'Lilita One',var(--sans);color:#fff;-webkit-text-stroke:.5px #8a4a0c;text-shadow:0 2px #7b3c0c}
.royal-xp-trophies>b{font-size:22px;margin-left:auto}.royal-xp-trophies.is-down>b{color:#ffd6d0;-webkit-text-stroke-color:#8a1c0c}
.royal-xp-trophies>small{font:800 11px var(--sans);color:#6b3407;white-space:nowrap}
.royal-xp-cup{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 2px 1px #7b3c0c99)}.royal-xp-league{width:34px;height:36px;object-fit:contain}
/* The XP bar sits between this level's badge and the next level's (grey); at max level the right badge is the crown. */
.royal-xp-progress{display:flex;align-items:center;gap:7px;margin:16px 0 13px}.royal-xp-track{flex:1;height:27px;border:2px solid #689bd0;box-shadow:inset 0 2px 3px #000b,0 0 0 2px #061b3c,0 1px 0 3px #d0b65c;border-radius:15px;background:#051a3e;padding:3px;position:relative;overflow:hidden}.royal-xp-track>span{display:block;height:100%;border-radius:10px;background:linear-gradient(#d5ffff,#48f4ff 44%,#08c7ef 60%,#1199e0);box-shadow:inset 0 1px #fff,0 0 9px #4af4ffb3;animation:royal-xp-fill 1.1s .2s both ease-out}
.royal-xp-track>em{position:absolute;inset:0;display:grid;place-items:center;font:13px 'Lilita One',var(--sans);font-style:normal;color:#fff;text-shadow:0 1px 2px #001b3c,0 0 3px #001b3c}
.royal-xp-badge{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;font:19px 'Lilita One',var(--sans);font-style:normal;color:#fff;border:2px solid #fff3b0;background:radial-gradient(circle at 40% 30%,#ffe36b,#e59814 70%);-webkit-text-stroke:.5px #8a4a0c;text-shadow:0 2px #7b3c0c;box-shadow:0 2px #5c2d08}
.royal-xp-badge.is-next{filter:saturate(.25) brightness(.85)}.royal-xp-badge>img{width:24px;height:20px;object-fit:contain}
.royal-xp-unlocked{font:700 10px/1.4 var(--sans)!important;color:#ffe79e!important;margin:-3px 0 10px!important}
.royal-xp-continue{width:100%;display:flex;align-items:center;justify-content:center;gap:15px;min-height:53px;border-radius:18px;font:30px 'Lilita One',var(--sans)}
.royal-xp-continue{border:2px solid #fff1aa;background:linear-gradient(#fff572,#ffdd24 43%,#ffb706 80%,#ff9704);box-shadow:inset 0 2px 0 #fff9c2,inset 0 -4px 0 #e88b0b,0 4px #7b3c0c,0 0 0 3px #a2732d,0 8px 10px #00132a66;color:#fff7d9;-webkit-text-stroke:.6px #995717;text-shadow:0 3px #6e3408;padding:7px}
.royal-xp-continue>svg{width:27px;height:27px;filter:drop-shadow(0 2px #9d5c12)}
.royal-xp-seal{position:absolute;bottom:-25px;left:calc(50% - 26px);display:grid;place-items:center;width:52px;height:47px;clip-path:polygon(0 0,100% 0,100% 65%,50% 100%,0 65%);background:linear-gradient(#fff095,#e5a429);padding:6px 10px 13px;filter:drop-shadow(0 3px #000a)}.royal-xp-seal:before{content:'';position:absolute;inset:3px 4px 5px;background:#164780;clip-path:inherit;z-index:-1}.royal-xp-seal img{height:26px;width:32px;object-fit:contain}
.royal-xp-corner{position:absolute;left:6px;width:15px;height:15px;background:linear-gradient(135deg,#fff9bc,#d18b1a 50%,#ffe87e);transform:rotate(45deg);border:1px solid #fff2a3;z-index:-1}.corner-one{top:7px}.corner-two{bottom:7px}.royal-xp-continue:hover{filter:brightness(1.1)}
@keyframes royal-xp-reveal{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes royal-xp-fill{from{width:var(--xp-before)}}
@keyframes royal-xp-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes royal-xp-slide{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@media(max-height:850px){.royal-xp{padding-top:86px;padding-bottom:18px}.royal-xp-crest{height:140px;top:-65px}.royal-xp-crest b{top:53px;font-size:61px}.royal-xp-heading h2{font-size:32px;margin:7px 0 10px}.royal-xp-heading>strong{font-size:46px;margin-bottom:13px}.royal-xp-heading>span{font-size:14px}.royal-xp-progress{margin:14px 0 11px}.royal-xp-continue{min-height:47px;font-size:27px}}
@media(max-width:360px){.royal-xp{padding-inline:12px}.royal-xp-tiles{gap:6px}.royal-xp-tile>span{font-size:10px}.royal-xp-trophies{gap:6px}.royal-xp-trophies>span{font-size:15px}.royal-xp-heading h2{font-size:29px}}
@media(max-height:700px){.royal-xp-tile{padding-block:6px}.royal-xp-tile>img{width:42px;height:42px}.royal-xp-tile>b{font-size:20px}.royal-xp-trophies{margin-top:6px;padding-block:3px}.royal-xp-cup{width:30px;height:30px}.royal-xp-league{width:30px;height:32px}.royal-xp-badge{width:31px;height:31px;font-size:16px}.royal-xp-track{height:25px}}
@media(max-height:620px){#info-dialog.royal-xp-dialog{max-height:calc(100dvh - 30px);overflow-y:auto;overflow-x:hidden;transform:none;padding-top:42px;padding-bottom:23px;border-radius:20px}.royal-xp-crest{top:-42px;height:115px}.royal-xp-crest b{top:44px;font-size:46px}.royal-xp{padding-top:61px}#info-dialog.royal-xp-dialog>.dialog-close{top:54px}}
.reduce-motion .royal-xp{animation:royal-xp-fade .3s ease-out}.reduce-motion .royal-xp-track>span,.reduce-motion .royal-xp-tile,.reduce-motion .royal-xp-trophies{animation:none}@keyframes royal-xp-fade{from{opacity:0}to{opacity:1}}

@media(min-height:621px) and (max-height:700px){#info-dialog.royal-xp-dialog{transform:translateY(10px)}.royal-xp-crest{height:126px;top:-53px}.royal-xp-crest b{top:48px;font-size:55px}.royal-xp{padding-top:80px}.royal-xp-progress{margin:11px 0 8px}.royal-xp-heading>strong{margin-bottom:10px}.royal-xp{padding-bottom:15px}}
