/* Squad Ladder module styling
   Uses the main Delta Warzone variables/classes so this module matches the rest of the site. */
.ladder-wrap{width:98%;max-width:none;margin:40px auto}
.ladder-nav{gap:8px;flex-wrap:wrap;margin:0 0 20px}.ladder-nav .btn{min-width:auto;padding:9px 14px;font-size:12px}
.ladder-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px}
.ladder-hero h1,.ladder-card h1{margin:8px 0 6px;text-transform:uppercase;letter-spacing:-.035em}.ladder-card h2{margin-top:0;color:var(--sand2)}
.ladder-card{margin-bottom:22px}.ladder-card,.ladder-modal-card{background:linear-gradient(180deg,rgba(22,28,17,.96),rgba(10,14,8,.96));border:1px solid var(--line);box-shadow:0 18px 48px var(--shadow)}
.ladder-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.ladder-actions{display:flex;gap:10px;flex-wrap:wrap}.small-actions .btn{padding:8px 12px;font-size:12px;min-width:auto}
.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.14)}.ladder-table{width:100%;border-collapse:collapse}.ladder-table th,.ladder-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.ladder-table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--sand2)}.ladder-table tr:last-child td{border-bottom:0}
.mini-link{display:inline-flex;align-items:center;justify-content:center;min-width:auto;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:rgba(16,21,13,.74);color:var(--sand2);font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;text-decoration:none}.mini-link:hover{border-color:rgba(234,217,163,.5)}
.ladder-join-box{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.16)}.ladder-join-box summary{cursor:pointer;color:var(--sand2);font-weight:900;text-transform:uppercase;letter-spacing:.04em}.inline-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.inline-form label{margin:0}.inline-form button,.inline-form .btn{min-width:auto}.ladder-filter-form{margin:16px 0 4px}
.ladder-form label{display:block;margin-top:12px}.ladder-form input,.ladder-form select,.ladder-form textarea,.inline-form select,.inline-form input{width:100%;max-width:100%;box-sizing:border-box}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.match-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.match-summary>div{border:1px solid var(--line);background:rgba(0,0,0,.16);border-radius:12px;padding:14px}.match-summary span{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.match-summary strong{display:block;margin-top:4px;color:var(--sand2)}
.match-title{display:flex;align-items:center;justify-content:center;gap:16px;font-size:clamp(24px,4vw,46px);margin:8px 0 18px;text-transform:uppercase;letter-spacing:-.035em}.match-title span{font-size:16px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.roster-grid,.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.check-row{display:flex!important;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px;margin:8px 0!important;background:rgba(0,0,0,.14)}.check-row input{width:auto!important;margin:0}.check-row small{margin-left:auto;color:var(--muted)}
.clean-list{list-style:none;padding:0;margin:0}.clean-list li{padding:8px 0;border-bottom:1px solid var(--line)}.clean-list li:last-child{border-bottom:0}.rules-box{white-space:normal;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.14);padding:14px;margin-top:10px;color:var(--muted);line-height:1.7}
.game-fieldset{border:1px solid var(--line);border-radius:14px;padding:14px;margin:16px 0;background:rgba(0,0,0,.12)}.game-fieldset legend{padding:0 8px;color:var(--sand2);font-weight:900;text-transform:uppercase;letter-spacing:.05em}.ladder-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.danger{background:linear-gradient(180deg,#c0392b,#7d241d)!important;border-color:rgba(239,68,68,.45)!important;color:#fff!important}.compact-form{max-width:680px}
.screenshot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:14px}.shot-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(0,0,0,.16);color:var(--text)}.shot-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#090d08}.shot-card span{display:block;padding:10px;font-size:13px;color:var(--sand2)}
.result-card,.challenge-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:14px 0}.result-card:first-of-type,.challenge-row:first-of-type{border-top:0}.dispute-card{border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0;background:rgba(0,0,0,.14)}
.ladder-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.72);z-index:9999;padding:20px}.ladder-modal.open{display:flex}.ladder-modal-card{width:min(560px,100%);position:relative;border-radius:16px;padding:24px}.modal-close{position:absolute;top:10px;right:10px;width:36px;height:36px;min-width:0;border-radius:6px;padding:0}.progress-label{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:13px;color:var(--muted)}.progress{height:13px;border-radius:999px;background:rgba(0,0,0,.32);border:1px solid var(--line);overflow:hidden}.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--olive),var(--sand2));transition:width .2s ease}.upload-status{min-height:22px;color:var(--muted)}
.alert.ok{border-color:rgba(16,185,129,.35)}.alert.fail{border-color:rgba(239,68,68,.35)}
@media (max-width:900px){.ladder-wrap{width:92%}.ladder-hero,.ladder-section-head,.result-card,.challenge-row{display:block}.match-summary,.grid-2,.grid-3,.roster-grid,.admin-grid{grid-template-columns:1fr}.ladder-actions{margin-top:14px}.match-title{display:block;text-align:center}.match-title span{display:block;margin:8px 0}.inline-form{display:block}.inline-form>*{margin-top:8px}.inline-form .btn,.inline-form button{width:100%;margin-top:8px}}


.roster-player{display:flex!important;align-items:center;gap:10px;min-width:0}
.roster-avatar{width:38px;height:38px;border-radius:999px;object-fit:cover;border:2px solid rgba(215,187,126,.72);background:rgba(255,255,255,.06);flex:0 0 auto;box-shadow:0 6px 16px rgba(0,0,0,.22)}
.roster-player span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.roster-list-player{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.roster-list-player:last-child{border-bottom:0}

/* Challenge page game/map presentation */
.challenge-ladder-picker{margin:16px 0 18px}.challenge-ladder-picker h2{margin:0 0 6px}.challenge-ladder-picker .muted{margin-top:0}
.challenge-ladder-grid{margin:14px 0 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.challenge-ladder-card{text-decoration:none;color:inherit}.challenge-ladder-card.is-selected{border-color:rgba(215,187,126,.8);box-shadow:0 0 0 2px rgba(215,187,126,.18)}.challenge-ladder-card span{display:grid;gap:4px}.challenge-ladder-card small{display:block;color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.ladder-selected-game{display:flex;gap:16px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(0,0,0,.18);margin:16px 0}.ladder-selected-game img{width:86px;height:86px;border-radius:14px;object-fit:cover;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.24)}.ladder-selected-game h2{margin:2px 0 4px}.map-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.map-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:rgba(0,0,0,.16);font-size:12px;font-weight:800;color:var(--sand2)}.map-chip.default{border-color:rgba(215,187,126,.55);background:rgba(215,187,126,.12)}.map-chip.custom{border-color:rgba(128,179,255,.55);background:rgba(128,179,255,.10)}

/* Compact horizontal ladder picker cards */
.challenge-ladder-picker{margin:16px 0 18px}
.challenge-ladder-grid{
    margin:12px 0 18px;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
}
.challenge-ladder-card{
    display:flex!important;
    align-items:center;
    gap:12px;
    width:100%;
    min-height:74px;
    box-sizing:border-box;
    border:1px solid var(--line);
    border-radius:14px;
    padding:10px 12px;
    background:rgba(0,0,0,.16);
    text-decoration:none;
    color:inherit;
    transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.challenge-ladder-card:hover{border-color:rgba(215,187,126,.65);transform:translateY(-1px)}
.challenge-ladder-card.is-selected{border-color:rgba(215,187,126,.8);box-shadow:0 0 0 2px rgba(215,187,126,.18)}
.challenge-ladder-card img{
    width:58px!important;
    height:58px!important;
    flex:0 0 58px;
    border-radius:10px;
    object-fit:cover;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(0,0,0,.25);
}
.challenge-ladder-card span{display:flex!important;flex-direction:column;gap:3px;min-width:0}
.challenge-ladder-card strong{display:block;font-size:14px;line-height:1.25;color:var(--sand2)}
.challenge-ladder-card small{display:block;color:var(--muted);font-size:12px;font-weight:700;line-height:1.35;overflow:hidden;text-overflow:ellipsis}
@media (max-width:620px){
    .challenge-ladder-card{align-items:flex-start;padding:10px;gap:10px}
    .challenge-ladder-card img{width:46px!important;height:46px!important;flex-basis:46px}
    .challenge-ladder-card strong{font-size:13px}
    .challenge-ladder-card small{font-size:11px}
}

.match-summary select.summary-map-select{
    width:100%;
    margin-top:6px;
    min-height:38px;
    border-radius:8px;
    font-weight:800;
}
.match-summary select.summary-map-select:disabled{opacity:.65}

.challenge-squad-row{align-items:end;margin-top:4px}
.challenge-squad-row label{margin-top:0}
.challenge-time-server-row{align-items:start;margin-top:12px}
.challenge-time-server-row label{margin-top:0}
.challenge-time-server-row .form-help{margin:6px 0 0}

/* Ruleset preview on create challenge */
.ruleset-preview{margin:12px 0 16px;border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(0,0,0,.14)}
.ruleset-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.ruleset-preview h3{margin:3px 0 0;color:var(--sand2);font-size:18px;line-height:1.25}
.ruleset-preview-box{max-height:420px;overflow:auto;margin-top:8px;white-space:normal;color:var(--text)}
@media (max-width:620px){.ruleset-preview-head{display:block}.ruleset-preview h3{font-size:16px}}
.score-note{display:block;border:1px solid var(--line);border-radius:12px;padding:10px;background:rgba(0,0,0,.14);color:var(--muted);font-size:13px;line-height:1.45}

/* Challenge map dropdown checklist */
.map-summary-panel{position:relative}
.map-dropdown{position:relative;margin-top:6px}
.map-dropdown-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;border-radius:8px;padding:8px 10px;font-weight:900;text-align:left;background:rgba(16,21,13,.82);border:1px solid var(--line);color:var(--sand2);cursor:pointer}
.map-dropdown-toggle b{font-size:12px;color:var(--muted)}
.map-dropdown-menu{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:10px;background:rgba(10,14,8,.98);box-shadow:0 20px 44px rgba(0,0,0,.42)}
.map-dropdown-menu .form-help{margin:0 0 8px;font-size:12px;line-height:1.45}
.map-check-row{display:flex!important;align-items:center;gap:9px;margin:6px 0!important;padding:8px 9px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.04);cursor:pointer;color:var(--text);font-size:13px;font-weight:800;line-height:1.35}
.map-check-row:hover{border-color:rgba(215,187,126,.45);background:rgba(215,187,126,.08)}
.map-check-row input{width:auto!important;margin:0;flex:0 0 auto}
.map-check-row[hidden]{display:none!important}
.map-empty{padding:10px;text-align:center;border:1px dashed var(--line);border-radius:10px;background:rgba(0,0,0,.12)}
@media (max-width:900px){.map-dropdown-menu{position:static;margin-top:8px;max-height:280px}.map-dropdown-toggle{white-space:normal}}

/* Ladder index panel header */
.ladder-panel-head{align-items:center}
.ladder-panel-title{display:flex;align-items:center;gap:14px;min-width:0}
.ladder-panel-title h2{margin:0;color:var(--sand2);line-height:1.18}
.ladder-panel-game-image{width:72px;height:72px;flex:0 0 72px;border-radius:14px;object-fit:cover;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.28);box-shadow:0 10px 26px rgba(0,0,0,.28)}
@media (max-width:900px){.ladder-panel-head{display:flex;align-items:flex-start}.ladder-panel-title{align-items:flex-start}.ladder-panel-game-image{width:58px;height:58px;flex-basis:58px}.ladder-panel-title h2{font-size:20px}.ladder-panel-head .small-actions{width:100%}}

/* Professional ladder standings layout */
.ladder-standings-card{
    overflow:hidden;
    border-radius:18px;
    background:
        linear-gradient(180deg,rgba(28,34,20,.98),rgba(8,12,7,.98)),
        radial-gradient(circle at top left,rgba(215,187,126,.10),transparent 34%);
}
.ladder-standings-card .ladder-panel-head{
    padding:4px 2px 18px;
    border-bottom:1px solid rgba(255,255,255,.09);
    margin-bottom:16px;
}
.ladder-title-copy{min-width:0}
.ladder-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-bottom:5px;
    color:var(--muted);
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.ladder-panel-meta{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-top:9px;
    color:var(--muted);
    font-size:12px;
    font-weight:800;
}
.ladder-panel-meta span:not(.status-pill){
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    padding:5px 9px;
    background:rgba(0,0,0,.16);
}
.status-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:5px 10px;
    border:1px solid rgba(34,197,94,.38);
    background:rgba(34,197,94,.12);
    color:#bbf7d0;
    font-size:11px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.status-pill.inactive{border-color:rgba(239,68,68,.38);background:rgba(239,68,68,.12);color:#fecaca}
.status-pill.draft{border-color:rgba(234,179,8,.38);background:rgba(234,179,8,.12);color:#fde68a}
.ladder-stat-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:0 0 16px;
}
.ladder-stat-grid>div{
    min-width:0;
    border:1px solid rgba(255,255,255,.09);
    border-radius:14px;
    padding:12px 14px;
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(0,0,0,.13));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.ladder-stat-grid span{
    display:block;
    color:var(--muted);
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ladder-stat-grid strong{
    display:block;
    min-width:0;
    margin-top:5px;
    color:var(--sand2);
    font-size:18px;
    line-height:1.15;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.professional-standings-table{
    min-width:850px;
}
.professional-standings-table thead th{
    position:sticky;
    top:0;
    z-index:1;
    background:rgba(12,16,9,.98);
    border-bottom:1px solid rgba(215,187,126,.20);
}
.professional-standings-table tbody tr{
    transition:background .14s ease, transform .14s ease;
}
.professional-standings-table tbody tr:hover{
    background:rgba(215,187,126,.055);
}
.professional-standings-table tbody tr.top-ranked{
    background:linear-gradient(90deg,rgba(215,187,126,.06),transparent 54%);
}
.professional-standings-table .rank-col,
.professional-standings-table .stat-col,
.professional-standings-table .points-col,
.professional-standings-table .action-col,
.professional-standings-table .rank-cell,
.professional-standings-table .stat-cell,
.professional-standings-table .points-cell,
.professional-standings-table .action-cell{
    text-align:center;
    white-space:nowrap;
}
.rank-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:32px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.055);
    color:var(--text);
    font-weight:950;
    font-size:13px;
}
.rank-badge.rank-1{border-color:rgba(250,204,21,.45);background:rgba(250,204,21,.13);color:#fef3c7}
.rank-badge.rank-2{border-color:rgba(203,213,225,.40);background:rgba(203,213,225,.12);color:#e2e8f0}
.rank-badge.rank-3{border-color:rgba(217,119,6,.42);background:rgba(217,119,6,.12);color:#fed7aa}
.squad-cell{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:260px;
}
.squad-logo-box{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border-radius:14px;
    border:1px solid rgba(215,187,126,.28);
    background:linear-gradient(180deg,rgba(215,187,126,.12),rgba(0,0,0,.24));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px rgba(0,0,0,.22);
    overflow:hidden;
}
.table-logo-box{
    width:42px;
    height:42px;
}
.squad-table-logo{
    width:30px;
    height:30px;
    display:block;
    object-fit:contain;
    border-radius:8px;
}
.squad-cell strong{
    display:block;
    color:var(--text);
    font-size:14px;
    line-height:1.2;
}
.squad-cell span{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:12px;
    font-weight:800;
}
.stat-cell{
    font-size:15px;
    font-weight:900;
}
.win-stat{color:#bbf7d0}
.loss-stat{color:#fecaca}
.draw-stat{color:#fde68a}
.points-cell span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:54px;
    min-height:34px;
    border-radius:999px;
    border:1px solid rgba(215,187,126,.35);
    background:rgba(215,187,126,.12);
    color:var(--sand2);
    font-size:16px;
    font-weight:950;
}
.empty-table-cell{
    padding:28px!important;
    text-align:center!important;
    color:var(--muted);
    background:rgba(0,0,0,.10);
}
@media (max-width:900px){
    .ladder-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ladder-standings-card .ladder-panel-head{gap:14px}
    .ladder-panel-meta{align-items:flex-start}
}
@media (max-width:620px){
    .ladder-stat-grid{grid-template-columns:1fr}
    .ladder-stat-grid strong{font-size:16px}
    .professional-standings-table{min-width:760px}
    .squad-cell{min-width:220px}
}


/* Professional match results cards */
.results-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.results-hero h1{margin:4px 0 6px}
.results-filter{min-width:min(420px,100%)}
.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;margin-top:18px}
.result-pro-card{display:block!important;padding:18px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:18px;background:linear-gradient(180deg,rgba(26,32,20,.98),rgba(9,13,8,.98));box-shadow:0 18px 48px rgba(0,0,0,.30)}
.result-pro-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(255,255,255,.09);padding-bottom:14px;margin-bottom:14px}
.result-pro-top h2{margin:3px 0 4px;color:var(--sand2);line-height:1.15}
.result-pro-top .btn{flex:0 0 auto;min-width:auto}
.result-vs-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:stretch}
.result-squad{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:14px 10px;background:rgba(0,0,0,.16)}
.result-squad.winner{border-color:rgba(215,187,126,.42);background:linear-gradient(180deg,rgba(215,187,126,.14),rgba(0,0,0,.16))}
.result-logo-box{width:50px;height:50px;margin-bottom:9px}
.result-logo-box img{width:34px;height:34px;display:block;object-fit:contain;border-radius:9px}
.result-squad strong{display:block;width:100%;color:var(--text);font-size:14px;line-height:1.25;overflow:hidden;text-overflow:ellipsis}
.result-squad span{display:inline-flex;margin-top:7px;border-radius:999px;padding:4px 9px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.055);color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.result-squad.winner span{border-color:rgba(215,187,126,.35);background:rgba(215,187,126,.13);color:var(--sand2)}
.result-vs-badge{align-self:center;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;border:1px solid rgba(215,187,126,.28);background:rgba(215,187,126,.10);color:var(--sand2);font-size:12px;font-weight:950;letter-spacing:.08em}
@media (max-width:900px){.results-hero{display:block}.results-filter{margin-top:14px}.results-grid{grid-template-columns:1fr}.result-pro-top{display:block}.result-pro-top .btn{margin-top:10px;width:100%}}
@media (max-width:620px){.result-vs-row{grid-template-columns:1fr}.result-vs-badge{justify-self:center}.result-logo-box{width:46px;height:46px}.result-logo-box img{width:30px;height:30px}}

/* Professional match detail page */
.match-pro-hero{
    position:relative;
    overflow:hidden;
    padding:22px!important;
}
.match-pro-hero:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at 12% 0%,rgba(215,187,126,.13),transparent 32%),linear-gradient(135deg,rgba(255,255,255,.035),transparent 42%);
}
.match-pro-hero>*{position:relative;z-index:1}
.match-pro-topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:18px;
}
.match-pro-vs{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:stretch;
    gap:16px;
}
.match-pro-squad{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    padding:16px;
    background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.18));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.match-pro-squad.winner{
    border-color:rgba(215,187,126,.45);
    background:linear-gradient(180deg,rgba(215,187,126,.14),rgba(0,0,0,.18));
}
.match-logo-box{
    width:58px;
    height:58px;
    border-radius:16px;
}
.match-logo-box img{
    width:40px;
    height:40px;
    object-fit:contain;
    display:block;
    border-radius:10px;
}
.match-pro-squad strong{
    display:block;
    color:var(--text);
    font-size:20px;
    line-height:1.15;
    overflow:hidden;
    text-overflow:ellipsis;
}
.match-pro-squad em{
    display:inline-flex;
    margin-top:7px;
    border-radius:999px;
    border:1px solid rgba(215,187,126,.38);
    background:rgba(215,187,126,.13);
    color:var(--sand2);
    padding:4px 9px;
    font-style:normal;
    font-size:11px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.match-side-label{
    display:block;
    margin-bottom:4px;
    color:var(--muted);
    font-size:11px;
    font-weight:900;
    letter-spacing:.10em;
    text-transform:uppercase;
}
.match-pro-center{
    align-self:center;
    min-width:150px;
    text-align:center;
    border:1px solid rgba(215,187,126,.25);
    border-radius:18px;
    padding:14px 16px;
    background:rgba(215,187,126,.09);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.match-pro-center span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:999px;
    border:1px solid rgba(215,187,126,.34);
    background:rgba(0,0,0,.20);
    color:var(--sand2);
    font-weight:950;
    letter-spacing:.08em;
}
.match-pro-center strong{
    display:block;
    margin-top:9px;
    color:var(--text);
    font-size:14px;
    line-height:1.2;
}
.match-pro-center small{
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-weight:800;
}
.match-pro-stats{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
    margin-top:16px;
}
.match-pro-stats>div{
    min-width:0;
    border:1px solid rgba(255,255,255,.09);
    border-radius:14px;
    padding:11px 12px;
    background:rgba(0,0,0,.16);
}
.match-pro-stats span{
    display:block;
    color:var(--muted);
    font-size:10px;
    font-weight:950;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.match-pro-stats strong{
    display:block;
    margin-top:5px;
    color:var(--sand2);
    font-size:14px;
    line-height:1.2;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.match-pro-actions{margin-top:16px}
.match-pro-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);
    gap:16px;
    margin-top:16px;
}
.match-pro-section{padding:20px!important}
.section-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}
.section-title-row h2{margin:3px 0 0}
.match-game-grid{
    display:grid;
    gap:12px;
}
.match-game-card{
    border:1px solid rgba(255,255,255,.10);
    border-radius:16px;
    padding:14px;
    background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.16));
}
.match-game-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.match-game-head span{
    color:var(--sand2);
    font-size:12px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.match-game-head strong{
    border-radius:999px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.055);
    color:var(--muted);
    padding:4px 8px;
    font-size:10px;
    font-weight:950;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.match-game-map{
    margin-top:9px;
    color:var(--text);
    font-size:18px;
    font-weight:950;
    line-height:1.2;
}
.match-game-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:9px;
}
.match-game-meta span{
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    background:rgba(0,0,0,.18);
    color:var(--muted);
    padding:5px 9px;
    font-size:11px;
    font-weight:850;
}
.match-score-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:12px;
}
.match-score-row>div{
    border:1px solid rgba(215,187,126,.18);
    border-radius:14px;
    padding:10px;
    text-align:center;
    background:rgba(215,187,126,.055);
}
.match-score-row span{
    display:block;
    color:var(--muted);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.match-score-row strong{
    display:block;
    color:var(--sand2);
    font-size:24px;
    font-weight:950;
    line-height:1;
    margin-top:5px;
}
.match-game-card .secondary{margin-top:12px;width:100%}
.match-game-notes{margin:10px 0 0}
.match-roster-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}
.match-roster-card{
    border:1px solid rgba(255,255,255,.09);
    border-radius:16px;
    padding:13px;
    background:rgba(0,0,0,.14);
}
.match-roster-title{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
}
.match-roster-title strong{color:var(--sand2)}
.roster-logo-box{width:42px;height:42px;border-radius:13px}
.roster-logo-box img{width:28px;height:28px;object-fit:contain;border-radius:8px}
.match-roster-list .roster-list-player{
    border-bottom:1px solid rgba(255,255,255,.07);
    padding:7px 0;
}
.match-roster-list .roster-list-player:last-child{border-bottom:0}
.pro-shot-grid{margin-top:12px}
.pro-shot-card{
    border-radius:16px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(0,0,0,.18);
}
.pro-shot-card img{aspect-ratio:16/9;object-fit:cover}
.pro-shot-card span{
    display:block;
    padding:9px 10px;
    color:var(--muted);
    font-size:12px;
    font-weight:850;
}
.match-extra-section summary{
    cursor:pointer;
    color:var(--sand2);
    font-weight:950;
}
.match-extra-grid{
    display:grid;
    gap:12px;
    margin-top:14px;
}
.match-extra-grid h3{margin:0 0 6px;color:var(--text)}
.ladder-modal.open{display:flex}
@media (max-width:1050px){
    .match-pro-grid{grid-template-columns:1fr}
    .match-pro-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
    .match-pro-vs{grid-template-columns:1fr}
    .match-pro-center{justify-self:stretch;min-width:0}
    .match-pro-squad strong{font-size:17px}
    .match-pro-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .section-title-row{display:block}
    .section-title-row .secondary{margin-top:10px;width:100%}
}
@media (max-width:520px){
    .match-pro-squad{align-items:flex-start;padding:13px}
    .match-logo-box{width:50px;height:50px}
    .match-logo-box img{width:34px;height:34px}
    .match-pro-stats{grid-template-columns:1fr}
    .match-score-row{grid-template-columns:1fr}
}

/* Report result map outcome controls */
.result-map-fieldset{
    background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.13));
}
.result-map-fieldset .map-result-select{
    font-weight:950;
    color:var(--sand2);
}
.result-map-fieldset .form-help{
    margin:8px 0 4px;
    font-size:12px;
    line-height:1.45;
}
