body.league-dfl-page{--primary-color:#8f63e6;--primary-hover:#bd9cff;--accent-color:#dcc9ff;--east-color:#bd9cff;--west-color:#9e75ee;--final-color:#a77ff0;--border:#eadfff;--nav-active-color:#9e75ee;background:radial-gradient(circle at 0 0,#dcc9ff57,#0000 30%),radial-gradient(circle at 100% 100%,#8f63e61f,#0000 28%),#fbf8ff}.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%,#dcc9ff47,#0000 60%),#fff;border:1px solid #8f63e621;border-radius:999px;width:190px;max-width:min(52vw,220px);padding:18px}.league-dfl header h1{color:#332446;text-transform:uppercase;text-shadow:0 4px #dcc9ff3d;font-family:Outfit,Arial Black,sans-serif}.league-dfl .tab-btn.active{background:linear-gradient(135deg,#8f63e6 0%,#bd9cff 100%)}.league-dfl .tab-btn:hover{background:#f2ecff;border-color:#8f63e626}.league-dfl .conf-header.west{background:linear-gradient(135deg,#991b1b 0%,#ef4444 100%);border-bottom-color:#991b1b}.league-dfl .conf-header.east{background:linear-gradient(135deg,#1d4ed8 0%,#60a5fa 100%);border-bottom-color:#1d4ed8}.league-dfl .conf-header.final{background:linear-gradient(135deg,#8f63e6 0%,#bd9cff 100%);border-bottom:3px solid #8f63e6}.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,#dcc9ff5c,#fffffffa)}.league-dfl .playoff-matchup:after,.league-dfl .playoff-matchup:not(.is-final-round):before{border-color:#8f63e666}.league-dfl .sub-tab-nav{justify-content:center;gap:10px;margin:0 0 1.25rem;display:flex}.league-dfl .sub-tab-btn{color:#4c3565;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#f5f0ff;border:1px solid #8f63e621;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,#8f63e6 0%,#bd9cff 100%);transform:translateY(-1px)}.league-dfl .standings-season-label{color:#4c3565;letter-spacing:.12em;text-transform:uppercase;background:#f6f1ff;border:1px solid #eadfff;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:#3e3349;background-color:#eee8f6}.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:#332446;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:#443052;background:#fbf8ff;border:1px solid #8f63e62b;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:#8f63e66b;box-shadow:0 0 0 4px #dcc9ff4d}.league-dfl .h2h-matrix-container{border:1px solid var(--border);border-radius:18px;max-height:72vh;overflow:auto;box-shadow:0 14px 32px #5c3f8414}.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 #8f63e624;border-right:1px solid #8f63e624;min-width:92px;padding:.75rem .85rem;font-weight:900}.league-dfl .h2h-matrix-table th{z-index:2;color:#3e2e4e;background:#e9dcff;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:#7d54c4}.league-dfl .h2h-matrix-table td:first-child{color:#3e2e4e;background:#f2ebff}.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:#4f425d;background:#eeeeef}.league-dfl .h2h-self{color:#000;background:#000}.league-dfl .h2h-missing{color:#8d80a0;background:#f7f2ff}.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}}
