.promo-carousel{grid-column:1/-1;min-width:0;border:1px solid #806095;background:#100b1a;overflow:hidden}
.promo-stage{position:relative;height:clamp(200px,19vw,280px);isolation:isolate}
.promo-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s;pointer-events:none;color:#fff;text-decoration:none;overflow:hidden}
.promo-slide.is-current{opacity:1;visibility:visible;pointer-events:auto}
.promo-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.promo-island:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080510e8 0%,#100819aa 38%,transparent 72%);pointer-events:none}
.promo-copy{position:relative;z-index:1;width:60%;padding:clamp(18px,3vw,38px);height:100%;display:flex;flex-direction:column;justify-content:center}
.promo-copy small,.promo-motto small{font:800 12px/1.4 var(--pixel);letter-spacing:.12em;color:#e2b9f3}
#lobby .promo-copy h2{font:900 clamp(25px,3vw,42px)/1.1 var(--pixel);margin:10px 0;color:#f3ceff;text-shadow:2px 3px 0 #291239}
.promo-copy p{font-size:16px;line-height:1.4;margin:0 0 12px}.promo-copy b{font-size:14px;color:#ffdf8d;line-height:1.4}
.promo-capture{display:grid;grid-template-columns:30% 45% 25%;align-items:center;background:radial-gradient(ellipse at 50% 100%,#662340,transparent 70%),linear-gradient(110deg,#16142e,#0b0815 50%,#302047)}
.promo-left{display:flex;align-items:end;height:100%;min-width:0;padding:14px 0 8px 4px}
.promo-left img{width:55%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 6px 3px #0008)}
.promo-left img+img{margin-left:-10%;height:90%}
.promo-right{width:100%;height:100%;min-height:0;object-fit:contain;padding:10px 8px 8px 0;image-rendering:pixelated;filter:drop-shadow(0 6px 3px #0008)}
.promo-motto{grid-column:2;text-align:center;position:relative;z-index:1;min-width:0;padding:12px 0;background:radial-gradient(ellipse,#10081aca,transparent 75%)}
.promo-motto small{font-size:clamp(14px,2vw,25px);color:#fff1bc;letter-spacing:.2em}
#lobby .promo-motto h2{font:900 clamp(19px,2.4vw,36px)/1.3 var(--pixel);color:#ffd44a;margin:10px 0;text-shadow:2px 3px #6b243a}
.promo-motto h2 span{color:#ff768f}
.promo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;background:#1d1227;border-top:1px solid #59406d}
.promo-toolbar>span{font:800 12px var(--pixel);letter-spacing:.15em;color:#d6bce3}
.promo-toolbar>div{display:flex;gap:4px}.promo-toolbar button{min-width:38px;min-height:38px;border:0;background:transparent;color:#d6bce3;font:800 14px var(--pixel);padding:6px 10px;cursor:pointer}
.promo-toolbar button[aria-pressed="true"]{color:#ffd44a;box-shadow:inset 0 -3px #ffd44a}.promo-toolbar button:hover{background:#3a2346}
@media(max-width:600px){.promo-stage{height:220px}.promo-copy{width:74%;padding:16px}.promo-copy small{font-size:11px}#lobby .promo-copy h2{font-size:25px}.promo-copy p{font-size:14px}.promo-copy b{font-size:12px}.promo-capture{grid-template-columns:30% 44% 26%}#lobby .promo-motto h2{font-size:19px}.promo-motto h2 span{display:block;font-size:12px;line-height:1}.promo-toolbar button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.promo-slide{transition:none}}
/* Narrow devices keep all three characters rather than cutting off the edges. */
@media(max-width:600px){
 .promo-backdrop{object-fit:contain;object-position:center top;background:#0c0916}
 .promo-copy{width:100%;height:auto;position:absolute;bottom:0;padding:10px 14px;background:linear-gradient(transparent,#0c0916 20%)}
 .promo-copy small{font-size:10px}#lobby .promo-copy h2{font-size:22px;margin:5px 0}.promo-copy p{display:none}.promo-copy b{font-size:12px}
 .promo-island:after{display:none}
 .promo-motto{position:absolute;bottom:10px;left:0;right:0;padding:8px 12px;background:linear-gradient(transparent,#0c0916 35%)}
 .promo-motto small{font-size:14px}#lobby .promo-motto h2{font-size:18px;margin:6px 0}.promo-motto h2 span{display:inline;font-size:12px}
}

.promo-mastery{background:url('https://mojumon-artwork.senseicjdojo.workers.dev/assets/arenas/crimson.png') center/cover no-repeat}
.promo-rivals-art{position:absolute;inset:0 0 0 45%;display:flex;align-items:flex-end;justify-content:center;background:none}
.promo-rivals-art img{width:38%;height:96%;object-fit:contain;object-position:center bottom;image-rendering:pixelated;filter:drop-shadow(0 5px 6px #080615)}
.promo-rivals-art img+img{margin-left:-8%}.promo-rivals-art img:nth-child(2){height:100%}
.promo-mastery .promo-copy{width:61%;background:linear-gradient(90deg,#10091dcc 0%,#10091d99 65%,transparent);text-shadow:0 2px 4px #000}
#lobby .promo-mastery h2{color:#ffe5a2;font-size:clamp(24px,3vw,42px)}
.promo-copy .promo-mastery-cta{align-self:flex-start;display:inline-block;background:#ffe09a;color:#211329;border:1px solid #fff2c4;border-radius:6px;padding:10px 14px;font:900 14px/1.3 Arial,sans-serif;box-shadow:0 3px 0 #805d2c}
#lobby .adventure-link{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:88px;padding:18px 24px;background:linear-gradient(110deg,#312046,#162b48);border:2px solid #eac777;border-radius:8px;color:#ffe5a2;text-decoration:none;box-shadow:inset 0 1px #ffffff26,0 4px 18px #0004}
#lobby .adventure-link strong{display:block;font:900 clamp(18px,2.2vw,28px)/1.3 var(--pixel)}
#lobby .adventure-link small{display:block;margin-top:7px;font:16px/1.4 Arial,sans-serif;color:#e1deed}
#lobby .adventure-link>b{font:900 36px/1 Arial,sans-serif}
#lobby .adventure-link:hover,#lobby .adventure-link:focus-visible{border-color:#fff0be;background:linear-gradient(110deg,#49305e,#1e3f63);outline:2px solid #fff0be;outline-offset:3px}
@media(max-width:600px){.promo-rivals-art{inset:0 0 28% 28%}.promo-mastery .promo-copy{width:100%;background:linear-gradient(transparent,#161127 18%);padding:12px 14px}.promo-copy .promo-mastery-cta{font-size:12px;padding:8px 10px}#lobby .adventure-link{padding:14px;gap:10px}#lobby .adventure-link small{font-size:14px}}

.promo-astralong:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090d28e8,transparent 75%)}.promo-astralong .promo-copy{width:62%}.promo-astralong .promo-copy small,.promo-astralong .promo-copy b{color:#94ffe4}#lobby .promo-astralong h2{font-size:clamp(23px,2.6vw,36px)}#celestialObjective{padding:10px 16px;background:#171331;border:1px solid #9b7acf;color:#a8ffe5;display:grid;gap:5px}#celestialObjective[hidden]{display:none}#celestialObjective meter{width:100%;height:14px}#celestialObjective small{color:#e1d9f5}@media(max-width:600px){.promo-astralong .promo-copy{width:88%}.promo-astralong .promo-backdrop{object-position:65% center}.promo-astralong:after{background:linear-gradient(90deg,#090d28f2,#090d2870)}.promo-toolbar>div{flex-wrap:wrap}}

/* Crossfade both slides; keep the outgoing image visible until its fade ends. */
.promo-slide{transition:opacity .85s ease-in-out,visibility 0s linear .85s}
.promo-slide.is-current{transition:opacity .85s ease-in-out,visibility 0s linear 0s}
@media(prefers-reduced-motion:reduce){.promo-slide,.promo-slide.is-current{transition:none}}
