.matchup-hero{
    max-width:900px;
    margin:0 auto;
}

.matchup-kicker{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 12px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.03em;
    color:#111827;
    background:#facc15;
    border:1px solid rgba(250,204,21,.65);
}

.matchup-panel{
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
    box-shadow:0 18px 40px rgba(0,0,0,.22);
    backdrop-filter:blur(8px);
}

.matchup-date{
    font-size:.88rem;
    color:rgba(255,255,255,.66);
}

.matchup-select-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.matchup-select-card{
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:rgba(255,255,255,.025);
    padding:14px;
}

.matchup-select-card label{
    display:block;
    font-size:.8rem;
    font-weight:800;
    color:rgba(255,255,255,.78);
    margin-bottom:8px;
}

.matchup-select{
    width:100%;
    background:#0f1117;
    border:1px solid rgba(255,255,255,.12);
    color:#e5e7eb;
    border-radius:12px;
    padding:10px 12px;
    outline:none;
}

.matchup-select option{
    background:#0f1117;
    color:#e5e7eb;
}

.matchup-select:focus{
    border-color:rgba(250,204,21,.75);
    box-shadow:0 0 0 .2rem rgba(250,204,21,.16);
}

.matchup-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.matchup-empty{
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(255,255,255,.02);
}

.matchup-verdict-box{
    border-radius:18px;
    padding:16px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.025);
}

.matchup-verdict-box.is-positive{
    border-color:rgba(34,197,94,.35);
    background:rgba(34,197,94,.08);
}

.matchup-verdict-box.is-negative{
    border-color:rgba(248,113,113,.35);
    background:rgba(248,113,113,.08);
}

.matchup-verdict-box.is-neutral{
    border-color:rgba(250,204,21,.25);
    background:rgba(250,204,21,.07);
}

.matchup-verdict-title{
    font-size:1rem;
    font-weight:900;
    margin-bottom:4px;
    color:#f3f4f6;
}

.matchup-card-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.matchup-brawler-card{
    position:relative;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(255,255,255,.025);
    padding:16px;
    text-align:center;
    height:100%;
    transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.matchup-brawler-card:hover{
    transform:translateY(-3px);
    border-color:rgba(250,204,21,.35);
    box-shadow:0 12px 24px rgba(0,0,0,.2);
}

.matchup-brawler-img{
    width:90px;
    height:90px;
    object-fit:contain;
    display:block;
    margin:10px auto 8px;
}

.matchup-brawler-name{
    font-size:1.05rem;
    font-weight:900;
    margin-bottom:6px;
    color:#f3f4f6;
}

.matchup-role{
    display:inline-block;
    font-size:.7rem;
    font-weight:800;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    padding:5px 9px;
    background:rgba(255,255,255,.04);
    color:rgba(255,255,255,.88);
}

.matchup-mini{
    font-size:.78rem;
    color:rgba(255,255,255,.72);
    line-height:1.4;
}

.matchup-score{
    position:absolute;
    top:10px;
    right:10px;
    font-size:.68rem;
    font-weight:900;
    border-radius:999px;
    padding:5px 8px;
    border:1px solid rgba(255,255,255,.12);
}

.is-positive{
    color:#4ade80 !important;
}

.is-negative{
    color:#f87171 !important;
}

.is-neutral{
    color:#facc15 !important;
}

.matchup-table-wrap{
    overflow-x:auto;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.08);
}

.matchup-table{
    width:100%;
    border-collapse:collapse;
    min-width:760px;
    background:rgba(255,255,255,.018);
}

.matchup-table th,
.matchup-table td{
    padding:13px 14px;
    border-bottom:1px solid rgba(255,255,255,.08);
    vertical-align:top;
    font-size:.88rem;
}

.matchup-table thead th{
    color:#f3f4f6;
    background:rgba(250,204,21,.08);
    font-weight:900;
}

.matchup-table tbody th{
    width:160px;
    color:#facc15;
    font-weight:900;
}

.matchup-table tbody td{
    color:rgba(255,255,255,.78);
}

.matchup-table tr:last-child th,
.matchup-table tr:last-child td{
    border-bottom:0;
}

.matchup-tips-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.matchup-tip-card{
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:rgba(255,255,255,.025);
    padding:16px;
    height:100%;
}

/* Light mode */
body.light-mode .matchup-panel,
body.light-mode .matchup-empty,
body.light-mode .matchup-select-card,
body.light-mode .matchup-brawler-card,
body.light-mode .matchup-tip-card,
body.light-mode .matchup-verdict-box{
    background:#fff;
    border-color:#e5e7eb;
    box-shadow:0 10px 24px rgba(0,0,0,.08);
}

body.light-mode .matchup-date,
body.light-mode .matchup-mini,
body.light-mode .matchup-table tbody td,
body.light-mode .matchup-select-card label{
    color:#4b5563;
}

body.light-mode .matchup-select,
body.light-mode .matchup-select option{
    background:#fff;
    color:#111827;
    border-color:#d1d5db;
}

body.light-mode .matchup-brawler-name,
body.light-mode .matchup-verdict-title,
body.light-mode .matchup-table thead th{
    color:#111827;
}

body.light-mode .matchup-role{
    background:#f3f4f6;
    color:#111827;
    border-color:#d1d5db;
}

body.light-mode .matchup-table-wrap{
    border-color:#e5e7eb;
}

body.light-mode .matchup-table{
    background:#fff;
}

body.light-mode .matchup-table th,
body.light-mode .matchup-table td{
    border-bottom-color:#e5e7eb;
}

body.light-mode .matchup-table thead th{
    background:#fff7cc;
}

body.light-mode .matchup-verdict-box.is-positive{
    border-color:rgba(22,163,74,.28);
    background:#f0fdf4;
}

body.light-mode .matchup-verdict-box.is-negative{
    border-color:rgba(220,38,38,.25);
    background:#fef2f2;
}

body.light-mode .matchup-verdict-box.is-neutral{
    border-color:rgba(202,138,4,.28);
    background:#fffbeb;
}

/* Mobile */
@media (max-width:991.98px){
    .matchup-select-grid,
    .matchup-card-grid,
    .matchup-tips-grid{
        grid-template-columns:1fr;
    }

    .matchup-brawler-img{
        width:82px;
        height:82px;
    }
}

@media (max-width:575.98px){
    .matchup-panel{
        border-radius:16px;
    }

    .matchup-select-card,
    .matchup-brawler-card,
    .matchup-tip-card{
        border-radius:14px;
    }

    .matchup-actions .btn{
        width:100%;
    }
}
.matchup-picker-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.matchup-slot{
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(255,255,255,.025);
    padding:14px;
}

.matchup-slot-inner{
    min-height:132px;
    border:1px dashed rgba(255,255,255,.16);
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:12px;
    background:rgba(255,255,255,.018);
}

.matchup-slot-empty{
    font-size:.9rem;
    font-weight:800;
    color:rgba(255,255,255,.58);
    text-align:center;
}

.matchup-slot-picked{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    text-align:center;
}

.matchup-slot-picked img{
    width:76px;
    height:76px;
    object-fit:contain;
}

.matchup-slot-picked h3{
    font-size:1rem;
    font-weight:900;
    color:#f3f4f6;
    margin:0;
}

.matchup-slot-picked span{
    display:inline-block;
    font-size:.7rem;
    font-weight:800;
    border-radius:999px;
    padding:4px 8px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.12);
    color:rgba(255,255,255,.82);
}

.matchup-pick-btn{
    width:100%;
}

.matchup-picker-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
}

.matchup-picker-modal.is-open{
    display:block;
}

.matchup-picker-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.68);
    backdrop-filter:blur(4px);
}

.matchup-picker-box{
    position:relative;
    z-index:2;
    width:min(980px,calc(100% - 28px));
    max-height:82vh;
    overflow:auto;
    margin:7vh auto 0;
    border:1px solid rgba(255,255,255,.1);
    border-radius:22px;
    background:#0f1117;
    padding:18px;
    box-shadow:0 24px 70px rgba(0,0,0,.45);
}

.matchup-picker-close{
    width:38px;
    height:38px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.04);
    color:#fff;
    font-size:1.6rem;
    line-height:1;
}

.matchup-picker-search{
    width:100%;
    background:#0b0b0f;
    border:1px solid rgba(255,255,255,.14);
    color:#e5e7eb;
    border-radius:14px;
    padding:12px 14px;
    outline:none;
}

.matchup-picker-search:focus{
    border-color:rgba(250,204,21,.75);
    box-shadow:0 0 0 .2rem rgba(250,204,21,.16);
}

.matchup-avatar-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(112px,1fr));
    gap:12px;
}

.matchup-avatar-option{
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.025);
    border-radius:16px;
    padding:10px 8px;
    text-align:center;
    color:#e5e7eb;
    cursor:pointer;
    transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.matchup-avatar-option:hover{
    transform:translateY(-3px);
    border-color:rgba(250,204,21,.35);
    box-shadow:0 12px 24px rgba(0,0,0,.22);
}

.matchup-avatar-option img{
    width:68px;
    height:68px;
    object-fit:contain;
    display:block;
    margin:0 auto 6px;
}

.matchup-avatar-option span{
    display:block;
    font-size:.82rem;
    font-weight:900;
    line-height:1.15;
}

.matchup-avatar-option small{
    display:block;
    margin-top:3px;
    font-size:.68rem;
    color:rgba(255,255,255,.62);
}

.matchup-avatar-option.is-disabled{
    opacity:.35;
    cursor:not-allowed;
}

.matchup-avatar-option.is-disabled:hover{
    transform:none;
    border-color:rgba(255,255,255,.08);
    box-shadow:none;
}

/* Light mode */
body.light-mode .matchup-slot{
    background:#fff;
    border-color:#e5e7eb;
    box-shadow:0 10px 24px rgba(0,0,0,.08);
}

body.light-mode .matchup-slot-inner{
    background:#f9fafb;
    border-color:#d1d5db;
}

body.light-mode .matchup-slot-empty{
    color:#6b7280;
}

body.light-mode .matchup-slot-picked h3{
    color:#111827;
}

body.light-mode .matchup-slot-picked span{
    background:#f3f4f6;
    border-color:#d1d5db;
    color:#111827;
}

body.light-mode .matchup-picker-box{
    background:#fff;
    border-color:#e5e7eb;
    box-shadow:0 24px 70px rgba(0,0,0,.18);
}

body.light-mode .matchup-picker-close{
    background:#f3f4f6;
    border-color:#d1d5db;
    color:#111827;
}

body.light-mode .matchup-picker-search{
    background:#fff;
    border-color:#d1d5db;
    color:#111827;
}

body.light-mode .matchup-avatar-option{
    background:#fff;
    border-color:#e5e7eb;
    color:#111827;
    box-shadow:0 .5rem 1.25rem rgba(0,0,0,.06);
}

body.light-mode .matchup-avatar-option small{
    color:#6b7280;
}

@media (max-width:991.98px){
    .matchup-picker-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:575.98px){
    .matchup-avatar-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .matchup-picker-box{
        margin:4vh auto 0;
        max-height:90vh;
    }
}
.matchup-slot-select{
    cursor:pointer;
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}

.matchup-slot-select:hover,
.matchup-slot-select:focus{
    transform:translateY(-3px);
    border-color:rgba(250,204,21,.38);
    box-shadow:0 14px 28px rgba(0,0,0,.22);
    outline:none;
}

.matchup-slot-select:hover .matchup-slot-inner,
.matchup-slot-select:focus .matchup-slot-inner{
    border-color:rgba(250,204,21,.45);
    background:rgba(250,204,21,.045);
}

.matchup-slot-empty{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.matchup-slot-empty span{
    font-size:.92rem;
    font-weight:900;
}

.matchup-slot-empty small{
    font-size:.72rem;
    font-weight:700;
    color:rgba(250,204,21,.82);
}

.matchup-actions-center{
    display:flex;
    justify-content:center;
    align-items:center;
}

.matchup-actions-center .btn{
    min-width:180px;
}

body.light-mode .matchup-slot-select:hover,
body.light-mode .matchup-slot-select:focus{
    border-color:rgba(202,138,4,.35);
    box-shadow:0 14px 28px rgba(0,0,0,.10);
}

body.light-mode .matchup-slot-select:hover .matchup-slot-inner,
body.light-mode .matchup-slot-select:focus .matchup-slot-inner{
    border-color:rgba(202,138,4,.42);
    background:#fffbeb;
}

body.light-mode .matchup-slot-empty small{
    color:#a16207;
}