.arena-battle-intro{box-sizing:border-box;width:min(1120px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:24px;overflow:auto;text-align:center;isolation:isolate;border:1px solid #bd9a58;border-radius:16px;background:radial-gradient(ellipse at 5% 45%,#15395e70,transparent 55%),radial-gradient(ellipse at 95% 45%,#4b225d70,transparent 55%),#10121c;box-shadow:0 24px 100px #000e;color:#efe7d8}
.arena-battle-intro::backdrop{background:#03050dec;backdrop-filter:blur(6px)}
.intro-heading{margin-bottom:22px}.intro-heading .eyebrow{font-size:12px;letter-spacing:.14em;color:#ddbc7d}.arena-battle-intro .intro-heading h2{font:700 clamp(28px,4vw,44px)/1.2 Georgia,serif;color:#ffe6af;margin:8px 0 10px}.intro-heading>p:last-child{font-size:15px;color:#c4c5ce}
.intro-matchup{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr) minmax(0,.85fr);gap:16px;align-items:center;min-width:0}
.intro-team{min-width:0;--team-color:#8ac5ff;--team-border:#42759c;--team-tint:#162c42}.intro-team-sombras{--team-color:#d2a4f1;--team-border:#805198;--team-tint:#2c1d3a}
.intro-team h3{font:700 clamp(14px,1.7vw,18px)/1.4 Georgia,serif;color:var(--team-color);margin:0 0 12px}
.intro-team ul{display:grid;gap:10px;list-style:none;margin:0;padding:0}.intro-team li{min-width:0;display:grid;justify-items:center;gap:6px;padding:12px 8px;border:1px solid var(--team-border);border-radius:12px;background:linear-gradient(150deg,var(--team-tint),#11131d)}
.arena-battle-intro .arena-portrait{box-sizing:border-box;display:block;width:84px;height:84px;border:2px solid var(--team-color);border-radius:50%;object-fit:cover;flex:none;background:#16151d;box-shadow:0 0 22px #0007}
.intro-team strong{font-size:17px;line-height:1.35;color:#f3ecdf;overflow-wrap:anywhere}.intro-team li>span{font-size:12px;color:#c5bacc}
.intro-swords-scene{position:relative;aspect-ratio:3/2;isolation:isolate;overflow:hidden;border-radius:14px;background:radial-gradient(circle at 50% 45%,#55463355,transparent 60%),linear-gradient(110deg,#12304b,#201522);min-width:0}
.intro-swords-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.intro-landscape{opacity:0}.intro-sword{opacity:0;will-change:transform,opacity}
/* Move native clipped layers of the original illustration; no replacement artwork. */
.intro-sword-reinos{clip-path:polygon(84.8% 0,80% 0,47.4% 45.4%,36.8% 58.5%,34.6% 58.5%,31.8% 54.4%,31.8% 52.1%,29.2% 52.9%,27.1% 55.1%,25.9% 58.1%,28.3% 58.4%,30% 60.6%,30.6% 64.5%,28.4% 68.5%,17.3% 82%,15.2% 81.9%,12% 84.9%,11% 87.9%,11.1% 91%,13.3% 93%,16.1% 94%,18.2% 91.6%,19.5% 93.6%,22.1% 92.5%,31.8% 80.5%,35.2% 77.4%,36.8% 78%,38.9% 80.4%,38.7% 83.1%,41.1% 79.6%,42.4% 76%,40.5% 73.5%,39.2% 66.5%,40.3% 63.9%,48.6% 54.1%,55.8% 44.5%);transform-origin:36% 66%}
.intro-sword-sombras{clip-path:polygon(14.6% 0,19.6% 0,57.9% 53.6%,61.9% 60.8%,64.7% 61.4%,67.1% 58.9%,67.5% 55.6%,65.8% 54.8%,68.9% 55.9%,72.7% 60.5%,72% 62.2%,69.4% 61.4%,67.7% 67.5%,68.4% 71.6%,84.4% 86.9%,88.6% 88.5%,90% 91.7%,89.9% 95.1%,87.1% 98.8%,83.3% 97.2%,80.5% 93%,65.8% 77.9%,62.9% 76.4%,60.8% 78.3%,60.1% 81.9%,56.9% 75.3%,58.8% 70.8%,59.7% 65.7%,57% 61.8%);transform-origin:64% 66%}
.intro-impact{position:absolute;inset:0;opacity:0;background:radial-gradient(circle at 50% 48%,#fff7d7,transparent 32%);pointer-events:none}
.intro-versus{position:absolute;left:50%;bottom:8%;transform:translateX(-50%);font:700 clamp(26px,4vw,44px)/1 Georgia,serif;letter-spacing:.12em;color:#ffe3a1;text-shadow:0 2px 10px #000,0 0 20px #000;opacity:0}
.intro-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding-top:16px;border-top:1px solid #aa8c5144}.intro-footer p{font-size:14px;line-height:1.5;text-align:left;color:#c8c4bd}.intro-footer button{flex:none;min-width:150px;min-height:48px;padding:10px 22px;background:linear-gradient(#e6c583,#b5843f);color:#21190d;border:1px solid #ebce90;border-radius:8px;font-size:16px;font-weight:700;touch-action:manipulation}.intro-footer button:focus-visible{outline:3px solid #f8e0a7;outline-offset:4px}
.is-playing .intro-team-reinos{animation:intro-reinos-arrive .6s ease-out both}.is-playing .intro-team-sombras{animation:intro-sombras-arrive .6s ease-out both}
.is-playing .intro-sword-reinos{animation:intro-reinos-clash 1.1s cubic-bezier(.3,.05,.5,1) both}.is-playing .intro-sword-sombras{animation:intro-sombras-clash 1.1s cubic-bezier(.3,.05,.5,1) both}
.is-settled .intro-landscape{opacity:1;transition:opacity .35s}.is-settled .intro-impact{animation:intro-clash-light .45s ease-out both}.is-settled .intro-versus{opacity:1;transition:opacity .3s}
@keyframes intro-reinos-arrive{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes intro-sombras-arrive{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes intro-reinos-clash{0%,20%{opacity:0;transform:translateX(-65%) rotate(-32deg)}45%{opacity:1}100%{opacity:1;transform:none}}
@keyframes intro-sombras-clash{0%,20%{opacity:0;transform:translateX(65%) rotate(32deg)}45%{opacity:1}100%{opacity:1;transform:none}}
@keyframes intro-clash-light{from{opacity:.8}to{opacity:0}}
@media(max-width:699px){.arena-battle-intro{padding:16px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.intro-heading{margin-bottom:14px}.intro-heading .eyebrow{font-size:11px}.intro-matchup{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;align-items:start}.intro-swords-scene{grid-column:1/-1;grid-row:1;width:min(100%,340px,42dvh);justify-self:center}.intro-team{grid-row:2}.arena-battle-intro .arena-portrait{width:64px;height:64px}.intro-team strong{font-size:15px}.intro-team li{padding:10px 6px}.intro-footer{margin-top:16px;flex-direction:column;gap:10px}.intro-footer p{text-align:center;font-size:13px}.intro-footer button{width:100%}}
@media(max-height:500px) and (min-width:700px){.arena-battle-intro{padding:16px}.intro-heading{margin-bottom:12px}.arena-battle-intro .intro-heading h2{font-size:28px}.intro-team li{grid-template-columns:48px minmax(0,1fr);text-align:left;justify-items:start;padding:8px}.arena-battle-intro .arena-portrait{width:44px;height:44px;grid-row:span 2}.intro-team strong{font-size:14px}.intro-footer{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.arena-battle-intro *{animation:none!important;transition:none!important}.arena-battle-intro .intro-impact{display:none}}
