body.league-dfl-page{--primary-color:#551876;--primary-hover:#8f55cf;--accent-color:#ac71eb;--east-color:#7b2cbf;--west-color:#4c1d95;--final-color:#6d28d9;--border:#dfd2ea;--nav-active-color:#8f55cf;background:radial-gradient(circle at 0 0,#ac71eb33,#0000 30%),radial-gradient(circle at 100% 100%,#55187629,#0000 28%),#f7f2fb}.league-dfl{box-shadow:inset 0 1px 0 #ffffffbf, var(--shadow);background:#ffffffeb}.league-dfl .dfl-header-logo{background:radial-gradient(circle at 50% 45%,#ac71eb2e,#0000 60%),#fff;border:1px solid #55187624;border-radius:999px;width:190px;max-width:min(52vw,220px);padding:18px}.league-dfl header h1{color:#261334;text-transform:uppercase;text-shadow:0 4px #ac71eb1f;font-family:Outfit,Arial Black,sans-serif}.league-dfl .tab-btn.active{background:linear-gradient(135deg,#551876 0%,#ac71eb 100%)}.league-dfl .tab-btn:hover{background:#efe4f8;border-color:#55187629}.league-dfl .conf-header.west{background:linear-gradient(135deg,#3f1270 0%,#6d28d9 100%);border-bottom-color:#3f1270}.league-dfl .conf-header.east{background:linear-gradient(135deg,#6f2dbd 0%,#b084f5 100%);border-bottom-color:#6f2dbd}.league-dfl .conf-header.final{background:linear-gradient(135deg,#4c1d95 0%,#8b5cf6 100%);border-bottom:3px solid #4c1d95}.league-dfl .team-cell span,.league-dfl .playoff-round-title,.league-dfl .playoff-header h2{color:var(--primary-color)}.league-dfl .playoff-team.is-winner{background:linear-gradient(90deg,#ac71eb2e,#fffffffa)}.league-dfl .playoff-matchup:after,.league-dfl .playoff-matchup:not(.is-final-round):before{border-color:#5518768c}.league-dfl .sub-tab-nav{justify-content:center;gap:10px;margin:0 0 1.25rem;display:flex}.league-dfl .sub-tab-btn{color:#3a2448;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#f2edf6;border:1px solid #5518761f;border-radius:999px;padding:.65rem 1.1rem;font-weight:900;transition:transform .2s,background .2s,color .2s}.league-dfl .sub-tab-btn:hover,.league-dfl .sub-tab-btn.active{color:#fff;background:linear-gradient(135deg,#551876 0%,#ac71eb 100%);transform:translateY(-1px)}.league-dfl .standings-season-label{color:#3a2448;letter-spacing:.12em;text-transform:uppercase;background:#f5effa;border:1px solid #dfd2ea;border-radius:999px;width:max-content;margin:.5rem auto 1rem;padding:.5rem 1rem;font-size:.85rem;font-weight:800}.league-dfl #high-scores-view .section-title{margin:0 0 1.75rem}.league-dfl #standings-view .stats-table th,.league-dfl #archives-view .stats-table th{color:#34253d;background-color:#e5dde9}.league-dfl .h2h-panel-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.league-dfl .h2h-panel-header h3{color:#241230;letter-spacing:-.03em;margin:.15rem 0 0;font-size:1.35rem}.league-dfl .h2h-kicker{color:var(--primary-color);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:900}.league-dfl #h2h-search{color:#2c2034;background:#f8f3fb;border:1px solid #5518762e;border-radius:999px;outline:none;width:min(320px,100%);padding:.72rem 1rem;font-weight:800;transition:border-color .2s,box-shadow .2s}.league-dfl #h2h-search:focus{border-color:#55187680;box-shadow:0 0 0 4px #ac71eb29}.league-dfl .h2h-matrix-container{border:1px solid var(--border);border-radius:18px;max-height:72vh;overflow:auto;box-shadow:0 14px 32px #361f4e14}.league-dfl .h2h-matrix-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.league-dfl .h2h-matrix-table th,.league-dfl .h2h-matrix-table td{text-align:center;white-space:nowrap;border-bottom:1px solid #55187629;border-right:1px solid #55187629;min-width:92px;padding:.75rem .85rem;font-weight:900}.league-dfl .h2h-matrix-table th{z-index:2;color:#281633;background:#dfcfea;position:sticky;top:0}.league-dfl .h2h-matrix-table th:first-child,.league-dfl .h2h-matrix-table td:first-child{z-index:3;text-align:left;min-width:124px;position:sticky;left:0}.league-dfl .h2h-matrix-table th:first-child{z-index:4;color:#fff;background:#241230}.league-dfl .h2h-matrix-table td:first-child{color:#241230;background:#eee4f5}.league-dfl .h2h-matrix-table th:last-child,.league-dfl .h2h-matrix-table td:last-child{z-index:3;background:#f3bd73;min-width:116px;position:sticky;right:0}.league-dfl .h2h-matrix-table th:last-child{z-index:4}.league-dfl .h2h-winning{color:#14552a;background:#dff3e3}.league-dfl .h2h-losing{color:#7c1d1d;background:#f9dddd}.league-dfl .h2h-even{color:#49404f;background:#eeeeef}.league-dfl .h2h-self{color:#000;background:#000}.league-dfl .h2h-missing{color:#8f8796;background:#f5f1f7}.league-dfl .h2h-matrix-table tr.is-hidden{display:none}@media (width<=700px){.league-dfl .sub-tab-nav{justify-content:flex-start;padding-bottom:.35rem;overflow-x:auto}.league-dfl .h2h-panel-header{flex-direction:column;align-items:stretch}.league-dfl #h2h-search{width:100%}.league-dfl .h2h-matrix-table th,.league-dfl .h2h-matrix-table td{min-width:78px;padding:.65rem .7rem;font-size:.86rem}}
