/*
 * Rap Arena — restored original information architecture.
 * Layout only: preserve the V10 obsidian/carmin visual identity.
 * Hero → 16 planned Cup slots (7 live / 9 future) → battles → debates.
 */
.rap-front-main{gap:clamp(50px,6vw,88px)}
.rap-front-main>section{min-width:0;scroll-margin-top:100px}
.rap-front .section-head h2{line-height:1.06}
.rap-front .section-head .section-intro{max-width:540px;margin-top:12px}
.rap-front-hero .hero-ctas{align-items:center;flex-wrap:wrap}
.rap-front-hero .hero-ctas .text-link{color:#ffd1d4}
.rap-front-battle-shell{display:grid;grid-template-columns:minmax(0,1.27fr) minmax(280px,.73fr);align-items:stretch;gap:18px}
.rap-front-live,.rap-front-duel-preview,.rap-front-live-done,
.rap-front-battle-formats{background:linear-gradient(150deg,#24151d,#121018 90%);border:1px solid #703744;border-radius:22px;padding:clamp(19px,2.5vw,32px);min-width:0}
.rap-front-battle-formats{background:linear-gradient(160deg,#1a1e2a,#141721);border-color:#ffffff24}
.rap-front-battle-formats>h3{font:750 clamp(23px,2.8vw,34px)/1.12 var(--heading);letter-spacing:-.045em;color:#fbf5f4;margin:9px 0 24px}
.rap-front-live-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rap-front-live-meta>span:last-child{font-size:12px;color:#d5c8cd}
.rap-front-live .progress-track{height:6px;border-radius:999px;overflow:hidden;background:#ffffff2a;margin:15px 0 22px}
.rap-front-live .progress-track>div{height:100%;background:#e8616b}
.rap-front-live>h3{font-size:clamp(22px,2.8vw,33px);letter-spacing:-.045em;margin-bottom:18px;color:#fff6f7}
.rap-front-duel-pair{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);align-items:center;gap:8px}
.rap-front-duel-choice{display:flex;flex-direction:column;align-items:center;gap:12px;justify-content:center;min-width:0;min-height:246px;background:#2c1d27;border:1px solid #8d5263;border-radius:18px;color:#fff;overflow:hidden;padding:16px 10px;text-align:center}
button.rap-front-duel-choice:hover{transform:translateY(-2px);border-color:#ed8291;background:#3b2431}
.rap-front-duel-choice .rap-front-face{width:100%;max-width:145px;aspect-ratio:1/1;max-height:145px;border-radius:15px;overflow:hidden;display:grid;place-items:center;background:#30252c}
.rap-front-duel-choice .rap-front-face img{height:100%;width:100%;object-fit:cover}
.rap-front-duel-choice strong{font:800 clamp(16px,2vw,23px)/1.15 var(--heading);overflow-wrap:anywhere}
.rap-front-duel-choice>span:last-child{font-size:10px;font-weight:850;letter-spacing:.14em;color:#f9a0ab}
.rap-front-versus{text-align:center;color:#eeb9c1;font-size:12px;font-weight:900}
.rap-front-duel-preview>p{font-size:12px;color:#cfc2c8;line-height:1.5;margin-top:18px}
.rap-front-duel-tools{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px}
.rap-front-duel-tools .text-link{color:#f0bdc4}
.rap-front-live-done{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.rap-front-live-done>.rap-front-face{width:135px;height:155px;border-radius:16px;overflow:hidden;flex:0 0 auto}
.rap-front-live-done>.rap-front-face img{height:100%;width:100%;object-fit:cover}
.rap-front-live-done h3{font:800 clamp(30px,4vw,52px)/1.1 var(--heading);color:#fff}
.rap-front-live-done p{font-size:13px;color:#c7bdc3;margin:7px 0}
.rap-front-formats{display:grid;gap:9px}
.rap-front-format{display:flex;gap:14px;align-items:center;text-align:left;padding:15px;border:1px solid #505263;border-radius:13px;background:#242633;color:#f5f0f2;min-height:77px}
.rap-front-format:hover{background:#30303e;border-color:#c27086}
.rap-front-format-count{font:800 30px/1 var(--heading);letter-spacing:-.06em;color:#f1abb6;min-width:44px}
.rap-front-format>span:nth-child(2){display:grid;gap:5px;min-width:0;flex:1}
.rap-front-format strong{font-size:14px}
.rap-front-format small{font-size:11px;line-height:1.4;color:#c5bdc7}
.rap-front-format-arrow{color:#e8b2c2}
.rap-front-battle-formats .fine-print{margin-top:14px}
.rap-front-artist-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.rap-front-artist{display:block;min-width:0;overflow:hidden;border:1px solid #ffffff29;border-radius:18px;background:#191820;box-shadow:0 8px 24px #0003;text-decoration:none;color:inherit}
.rap-front-artist.is-live{border-color:#763a4a}
a.rap-front-artist.is-live:hover{transform:translateY(-3px);border-color:#e06f86;box-shadow:0 14px 34px #0005}
.rap-front-artist.is-upcoming{border-color:#5a4e5b;background:#1b1920}
.rap-front-artist-image{position:relative;height:clamp(155px,19vw,245px);background:#24222b;overflow:hidden}
.rap-front-artist-image>.rap-front-face{display:block;width:100%;height:100%}
.rap-front-artist-image>.rap-front-face img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 23%;transition:transform .23s}
.rap-front-artist:hover .rap-front-face img{transform:scale(1.035)}
.rap-front-artist-image>.rap-front-face>span{display:grid;place-items:center;height:100%;font:800 44px var(--heading)}
.rap-front-artist-number{position:absolute;left:11px;top:11px;padding:5px 7px;border-radius:8px;background:#0b0e17bd;font:800 11px var(--heading);color:#fff}
.rap-front-artist-caption{display:grid;gap:9px;padding:15px}
.rap-front-cup-count{display:flex;gap:10px;flex-wrap:wrap;margin:-4px 0 22px}
.rap-front-cup-count span{padding:9px 12px;background:#251d27;border:1px solid #664656;border-radius:99px;font-size:11px;font-weight:800;letter-spacing:.06em;color:#e8b1bf}
.rap-front-cup-count .rap-front-count-upcoming{color:#c5b7c2;border-color:#55505e;background:#221f27}
.rap-front-cup-status{position:absolute;right:9px;top:11px;padding:6px 8px;border-radius:8px;font-size:10px;letter-spacing:.055em;font-weight:850;background:#461f2d;color:#ffd1da;border:1px solid #a55b72}
.is-upcoming .rap-front-cup-status{background:#191923;color:#c5bfca;border-color:#726c7a}
.rap-front-cup-name{min-height:17px;font-size:12px;line-height:1.3;font-weight:800;color:#d9c2cb;letter-spacing:.025em}
.rap-front-cup-cta{display:inline-flex;align-items:center;gap:6px;min-height:28px;color:#ffc0cd;font-size:10px;font-weight:850;letter-spacing:.05em}
.rap-front-cup-wait{display:inline-flex;align-items:center;min-height:28px;color:#a9a3b3;font-size:10px;font-weight:800;letter-spacing:.05em}
.rap-front-cup-grid .rap-front-artist-caption{min-height:118px}
.rap-front-artist-caption strong{color:#f8f3f5;font:800 18px/1.2 var(--heading);overflow-wrap:anywhere}
.rap-front-artist-caption a,.rap-front-artist-caption>span{display:inline-flex;align-items:center;gap:6px;min-height:28px;letter-spacing:.05em;font-size:10px;font-weight:850;color:#ffc0cd}
.rap-front-artist-caption a:hover{color:#fff}
.rap-front-artist-caption>span{color:#a6a2b0}
.rap-front-roster-more{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.rap-front-roster-more p{font-size:13px;color:#c9c2cb;max-width:580px}
.rap-front-debate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.rap-front-debate{padding:20px;display:flex;flex-direction:column;gap:14px;border:1px solid #5e3549;border-radius:17px;background:#211823;min-width:0}
.rap-front-debate-category{font-size:10px;font-weight:850;letter-spacing:.14em;color:#f1adbf;text-transform:uppercase}
.rap-front-debate h3{font:780 clamp(17px,1.9vw,21px)/1.24 var(--heading);letter-spacing:-.03em;flex:1;color:#faf5f5}
.rap-front-debate-choices{display:grid;gap:6px}
.rap-front-debate-button{display:flex;justify-content:space-between;align-items:center;gap:7px;min-height:48px;text-align:left;padding:11px 13px;border-radius:11px;border:1px solid #734b5a;background:#342431;color:#f9f4f5;font-size:13px;font-weight:800;overflow-wrap:anywhere}
.rap-front-debate-button:hover{border-color:#e79aae;background:#452c3d}
.rap-front-debate-button.is-chosen{border-color:#e1a1b5;background:#703a54;color:#fff}
.rap-front-debate-or{text-align:center;font-size:9px;font-weight:900;letter-spacing:.1em;color:#a99ca5}
.rap-front-debate>small{font-size:11px;line-height:1.5;color:#bdb5c0}
.rap-front-debates-bottom{display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:18px}
.rap-front-debates-bottom>span{color:#c5bcc8;font-size:12px}
.rap-front-debates-bottom .text-link{color:#fac0cb}
.rap-front-cups .cup-grid{margin-top:4px}
.rap-front-personal{display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap;padding:28px;background:#18161f;border:1px solid #ffffff29;border-radius:21px}
.rap-front-personal h2{font-size:clamp(26px,3.4vw,40px);margin:9px 0}
.rap-front-personal p{font-size:13px;color:#c5bdc8;max-width:530px}
.rap-front-personal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
@media(max-width:960px){
 .rap-front-battle-shell{grid-template-columns:1fr}
 .rap-front-formats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .rap-front-format{flex-wrap:wrap;align-content:start}
 .rap-front-format-arrow{display:none}
 .rap-front-debate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .rap-front-artist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .rap-front-artist-image{height:clamp(150px,42vw,230px)}
 .rap-front-artist-caption{padding:11px;gap:7px}
 .rap-front-artist-caption strong{font-size:16px}
 .rap-front-battle-shell{gap:12px}
 .rap-front-battle-formats,.rap-front-live,.rap-front-duel-preview{padding:17px}
 .rap-front-formats{grid-template-columns:1fr}
 .rap-front-format{flex-wrap:nowrap;min-height:66px;padding:12px}
 .rap-front-duel-choice{min-height:182px;padding:10px 6px}
 .rap-front-duel-choice .rap-front-face{height:105px}
 .rap-front-duel-pair{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:4px}
 .rap-front-debate-grid{grid-template-columns:1fr}
 .rap-front-debate{padding:17px}
 .rap-front-personal{padding:19px}
 .rap-front-personal-actions{width:100%}
}
@media(max-width:385px){
 .rap-front-artist-caption strong{font-size:15px}
 .rap-front-artist-caption a,.rap-front-artist-caption>span{font-size:9px}
 .rap-front-artist-image{height:150px}
 .rap-front-duel-choice strong{font-size:16px}
}
