/* Torre Infinita V0.5 — cada mundo tem seu elenco exclusivo (release). */
.hero-banner{background-image:none}
.world-banner{position:relative;border:1.5px solid #78658e;border-radius:18px;overflow:hidden;min-height:320px;padding:22px;background:radial-gradient(ellipse at 80% 27%,#473463,#1b1a36 58%,#0b1324);display:flex;justify-content:space-between;align-items:center;gap:18px}
.world-banner::before{content:'✦';position:absolute;top:6%;right:9%;font-size:190px;line-height:1;color:#9d82ce13;pointer-events:none}
.world-hero-copy{position:relative;z-index:1;flex:1 1 35%;max-width:42%;min-width:195px}
.world-hero-copy h2{font-size:clamp(26px,4vw,39px);line-height:1.07;margin:5px 0 12px;color:#fff1df}
.world-hero-copy p{font-size:13px;color:#d5c3df}
.world-hero-copy button{font-size:12px}
.world-team{display:flex;align-items:end;justify-content:flex-end;flex:1 1 55%;min-width:0;gap:7px;position:relative;z-index:2}
.world-champion{flex:1;max-width:160px;min-width:0;position:relative;cursor:pointer;transition:transform .2s;filter:drop-shadow(0 8px 15px #05051280)}
.world-champion:hover{transform:translateY(-6px)}.world-champion:focus-visible{outline:2px solid var(--acc)}
.world-champion .procedural-portrait{display:block;width:100%;height:auto;border:2px solid #b398bf80;border-radius:11px;box-shadow:0 10px 18px #06071175}
.world-champion span{display:block;text-align:center;font-size:12px;color:#f5dbbe;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.empty-portrait{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#e9ddf3;min-height:220px;border:1px dashed #9075b3;background:#32274877;border-radius:15px;text-align:center;padding:20px;flex:1}
.empty-portrait>span{font-size:76px;color:#dec09d}
.empty-portrait small{color:#bdb0c5}
.procedural-portrait{width:100%;height:100%;display:block;object-fit:cover;overflow:hidden}
.procedural-portrait.small{width:58px;height:78px;border-radius:9px;border:1px solid #79698c;background:#101528}
.hc .hcs.v5-portrait{aspect-ratio:3/4.55;display:block;overflow:hidden;padding:0}
.v5-portrait .procedural-portrait{width:100%;height:100%;display:block}
.arena .u .procedural-portrait.small{width:68px;height:93px}
.train-unit .procedural-portrait.small{width:48px;height:62px}
.summon-header{padding:18px;background:linear-gradient(135deg,#282038,#181a30);border:1px solid #79688e;border-radius:16px}
.summon-header h2{font-size:25px;margin:7px 0 9px}.summon-header p{max-width:560px}
.summon-header>.row button{font-size:13px}
.roster-v5-entry{background:#1a1a2c;border:1px solid #494159;border-radius:14px;padding:9px;min-width:0;display:flex;flex-direction:column;gap:6px}
.roster-v5-entry>small{font-size:11px;color:#aaa5b8}.roster-v5-entry>b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v5-identity .identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 15px}
.v5-identity .identity-grid div{background:#272138;padding:9px;border-radius:9px;min-width:0}
.v5-identity .identity-grid small{display:block;color:#b5a7c4}.v5-identity .identity-grid b{display:block;font-size:12px;overflow-wrap:anywhere}
.data-pane code{overflow-wrap:anywhere;font-size:11px;color:#dbc5fa}
@media(max-width:650px){.world-banner{min-height:350px;display:block;padding:16px}.world-hero-copy{max-width:100%;min-width:0}.world-hero-copy p{max-width:350px}.world-team{margin-top:15px;justify-content:center}.world-champion{max-width:125px}.world-champion span{font-size:10px}.empty-portrait{min-height:120px}.world-banner::before{font-size:130px}.roster-v5-entry{padding:6px}}
@media(prefers-reduced-motion:reduce){.world-champion{transition:none}}
