/* Approved arena PSD, 1080px artwork displayed in the common 720px stage.
   Cards keep fixed dimensions; the viewport stops growing after five cards. */
.partners-page.arena-page { background: #242633 var(--arena-background) center calc(var(--team-scene-ui-offset-y, 0px) - 306px) / 720px 1858px no-repeat; }
.arena-page .partners-header { position:absolute; top:4px; left:0; width:100%; height:157px; padding:0; background:none; }
.arena-title-art { position:absolute; left:0; top:0; width:420px; height:157px; object-fit:contain; transform:scale(.84); transform-origin:left top; }
.arena-page .partners-header h1 { position:absolute; left:130px; top:23px; width:270px; text-align:center; font-size:42px; letter-spacing:2px; color:#ffe1a1; }
.arena-page[data-lang="zh-Hans"] .partners-header h1 { clip-path:inset(50%); width:1px; height:1px; }
.arena-page:not([data-lang="zh-Hans"]) .arena-title-art { visibility:hidden; }
.arena-title-shield { position:absolute; left:0; top:0; width:150px; height:157px; object-fit:contain; display:none; }
.arena-page:not([data-lang="zh-Hans"]) .arena-title-shield { display:block; }
.arena-page:not([data-lang="zh-Hans"]) .partners-header h1 { top:30px; left:148px; width:252px; line-height:69px; font-size:38px; background:linear-gradient(#8f2b17,#661b10); border-top:3px solid #dfad51; border-bottom:3px solid #dfad51; }
.arena-page .partners-header > span { position:absolute; left:122px; top:100px; width:198px; height:22px; display:flex; align-items:center; justify-content:center; line-height:1; font-weight:700; font-size:15px; color:#fff0c6; text-align:center; white-space:nowrap; background:none; }
.arena-page:not([data-lang="zh-Hans"]) .partners-header > span { left:148px; top:108px; width:252px; }
.arena-shortcuts { position:absolute; right:18px; top:43px; display:flex; align-items:flex-start; gap:6px; transform:scale(1.2); transform-origin:right top; }
.arena-shortcut { position:relative; display:block; flex:0 0 63px; width:63px; height:78px; padding:0; background:none; border:0; color:#fff; font-size:14px; font-weight:700; cursor:pointer; text-shadow:0 1px 2px #241307, 0 0 2px #241307; }
.arena-shortcut img { position:absolute; left:0; top:0; display:block; width:100%; height:57px; margin:0; object-fit:contain; object-position:center; }
.arena-page .arena-shortcut > span { position:absolute; left:0; top:38px; width:100%; height:20px; display:flex; align-items:center; justify-content:center; line-height:1; font-size:14px; text-align:center; color:#fff; }
.arena-hero { position:absolute; left:8px; right:8px; top:calc(var(--resource-content-top, 80px) + 165px); height:352px; }
.arena-self-flag { position:absolute; left:0; top:13px; width:201px; height:332px; }
.arena-self-flag > img { width:201px; height:380px; object-fit:contain; }
.arena-self-flag > span { position:absolute; left:41px; top:38px; width:130px; color:white; font-size:22px; font-weight:700; text-align:center; text-shadow:0 2px 2px #000; }
.arena-self-flag > b { position:absolute; top:171px; left:42px; width:130px; color:#fff; font-size:58px; text-align:center; -webkit-text-stroke:1px #181818; text-shadow:0 3px 3px #000; }
.arena-defense-button { position:absolute; left:10px; bottom:6px; width:181px; height:55px; background:var(--arena-button) center / contain no-repeat; border:0; color:#fff0c5; font-size:21px; font-weight:700; cursor:pointer; }
.arena-defense-button img { width:30px; height:43px; vertical-align:middle; object-fit:contain; margin-right:5px; }
.arena-tier { position:absolute; top:0; left:212px; width:279px; height:352px; text-align:center; }
.arena-tier-icon { width:263px; height:277px; object-fit:contain; display:block; margin:auto; }
.arena-tier-ribbon { position:absolute; top:235px; left:28px; width:221px; height:70px; object-fit:contain; }
.arena-tier-name { position:absolute; left:20px; right:20px; top:252px; line-height:38px; color:#fff; font-size:26px; text-shadow:0 2px 3px #000; font-weight:700; }
.arena-tier-progress { position:absolute; bottom:0; left:0; width:279px; height:34px; object-fit:contain; }
.arena-tier-rating { position:absolute; bottom:4px; left:0; right:0; color:#fff; font-size:20px; text-shadow:0 2px 2px #000; font-weight:700; }
.arena-progress-fill { position:absolute; bottom:11px; left:14px; height:15px; overflow:hidden; border-radius:4px; }
.arena-progress-fill img { display:block; width:252px; height:15px; }
.arena-tier-rating { z-index:1; }
.arena-rewards { position:absolute; right:0; top:68px; width:159px; height:299px; background:var(--arena-rewards-panel) center / contain no-repeat; text-align:center; }
.arena-rewards h2 { position:absolute; top:34px; width:100%; font-size:23px; color:#fff0b2; }
.arena-rewards > img { position:absolute; top:83px; left:20px; width:119px; height:125px; object-fit:contain; }
.arena-rewards button { position:absolute; bottom:30px; left:23px; width:113px; height:57px; background:var(--arena-rewards-button) center / contain no-repeat; border:0; font-size:18px; color:#211602; font-weight:700; cursor:pointer; }
.arena-page .arena-body { top:460px; left:12px; right:12px; bottom:203px; padding:22px 15px 18px; overflow:hidden; gap:0; border:0; background:var(--arena-list-head) top / 100% 52px no-repeat, var(--arena-list-foot) bottom / 100% 40px no-repeat, var(--arena-list-middle) center / 100% calc(100% - 80px) no-repeat; }
.arena-page .arena-opponents { overflow-y:auto; height:100%; gap:6px; padding:0; touch-action:pan-y; overscroll-behavior-y:contain; scrollbar-width:thin; scrollbar-color:#bc934c #201811; }
.arena-page .arena-opponent { flex:0 0 128px; min-height:128px; display:block; position:relative; padding:0; border:0; border-radius:0; background:var(--arena-card) center / 100% 100% no-repeat; box-shadow:none; }
.arena-opponent-flag { position:absolute; left:13px; top:10px; width:103px; height:108px; object-fit:contain; }
.arena-opponent-level { position:absolute; left:13px; top:63px; width:103px; text-align:center; color:white; font-size:27px; font-weight:700; text-shadow:0 2px 2px #000; }
.arena-opponent-avatar { position:absolute; left:117px; top:31px; width:75px; height:73px; object-fit:contain; }
.arena-opponent-portrait { position:absolute; left:126px; top:39px; width:57px; height:57px; border-radius:50%; object-fit:cover; background:#3c3025; }
.arena-page .arena-opponent-top { position:absolute; left:208px; right:182px; top:26px; display:block; }
.arena-page .arena-opponent-top b { font-size:22px; color:#191b1e; display:block; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.arena-opponent-rating { position:absolute; left:211px; bottom:28px; right:180px; height:36px; display:flex; align-items:center; gap:8px; font-size:21px; color:white; font-weight:700; background:var(--arena-rating-strip) center / 100% 100% no-repeat; }
.arena-opponent-rating img { width:44px; height:50px; object-fit:contain; }
.arena-page .arena-opponent-bottom { position:absolute; right:20px; top:22px; display:block; width:156px; }
.arena-page .arena-opponent-bottom > span { display:flex; justify-content:center; align-items:center; color:#4c463c; font-size:19px; font-weight:700; height:28px; }
.arena-opponent-bottom span img { width:30px; height:30px; object-fit:contain; margin-right:5px; }
.arena-page .arena-opponent-bottom button { width:156px; height:60px; margin-top:4px; border:0; border-radius:0; background:var(--arena-challenge) center / contain no-repeat; font-size:27px; font-weight:700; color:#181002; padding:0; box-shadow:none; }
.arena-controls { position:absolute; left:20px; right:20px; bottom:140px; height:55px; display:flex; align-items:center; gap:82px; }
.arena-attempts { width:172px; height:55px; display:flex; align-items:center; gap:8px; padding:0 15px; background:var(--arena-attempts) center / contain no-repeat; color:#fff0c8; font-size:20px; font-weight:700; }
.arena-attempts button { margin-left:auto; margin-right:-8px; flex-shrink:0; width:43px; height:45px; border:0; background:var(--arena-plus) center / contain no-repeat; cursor:pointer; }
.arena-page .arena-refresh { height:55px; width:182px; min-width:0; border:0; background:var(--arena-button) center / contain no-repeat; color:#fff0c8; font-size:21px; font-weight:700; padding:0; box-shadow:none; }
.arena-refresh img { width:35px; height:35px; vertical-align:middle; object-fit:contain; margin-right:6px; }
.arena-page button:disabled { opacity:.55; cursor:default; }
.arena-page[data-lang="en"] .arena-shortcut, .arena-page[data-lang="en"] .arena-shortcut > span { font-size:11px; }
.arena-page[data-lang="en"] .partners-header > span { font-size:13px; }
.arena-page[data-lang="en"] .arena-self-flag > span { font-size:16px; }
.arena-page[data-lang="en"] .arena-defense-button { font-size:12px; }
.arena-page[data-lang="en"] .arena-rewards h2 { font-size:16px; }
.arena-page[data-lang="en"] .arena-rewards button { font-size:14px; }
.arena-page[data-lang="en"] .arena-refresh { font-size:16px; }
.arena-page[data-lang="en"] .arena-opponent-rating { font-size:17px; }
.arena-page[data-lang="en"] .arena-opponent-bottom button { font-size:20px; }
.arena-page .arena-empty { color:#fff0c8; text-align:center; padding:50px 10px; }
.arena-ranking-row { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid #6d5733; }
.arena-ranking-row b { max-width:70%; overflow:hidden; text-overflow:ellipsis; }
/* Keep the original proportions inside the shorter 9:16 lobby. */
.arena-hero { top:151px; height:320px; }
.arena-self-flag { width:181px; height:305px; }
.arena-self-flag > img { width:181px; height:343px; }
.arena-self-flag > span { left:35px; top:33px; width:120px; font-size:18px; }
.arena-self-flag > b { top:152px; left:33px; width:120px; font-size:52px; }
.arena-defense-button { left:0; width:181px; bottom:12px; }
.arena-tier { height:314px; }
.arena-tier-icon { height:248px; transform:scale(1.2); transform-origin:center; }
.arena-tier-ribbon { top:210px; }
.arena-tier-name { top:229px; }
.arena-rewards { top:23px; height:285px; }
.arena-page .arena-opponent { flex:0 0 100px; height:100px; min-height:100px; }
/* Five 100px cards, four 6px gaps and the frame's 40px vertical padding. */
.arena-page .arena-body { max-height:564px; }
.arena-controls { top:min(calc(100% - 195px), 1032px); bottom:auto; }
.arena-opponent-rating em { font-style:normal; }
.arena-page .arena-opponent { background:none; }
.arena-page .arena-opponent::before { content:""; position:absolute; inset:0; border:16px solid transparent; border-image:var(--arena-card) 32 fill / 16px stretch; pointer-events:none; }
.arena-opponent-flag { width:88px; height:90px; left:13px; top:5px; }
.arena-opponent-level { width:88px; left:13px; top:48px; font-size:23px; }
.arena-opponent-avatar { left:111px; top:16px; }
.arena-opponent-portrait { left:120px; top:24px; }
.arena-page .arena-opponent-top { left:199px; top:16px; }
.arena-page .arena-opponent-top b { font-size:21px; }
.arena-opponent-rating { left:200px; bottom:17px; height:30px; font-size:19px; }
.arena-opponent-rating img { width:38px; height:44px; }
.arena-page .arena-opponent-bottom { top:8px; }
.arena-page .arena-opponent-bottom button { height:56px; }

/* Scene artwork and its middle UI share a fixed scale and vertical origin.
   Extra screen height reveals the original background, without stretching it. */
.arena-hero { top:calc(151px + var(--team-scene-ui-offset-y, 0px)); }
.arena-page .arena-body { top:calc(460px + var(--team-scene-ui-offset-y, 0px)); }
.arena-controls { top:min(calc(100% - 195px), calc(1032px + var(--team-scene-ui-offset-y, 0px))); }

/* Opponent card uses the PSD's complete 1008×205 decorated region at 1:1.5.
   No nine-slice border, vertical compression or cropped bottom edge. */
.arena-page .arena-opponent { flex:0 0 136.6667px; height:136.6667px; min-height:136.6667px; margin-bottom:-3px; background:var(--arena-card) left top / 666.6667px auto no-repeat; }
.arena-page .arena-opponent::before { content:none; }
.arena-page .arena-opponents { gap:0; }
.arena-page .arena-opponent:last-child { margin-bottom:0; }
.arena-page .arena-body { max-height:711.3335px; }
.arena-controls { top:min(calc(100% - 195px), calc(1179.3335px + var(--team-scene-ui-offset-y, 0px))); }
.arena-opponent-flag { left:14.6667px; top:6.6667px; width:112.6667px; height:114.6667px; }
.arena-opponent-level { left:14.6667px; top:76.6667px; width:112.6667px; font-size:28px; }
.arena-opponent-avatar { left:134.6667px; top:28.6667px; width:79.3333px; height:75.3333px; }
.arena-opponent-portrait { left:142px; top:36px; width:61.3333px; height:61.3333px; }
.arena-page .arena-opponent-top { left:230px; top:30px; right:182px; }
.arena-opponent-rating { left:216px; bottom:auto; top:61.3333px; height:47.3333px; right:180px; font-size:21px; }
.arena-opponent-rating img { width:44px; height:50px; }
.arena-page .arena-opponent-bottom { right:6px; top:16px; width:174.6667px; }
.arena-page .arena-opponent-bottom > span { height:33.3333px; }
.arena-page .arena-opponent-bottom button { width:174.6667px; height:67.3333px; margin-top:4px; }

/* Align level numbers within the banners and tighten the rating label. */
.arena-self-flag > b { top:136px; }
.arena-opponent-level { top:64.6667px; }
.arena-opponent-rating { width:238px; right:auto; }
.arena-opponent-rating img { width:60px; height:64px; flex:none; }
.arena-page .arena-rewards button,
.arena-page .arena-opponent-bottom button { display:flex; align-items:center; justify-content:center; padding:0; line-height:1; text-align:center; }
.arena-page .arena-button-label { display:block; transform:translateY(-4px); }
.arena-page #arena-rewards .arena-button-label { transform:translateY(-8px); }
.arena-page [data-challenge] .arena-button-label { transform:translate(4px, -4px); }

.arena-attempts > span { white-space:nowrap; }
.arena-page[data-lang="en"] .arena-attempts { font-size:12px; gap:4px; }

.arena-defense-button { display:flex; align-items:center; justify-content:center; gap:5px; line-height:1; padding:0; }
.arena-defense-button img { display:block; flex:none; margin-right:0; }

.arena-points-icon{width:28px;height:28px;object-fit:contain;vertical-align:middle}.arena-points-balance{display:flex;align-items:center;justify-content:center;gap:8px}.arena-tabs{margin-left:auto;margin-right:24px}.arena-tabs button{min-width:110px}.arena-shop-page .daily-buy{display:flex;align-items:center;justify-content:center;gap:6px}

.arena-wallet-hall{position:absolute;right:18px;top:137px;margin:0;color:#fff0c6;font-size:17px;line-height:32px}

/* 徽章、竞技场标题和赛季文字整体放大10%。 */
.arena-page .partners-header { transform:scale(1.1); transform-origin:left top; }

/* 补偿标题区整体缩放后的宽度，避免快捷按钮越界。 */
.arena-page .partners-header { width:calc(100% / 1.1); transform:scale(1.1); transform-origin:left top; }

/* 2026-10-11 用户提供金色圆角头像框，头像与框保持同心。 */
.arena-opponent-avatar { left:133.3333px; top:27.3333px; width:78.6667px; height:78.6667px; z-index:2; pointer-events:none; }
.arena-opponent-portrait { border-radius:9px; }

.arena-opponent-frame-holder { position:absolute; left:142px; top:36px; width:61.3333px; height:61.3333px; z-index:2; pointer-events:none; }
.arena-opponent-frame-holder > .avatar-frame-art { position:absolute; left:-50%; top:-50%; width:200%; }

.arena-opponent-rating > span { position:relative; top:2px; }
/* 留出标题、三栏概览与对手卡片之间的呼吸空间。 */
.arena-page .partners-header { left:16px; top:12px; width:calc(100% - 32px); transform:none; }
.arena-title-art { transform:scale(.78); }
.arena-page .partners-header > span { left:111px; top:94px; width:190px; font-size:14px; }
.arena-shortcuts { right:12px; top:36px; gap:12px; transform:scale(1.15); }
.arena-hero { left:20px; right:20px; top:calc(166px + var(--team-scene-ui-offset-y, 0px)); height:278px; }
.arena-self-flag { left:0; top:8px; transform:scale(.84); transform-origin:left top; }
.arena-tier { left:200px; top:0; transform:scale(.84); transform-origin:center top; }
.arena-tier-icon { transform:scale(1.08); }
.arena-rewards { right:0; top:20px; transform:scale(.88); transform-origin:right top; }
.arena-page .arena-opponents { gap:10px; }
.arena-page .arena-opponent { margin-bottom:0; }
.arena-page:not([data-lang="zh-Hans"]) .arena-title-shield { transform:scale(.88); transform-origin:left top; }
.arena-page:not([data-lang="zh-Hans"]) .partners-header h1 { left:124px; top:28px; width:220px; font-size:32px; line-height:58px; }
.arena-page:not([data-lang="zh-Hans"]) .partners-header > span { left:124px; top:96px; width:220px; }
/* 对手卡片等比收窄，消除缩放留下的布局空白。 */
.arena-page .arena-opponents { gap:0; }
.arena-page .arena-opponent { transform:scale(.96); transform-origin:center top; margin-bottom:-5.4667px; }
.arena-page .arena-opponent:last-child { margin-bottom:0; }
