/* Bochnia CUP 2027 v22.24 — Clean Sport: public visual layer only */
:root{color-scheme:light!important;background:#f3f6fb!important;color:#152b48!important;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
html{background:#f3f6fb!important}body{background:#f3f6fb!important;color:#152b48!important;line-height:1.55}*{box-sizing:border-box}
header{background:#fff!important;color:#142e52!important;border-bottom:1px solid #dce5f0!important;box-shadow:0 2px 12px #122b4610;padding:18px 14px!important}
h1,h2,h3{color:#15345d!important;letter-spacing:-.025em}h1{font-weight:850!important}h1::first-letter{color:#e87929}a{color:#145fba!important}a:hover{text-decoration:underline}
main{max-width:1280px;margin-inline:auto}button,select,input{font:inherit}button,.nav button,.filters button,.tabs button,.lang-switch button,[data-lang]{background:#fff!important;color:#1c416e!important;border:1px solid #cfdaea!important;border-radius:11px!important;min-height:40px;box-shadow:none!important;transition:background .15s,border-color .15s,transform .15s}
button:hover,.nav button:hover,.tabs button:hover{background:#edf4fd!important;border-color:#8cb3e2!important}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #f18a3e!important;outline-offset:2px}
button.active,.nav button.active,.filters button.active,.tabs button.active,.lang-switch button[aria-pressed="true"],[data-lang].active{background:#17477d!important;color:#fff!important;border-color:#17477d!important}
.card,.hall,.game,.metric,.podium-item,.player-stats,.team-extras{background:#fff!important;color:#183654!important;border:1px solid #dbe4ef!important;border-radius:16px!important;box-shadow:0 6px 22px #173d6610!important}
.card{padding:18px!important;margin-block:13px!important}.muted,.sub,footer,.game-hint,.status{color:#64768d!important}.score strong{color:#15345d!important;font-weight:900!important}.score span,.team,.player-name{color:#183654!important}.live,.live-score{color:#d95b24!important}.final-score{background:#e7f5ee!important;color:#176044!important;border:1px solid #a5ddbf!important}
.pill{background:#eaf1fb!important;color:#204a78!important;border:1px solid #d5e1ef!important}.nav,.filters,.tabs,.controls{background:transparent!important;border-color:#dbe4ef!important}
input,select{background:#fff!important;color:#173a60!important;border:1px solid #cddbed!important;border-radius:10px!important;padding:10px!important}table{background:#fff!important;color:#193956!important;border-collapse:collapse}th{background:#eaf1f9!important;color:#1b4575!important}td,th{border-bottom:1px solid #e0e7f0!important;padding:10px!important}tr:nth-child(even){background:#f7f9fd!important}
.link{color:#165eae!important}.win{background:#e5f5eb!important;color:#16643e!important}.loss{background:#fde9e8!important;color:#a83b38!important}
html[data-page="live"] header{padding-block:22px!important}html[data-page="live"] .nav{position:sticky;top:0;z-index:8;background:#f3f6fbef!important;backdrop-filter:blur(10px);padding:10px 4px!important}html[data-page="live"] .card.game-btn{cursor:pointer}html[data-page="live"] .card.game-btn:hover{border-color:#a9c5e5!important;transform:translateY(-1px)}
html[data-page="three-halls"] main{max-width:none;padding:16px!important;gap:16px!important}html[data-page="three-halls"] .hall{min-height:42vh!important;padding:clamp(14px,2vw,30px)!important}html[data-page="three-halls"] .score{color:#17477d!important;font-weight:900!important}html[data-page="three-halls"] .team{color:#193956!important}
html[data-page="tv"] .score{color:#17477d!important}html[data-page="tv"] .team{color:#183654!important}
html[data-page="protocol"] pre{background:#fff!important;color:#173a60!important;border:1px solid #dbe4ef!important;border-radius:12px;padding:14px;overflow:auto}
@media(max-width:640px){header{padding:15px 10px!important}main{padding-inline:10px!important}.card{padding:13px!important}.nav button,.tabs button{min-height:46px!important;font-size:14px!important}h1{font-size:clamp(23px,6vw,34px)!important}}
@media print{html,body{background:#fff!important;color:#111!important}.card,.hall{box-shadow:none!important}}

/* v22.24 readability patch: higher contrast and larger type, public pages only */
html{font-size:17px!important}
body{font-size:1rem!important;line-height:1.65!important;color:#102b4b!important}
h1{font-size:clamp(1.65rem,3.4vw,2.5rem)!important;line-height:1.2!important}
h2{font-size:clamp(1.3rem,2.5vw,1.8rem)!important;line-height:1.3!important}
h3{font-size:1.16rem!important;line-height:1.35!important}
p,li,td,th,label{font-size:1rem;line-height:1.55}
.muted,.sub,footer,.game-hint,.status,#status,#msg{color:#415875!important;font-size:.95rem!important}
.card,.hall,.game,.metric,.podium-item,.player-stats,.team-extras{border-color:#b7c8dc!important;box-shadow:0 3px 14px #173d6612!important}
.card{padding:clamp(16px,2vw,24px)!important}
button,.nav button,.filters button,.tabs button,.lang-switch button,[data-lang]{font-size:1rem!important;font-weight:650!important;min-height:46px!important;padding:10px 14px!important;border-color:#9aafc8!important}
button.active,.nav button.active,.filters button.active,.tabs button.active,.lang-switch button[aria-pressed="true"],[data-lang].active{background:#143c70!important;color:#fff!important}
a,a:visited,.link{color:#104b91!important;font-weight:650!important;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration:underline!important}
/* Override legacy inline link colors from the dark theme. */
main a[style],footer a[style]{color:#104b91!important}
input,select{font-size:1rem!important;min-height:46px!important;border-color:#91a8c4!important}
.score strong,#score strong{color:#102e56!important;font-weight:900!important}
.team,.player-name{color:#102b4b!important;font-weight:650!important}
th{background:#dfeaf7!important;color:#12385f!important;font-weight:750!important}
td{color:#193654!important}
.pill{background:#e2ecf8!important;color:#173c69!important}
.live,.live-score{color:#a43b0d!important;font-weight:800!important}
.win{background:#d6f0df!important;color:#10512e!important}
.loss{background:#fbe0de!important;color:#852621!important}
@media(max-width:640px){html{font-size:16px!important}body{line-height:1.6!important}.card{padding:16px!important}.nav,.filters,.tabs{gap:7px!important}.nav button,.filters button,.tabs button{min-height:48px!important;font-size:15px!important;padding:10px 12px!important}td,th{padding:11px 9px!important}main{padding-inline:12px!important}}
@media(min-width:900px){html[data-page="tv"] .team,html[data-page="three-halls"] .team{font-size:clamp(25px,3vw,65px)!important}html[data-page="tv"] .sub,html[data-page="three-halls"] .sub{font-size:clamp(20px,2vw,35px)!important}}


/* Clean Sport — czytelne wyniki i terminarz (tylko zakładka Games/Wyniki) */
body.results-view #content .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}
body.results-view #content .card.game-btn{
  background:#fff!important;color:#142c4d!important;border:2px solid #a9bed6!important;
  padding:20px!important;box-shadow:0 3px 12px #102c4915!important;
  text-align:left!important;min-height:0!important
}
body.results-view #content .card.game-btn>.muted:first-child{
  color:#34516f!important;font-size:15px!important;font-weight:750!important;
  padding-bottom:12px;border-bottom:1px solid #dce5f0
}
body.results-view #content .score{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;gap:12px!important;margin:12px 0!important;
  background:#f2f6fc!important;border:1px solid #dce5ef!important;
  border-radius:12px!important;padding:12px!important
}
body.results-view #content .score span{
  color:#142c4d!important;font-size:clamp(17px,2vw,21px)!important;
  font-weight:800!important;line-height:1.35!important;
  overflow-wrap:anywhere!important;min-width:0!important
}
body.results-view #content .score strong{
  display:inline-flex!important;justify-content:center!important;align-items:center!important;
  min-width:56px!important;padding:5px 9px!important;
  color:#0f3159!important;background:#fff!important;border:2px solid #b8cbe0!important;
  border-radius:10px!important;font-size:clamp(30px,4vw,40px)!important;
  line-height:1.2!important;font-weight:900!important;font-variant-numeric:tabular-nums
}
body.results-view #content .score.winner-row{
  background:#e6f5ed!important;border:2px solid #70b68e!important
}
body.results-view #content .score.winner-row span,
body.results-view #content .score.winner-row strong{color:#10532f!important}
body.results-view #content .score.winner-row strong{background:#fff!important;border-color:#70b68e!important}
body.results-view #content .winner-mark{color:#12613b!important}
body.results-view #content .live,
body.results-view #content .live-score{color:#a7370b!important}
body.results-view #content .game-hint{color:#24598d!important;font-size:15px!important}
body.results-view #content .quarter{color:#3d5875!important;font-size:14px!important}
@media(max-width:420px){
 body.results-view #content .card.game-btn{padding:14px!important}
 body.results-view #content .score{gap:8px!important;padding:9px!important}
 body.results-view #content .score span{font-size:17px!important}
 body.results-view #content .score strong{min-width:48px!important;font-size:32px!important;padding:4px 6px!important}
}
