.vipers-stats{--vipers-green:#0cad0c;--vipers-green-bright:#42e219;--vipers-green-dark:#00512e;--vipers-ink:#101410;--vipers-muted:#667066;--vipers-surface:#f4f7f3;--vipers-border:#dce5da;--head-bg-color:#c9f3ca;--head-active-bg-color:#0cad0c;--even-bg-color:#f2f7f2;--hover-bg-color:#c9f3ca;color:var(--vipers-ink);font-family:Roboto,Arial,sans-serif;margin:2rem 0}.vipers-stats__header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.vipers-stats__header h2,.vipers-stats p{margin-top:0}.vipers-stats__header h2{font-size:clamp(1.75rem, 4vw, 2.6rem);line-height:1.05;margin-bottom:0}.vipers-stats__eyebrow{font-size:.76rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.vipers-stats__eyebrow{color:var(--vipers-green-dark);margin-bottom:.4rem}.vipers-stats__updated{color:var(--vipers-muted);font-size:.82rem;margin-bottom:.15rem;white-space:normal;min-width:0;max-width:100%;line-height:1.5}.vipers-stats__table-wrap{background:#fff;border:1px solid var(--vipers-border);border-radius:18px;box-shadow:0 10px 30px rgb(16 20 16 / 7%);overflow:hidden}.vipers-stats--empty{background:var(--vipers-surface);border-radius:12px;color:var(--vipers-muted);padding:1rem}.vipers-stats__table{border-collapse:collapse;font-size:.9rem;width:100%}.vipers-stats__table th,.vipers-stats__table td{border-bottom:1px solid var(--vipers-border);padding:.72rem .78rem;text-align:left;vertical-align:middle}.vipers-stats__table thead th{background:var(--head-bg-color);color:inherit;font-size:.7rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.vipers-stats__table thead th[aria-sort="ascending"],.vipers-stats__table thead th[aria-sort="descending"]{background:var(--head-active-bg-color);color:#fff}.vipers-stats__sortable button{background:#fff0;border:0;color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;padding:.2rem 0;text-transform:inherit}.vipers-stats__sortable button:hover,.vipers-stats__sortable button:focus-visible{color:var(--vipers-green)}.vipers-stats__sortable[aria-sort="descending"] button::after{content:" ↓"}.vipers-stats__sortable[aria-sort="ascending"] button::after{content:" ↑"}.vipers-stats__table tbody:last-of-type tr:last-child>*{border-bottom:0}.vipers-stats__table tbody tr[data-vipers-player-row]:nth-child(even){background:var(--even-bg-color)}.vipers-stats__table tbody tr[data-vipers-player-row]:hover{background:var(--hover-bg-color)}.vipers-stats__table tbody th{font-weight:750;min-width:14rem}.vipers-stats__stages{display:block;font-size:.67rem;font-weight:500;line-height:1.35;margin-top:.28rem}.vipers-stats__stages a{color:var(--vipers-muted);display:block;text-decoration:none}.vipers-stats__stages a:hover,.vipers-stats__stages a:focus-visible{color:var(--vipers-green-dark);text-decoration:underline}.vipers-stats__leaders{min-width:9.5rem}.vipers-stats__leaders span{background:#e8f6e3;border:1px solid #c8e8bd;border-radius:999px;color:var(--vipers-green-dark);display:inline-block;font-size:.68rem;font-weight:750;letter-spacing:.02em;margin:.12rem .18rem .12rem 0;padding:.25rem .48rem}.vipers-stats__player-line{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem .55rem}.vipers-stats__change-marker{color:var(--vipers-green);font-size:.8em;font-weight:900;line-height:0;margin-left:.16em;vertical-align:super}.vipers-stats__awards{display:inline-flex;flex-wrap:wrap;gap:.28rem}.vipers-stats__award-button{background:#fff0;border:0;border-radius:8px;cursor:zoom-in;display:inline-flex;padding:0}.vipers-stats__award-button img{display:block;height:2.7rem;object-fit:contain;width:2.7rem}.vipers-stats__award-button:hover,.vipers-stats__award-button:focus-visible{filter:drop-shadow(0 0 5px rgb(12 173 12 / 65%));outline:2px solid var(--vipers-green);outline-offset:2px}.vipers-stats__rank{color:var(--vipers-muted);text-align:center!important;width:3.6rem}.vipers-stats__number{font-variant-numeric:tabular-nums;text-align:right!important;width:4.5rem}.vipers-stats__points strong{color:var(--vipers-green-dark);font-size:1rem}.vipers-stats__number.vipers-stats__global-best,.vipers-stats__number.vipers-stats__global-best strong,.vipers-stats__streak-cell.vipers-stats__global-best>strong,.vipers-stats__streak-list strong.vipers-stats__global-best{color:#a56d00;font-weight:850}.vipers-stats__league-heading th{background:var(--vipers-green-dark);border-bottom-color:var(--vipers-green-dark);color:#fff;padding-bottom:.62rem;padding-top:.62rem}.vipers-stats__table tbody+tbody .vipers-stats__league-heading th{border-top:.55rem solid #fff}.vipers-stats__league-heading a{align-items:center;color:#fff;display:flex;font-weight:700;gap:.5rem;line-height:1.2;text-decoration:none}.vipers-stats__competition-links{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem}.vipers-stats__league-heading a:hover,.vipers-stats__league-heading a:focus-visible{color:var(--vipers-green-bright)}.vipers-stats__league-heading small{display:block;font-size:.72rem;margin-top:.18rem}.vipers-stats__league-heading small a{color:#d8f4d4;display:inline;font-weight:600}.vipers-stats__league-code{background:#fff;border-radius:999px;color:var(--vipers-green-dark);flex:0 0 auto;font-size:.66rem;letter-spacing:.03em;padding:.25rem .45rem}.vipers-stats__legend{background:var(--vipers-surface);border:1px solid var(--vipers-border);border-radius:14px;margin-top:1rem;padding:1rem 1.1rem}.vipers-stats__legend h3{font-size:1rem;margin:0 0 .75rem}.vipers-stats__legend ul{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0}.vipers-stats__legend li{align-items:center;display:flex;justify-content:center}.vipers-stats__legend-badge{display:block;height:12rem;max-width:13rem;object-fit:contain;width:100%}.vipers-stats__legend p{color:var(--vipers-muted);font-size:.78rem;line-height:1.5;margin:.9rem 0 0}.vipers-stats__legend .vipers-stats__change-note{color:var(--vipers-text);margin-top:.65rem}.vipers-stats__badge-dialog{background:#0d110e;border:1px solid var(--vipers-green);border-radius:16px;box-shadow:0 24px 70px rgb(0 0 0 / 45%);color:#fff;max-height:calc(100vh - 2rem);max-width:min(44rem, calc(100vw - 2rem));overflow:auto;padding:2.2rem 1rem 1rem;width:max-content}.vipers-stats__badge-dialog::backdrop{background:rgb(0 0 0 / 78%)}.vipers-stats__badge-dialog img{display:block;height:auto;margin:0 auto;max-height:calc(100vh - 9rem);max-width:100%;width:min(38rem, 80vw)}.vipers-stats__badge-dialog p{font-size:.9rem;font-weight:700;margin:.65rem 0 0;text-align:center}.vipers-stats__badge-dialog-close{align-items:center;background:#fff;border:0;border-radius:50%;color:var(--vipers-ink);cursor:pointer;display:flex;font-size:1.35rem;height:2rem;justify-content:center;line-height:1;position:absolute;right:.6rem;top:.6rem;width:2rem}.vipers-stats__badge-dialog-close:hover,.vipers-stats__badge-dialog-close:focus-visible{background:var(--vipers-green-bright);outline:2px solid #fff}@media (max-width:760px){.vipers-stats__table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.vipers-stats__table{min-width:760px}.vipers-stats__header{align-items:start;flex-direction:column}.vipers-stats__legend ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.vipers-stats *,.vipers-stats *::before,.vipers-stats *::after{scroll-behavior:auto!important}}.vipers-stats .vipers-stats__streaks{margin-top:32px;overflow-wrap:anywhere;line-height:1.5}.vipers-stats .vipers-stats__streaks h3{font-size:28px;color:var(--vipers-green-dark)}.vipers-stats .vipers-stats__streak-team{border:1px solid var(--vipers-border);border-radius:18px;padding:24px;margin-top:24px;background:#fff}.vipers-stats .vipers-stats__streak-team h4{font-size:22px;margin:0 0 12px}.vipers-stats .vipers-stats__streak-ranking h5{font-size:18px;margin:0 0 16px}.vipers-stats .vipers-stats__streak-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:16px}.vipers-stats .vipers-stats__streak-list{list-style:none;margin:0;padding:0}.vipers-stats .vipers-stats__streak-list>li{padding:16px;border-radius:18px;background:var(--vipers-surface);margin-bottom:16px}.vipers-stats .vipers-stats__streak-person{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.vipers-stats .vipers-stats__streak-badge{width:80px;height:80px;flex:0 0 80px}.vipers-stats .vipers-stats__streak-badge img{width:100%;height:100%;object-fit:contain}.vipers-stats .vipers-stats__streak-note{color:var(--vipers-muted);font-size:14px}.vipers-stats .vipers-stats__streaks summary{cursor:pointer;min-height:44px;padding:10px 0;box-sizing:border-box;color:var(--vipers-green-dark)}.vipers-stats .vipers-stats__streaks a{color:var(--vipers-green-dark);display:inline-block;min-height:44px;padding:10px 0;box-sizing:border-box}.vipers-stats .vipers-stats__streaks :is(summary,a,button):focus-visible{outline:2px solid var(--vipers-green-dark);outline-offset:3px;box-shadow:0 0 0 3px rgb(66 226 25 / 35%)}.vipers-stats .vipers-stats__streak-games{padding-left:20px}.vipers-stats .vipers-stats__streak-games li{margin:12px 0}.vipers-stats .vipers-stats__streak-current{border-top:1px solid var(--vipers-border);padding-top:12px}@media(max-width:960px){.vipers-stats .vipers-stats__streak-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:480px){.vipers-stats .vipers-stats__streak-team{padding:16px}.vipers-stats .vipers-stats__streak-list>li{padding:12px}}.vipers-stats__streak-cell{min-width:150px}.vipers-stats__streak-cell small{display:block;color:var(--vipers-stats-muted,#667066);font-size:11px;font-weight:400;margin-top:4px}.vipers-stats .vipers-stats__season-award-list{display:flex;flex-wrap:wrap;gap:12px}.vipers-stats .vipers-stats__season-award-section{padding:16px;margin-bottom:16px;border:1px solid #dce5da;border-radius:18px;background:#fff}.vipers-stats .vipers-stats__season-award-section h3{margin:0 0 12px;color:#00512e}.vipers-stats .vipers-stats__record-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:8px 12px;border:1px solid #dce5da;border-radius:999px;background:#f4f7f3;color:#00512e;font:inherit;cursor:pointer;overflow-wrap:anywhere;white-space:normal}.vipers-stats .vipers-stats__record-button img{width:56px;height:56px;object-fit:contain}.vipers-stats .vipers-stats__record-button:focus-visible{outline:2px solid #00512e;outline-offset:3px;box-shadow:0 0 0 3px rgb(66 226 25 / 35%)}.vipers-stats .vipers-stats__badge-details{white-space:pre-line;color:#101410;text-align:left;overflow-wrap:anywhere}.vipers-stats .vipers-stats__badge-dialog img[hidden]{display:none}.vipers-stats__legend-badge[src*="longest-point-streak.webp"],.vipers-stats__legend-badge[src*="strafbank-profi.webp"],.vipers-stats__legend-badge[src*="early-bird.webp"],.vipers-stats__legend-badge[src*="quick-strike.webp"],.vipers-stats__legend-badge[src*="last-minute.webp"],.vipers-stats__award-button img[src*="longest-point-streak.webp"],.vipers-stats__award-button img[src*="strafbank-profi.webp"]{transform:scale(.92)}.vipers-stats .vipers-stats__team-record-detail{white-space:normal;background:#f4f7f3;color:#101410;border:1px solid #dce5da;border-radius:18px;padding:16px;margin-top:16px}.vipers-stats .vipers-stats__team-record-detail p{text-align:left;font-weight:400}.vipers-stats .vipers-stats__team-record-detail h3{font-size:1.2rem;line-height:1.3;color:#00512e}.vipers-stats .vipers-stats__team-record-game{border-top:1px solid #dce5da;padding:16px 0}.vipers-stats .vipers-stats__team-record-game h4{margin:0;font-size:1rem}.vipers-stats .vipers-stats__team-record-game .vipers-stats__record-score{font-size:2rem;font-weight:700;color:#00512e}.vipers-stats .vipers-stats__record-score span{display:block;font-size:.8rem;font-weight:400;color:#667066}.vipers-stats .vipers-stats__team-record-game dl{margin:12px 0}.vipers-stats .vipers-stats__team-record-game dt{font-weight:600;margin-top:8px}.vipers-stats .vipers-stats__team-record-game dd{margin:2px 0 0}.vipers-stats .vipers-stats__team-record-game a{color:#00512e;text-decoration:underline}.vipers-stats .vipers-stats__team-record-game a:focus-visible{outline:2px solid #00512e;outline-offset:3px}.vipers-stats .vipers-stats__season-selector{display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:100%}.vipers-stats .vipers-stats__season-selector select{max-width:100%;min-height:44px;padding:8px 12px;border:1px solid #dce5da;border-radius:10px;background:#fff;color:#101410;font:inherit}.vipers-stats .vipers-stats__season-selector button{min-height:44px;padding:8px 16px;border:1px solid #00512e;border-radius:999px;background:#00512e;color:#fff;font:inherit;cursor:pointer}.vipers-stats .vipers-stats__season-selector select:focus-visible,.vipers-stats .vipers-stats__season-selector button:focus-visible{outline:2px solid #00512e;outline-offset:3px}.vipers-stats .vipers-stats__season-status{color:#667066;margin:4px 0}