:root{--ink:#111c35;--muted:#68758d;--bg:#f5f6fa;--surface:#fff;--border:#e5e9f2;--lav:#f3efff;--accent:#a51fdb;--pink:#f52e9a;--orange:#ff850d}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.shell{width:min(1120px,100% - 24px);margin-inline:auto}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;gap:12px;min-height:66px}.brand{display:flex;align-items:center;gap:8px;min-width:0;margin-right:auto}.brand img{object-fit:contain}.brand span{display:grid;gap:1px}.brand b{font-size:17px;white-space:nowrap;letter-spacing:-.5px}.brand i{font-style:normal;color:var(--accent)}.brand small{font-size:8px;letter-spacing:1px;color:var(--muted)}.menu-toggle,.theme-toggle{border:1px solid var(--border);background:var(--surface);border-radius:9px;min-width:40px;min-height:40px}.main-nav{display:none;position:absolute;z-index:30;top:66px;left:12px;right:12px;padding:12px;background:var(--surface);border:1px solid var(--border);box-shadow:0 15px 40px #111c3522;border-radius:12px}.main-nav.open{display:grid;gap:3px}.main-nav a{padding:12px;border-radius:8px;font-size:14px}.main-nav a:hover{background:var(--lav)}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0 14px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--pink)}h1{font-size:clamp(25px,6vw,37px);letter-spacing:-1.5px;line-height:1.15;margin:5px 0 0}h1 em{font-style:normal;background:linear-gradient(95deg,var(--accent),var(--pink),var(--orange));color:transparent;background-clip:text}.heading-link{white-space:nowrap;border-radius:10px;padding:10px 11px;background:linear-gradient(105deg,var(--accent),var(--pink),var(--orange));color:#fff;font-size:11px;font-weight:800}.board{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px;min-width:0}.toolbar{display:grid;gap:10px}.filters{display:flex;overflow-x:auto;gap:5px;scrollbar-width:none}.filters button{flex:none;padding:10px 12px;border-radius:9px;border:1px solid var(--border);background:var(--surface);font-size:12px;font-weight:750;white-space:nowrap}.filters button.active{background:var(--ink);border-color:var(--ink);color:#fff}#match-search{width:100%;min-width:0;border:1px solid var(--border);border-radius:9px;padding:11px 12px;background:var(--surface);color:var(--ink);font-size:13px}.dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:11px 0}.dates a{min-width:0;text-align:center;font-size:10px;font-weight:700;padding:11px 1px;border-radius:8px;border:1px solid var(--border)}.dates a.active{background:var(--lav);color:var(--accent);border-color:#e2d0ff}.options{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);margin:12px 2px}.options label{display:flex;align-items:center;gap:4px}.options a{font-weight:800;color:var(--accent)}.league{margin-top:12px;border:1px solid var(--border);border-radius:11px;overflow:hidden}.league-head{display:flex;align-items:center;gap:7px;padding:10px;background:var(--lav);border-left:3px solid var(--accent)}.league-title{display:grid;gap:2px;min-width:0;flex:1}.league-title strong{font-size:12px;line-height:1.25;overflow-wrap:anywhere}.league-title small{font-size:10px;color:var(--muted)}.league-head>a{font-size:11px;color:var(--accent);font-weight:800;white-space:nowrap}.fav{border:0;background:transparent;color:var(--muted);display:grid;place-items:center;padding:0;width:30px;height:30px;flex:none;font-size:21px;line-height:1}.fav[aria-pressed=true]{color:#e8a000}.fixture{padding:10px;border-bottom:1px solid var(--border);min-width:0}.fixture:last-child{border-bottom:0}.fixture-main{display:grid;grid-template-columns:43px minmax(0,1fr) 100px;align-items:center;gap:8px;min-width:0}.kickoff{display:grid;gap:3px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}.kickoff small{font-size:9px;color:var(--muted)}.kickoff .live{color:#e13059;font-weight:800}.teams{display:grid;gap:5px;min-width:0}.team{display:flex;align-items:center;min-width:0;gap:1px}.team>a{display:flex;align-items:center;min-width:0;flex:1;gap:6px;font-size:12px;font-weight:750}.team>a>span:last-child{overflow-wrap:anywhere;line-height:1.2}.team .fav{font-size:16px;width:20px;height:20px}.team svg,.team img,.team .pl-shirt,.team .shirt{flex:none;max-width:21px;max-height:23px}.shirt-placeholder{width:18px;display:inline-grid;place-items:center}.odds{display:flex;justify-content:space-between;align-items:center;gap:2px;min-width:0}.odd{flex:1;min-width:0;display:grid;gap:4px;text-align:center;font-variant-numeric:tabular-nums}.odd small{font-size:10px;color:var(--muted)}.odd strong{font-size:12px;letter-spacing:-.4px;white-space:nowrap}.odd.best strong{color:var(--accent)}.score{margin:auto;font-weight:800}.fixture-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.match-fav{border:1px solid var(--border);border-radius:7px;width:36px;height:32px;font-size:20px}.analysis{padding:9px 12px;border:1px solid #e6d6ff;border-radius:8px;background:#f9f4ff;color:#8f20c8;font-weight:800;font-size:11px;white-space:nowrap}.details{font-size:11px;font-weight:750;color:var(--muted)}.show-more{display:block;width:100%;border:0;border-top:1px solid var(--border);background:var(--surface);color:var(--accent);padding:11px;font-size:12px;font-weight:800}.notice{padding:20px;text-align:center;color:var(--muted);font-size:13px}.inner-page{min-height:70vh;padding-top:26px;padding-bottom:60px}.inner-page h1{margin-bottom:24px}.page-content{min-width:0;overflow-wrap:anywhere}.saved-grid{display:grid;gap:15px}.saved-grid section{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:15px}.saved-grid h2{margin:0 0 12px;font-size:17px}.saved-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.saved-item button{border:1px solid var(--border);background:var(--surface);padding:7px;border-radius:6px}.site-footer{font-size:11px;color:var(--muted);text-align:center;padding:30px 0}.page-content img{max-width:100%;height:auto}
@media(min-width:700px){.shell{width:min(1120px,100% - 48px)}.header-inner{min-height:74px}.menu-toggle{display:none}.main-nav{display:flex;position:static;box-shadow:none;border:0;padding:0;gap:5px;background:transparent}.main-nav a{padding:10px 8px;font-size:12px}.heading{padding:27px 0 20px}.board{padding:18px}.toolbar{grid-template-columns:minmax(0,1fr) 260px;align-items:center}.dates{gap:7px}.dates a{font-size:12px}.fixture{display:grid;grid-template-columns:minmax(0,1fr) 196px;gap:10px;align-items:center;padding:10px 14px}.fixture-main{grid-template-columns:68px minmax(0,1fr) 155px;gap:12px}.fixture-actions{border:0;margin:0;padding:0;justify-content:flex-end}.team>a{font-size:13px}.odd strong{font-size:14px}.league-head{padding:11px 14px}.league-title strong{font-size:14px}.saved-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.fixture{grid-template-columns:minmax(0,1fr) 235px}.fixture-main{grid-template-columns:82px minmax(0,1fr) 190px}.main-nav a{font-size:13px;padding:10px}.analysis{font-size:12px}.odd strong{font-size:15px}}
@media(max-width:359px){.shell{width:calc(100% - 16px)}.board{padding:6px}.fixture{padding:8px 5px}.fixture-main{grid-template-columns:37px minmax(0,1fr) 88px;gap:4px}.team>a{font-size:11px;gap:3px}.odd strong{font-size:11px}.dates a{font-size:9px}.heading-link{font-size:10px;padding:8px}}
html[data-theme=dark]{--ink:#edf1ff;--muted:#a6b0c5;--bg:#0d1425;--surface:#151e30;--border:#2d3850;--lav:#251c3d}html[data-theme=dark] .filters button.active{background:#9335c7}html[data-theme=dark] .analysis{background:#332044;color:#e2b2ff;border-color:#654085}

/* Shared page components, mobile first. */
.lang-control select{max-width:60px;min-height:40px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--ink);font-size:12px;padding:0 5px}.header-inner{gap:7px}.brand{margin-right:auto}.directory-controls{display:grid;gap:10px;margin:0 0 15px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.directory-controls input[type=search],.directory-controls select{width:100%;min-width:0;min-height:42px;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;padding:9px}.directory-controls label{font-size:12px;color:var(--muted)}.league-directory{display:grid;gap:7px}.directory-item{display:flex;align-items:center;gap:8px;min-width:0;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.directory-item>a{min-width:0;flex:1;display:grid;gap:3px}.directory-item strong{font-size:13px;overflow-wrap:anywhere}.directory-item small{font-size:11px;color:var(--muted)}.directory-item>span{color:var(--accent)}.scores-board{margin-bottom:35px}.scores-board .league-list .fixture[data-state=finished] .kickoff{color:var(--muted)}.page-content .pl-explorer,.page-content .pl62-pred-card,.page-content .pl77-pred-card,.page-content .pl-prediction-card,.page-content [class*=pred-card]{max-width:100%;min-width:0}.page-content [class*=pred-card]{padding:14px;margin:10px 0;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-wrap:anywhere}.page-content [class*=pred-probs]{display:flex;flex-wrap:wrap;gap:8px}.page-content table{display:block;max-width:100%;overflow-x:auto}.page-content a,.page-content button{overflow-wrap:anywhere}html[data-theme=dark] .page-content [class*=pred-card]{color:var(--ink);background:var(--surface)}@media(min-width:700px){.directory-controls{grid-template-columns:2fr 1fr auto;align-items:center}.league-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1000px){.league-directory{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Prediction page: standalone mobile-first components, independent of legacy Core markup. */
.prediction-controls{display:grid;grid-template-columns:1fr;gap:7px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:13px;margin-bottom:14px}.prediction-controls label{font-size:12px;color:var(--muted);font-weight:700}.prediction-controls input,.prediction-controls select{width:100%;min-width:0;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--ink)}.prediction-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:11px}.prediction-card{min-width:0;border:1px solid var(--border);border-radius:13px;background:var(--surface);padding:15px;display:grid;gap:14px}.prediction-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px}.prediction-meta span{min-width:0;overflow-wrap:anywhere}.prediction-meta time{white-space:nowrap}.prediction-teams{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:5px;text-align:center;font-size:13px}.prediction-teams strong{overflow-wrap:anywhere}.prediction-teams span{color:var(--muted);font-size:11px}.prediction-probs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.prediction-prob{border:1px solid var(--border);border-radius:8px;padding:10px 3px;display:grid;text-align:center;gap:4px}.prediction-prob small{color:var(--muted);font-size:11px}.prediction-prob strong{font-size:19px;font-variant-numeric:tabular-nums}.prediction-prob.best{border-color:#dfc2f6;background:var(--lav);color:#8c1bbf}.prediction-status,.prediction-pending,.prediction-disclaimer{font-size:12px;color:var(--muted);margin:0}.prediction-pending{padding:16px 0;text-align:center}.prediction-open{display:block;text-align:center;padding:12px;border-radius:9px;background:linear-gradient(105deg,var(--accent),var(--pink));color:#fff;font-weight:750;font-size:12px}.prediction-disclaimer{margin:16px 0}.live-update{font-size:11px;color:var(--muted);padding:4px 2px 9px}html[data-theme=dark] .prediction-prob.best{background:#38254b;color:#eab8ff;border-color:#6a4383}@media(min-width:700px){.prediction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prediction-controls{grid-template-columns:1fr 1fr;column-gap:15px}.prediction-controls label:nth-of-type(1){grid-column:1;grid-row:1}.prediction-controls input{grid-column:1;grid-row:2}.prediction-controls label:nth-of-type(2){grid-column:2;grid-row:1}.prediction-controls select{grid-column:2;grid-row:2}}@media(min-width:1100px){.prediction-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v5: unified UX for every top-level page */
.section-intro{font-size:13px;line-height:1.55;color:var(--muted);max-width:68ch;margin:0 0 14px}.dates-inner{margin:0 0 16px;background:var(--surface);padding:9px;border:1px solid var(--border);border-radius:12px}.prediction-card .prediction-meta time{font-variant-numeric:tabular-nums}.prediction-card .prediction-open:focus-visible,.theme-toggle:focus-visible,.lang-control select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.directory-controls input:focus-visible,.prediction-controls select:focus-visible{outline:3px solid var(--accent)}.inner-page{padding-top:16px}.inner-page h1{margin-bottom:14px}.prediction-prob.best{border-width:2px}.saved-item span{min-width:0;overflow-wrap:anywhere}.live-update{line-height:1.4}.fixture-actions{flex-wrap:wrap}.fixture-main,.fixture-actions,.prediction-teams,.prediction-probs{min-width:0}@media(max-width:480px){.header-inner{gap:5px}.brand b{font-size:15px}.brand small{font-size:7px}.heading{padding:14px 0 10px}.heading-link{max-width:140px;white-space:normal;text-align:center}.fixture-main{grid-template-columns:42px minmax(0,1fr) 92px;gap:5px}.fixture{padding:10px 6px}.team>a{font-size:11px;gap:3px}.odd strong{font-size:11px}.prediction-teams{font-size:12px}.prediction-meta{flex-wrap:wrap}.site-header{position:relative;z-index:10}}

/* PickLab One 5.2 — detail pages, mobile-first. Compatible with existing Core HTML. */
.page-main{min-width:0;background:var(--bg);color:var(--ink)}
.page-main .container.pl-detail{width:min(1120px,calc(100% - 24px));margin:auto;padding:18px 0 64px;min-width:0}
.pl-detail,.pl-detail *{box-sizing:border-box}
.pl-detail :is(.pl-detail-card,.pl50-panel,.pl63-standings,.pl54-rankings,.pl50-player-hero,.pl40-team-hero){background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--border)!important;border-radius:14px;padding:14px;min-width:0;max-width:100%;margin:12px 0}
.pl-detail :is(h1,h2,h3,strong,a){color:var(--ink)}
.pl-detail :is(p,small,.pl50-footnote,.pl63-note){color:var(--muted)}
.pl-detail :is(.pl-detail-top,.pl40-team-hero,.pl50-player-hero){min-width:0;gap:12px;flex-wrap:wrap}
.pl-detail :is(.pl-detail-side,.pl-detail-top>*,.pl40-team-hero>*,.pl50-player-hero>*){min-width:0;overflow-wrap:anywhere}
.pl-detail :is(.pl-detail-tabs,.pl40-tabs){display:flex;gap:7px;overflow-x:auto;max-width:100%;flex-wrap:nowrap;scrollbar-width:thin;padding:5px 0}
.pl-detail :is(.pl-detail-tabs a,.pl40-tabs a){background:var(--lav)!important;color:var(--ink)!important;border:1px solid var(--border);border-radius:9px;padding:10px 12px;white-space:nowrap;flex:none;font-size:12px}
.pl-detail :is(.pl63-table-scroll,.pl54-table-wrap,.pl50-table-wrap){overflow-x:auto;max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.pl-detail table{border-collapse:collapse;min-width:570px;width:100%;color:var(--ink);background:var(--surface)}
.pl-detail th,.pl-detail td{padding:10px 8px;border-bottom:1px solid var(--border);font-size:12px;vertical-align:middle;text-align:left;white-space:nowrap}
.pl-detail th{color:var(--muted);font-size:11px}
.pl-detail .pl63-club a,.pl-detail .pl65-player-link{display:inline-flex;align-items:center;gap:7px;min-width:0}
.pl-detail .pl63-club strong,.pl-detail .pl65-player-link span{max-width:180px;overflow:hidden;text-overflow:ellipsis}
.pl-detail .pl50-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pl-detail .pl50-metrics>div{border:1px solid var(--border);background:var(--lav);padding:10px;border-radius:9px;min-width:0;display:grid;gap:6px}
.pl-detail .pl50-metrics strong{font-size:clamp(15px,4vw,21px)}
.pl-detail .pl50-squad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pl-detail .pl50-squad>a{display:flex;align-items:center;gap:9px;border:1px solid var(--border);padding:10px 8px;border-radius:10px;min-width:0;text-decoration:none;background:var(--surface)}
.pl-detail .pl50-squad>a strong{font-size:12px;min-width:0;overflow-wrap:anywhere}
.pl-detail .pl50-squad>a small{font-size:10px;white-space:normal}
.pl-detail .pl50-squad>a .pl-shirt{flex-shrink:0}
/* Modern illustrative shirts. Number belongs to the actual jersey, never a detached badge. */
.pl-shirt{position:relative;display:inline-block;vertical-align:middle;isolation:isolate;flex:0 0 28px;width:28px;height:30px;filter:drop-shadow(0 2px 2px #07112a35)}
.pl-shirt-body{position:absolute;inset:2px 1px 0;display:block;background:var(--shirt-bg);clip-path:polygon(22% 0,36% 6%,64% 6%,78% 0,100% 19%,88% 44%,77% 38%,77% 100%,23% 100%,23% 38%,12% 44%,0 19%);border-radius:3px}
.pl-shirt-body:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,#ffffff65 0%,transparent 32%,#00000012 74%,#00000025 100%);pointer-events:none}
.pl-shirt-body:after{content:'';position:absolute;left:36%;top:0;width:28%;height:17%;border:2px solid var(--shirt-trim);border-top:0;border-radius:0 0 60% 60%}
.pl-shirt-number{position:absolute;z-index:2;left:25%;top:35%;width:50%;text-align:center;color:#fff;font-weight:900;font-size:11px;line-height:1.1;text-shadow:0 1px 2px #000,0 0 2px #000;pointer-events:none}
.pl-shirt-lg{width:62px;height:67px;flex-basis:62px}.pl-shirt-lg .pl-shirt-body{inset:4px 1px 0}.pl-shirt-lg .pl-shirt-number{font-size:22px;top:35%}
.pl-detail .pl54-table-wrap .pl-shirt-number{font-size:11px}
/* Distinguish standings on small screens: preserve all columns via accessible swipe. */
.pl-detail .pl63-table-scroll{position:relative;border:1px solid var(--border);border-radius:10px}
.pl-detail .pl63-standings:before{content:'↔ Swipe table for more statistics';display:block;color:var(--muted);font-size:11px;margin:0 0 8px}
html[data-theme=dark] .pl-detail :is(.pl50-panel,.pl63-standings,.pl54-rankings,.pl50-player-hero,.pl40-team-hero,.pl-detail-card){box-shadow:none}
@media(min-width:700px){.page-main .container.pl-detail{width:min(1120px,calc(100% - 48px));padding-top:26px}.pl-detail :is(.pl50-panel,.pl63-standings,.pl54-rankings,.pl-detail-card){padding:20px}.pl-detail .pl50-squad{grid-template-columns:repeat(3,minmax(0,1fr))}.pl-detail .pl50-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1050px){.pl-detail .pl50-squad{grid-template-columns:repeat(4,minmax(0,1fr))}.pl-detail .pl50-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.pl-detail .pl63-standings:before{display:none}}
html[lang="ru"] .pl-detail .pl63-standings:before{content:'↔ Проведите по таблице, чтобы увидеть остальные показатели'}
html[lang="ro"] .pl-detail .pl63-standings:before{content:'↔ Glisează tabelul pentru mai multe statistici'}
html[lang="bg"] .pl-detail .pl63-standings:before{content:'↔ Плъзнете таблицата за още статистика'}

/* PickLab 5.3: mobile first detail pages, Cyrillic labels, modern illustrative shirts. */
.pl-detail{max-width:1180px;min-width:0;margin-inline:auto;overflow-wrap:anywhere}
.pl-detail .pl63-table-scroll,.pl-detail .pl65-table-scroll,.pl-detail .pl50-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.pl-detail table{border-collapse:collapse;min-width:560px}
.pl-detail .pl63-club a,.pl-detail .pl65-player-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.pl-detail .pl2-matchteams,.pl-detail .pl-detail-top{min-width:0}
.pl-detail .pl2-matchteams>a,.pl-detail .pl-detail-side{min-width:0;overflow-wrap:anywhere}
.pl-shirt{isolation:isolate;filter:drop-shadow(0 2px 2px #0003)}
.pl-shirt-body{box-shadow:inset 0 1px 2px #fff4,inset 0 -3px 5px #0002;background-image:linear-gradient(115deg,#fff4,transparent 38%,#0002 95%)}
.pl-shirt-number{z-index:2;pointer-events:none;font-variant-numeric:tabular-nums}
@media(max-width:600px){.pl-detail{padding:16px 12px 40px!important}.pl-detail h1{font-size:clamp(23px,7vw,32px)!important}.pl-detail h2{font-size:19px!important}.pl-detail-card{padding:12px!important}.pl-detail .pl2-matchteams{grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr)!important;gap:5px!important}.pl-detail .pl2-matchteams>a{font-size:12px!important}.pl-detail .pl2-bigscore{font-size:clamp(20px,6vw,28px)!important}.pl-detail .pl-detail-tabs,.pl-detail .pl57-league-tabs{overflow-x:auto;flex-wrap:nowrap;max-width:100%;padding-bottom:6px}.pl-detail .pl-detail-tabs a,.pl-detail .pl57-league-tabs a{flex-shrink:0}.pl-detail .pl50-squad{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))!important}.pl-detail .pl63-standings{min-width:0}}
