@font-face{font-family:BettersHead;src:url('oswald-bold.woff2') format('woff2');font-display:swap;font-weight:700}
:root{--red:#ed072a;--gold:#ffcc29;--muted:#b8b3b6;--line:#ffffff18;--panel:#120e11}
body{background:#090709 url('texture.webp') center top/cover fixed;color:#faf8f8;font-family:Arial,sans-serif;line-height:1.6;overflow-x:hidden}body:before{content:'';position:fixed;inset:0;background:linear-gradient(90deg,#080709ed,#080709b8 65%,#1b080eb8);pointer-events:none;z-index:-1}
.wrap{width:min(1320px,calc(100% - 64px))}header{background:#000202f5;border-bottom:1px solid #ec002956;backdrop-filter:blur(16px)}.header{min-height:100px;padding:14px 0;flex-wrap:nowrap;gap:30px}.brand{display:block;flex-shrink:0}.header-logo{width:190px;height:76px;object-fit:contain;display:block}nav{gap:19px;justify-content:flex-end}nav a{font-family:BettersHead,'Arial Narrow',sans-serif;font-size:16px;letter-spacing:.4px;white-space:nowrap;padding:12px 0;position:relative}nav a.active:after{content:'';height:3px;position:absolute;bottom:0;left:0;right:0;background:var(--red)}.notice{font-size:11px;background:#241018;color:#e1bcc4;padding:5px 15px;border-bottom:1px solid #ffffff12}
h1,h2,h3{font-family:BettersHead,'Arial Narrow',Arial,sans-serif;font-weight:700;letter-spacing:0}h1{line-height:1.06}h2{font-size:clamp(30px,3.4vw,45px)}h3{line-height:1.25}.eyebrow{font-size:11px;color:var(--gold);font-weight:700;letter-spacing:2.6px}.page-top{padding:48px 0 28px;border-bottom:1px solid #ec00292e;margin-bottom:28px}.page-top h1{font-size:clamp(36px,4vw,58px);margin:18px 0 14px}.back{font-weight:700;font-size:12px}.back:hover{text-decoration:underline}.section{padding:65px 0}.section-intro{color:var(--muted);margin-bottom:30px}.section-head{align-items:center}.section-head a{font-size:13px}
.btn{background:linear-gradient(120deg,#f31536,#d80021);border:1px solid #ffcc29;border-radius:8px;font:700 15px BettersHead,Arial,sans-serif;letter-spacing:.6px;min-height:45px;padding:12px 22px;box-shadow:0 5px 18px #c8002020;transition:transform .15s,border-color .15s,background .15s}.btn:hover{transform:translateY(-2px);filter:brightness(1.1)}.btn.secondary{background:#0a080a;border-color:#ffffff40;box-shadow:none}.btn.secondary:hover{border-color:var(--gold)}.btn:disabled{transform:none}
.home-scene{background:linear-gradient(90deg,#070507e8 0%,#070507b0 35%,#07050718 75%),url('hero.webp') center 40%/cover}.scene:after{display:none}.hero{min-height:620px;padding:50px 0}.hero-copy{max-width:670px}.hero-logo{width:270px;height:105px;object-fit:contain;object-position:left center;display:block;margin:22px 0}.hero h1{font-size:clamp(58px,7vw,94px);margin:20px 0}.hero .lead{font-size:17px;max-width:530px;font-weight:500;color:#eee;line-height:1.75}.hero .buttons{margin-top:28px}.hero-season{display:flex;align-items:center;gap:12px;font-weight:bold;font-size:11px;letter-spacing:1px;margin-top:38px;flex-wrap:wrap}.hero-season>span:last-child{color:#bfb5b9;font-size:10px}.live-dot{width:7px;height:7px;background:var(--red);border-radius:100%;box-shadow:0 0 0 5px #ec002920}.stats{margin:0 0 40px;background:#080609ed;border:1px solid #a3822d;box-shadow:0 15px 50px #0006;border-radius:12px}.stat{padding:25px}.stat strong{font:700 48px BettersHead,Arial,sans-serif}.stat span{font-size:10px;letter-spacing:1px}.stat:after{content:'';display:block;background:var(--red);height:3px;width:40px;margin:17px auto 0}
.grid{gap:24px}.card{border:1px solid #6d2735;border-radius:12px;background:linear-gradient(150deg,#261016dd,#100d10f2 50%,#0a080af7);box-shadow:0 12px 35px #0003;transition:border-color .18s,transform .18s}.card:hover{border-color:#ed072a}.league-card{padding:26px;display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:340px;border-top:3px solid var(--red)}.league-card:before{content:'';position:absolute;right:-36px;top:0;bottom:0;width:120px;background:linear-gradient(120deg,#ed072a12,transparent);transform:skewX(-18deg);pointer-events:none}.league-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:82px}.league-card-top .eyebrow{font-size:8px;letter-spacing:1.2px;text-align:right;max-width:78px}.league-crest{width:84px;height:84px;object-fit:contain}.league-card h3{font-size:27px;margin:22px 0 14px}.league-card .venue-label{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin:0}.league-card .venue{font-size:12px;line-height:1.8;color:#d0c6c9;margin:5px 0 24px;flex:1}.league-card-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px;position:relative}.league-match-link{font-size:11px;color:#cfc3c8}.league-match-link:hover{color:var(--gold)}.tool-card{border-left:3px solid var(--red);padding:28px;min-height:220px}.tool-card h3{font-size:30px}.tool-card p{color:#c1b6bc;line-height:1.7}.tool-card .btn{margin-top:12px}.tabs{gap:8px;margin:24px 0}.tabs a{background:#110d10;border-color:#512530;font-size:12px;border-radius:6px;padding:10px 17px}.tabs a:hover{border-color:var(--red)}.tabs a.active{background:var(--red);box-shadow:0 3px 15px #ec002930}
.syncbar{padding:12px 17px;border-color:#572432;background:#170e12;margin-bottom:24px;font-size:11px;color:#c4b7bd}.syncbar .btn{font-size:11px;min-height:32px;padding:7px 13px}.table-wrap{border:1px solid #73303f;border-radius:10px;background:#0c090cf0;box-shadow:0 20px 45px #0004}.table-wrap th{background:#3a0c17!important;color:#ecd9df;font-weight:700;letter-spacing:.2px}.table-wrap td{border-bottom:1px solid #ffffff0b;padding-block:16px!important}.table-wrap tbody tr:hover{background:#ffffff06!important}.table-wrap tbody tr.qualifying{background:linear-gradient(90deg,#660d2580,#270d1580)!important}.table-wrap td:first-child{font-family:BettersHead,Arial,sans-serif;font-size:18px!important}.player-link{text-decoration:none;color:#fff;transition:color .15s}.player-link:hover{color:var(--gold);text-decoration:underline;text-underline-offset:4px}.round-heading{padding:0 0 13px;margin-top:35px;border-bottom:1px solid #8b263d}.round-heading h3{background:linear-gradient(90deg,#e50028,#9b0c25);padding:10px 22px;border-radius:5px 14px 5px 5px;font-size:25px}.round-heading span{font-size:11px}.matches{gap:12px}.match,.profile-match{background:linear-gradient(110deg,#2b0c17dd,#110d10f5 55%);border:1px solid #632033;border-left:3px solid var(--red);border-radius:9px;box-shadow:0 8px 20px #0002;padding:20px;transition:transform .15s,border-color .15s}.match:hover{transform:translateY(-2px);border-color:var(--red)}.match>span:nth-child(2),.match>span:nth-child(4){font-weight:700;line-height:1.5}.match strong,.profile-match strong{font-family:BettersHead,Arial,sans-serif;font-size:30px;color:#fff}.tag{background:#25151c;border:1px solid #7c3f50;color:#edc66e;font-size:9px;line-height:1.6;padding:6px 9px}.match>span:first-child{font-size:10px;letter-spacing:.4px}.empty{border:1px solid #592331;background:#110c10eb;border-radius:13px;padding:32px}.empty:has([data-match-panel])>h2{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:26px;text-align:center;text-transform:none;font-size:clamp(24px,3vw,40px);padding:25px 0 35px;border-bottom:1px solid #512231}.empty:has([data-match-panel])>h2 br{display:none}.empty:has([data-match-panel])>h2>span{font-size:56px;color:var(--gold)!important;white-space:nowrap}.match-stats{border:1px solid #4c1d2d;border-radius:8px;border-collapse:separate;border-spacing:0;overflow:hidden;margin-top:20px}.match-stats th{background:#300b17;color:#fff;font-size:12px}.match-stats tbody th{background:#1e1017;color:#bfaeb7;font-weight:normal}.match-stats td{font-weight:bold;font-size:17px;color:#fff;border-bottom:1px solid #ffffff0b}.match-stats tbody tr:nth-child(even){background:#ffffff02}.leg-details{background:#1d0e16;border-color:#5b2638;border-left:3px solid var(--red)}.leg-details summary{font-family:BettersHead,Arial,sans-serif;font-size:19px;letter-spacing:.2px}
.player-card{padding:18px;overflow:hidden;position:relative;border-top:3px solid var(--red)}.player-card .eyebrow{margin-top:20px;font-size:9px;letter-spacing:1.2px}.player-card h3{min-height:55px;font-family:BettersHead,Arial,sans-serif;font-size:23px;text-transform:none}.player-card p{font-size:12px}.player-card .btn{margin-top:10px}.portrait{position:relative;overflow:hidden;border:1px solid #632439;background:radial-gradient(ellipse at 50% 70%,#6b1535 0%,#250c1a 60%,#0c080d 100%);border-radius:8px;display:flex;align-items:flex-end;justify-content:center}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.portrait svg{height:95%;max-width:90%;fill:#ffffff15}.portrait span{position:absolute;bottom:12px;right:15px;font:700 26px BettersHead,Arial,sans-serif;color:#ffffff70}.portrait-small{height:180px}.portrait-large{float:right;width:185px;height:210px;margin-left:35px;margin-bottom:20px;border-bottom:3px solid var(--red)}.portrait-large span{font-size:35px}.player-title{font-size:clamp(35px,4vw,56px)!important;max-width:1000px}.profile-summary,.profile-stats{gap:14px}.profile-summary .card,.profile-stats .card{border-color:#4d2433;border-top:2px solid #c9143b;padding:19px}.profile-summary strong,.profile-stats strong{font:700 37px BettersHead,Arial,sans-serif;color:#fff}.profile-summary .muted,.profile-stats .muted{color:#ba9eab;line-height:1.6;font-size:11px}.profile-match .btn{font-size:12px}.players-group>h2{border-left:5px solid var(--red);padding-left:18px;margin-top:36px}
.typer-section{background:linear-gradient(120deg,#4f0c20cc,#130912eb),url('league-bg.webp') center/cover;border-block:1px solid #b22640}.typer-banner{display:flex;justify-content:space-between;align-items:center;gap:35px}.typer-banner p{color:#cfbec5}.typer-banner h2{font-size:clamp(35px,4vw,55px)}.sponsor-logos{grid-template-columns:repeat(6,minmax(0,1fr));gap:17px}.sponsor-logos .sponsor{display:flex;align-items:center;justify-content:center;min-height:125px;padding:22px;border:1px solid #4b2530;border-radius:10px;background:#070707bd;transition:border-color .15s,transform .15s}.sponsor-logos .sponsor:hover{border-color:var(--red);transform:translateY(-3px)}.sponsor img{width:100%;height:65px;object-fit:contain}.contact-form{background:linear-gradient(140deg,#320e20,#100b10);border-color:#9d2343}.contact-form h2{font-size:32px}.contact-form label,.contact-form legend{font-size:13px}.contact-form input:not([type=checkbox]),.contact-form textarea{border-color:#785264;background:#080609}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--red);outline-offset:2px}.rules-text{background:#130c10eb;border-color:#6f2a3f;line-height:1.95;font-size:15px}.prose .empty{color:#cfbec6}
footer{background:#000202;border-top:2px solid #a51835;padding:50px 0 0;margin-top:35px}.footer-main{display:grid;grid-template-columns:1.1fr 1.2fr 1.2fr 1fr;gap:40px;align-items:start}.footer-logo{width:175px;height:75px;object-fit:contain}.footer-main>div>a{display:block;font-size:12px;margin:10px 0;color:#c0b2b8}.footer-main a:hover{color:var(--gold)}.footer-partner img{width:150px;height:65px;object-fit:contain}.footer-main .eyebrow{font-size:9px;letter-spacing:1.7px}.footer-bottom{margin-top:40px;padding:20px 0;border-top:1px solid #3c1e27;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#947d87}
@media(min-width:900px){#app>.wrap.section:has(.table-wrap){width:calc(100% - 64px);max-width:1680px}.table-wrap table{width:100%;table-layout:fixed}.table-wrap th{font-size:10px!important}.table-wrap td{font-size:12px!important;overflow-wrap:anywhere}.table-wrap td:nth-child(2){overflow-wrap:normal}}
@media(max-width:1180px){.header{gap:20px}.header-logo{width:155px;height:64px}nav{gap:12px}nav a{font-size:14px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sponsor-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.league-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.wrap{width:calc(100% - 36px)}.header{flex-wrap:wrap;min-height:82px;padding:12px 0}.menu-toggle{display:block}nav{display:none;width:100%;justify-content:flex-start}nav.open{display:flex}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-wrap table{white-space:normal;font-size:11px}.table-wrap th,.table-wrap td{padding:10px 6px}.hero{min-height:590px}.hero h1{font-size:70px}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.wrap{width:calc(100% - 28px)}.notice{font-size:9px}.header-logo{width:142px;height:55px}.header{min-height:76px}.page-top{padding:28px 0 22px;margin-bottom:22px}.page-top h1{font-size:38px}.section{padding:40px 0}.hero{min-height:570px;padding:25px 0}.home-scene{background-position:58% top;background-image:linear-gradient(90deg,#080509f2,#080509b8),url('hero.webp')}.hero-logo{width:220px;height:85px;margin:14px 0}.hero h1{font-size:62px}.hero .lead{font-size:14px;line-height:1.85}.hero .buttons{gap:10px}.hero .btn{font-size:13px;padding:12px 15px}.hero-season{font-size:10px;margin-top:25px}.stats{border-radius:9px;margin-bottom:20px}.stat{padding:16px 10px}.stat strong{font-size:35px}.stat span{font-size:8px}.stat:after{margin-top:10px}.section-head{align-items:flex-start;flex-direction:column;gap:0}.grid{gap:13px}.league-card{padding:18px 14px;min-height:325px}.league-crest{width:65px;height:65px}.league-card-top .eyebrow{font-size:7px;letter-spacing:.6px}.league-card h3{font-size:23px;overflow-wrap:anywhere;margin-top:17px}.league-card .venue{font-size:11px}.league-card .btn{font-size:12px;padding:11px 12px;min-height:40px}.league-match-link{font-size:10px}.league-card-top{min-height:65px}.league-tools .tool-card{padding:20px 16px;min-height:200px}.tool-card h3{font-size:26px}.tool-card p{font-size:11px}.tool-card .btn{font-size:12px;padding:9px 14px}.tabs{gap:6px}.tabs a{font-size:10px;padding:9px 11px}.syncbar{font-size:10px;padding:12px}.round-heading h3{font-size:22px}.round-heading span{font-size:9px}.match{padding:16px 13px}.match>span:nth-child(2),.match>span:nth-child(4){font-size:11px}.match strong{font-size:27px}.tag{font-size:9px}.empty{padding:19px 14px}.empty:has([data-match-panel])>h2{grid-template-columns:1fr;gap:14px;font-size:27px;padding-top:10px}.empty:has([data-match-panel])>h2>span{font-size:44px}.match-stats th,.match-stats td{padding:10px 6px!important;font-size:11px!important}.match-stats th:first-child{width:36%}.match-stats td{font-size:13px!important}.leg-details{padding:12px}.leg-details summary{font-size:16px}.portrait-small{height:145px}.player-card{padding:12px}.player-card h3{font-size:20px;line-height:1.35;min-height:65px}.player-card p{font-size:10px}.player-card .btn{font-size:12px;padding:10px}.portrait-large{width:100px;height:125px;margin-left:15px}.player-title{font-size:31px!important}.profile-summary,.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-summary .card,.profile-stats .card{padding:15px}.profile-summary strong,.profile-stats strong{font-size:32px}.profile-match{padding:14px;font-size:12px}.typer-banner{align-items:flex-start;flex-direction:column}.sponsor-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sponsor-logos .sponsor{min-height:100px;padding:15px}.sponsor img{height:55px}.footer-main{gap:28px}.footer-logo{width:140px}.footer-partner img{width:120px}.footer-bottom{font-size:9px;flex-direction:column;gap:5px}.rules-text{padding:18px;font-size:13px;line-height:1.9}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.sponsor-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.about-intro{display:grid;grid-template-columns:1.6fr 1fr;gap:50px;align-items:center;margin-bottom:40px}.about-intro p{color:#d1c3cb;line-height:1.95}.about-logo{width:100%;max-width:350px}.about-cards .card{padding:25px}.about-cards p{font-size:13px;color:#bfaeb7}@media(max-width:760px){.about-intro{grid-template-columns:1fr;gap:20px}.about-logo{max-width:220px}.sponsor-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 0.7: sportowa typografia i wyrównane widoczne rozmiary znaków. */
@font-face{font-family:BettersSport;src:url('barlow-condensed-bold.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:BettersSport;src:url('barlow-condensed-semi_bold.woff') format('woff');font-weight:600;font-display:swap}
@font-face{font-family:BettersText;src:url('inter-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:BettersText;src:url('inter-bold.woff') format('woff');font-weight:600;font-display:swap}
@font-face{font-family:BettersText;src:url('inter-bold.woff') format('woff');font-weight:700;font-display:swap}
body,button,input,textarea{font-family:BettersText,Arial,sans-serif}
h1,h2,h3,nav a,.btn,.stat strong,.table-wrap td:first-child,.round-heading h3,.match strong,.profile-match strong,.leg-details summary,.player-card h3,.portrait span,.profile-summary strong,.profile-stats strong{font-family:BettersSport,'Arial Narrow',Arial,sans-serif}
h1,h2,h3{font-weight:700;letter-spacing:.3px}nav a{font-size:17px;font-weight:700;letter-spacing:.5px}.btn{font-size:16px;letter-spacing:.8px}.league-card h3{font-size:30px}.player-card h3{font-size:25px}.table-wrap td{font-variant-numeric:tabular-nums}.league-card-top{min-height:104px}.league-crest{width:108px;height:104px;object-fit:contain;object-position:left center}.sponsor-logos .sponsor{min-height:145px;padding:28px}.sponsor-logos .sponsor img{max-width:100%;width:auto;max-height:85px;height:85px;object-fit:contain}.sponsor-logos .sponsor:has(img[src*="kasprint"]){padding:25px 45px}
@media(max-width:1180px){nav a{font-size:15px}}
@media(max-width:600px){.league-card-top{min-height:83px}.league-crest{width:85px;height:83px}.league-card-top .eyebrow{max-width:52px}.league-card h3{font-size:25px}.player-card h3{font-size:23px}.btn{font-size:14px}.sponsor-logos .sponsor{min-height:110px;padding:20px}.sponsor-logos .sponsor img{max-height:65px;height:65px}.sponsor-logos .sponsor:has(img[src*="kasprint"]){padding:20px 28px}}

/* 0.8: zielona strefa awansu i prostszy publiczny widok. */
.notice,.syncbar{display:none!important}
.table-wrap tbody tr.qualifying{background:linear-gradient(90deg,#0b572e99,#0b281ca6)!important}
.table-wrap tbody tr.qualifying td:first-child{border-left:3px solid #28d579!important;color:#63edaa!important}
.table-wrap tbody tr.qualifying:hover{background:#15533199!important}
.match{grid-template-columns:65px minmax(0,1fr) 80px minmax(0,1fr)}
@media(max-width:760px){.match{grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr)}.match>span:first-child{grid-column:1/-1}}

/* Etap 2: zatwierdzona sekcja główna, ikony zamiast kresek. */
.stat:after{display:none}.season-icon{display:block;width:47px;height:47px;color:#ed072a;margin:0 auto 14px}.stat{padding:24px 18px 27px}.stat strong{font-size:50px}.stat>span{display:block;margin-top:6px;font-size:10px;letter-spacing:1px}.official-title>span{display:block}.hero .official-title{font-size:clamp(68px,7.5vw,100px);letter-spacing:1px;line-height:.98;margin:22px 0 25px;text-shadow:0 3px 20px #0008}.official-title small{display:block;font-family:BettersSport,Arial,sans-serif;font-size:clamp(29px,3vw,42px);letter-spacing:1px;line-height:1.25;margin-top:17px;color:#fff}.hero-description{border-left:3px solid #ed072a;padding-left:20px;margin:25px 0 0}.hero .hero-description strong{display:block;font-size:20px;line-height:1.6;font-weight:700;color:#fff}.hero-description>span{display:block;margin-top:10px;font-size:15px;line-height:1.9;color:#d2c7cc;max-width:470px}.hero-description b{font-weight:700;color:#fff}.home-scene .hero{min-height:760px}.home-scene .hero-logo{width:240px;height:96px;margin:12px 0}.home-scene .hero-copy{max-width:700px}.home-scene .hero-season{margin-top:27px}
@media(max-width:600px){.home-scene .hero{min-height:720px;padding:30px 0 35px}.hero .official-title{font-size:65px;line-height:1.02;letter-spacing:.5px;margin:20px 0}.official-title small{font-size:29px;margin-top:13px}.hero .hero-description strong{font-size:17px;line-height:1.65}.hero-description>span{font-size:13px;line-height:1.85}.hero-description{padding-left:14px;margin-top:22px}.season-icon{width:37px;height:37px;margin-bottom:10px}.stat strong{font-size:36px}.stat{padding:20px 12px}.stat>span{font-size:8px;letter-spacing:.7px}.home-scene .hero-logo{width:205px;height:80px}.home-scene .hero-copy>.eyebrow{font-size:9px;letter-spacing:1.7px}}

/* Nagłówek: nazwa rodzaju rozgrywek obok znaku ligi. */
.home-scene .hero-copy{max-width:850px}.hero-identity{display:flex;align-items:center;gap:28px;margin:30px 0}.hero .hero-identity .official-title{font-size:clamp(54px,5.4vw,78px);margin:0;line-height:1.02;letter-spacing:.3px;flex:0 0 auto}.hero .hero-identity .hero-logo{width:300px;height:auto;max-height:150px;object-fit:contain;margin:0;flex:0 1 300px}.hero-description{max-width:570px}
@media(max-width:1100px){.hero .hero-identity .official-title{font-size:63px}.hero .hero-identity .hero-logo{width:245px;flex-basis:245px}.hero-identity{gap:22px}}
@media(max-width:600px){.hero-identity{gap:14px;flex-wrap:wrap;align-items:center;margin:25px 0}.hero .hero-identity .official-title{font-size:48px}.hero .hero-identity .hero-logo{width:175px;max-height:85px;flex:0 1 175px}.home-scene .hero{min-height:650px}}
@media(min-width:460px) and (max-width:600px){.hero-identity{flex-wrap:nowrap}.hero .hero-identity .official-title{font-size:44px}}
@media(max-width:600px){.hero-identity{display:grid;grid-template-columns:1.08fr 1fr;gap:12px;width:100%}.hero .hero-identity .official-title{font-size:clamp(30px,9.8vw,48px);min-width:0}.hero .hero-identity .hero-logo{width:100%;max-height:100px;height:auto;min-width:0}}

/* Oryginalne symbole sezonu z materiałów Liga501. */
.season-icon{width:64px;height:64px;object-fit:contain;mix-blend-mode:screen;margin:0 auto 16px}
@media(max-width:600px){.season-icon{width:52px;height:52px;margin-bottom:12px}}

/* Linki społecznościowe w stopce. */
.footer-social{display:flex;align-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap}.footer-social>.eyebrow{flex:0 0 100%;margin-bottom:8px}.footer-main .footer-social .social-icon-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;border-radius:8px;transition:transform .15s}.social-icon-link svg{display:block;width:36px;height:36px}.social-icon-link:hover{transform:translateY(-2px)}.social-icon-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Wyróżnienie finału według układu strony źródłowej. */
.hero .hero-description{max-width:650px}.hero .hero-description>span{font-size:19px;font-weight:600;line-height:1.6;max-width:none;color:#fff}.hero-description .hero-final{display:inline-block;margin-top:10px;padding:10px 16px;background:#204f92;border-radius:10px;color:#fff;font-family:BettersSport,Arial,sans-serif;font-size:clamp(27px,2.8vw,38px);font-weight:700;line-height:1.2;box-shadow:0 6px 20px #0003}
@media(max-width:600px){.hero .hero-description>span{font-size:16px}.hero-description .hero-final{font-size:27px;padding:10px 12px;line-height:1.25}}

/* Wyraźniejsza zapowiedź sezonu nad nagłówkiem. */
.home-scene .hero-copy>.eyebrow{font-size:15px;font-weight:800;letter-spacing:1.8px;line-height:1.6}
@media(max-width:600px){.home-scene .hero-copy>.eyebrow{font-size:12px;font-weight:800;letter-spacing:1px;line-height:1.6}}

/* Typografia: sportowe nagłówki, czytelny tekst i równe cyfry. */
h1,h2,h3,.hero .official-title,.hero-description .hero-final,.round-heading h3,.leg-details summary{font-family:BettersSport,"Arial Narrow",Arial,sans-serif;font-weight:600}
body,button,input,textarea,nav a,.player-card h3,.player-title,.player-link{font-family:BettersText,Arial,sans-serif}
nav a{font-size:12px;font-weight:700;letter-spacing:.1px}
.player-card h3{font-size:19px;font-weight:700;line-height:1.4}.player-title{font-weight:700}
.stat strong,.table-wrap td:first-child,.match strong,.profile-match strong,.portrait span,.profile-summary strong,.profile-stats strong,.match-stats td,table{font-family:BettersText,Arial,sans-serif;font-variant-numeric:tabular-nums lining-nums}
.stat strong,.match strong,.profile-match strong,.profile-summary strong,.profile-stats strong{font-weight:700}.stat strong{font-size:44px;letter-spacing:-1.5px}.profile-summary strong,.profile-stats strong{font-size:32px}.match strong,.profile-match strong{font-size:26px}
@media(max-width:600px){.stat strong{font-size:32px;letter-spacing:-1px}.player-card h3{font-size:18px}}

/* Większy przycisk typera na stronie głównej. */
.typer-banner>.btn{font-size:20px;min-height:60px;padding:17px 30px}
@media(max-width:600px){.typer-banner>.btn{font-size:18px;min-height:54px;padding:14px 24px}}

/* O lidze — układ oparty na oryginalnych materiałach klienta. */
.about-overview{text-align:center;background:linear-gradient(#09070988,#09070988)}.about-overview h1{font-size:clamp(38px,4.5vw,60px);margin:12px 0 28px}.about-overview h1 span,.about-journey h2 span{color:var(--red)}.about-copy{max-width:1050px;margin:auto;font-size:16px;line-height:1.9}.about-copy p{white-space:pre-line;margin:0 0 23px}.about-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:38px}.about-benefit{padding:24px;text-align:center}.about-benefit>div{display:flex;align-items:center;justify-content:center;gap:18px;min-height:90px}.about-symbol{width:74px;height:78px;object-fit:contain;mix-blend-mode:screen;flex-shrink:0}.about-benefit h2{font-size:28px;color:var(--gold);margin:0;text-transform:uppercase}.about-benefit p{font-size:14px;line-height:1.8;margin-bottom:0}.about-journey{text-align:center;border-block:1px solid #ffffff18;background:linear-gradient(120deg,#26091066,#080709aa)}.about-journey h2{font-size:clamp(32px,4vw,52px)}.journey-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:25px;list-style:none;padding:0;margin:48px 0}.journey-steps li{position:relative}.step-number{color:var(--red);font-weight:700;font-size:17px}.step-symbol{width:110px;height:110px;margin:12px auto 22px;border:2px solid var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#070707}.step-symbol .about-symbol{width:68px;height:70px}.journey-steps li:not(:last-child):after{content:"→";position:absolute;top:62px;right:-24px;color:var(--red);font-size:34px;font-weight:700}.journey-steps h3{font-size:24px;text-transform:uppercase;min-height:58px}.journey-steps p{font-size:13px;line-height:1.8;color:#d2c7cc}.about-journey .buttons{justify-content:center}.about-sponsors{text-align:center;border-top:1px solid #ffffff18}.about-sponsors h2{display:inline-block;background:var(--red);padding:8px 20px;border-radius:10px;font-size:32px}.reflected-sponsors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:45px;align-items:start;padding:40px 0 0}.reflected-sponsors a{display:flex;flex-direction:column;align-items:center;padding:12px;border-radius:8px}.reflected-sponsors a:focus-visible{outline:2px solid var(--gold)}.reflected-sponsors img{display:block;width:100%;height:90px;object-fit:contain}.reflected-sponsors .sponsor-reflection{transform:scaleY(-1);opacity:.27;mask-image:linear-gradient(to top,#0009,transparent 80%);-webkit-mask-image:linear-gradient(to top,#0009,transparent 80%);pointer-events:none;margin-top:3px}
@media(max-width:1000px){.journey-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-steps li:nth-child(3):after{display:none}.about-benefit>div{flex-direction:column}.reflected-sponsors{gap:20px}}
@media(max-width:600px){.about-copy{font-size:14px;text-align:left}.about-benefits{grid-template-columns:1fr;gap:16px}.about-benefit>div{flex-direction:row;min-height:72px}.about-benefit h2{font-size:26px}.about-symbol{width:62px;height:66px}.journey-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.journey-steps li:after{display:none}.journey-steps h3{font-size:22px;margin:12px 0;min-height:52px}.journey-steps p{font-size:12px}.step-symbol{width:94px;height:94px;margin-bottom:16px}.reflected-sponsors{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;padding-top:24px}.reflected-sponsors img{height:70px}.reflected-sponsors .sponsor-reflection{height:70px}.about-sponsors h2{font-size:28px}}

/* Spójne tło i mocniejsza hierarchia zakładki O lidze. */
.about-page-scene{background:#08090a url("about-background.webp") center top/100% 100% no-repeat}.about-page-scene>.section{background:transparent;border:0}.about-page-scene .about-overview h1,.about-page-scene .about-journey h2,.about-benefit h2,.journey-steps h3,.about-sponsors h2{font-weight:700}.about-benefit{background:linear-gradient(to top,#777 0%,#3b3b3b 16%,#111 40%,#070909 75%);border:1px solid #565256;box-shadow:0 10px 22px #0004}.about-benefit>div{min-height:100px}.about-benefit h2{font-size:30px;line-height:1.15}.about-benefit p{font-weight:600;line-height:1.7;color:#f5f5f5;min-height:72px}.about-page-scene .about-journey h2{line-height:1.15}.journey-steps{align-items:start}.journey-steps li{display:grid;grid-template-rows:28px 150px 64px auto;align-items:start}.journey-steps .step-number{line-height:28px}.journey-steps .step-symbol{margin:12px auto 22px}.journey-steps h3{margin:0;min-height:0;line-height:1.2;display:flex;align-items:flex-start;justify-content:center}.journey-steps p{margin:10px 0 0;font-weight:600;color:#f2eeee}.journey-steps li:not(:last-child):after{top:67px}
@media(max-width:1000px){.about-benefit>div{min-height:155px}.journey-steps{row-gap:38px}}
@media(max-width:600px){.about-benefit>div{min-height:85px}.about-benefit h2{font-size:28px}.about-benefit p{min-height:0}.journey-steps li{grid-template-rows:28px 130px 58px auto}.about-page-scene{background-size:auto 100%;background-position:center top}.journey-steps h3{font-size:23px}}

/* Numery etapów w czerwonych okręgach. */
.journey-steps li{grid-template-rows:150px 64px auto}.journey-steps .step-symbol{position:relative;flex-direction:column;gap:3px;padding:8px 0;box-sizing:border-box;margin:0 auto 24px}.journey-steps .step-symbol .step-number{font-family:BettersText,Arial,sans-serif;font-size:21px;font-weight:700;line-height:26px;color:#fff}.journey-steps .step-symbol .about-symbol{width:54px;height:54px}.journey-steps li:not(:last-child):after{top:28px}
@media(max-width:600px){.journey-steps li{grid-template-rows:125px 58px auto}.journey-steps .step-symbol .step-number{font-size:19px;line-height:23px}.journey-steps .step-symbol .about-symbol{width:46px;height:46px}}

/* Złote nazwy etapów drogi do finału. */
.about-journey .journey-steps h3{color:var(--gold)}

/* Białe logo GoDarts bez widocznego czarnego prostokąta. */
img[src$="godarts.webp"]{mix-blend-mode:screen}

/* Regulamin — czytelny dokument z podziałem na rozdziały i paragrafy. */
.rules-page{max-width:1060px}.rules-page .rules-text{white-space:normal;background:linear-gradient(145deg,#151316f5,#0c0c0ef7);border:1px solid #ffffff24;border-radius:12px;padding:clamp(22px,5vw,64px);font-size:15px;line-height:1.85;color:#eee;overflow-wrap:anywhere}.rules-text .rules-document-title{text-align:center;font-family:BettersSport,Arial,sans-serif;font-weight:700;font-size:clamp(27px,3vw,40px);line-height:1.25;margin:0 0 9px}.rules-document-meta{text-align:center;font-size:12px;color:#bdb8bd}.rules-text .rules-contents-title{font-size:27px;margin:38px 0 18px;color:var(--gold)}.rules-contents-item{font-size:14px;line-height:1.6;margin:0 0 9px}.rules-contents-item a{color:#eee;text-decoration:none}.rules-contents-item a:hover{color:var(--gold);text-decoration:underline}.rules-text .rules-chapter{font-size:clamp(27px,3vw,35px);line-height:1.25;margin:50px 0 26px;padding:20px 0 18px;border-top:1px solid #ffffff2b;border-bottom:2px solid var(--red);scroll-margin-top:130px;color:#fff}.rules-text .rules-paragraph{font-family:BettersText,Arial,sans-serif;font-size:17px;font-weight:700;line-height:1.5;margin:30px 0 14px;color:var(--gold)}.rules-text p{margin:0 0 11px;text-align:left}.rules-text p.rules-item{padding-left:20px;margin-bottom:8px}
@media(max-width:600px){.rules-page .rules-text{font-size:14px;line-height:1.85}.rules-text .rules-paragraph{font-size:16px}.rules-contents-item{font-size:13px}.rules-text .rules-chapter{margin-top:36px;scroll-margin-top:100px}}

/* Wyśrodkowane nagłówki i spis treści regulaminu. */
.rules-text .rules-contents-title,.rules-text .rules-contents-item,.rules-text .rules-chapter,.rules-text .rules-paragraph{text-align:center}.rules-text .rules-contents-item{max-width:760px;margin-left:auto;margin-right:auto}.rules-text .rules-chapter{padding-inline:12px}.rules-text .rules-paragraph{margin-top:34px;margin-bottom:18px}

.rules-external{display:flex;justify-content:center;margin-top:36px;text-align:center}.rules-sponsors{border-top:1px solid #ffffff18}.rules-sponsors h2{text-align:center;margin-bottom:30px}.rules-sponsors .sponsor-logos{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:760px){.rules-sponsors .sponsor-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.rules-sponsors .sponsor:last-child{grid-column:1/-1;width:calc(50% - 9px);justify-self:center}.rules-external .btn{font-size:17px}}

/* Motywy w tle kafelków centrum rozgrywek. */
.league-tools .tool-card{position:relative;isolation:isolate;overflow:hidden;min-height:240px;background:linear-gradient(145deg,#281017,#100c10 70%)}.league-tools .tool-card:before{content:"";position:absolute;z-index:-1;right:-20px;bottom:5px;width:200px;height:200px;background:var(--tool-image) center/contain no-repeat;opacity:.11;transform:rotate(-7deg);pointer-events:none;transition:opacity .18s}.tool-terminarz{--tool-image:url("tool-terminarz.svg")}.tool-tabele{--tool-image:url("tool-tabele.svg")}.tool-zawodnicy{--tool-image:url("tool-zawodnicy.svg")}.tool-ranking{--tool-image:url("tool-ranking.svg")}.league-tools .tool-card:hover:before{opacity:.17}.tool-card h3,.tool-card p,.tool-card .btn{position:relative;z-index:1}.league-tools .tool-card p{max-width:90%;color:#e3dbe0}.league-hub-sponsors{border-top:1px solid #ffffff18}.league-hub-sponsors h2{margin-bottom:30px}
@media(max-width:600px){.league-tools .tool-card{min-height:215px}.league-tools .tool-card:before{width:160px;height:160px;right:-25px;opacity:.10}}

/* Delikatne szare rozjaśnienie dolnej części kafelków centrum rozgrywek. */
.league-tools .tool-card{background:linear-gradient(to top,#555158 0%,#30292f 12%,#171016 35%,#160d12 70%,#231017 100%)}

/* Profile społecznościowe poszczególnych lig. */
.league-card-top{justify-content:space-between}.league-facebook{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;flex-shrink:0}.league-facebook svg{display:block}.league-facebook:focus-visible{outline:2px solid var(--gold);outline-offset:3px}a.league-facebook:hover{background:#1877f222}.league-facebook-pending{opacity:.35;filter:grayscale(1)}

/* Facebook obok tabeli i szary gradient kafelków lig. */
.league-cards .league-card{background:linear-gradient(to top,#565259 0%,#302b31 12%,#151014 37%,#110c10 70%,#211017 100%)}.league-card-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.league-card-action-row .btn{flex:0 1 auto}.league-card-action-row .league-facebook{flex:0 0 42px}.league-card-actions .league-match-link{align-self:flex-start}
@media(max-width:600px){.league-card-action-row{gap:6px}.league-card-action-row .league-facebook{width:34px;height:40px;flex-basis:34px}.league-card-action-row .league-facebook svg{width:28px;height:28px}.league-card-action-row .btn{padding-inline:8px}}

/* Spójne fonty i okrągłe herby lig. */
.league-tools .tool-card h3,.league-cards .league-card h3{font-family:BettersSport,"Arial Narrow",Arial,sans-serif;font-weight:600;letter-spacing:.2px}.league-tools .tool-card h3{font-size:32px}.league-cards .league-card h3{font-size:30px;line-height:1.15}.league-card .venue,.league-card .venue-label,.tool-card p{font-family:BettersText,Arial,sans-serif}.league-card .btn,.tool-card .btn{font-family:BettersSport,"Arial Narrow",Arial,sans-serif;font-weight:600}.league-card-top .league-crest{width:96px;height:96px;object-fit:contain;box-sizing:border-box;padding:7px;background:#030303;border-radius:50%;border:1px solid #ffffff35;overflow:hidden;box-shadow:0 5px 18px #0004}.league-card-top{min-height:96px}
@media(max-width:600px){.league-cards .league-card h3{font-size:25px}.league-tools .tool-card h3{font-size:28px}.league-card-top .league-crest{width:78px;height:78px;padding:6px}.league-card-top{min-height:78px}}

/* Wybór ligi i jej trzech widoków. */
.league-selection-title{margin:0 0 30px}.league-card-view-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}.league-card-view-links a{font-family:BettersText,Arial,sans-serif;font-size:12px;font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:4px}.league-card-view-links a:hover{color:var(--gold)}.league-view-tabs{justify-content:flex-start;margin-bottom:24px}.schedule-league-label{display:block;margin:0 0 8px;font-size:13px;font-weight:700}.schedule-league-select{display:block;max-width:420px;width:100%;margin:0 0 25px;padding:12px 16px;background:#171116;color:#fff;border:1px solid #87505f;border-radius:8px;font:inherit}.match-status-tabs{margin-bottom:25px}

.league-view-tabs+.player-league-filter{display:none}

/* Trzy równorzędne przyciski każdej ligi. */
.league-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.league-card .league-three-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin-top:auto;padding-top:18px}.league-three-actions .btn{display:flex;align-items:center;justify-content:center;padding:12px 6px;min-width:0;font-size:18px;text-align:center;letter-spacing:.2px}.league-card-top{display:flex;align-items:center;justify-content:space-between}.league-card-top .league-facebook{align-self:flex-start}
@media(max-width:600px){.league-cards{grid-template-columns:1fr}.league-card .league-three-actions{gap:8px}.league-three-actions .btn{font-size:17px;min-height:44px;padding:11px 5px}.league-cards .league-card{padding:22px;min-height:340px}}

/* Cztery zwarte kafelki lig w rzędzie, działania po prawej. */
.league-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.league-cards .league-card{display:grid;grid-template-columns:minmax(0,1fr) 94px;grid-template-rows:78px auto auto 1fr;column-gap:10px;row-gap:0;padding:18px 14px;min-height:300px}.league-card .league-card-top{grid-column:1/-1;grid-row:1;min-height:72px;margin-bottom:8px}.league-card-top .league-crest{width:68px;height:68px;padding:5px}.league-cards .league-card h3{grid-column:1;grid-row:2;font-size:25px;margin:14px 0 10px;overflow-wrap:anywhere}.league-card .venue-label{grid-column:1;grid-row:3;font-size:8px;letter-spacing:.5px;margin:0 0 6px}.league-card .venue{grid-column:1;grid-row:4;font-size:11px;line-height:1.7;margin:0;overflow-wrap:anywhere}.league-card .league-three-actions{grid-column:2;grid-row:2/5;display:flex;flex-direction:column;justify-content:center;gap:9px;margin:0;padding:10px 0 0;align-self:stretch}.league-three-actions .btn{width:100%;min-height:39px;padding:9px 4px;font-size:15px;letter-spacing:0;border-radius:20px}.league-card-top .league-facebook{width:36px;height:36px}.league-card-top .league-facebook svg{width:28px;height:28px}
@media(max-width:1100px){.league-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.league-cards .league-card{grid-template-columns:minmax(0,1fr) 112px}.league-three-actions .btn{font-size:17px}}
@media(max-width:600px){.league-cards{grid-template-columns:1fr;gap:14px}.league-cards .league-card{min-height:270px;padding:18px;grid-template-columns:minmax(0,1fr) 110px}.league-cards .league-card h3{font-size:27px}.league-card .venue{font-size:12px}.league-card .venue-label{font-size:9px}.league-three-actions .btn{min-height:42px;font-size:17px}}

/* Oryginalne tło kwalifikacji, widoczne po obu stronach centrum lig. */
.league-hub-scene{background:#0b0b0c url("about-background.webp") center top/100% 100% no-repeat}.league-hub-scene .page-top,.league-hub-scene .league-hub-sponsors{background:transparent}
@media(max-width:600px){.league-hub-scene{background-size:auto 100%;background-position:35% top}}

/* Adresy: lokal, ulica i miejscowość w osobnych wierszach. */
.league-card .venue{overflow-wrap:normal;word-break:normal;line-height:1.65}.venue-name,.venue-street,.venue-city{display:block}.venue-name{margin-bottom:4px}.venue-street{margin-bottom:2px}

/* Pełna nazwa widoku spotkań w wąskim przycisku. */
.league-three-actions .btn{line-height:1.15}.league-three-actions a[href^="#spotkania-"]{white-space:normal;font-size:14px}

/* Stały wybór ligi przez osiem okrągłych logotypów. */
.schedule-leagues{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;margin:0 0 32px}.schedule-league{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 5px;border:1px solid transparent;border-radius:12px;text-decoration:none;color:#ddd;background:#0b090b88;transition:background .15s,border-color .15s}.schedule-league .schedule-crest{width:80px;height:80px;padding:6px;box-sizing:border-box;object-fit:contain;border-radius:50%;border:2px solid #ffffff35;background:#030303}.schedule-league span{font-family:BettersSport,Arial,sans-serif;font-weight:600;font-size:20px;line-height:1.2;text-align:center}.schedule-league:hover{background:#30121b;border-color:#9e344d}.schedule-league.active{background:#37101c;border-color:var(--red);color:var(--gold)}.schedule-league.active .schedule-crest{border-color:var(--gold);box-shadow:0 0 0 3px #ffcc2912}.schedule-league:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:1000px){.schedule-leagues{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}}
@media(max-width:600px){.schedule-leagues{gap:8px;margin-bottom:24px}.schedule-league{padding:10px 3px;gap:8px}.schedule-league .schedule-crest{width:58px;height:58px;padding:4px}.schedule-league span{font-size:15px;overflow-wrap:anywhere}}

/* Widoki lig zaczynają się bezpośrednio od wyboru herbów. */
.league-content{padding-top:36px}
@media(max-width:600px){.league-content{padding-top:24px}}

/* Równe kolumny statystyk i czytelna siatka tabeli. */
#app .table-wrap th,#app .table-wrap td{text-align:center;vertical-align:middle;border-right:1px solid #ffffff20;word-break:normal;overflow-wrap:normal}#app .table-wrap th:last-child,#app .table-wrap td:last-child{border-right:0}#app .table-wrap th:nth-child(2),#app .table-wrap td:nth-child(2){text-align:left}#app .table-wrap th{line-height:1.45;hyphens:none}#app .table-wrap th:first-child{white-space:nowrap}#app .table-wrap td:not(:nth-child(2)){white-space:nowrap}#app .table-wrap tbody td:hover{background-color:#ffffff0c}
@media(min-width:900px){#app .table-wrap th,#app .table-wrap td{padding-left:6px;padding-right:6px}#app .table-wrap th:first-child,#app .table-wrap td:first-child{width:64px}#app .table-wrap th:nth-child(2),#app .table-wrap td:nth-child(2){width:22%}}
#app .table-wrap table:has(tbody td:nth-child(1):hover) :is(th,td):nth-child(1){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(2):hover) :is(th,td):nth-child(2){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(3):hover) :is(th,td):nth-child(3){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(4):hover) :is(th,td):nth-child(4){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(5):hover) :is(th,td):nth-child(5){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(6):hover) :is(th,td):nth-child(6){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(7):hover) :is(th,td):nth-child(7){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(8):hover) :is(th,td):nth-child(8){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(9):hover) :is(th,td):nth-child(9){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(10):hover) :is(th,td):nth-child(10){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(11):hover) :is(th,td):nth-child(11){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(12):hover) :is(th,td):nth-child(12){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(13):hover) :is(th,td):nth-child(13){border-right-color:#ffffff50;border-left:1px solid #ffffff50}
#app .table-wrap table:has(tbody td:nth-child(14):hover) :is(th,td):nth-child(14){border-right-color:#ffffff50;border-left:1px solid #ffffff50}

/* Symetryczne pary: nazwiska blisko wyniku pośrodku. */
.match-round .match{grid-template-columns:64px minmax(0,1fr) 80px minmax(0,1fr) 64px;gap:18px;padding:16px 20px}.match-round .match>span:first-child{grid-column:1}.match-round .match>span:nth-child(2){grid-column:2;text-align:right}.match-round .match>strong{grid-column:3;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.match-round .match>span:nth-child(4){grid-column:4;text-align:left}
@media(max-width:760px){.match-round .match{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:8px 12px;padding:14px}.match-round .match>span:first-child{grid-column:1/-1}.match-round .match>span:nth-child(2){grid-column:1}.match-round .match>strong{grid-column:2}.match-round .match>span:nth-child(4){grid-column:3}}

/* Średnie meczowe obok wyniku. */
.match-player{display:flex;align-items:center;gap:12px;min-width:0}.match-player-left{justify-content:flex-end}.match-player-right{justify-content:flex-start}.match-player>span:not(.match-average){min-width:0;overflow-wrap:anywhere}.match-average{flex-shrink:0;font-size:12px;font-weight:600;color:#d2bd8b;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:760px){.match-player{gap:5px;flex-wrap:wrap}.match-average{font-size:10px}}

/* Rozwijane kolejki spotkań. */
.match-round>summary.round-heading{cursor:pointer;list-style:none;user-select:none;margin-bottom:14px}.match-round>summary.round-heading::-webkit-details-marker{display:none}.round-toggle{display:block;width:12px;height:12px;margin-right:12px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg)}.match-round[open] .round-toggle{transform:rotate(225deg)}.match-round:not([open])>summary.round-heading{margin-bottom:0}.match-round>summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px;border-radius:5px}

/* Płynne rozwijanie i zwijanie kolejek. */
@supports (interpolate-size:allow-keywords){.match-round{interpolate-size:allow-keywords}.match-round::details-content{block-size:0;opacity:0;overflow:clip;transition:block-size .3s ease,opacity .22s ease,content-visibility .3s allow-discrete}.match-round[open]::details-content{block-size:auto;opacity:1}}
.match-round .round-toggle{transition:transform .25s ease}
@media(prefers-reduced-motion:reduce){.match-round::details-content,.match-round .round-toggle{transition:none!important}}

/* Miniaturki sylwetek w tabelach i parach meczowych. */
.player-mini{display:block;width:44px;height:60px;object-fit:contain;object-position:center bottom;flex:0 0 44px}.table-player{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.table-player .player-link{min-width:0;overflow-wrap:anywhere}.table-player .player-mini{width:38px;height:52px;flex-basis:38px}#app .table-wrap td:nth-child(2){padding-top:5px!important;padding-bottom:5px!important}.match-player .player-mini{width:48px;height:66px;flex-basis:48px}.match-player>span:not(.match-average){flex:0 1 auto}.match-round .match{min-height:92px}
@media(max-width:760px){.match-player{flex-wrap:nowrap;gap:5px}.match-player .player-mini{width:29px;height:46px;flex-basis:29px}.match-player .match-average{font-size:10px}.match-round .match{padding:12px 8px;column-gap:7px;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr)}.table-player .player-mini{width:30px;height:44px;flex-basis:30px}}

.table-player{justify-content:flex-start}

/* Indywidualny kadr każdej z 96 sylwetek: głowa 8 px od góry. */
.portrait{container-type:size}.portrait .framed-player{--photo-height:calc(max(100cqh,100cqw * var(--photo-ratio)) * var(--photo-scale));position:absolute;height:var(--photo-height);width:calc(var(--photo-height) / var(--photo-ratio));max-width:none;object-fit:fill;top:calc(8px - var(--photo-height) * var(--photo-top));left:50%;transform:translateX(calc(-100% * var(--photo-center)))}

/* Test: kadry twarzy tylko w tabeli Bielska-Białej. */
.table-player .player-face-mini{position:relative;display:block;flex:0 0 42px;width:42px;height:46px;overflow:hidden;border-radius:6px;background:#ffffff08}.table-player .player-face-mini .player-mini{--face-height:calc(46px * var(--face-scale));position:absolute;display:block;max-width:none;height:var(--face-height);width:calc(var(--face-height) / var(--face-ratio));top:calc(3px - var(--face-height) * var(--face-top));left:50%;transform:translateX(calc(-100% * var(--face-center)));object-fit:fill}

/* Test twarzy w parach meczowych wyłącznie Bielska-Białej. */
:is(.match-player,.profile-opponent) .player-face-mini{position:relative;display:block;flex:0 0 44px;width:44px;height:48px;overflow:hidden;border-radius:6px;background:#ffffff08}:is(.match-player,.profile-opponent) .player-face-mini .player-mini{--face-height:calc(48px * var(--face-scale));position:absolute;display:block;max-width:none;flex:none;height:var(--face-height);width:calc(var(--face-height) / var(--face-ratio));top:calc(3px - var(--face-height) * var(--face-top));left:50%;transform:translateX(calc(-100% * var(--face-center)));object-fit:fill}
@media(max-width:760px){:is(.match-player,.profile-opponent) .player-face-mini{width:32px;height:38px;flex-basis:32px}:is(.match-player,.profile-opponent) .player-face-mini .player-mini{--face-height:calc(38px * var(--face-scale))}}

/* Historia zawodnika: zwarta para z twarzą rywala. */
.profile-match{width:min(100%,1050px);margin-inline:auto;grid-template-columns:90px minmax(0,1fr) 76px 125px 150px;gap:16px;padding:14px 18px}.profile-opponent{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.profile-opponent .player-link{text-align:right;min-width:0;overflow-wrap:anywhere}.profile-match>strong{text-align:center;white-space:nowrap}.profile-match>span:nth-child(4){line-height:1.55}.profile-match small{display:inline-block;margin-top:3px;font-variant-numeric:tabular-nums}.profile-match>.btn{justify-self:end}
@media(max-width:1000px){.profile-match{grid-template-columns:75px minmax(0,1fr) 68px 110px;gap:12px}.profile-match>.btn{grid-column:2/-1}}
@media(max-width:600px){.profile-match{grid-template-columns:minmax(0,1fr) 65px;gap:10px;padding:14px}.profile-match>span:first-child{grid-column:1/-1}.profile-match .profile-opponent{grid-column:1;justify-content:flex-end}.profile-match>strong{grid-column:2}.profile-match>span:nth-child(4){grid-column:1/-1;text-align:right}.profile-match>.btn{grid-column:1/-1;justify-self:end}.profile-opponent{gap:8px}}

/* Porównanie formy w szczegółach meczu, również przed jego rozegraniem. */
.match-comparison{margin-top:48px}.match-comparison .section-head{margin-bottom:24px}.match-comparison .section-head>.muted{font-size:12px}.form-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.form-player,.form-direct{min-width:0;padding:24px;border:1px solid #743044;border-radius:12px;background:linear-gradient(145deg,#25111bdf,#0d0a0eeb)}.form-player h3,.form-direct h3{margin:0 0 10px;font-size:26px}.form-caption{font-size:12px;color:#bfb3ba;margin:0 0 18px}.form-game{display:grid;grid-template-columns:75px minmax(0,1fr) 40px 56px 28px;align-items:center;gap:10px;min-height:70px;padding:10px 0;border-top:1px solid #ffffff20}.form-game:hover{background:#ffffff07}.form-date{font-size:10px;color:#bfb3ba}.form-opponent{font-size:12px;font-weight:600;overflow-wrap:anywhere}.form-game>strong{text-align:center;white-space:nowrap;font-size:18px;font-variant-numeric:tabular-nums}.form-result{display:grid;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;border-radius:5px}.form-result.win{background:#164c31;color:#8af0b3}.form-result.loss{background:#651c2b;color:#ffc2cc}.form-result.draw{background:#5b4619;color:#ffe3a0}.form-empty{font-size:14px;color:#c7bac2;line-height:1.7;margin-bottom:0}.form-direct{margin-top:24px}.form-game .player-face-mini{position:relative;display:block;width:36px;height:42px;overflow:hidden;border-radius:6px;background:#ffffff08}.form-game .player-face-mini .player-mini{--face-height:calc(42px * var(--face-scale));position:absolute;max-width:none;width:calc(var(--face-height) / var(--face-ratio));height:var(--face-height);top:calc(3px - var(--face-height) * var(--face-top));left:50%;transform:translateX(calc(-100% * var(--face-center)));object-fit:fill}
@media(max-width:1000px){.form-players{grid-template-columns:1fr}}
@media(max-width:600px){.form-player,.form-direct{padding:17px}.form-game{grid-template-columns:52px minmax(0,1fr) 32px 48px 24px;gap:6px}.form-game .player-face-mini{width:30px;height:38px}.form-game .player-face-mini .player-mini{--face-height:calc(38px * var(--face-scale))}.form-opponent{font-size:11px}.form-game>strong{font-size:16px}.form-date{font-size:9px}.form-player h3{font-size:23px}}

/* Twarze obok wyniku i jeden nagłówek statystyk meczu. */
.empty:has([data-match-panel])>h2.match-scoreboard{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:22px}.empty:has([data-match-panel])>h2>.match-contestant{display:flex;align-items:center;gap:18px;font-size:clamp(20px,2.2vw,32px);line-height:1.25;white-space:normal;color:#fff!important;min-width:0}.match-contestant-left{justify-content:flex-end;text-align:right}.match-contestant-right{justify-content:flex-start;text-align:left}.match-contestant .player-link{min-width:0;overflow-wrap:anywhere}.match-contestant .player-face-mini{position:relative;display:block;flex:0 0 72px;width:72px;height:88px;border-radius:8px;overflow:hidden;background:#ffffff08}.match-contestant .player-face-mini .player-mini{--face-height:calc(88px * var(--face-scale));position:absolute;width:calc(var(--face-height) / var(--face-ratio));height:var(--face-height);max-width:none;top:calc(5px - var(--face-height) * var(--face-top));left:50%;transform:translateX(calc(-100% * var(--face-center)));object-fit:fill}.empty:has([data-match-panel])>h2>.match-score{font-size:52px}.match-played-date{font-family:BettersText,Arial,sans-serif;font-size:13px;color:#cbbfc6;margin:12px 0 0}.match-statistics-title{font-size:30px;margin:28px 0 20px;font-weight:600}
@media(max-width:760px){.empty:has([data-match-panel])>h2.match-scoreboard{grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr);gap:10px}.empty:has([data-match-panel])>h2>.match-contestant{flex-direction:column;gap:10px;font-size:18px;text-align:center;justify-content:flex-start}.match-contestant .player-face-mini{order:-1;width:48px;height:60px;flex-basis:60px}.match-contestant .player-face-mini .player-mini{--face-height:calc(60px * var(--face-scale))}.empty:has([data-match-panel])>h2>.match-score{font-size:34px}.match-statistics-title{font-size:27px}}

/* Zagnieżdżony przebieg meczu: najpierw lista legów, potem szczegóły lega. */
.match-progression{margin-top:30px;border:1px solid #6b2b3c;border-radius:10px;background:#170d13}.match-progression>summary{cursor:pointer;padding:18px 20px;font:600 27px BettersSport,Arial,sans-serif;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}.match-progression>summary::-webkit-details-marker{display:none}.match-progression>summary:after{content:"";width:10px;height:10px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);transition:transform .25s ease;margin-right:4px}.match-progression[open]>summary:after{transform:rotate(225deg)}.match-progression>summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.match-progression-legs{padding:0 18px 8px}.match-progression .leg-details{margin:10px 0}
@supports(interpolate-size:allow-keywords){.match-progression{interpolate-size:allow-keywords}.match-progression::details-content{block-size:0;opacity:0;overflow:clip;transition:block-size .3s ease,opacity .22s ease,content-visibility .3s allow-discrete}.match-progression[open]::details-content{block-size:auto;opacity:1}}
@media(max-width:600px){.match-progression>summary{font-size:24px;padding:15px}.match-progression-legs{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.match-progression::details-content,.match-progression>summary:after{transition:none!important}}

/* Kontakt bez dodatkowego panelu po prawej stronie. */
.contact-layout{grid-template-columns:minmax(0,1fr);max-width:820px;margin-inline:auto}

/* Pełna polityka prywatności klienta. */
.privacy-page{max-width:1060px}.policy-text{padding:clamp(22px,5vw,64px);border:1px solid #ffffff24;border-radius:12px;background:linear-gradient(145deg,#151316f5,#0c0c0ef7);font-family:BettersText,Arial,sans-serif;font-size:15px;line-height:1.85;color:#eee;overflow-wrap:anywhere}.policy-text h1{font-family:BettersSport,Arial,sans-serif;font-size:clamp(32px,4vw,45px);font-weight:600;text-align:center;margin:0 0 24px}.policy-text h2{font-size:29px;color:var(--gold);line-height:1.3;margin:40px 0 20px;padding-top:24px;border-top:1px solid #ffffff20;text-align:center}.policy-text h3{font-family:BettersText,Arial,sans-serif;font-size:17px;line-height:1.5;color:#fff;margin:25px 0 12px}.policy-text p{margin:0 0 10px}.policy-text .policy-intro{text-align:center;margin-bottom:5px}.policy-text .policy-item{padding-left:16px}
@media(max-width:600px){.policy-text{font-size:14px;line-height:1.8}.policy-text h2{font-size:25px}.policy-text h3{font-size:16px}}

/* Profil zawodnika: fotografia mieści się w nagłówku, nad statystykami. */
.page-top:has(> .portrait-large){display:grid;grid-template-columns:minmax(0,1fr) 240px;grid-template-rows:auto auto;column-gap:40px;row-gap:16px;align-items:center;padding-bottom:32px}
.page-top>.portrait-large{float:none;grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:end;width:240px;height:300px;margin:0}
.page-top:has(> .portrait-large)>.eyebrow{grid-column:1;grid-row:1;align-self:end;margin:0!important}
.page-top:has(> .portrait-large)>.player-title{grid-column:1;grid-row:2;align-self:start;min-width:0;max-width:none;margin:0;font-size:clamp(32px,3.8vw,54px)!important;line-height:1.15}
@media(max-width:760px){.page-top:has(> .portrait-large){grid-template-columns:minmax(0,1fr) 140px;column-gap:22px;row-gap:12px}.page-top>.portrait-large{width:140px;height:180px}.page-top:has(> .portrait-large)>.player-title{font-size:30px!important}.page-top:has(> .portrait-large)>.eyebrow{font-size:9px;letter-spacing:1.2px;line-height:1.6}}
@media(max-width:480px){.page-top:has(> .portrait-large){grid-template-columns:minmax(0,1fr) 110px;column-gap:16px;row-gap:10px}.page-top>.portrait-large{width:110px;height:150px}.page-top:has(> .portrait-large)>.player-title{font-size:25px!important}.page-top:has(> .portrait-large)>.eyebrow{font-size:8px;letter-spacing:1px}}

/* Miniatury twarzy w meczu zachowują szerokość także przy długich nazwiskach. */
.match-round .match-player>.player-face-mini{flex:0 0 44px;min-width:44px;width:44px}
@media(max-width:760px){.match-round .match-player>.player-face-mini{flex:0 0 32px;min-width:32px;width:32px}}


@media(max-width:760px){
.match-round .match-player{display:grid;align-self:stretch;grid-template-rows:1fr 38px;column-gap:6px;row-gap:7px}
.match-round .match-player-left{grid-template-columns:32px minmax(0,1fr);justify-content:normal}
.match-round .match-player-right{grid-template-columns:minmax(0,1fr) 32px;justify-content:normal}
.match-round .match-player-left>span:first-child,.match-round .match-player-right>span:last-child{grid-column:1 / -1;grid-row:1;align-self:center;min-width:0}
.match-round .match-player-left>.player-face-mini{grid-column:1;grid-row:2}
.match-round .match-player-left>.match-average{grid-column:2;grid-row:2}
.match-round .match-player-right>.match-average{grid-column:1;grid-row:2}
.match-round .match-player-right>.player-face-mini{grid-column:2;grid-row:2}
.match-round .match>strong{align-self:end;margin-bottom:3px}
}


/* Partnerzy w stopce: Dart Polska i Betters. */
.footer-partners{display:flex;flex-direction:column;align-items:flex-start;gap:24px;min-width:0}.footer-partners .footer-betters img{width:150px;max-width:100%;height:auto;max-height:60px;object-fit:contain}

/* Wyłącznie profil indywidualny: sylwetka oparta o dolną linię ramki. */
.page-top>.portrait-large .framed-player{top:auto;bottom:3px}
