/* BCF Site Core — Ratings & Results */
.bcf-ratings-results-page{background:#f8fafc}.bcf-ratings-hero{background:var(--bcf-navy);color:#fff}.bcf-ratings-hero .bcf-container{padding-block:58px 54px}.bcf-ratings-hero__eyebrow{display:block;margin-bottom:10px;color:var(--bcf-yellow);font-family:Montserrat,Inter,sans-serif;font-size:11px;font-weight:800;letter-spacing:1.35px;text-transform:uppercase}.bcf-ratings-hero h1{max-width:820px;margin:0;color:#fff;font-family:Montserrat,Inter,sans-serif;font-size:clamp(36px,4vw,54px);font-weight:700;letter-spacing:-.035em;line-height:1.05}.bcf-ratings-hero__rule{display:block;width:44px;height:3px;margin:18px 0;background:var(--bcf-yellow)}.bcf-ratings-hero p{max-width:760px;margin:0;color:#dce7ef;font-size:15px;line-height:1.65}.bcf-ratings-main{padding:44px 0 70px}.bcf-ratings-tabs{display:flex;gap:8px;margin-bottom:28px}.bcf-ratings-tabs a{display:inline-flex;min-height:42px;align-items:center;padding:0 16px;border:1px solid var(--bcf-border);border-radius:6px;background:#fff;color:var(--bcf-navy);font-family:Montserrat,Inter,sans-serif;font-size:10px;font-weight:800;text-decoration:none}.bcf-ratings-tabs a.is-active{border-color:var(--bcf-blue-dark);background:var(--bcf-blue-dark);color:#fff}.bcf-ratings-panel,.bcf-results-panel{padding:26px;border:1px solid var(--bcf-border);border-radius:10px;background:#fff;box-shadow:var(--bcf-shadow)}.bcf-ratings-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.bcf-ratings-heading span{display:block;margin-bottom:5px;color:var(--bcf-blue-dark);font-family:Montserrat,Inter,sans-serif;font-size:9px;font-weight:800;letter-spacing:1px}.bcf-ratings-heading h2{margin:0;color:var(--bcf-navy);font-family:Montserrat,Inter,sans-serif;font-size:27px;font-weight:700}.bcf-ratings-heading>a{color:var(--bcf-blue-dark);font-family:Montserrat,Inter,sans-serif;font-size:9px;font-weight:800;text-decoration:none}.bcf-ratings-intro{max-width:760px;margin:0 0 22px;color:var(--bcf-muted);font-size:12px;line-height:1.6}.bcf-ratings-table-wrap{overflow-x:auto;border:1px solid #e6ebef;border-radius:8px}.bcf-ratings-table{width:100%;border-collapse:collapse;background:#fff}.bcf-ratings-table th{padding:12px 14px;background:#f7f9fb;color:#667085;font-family:Montserrat,Inter,sans-serif;font-size:8px;font-weight:800;letter-spacing:.65px;text-align:left;text-transform:uppercase}.bcf-ratings-table td{padding:13px 14px;border-top:1px solid #edf1f4;color:#475467;font-size:12px;vertical-align:middle}.bcf-rating-player{display:flex;align-items:center;gap:10px;min-width:190px}.bcf-rating-player img{width:36px;height:36px;border-radius:50%;object-fit:cover}.bcf-rating-player a,.bcf-rating-player span{color:var(--bcf-navy);font-family:Montserrat,Inter,sans-serif;font-weight:700;text-decoration:none}.bcf-rating-number{color:var(--bcf-navy);font-family:Montserrat,Inter,sans-serif;font-size:15px}.bcf-results-source-note{margin-bottom:22px;padding:12px 14px;border-left:3px solid var(--bcf-yellow);background:#fffde8;color:#596579;font-size:11px;line-height:1.55}.bcf-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.bcf-result-card{display:flex;min-height:190px;flex-direction:column;padding:20px;border:1px solid var(--bcf-border);border-radius:9px;background:#fff}.bcf-result-card__tag{margin-bottom:10px;color:var(--bcf-blue-dark);font-family:Montserrat,Inter,sans-serif;font-size:8px;font-weight:800;letter-spacing:.7px}.bcf-result-card h3{margin:0 0 10px;color:var(--bcf-navy);font-family:Montserrat,Inter,sans-serif;font-size:18px;font-weight:700;line-height:1.3}.bcf-result-card p{margin:0 0 16px;color:var(--bcf-muted);font-size:11px}.bcf-result-card a{display:inline-flex;gap:6px;margin-top:auto;color:var(--bcf-blue-dark);font-family:Montserrat,Inter,sans-serif;font-size:9px;font-weight:800;text-decoration:none}.bcf-results-status{margin-top:16px;color:#98a2b3;font-size:10px}.bcf-results-empty,.bcf-ratings-empty{padding:30px;border:1px dashed #c8d4df;border-radius:9px;background:#fff;text-align:center}.bcf-results-empty h3{margin:0 0 8px;color:var(--bcf-navy);font-family:Montserrat,Inter,sans-serif}.bcf-results-empty p{color:var(--bcf-muted)}.bcf-results-empty a{color:var(--bcf-blue-dark);font-weight:800;text-decoration:none}
@media(max-width:1024px){.bcf-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.bcf-ratings-hero .bcf-container{padding-block:42px 38px}.bcf-ratings-main{padding:36px 0 50px}.bcf-ratings-tabs{display:grid;grid-template-columns:1fr 1fr}.bcf-ratings-tabs a{justify-content:center;padding-inline:8px}.bcf-ratings-panel,.bcf-results-panel{padding:18px}.bcf-ratings-heading{align-items:flex-start;flex-direction:column;gap:8px}.bcf-results-grid{grid-template-columns:1fr}.bcf-ratings-table thead{display:none}.bcf-ratings-table,.bcf-ratings-table tbody,.bcf-ratings-table tr,.bcf-ratings-table td{display:block;width:100%}.bcf-ratings-table tr{padding:12px 14px;border-top:1px solid #edf1f4}.bcf-ratings-table tr:first-child{border-top:0}.bcf-ratings-table td{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0;border:0}.bcf-ratings-table td::before{content:attr(data-label);color:#667085;font-family:Montserrat,Inter,sans-serif;font-size:8px;font-weight:800;letter-spacing:.55px;text-transform:uppercase}.bcf-rating-player{min-width:0}.bcf-ratings-table td[data-label="Player"]{align-items:flex-start;flex-direction:column}.bcf-ratings-table td[data-label="Player"]::before{margin-bottom:5px}}

/* v2.0 on-site Chess-Results detail + round filtering */
.bcf-round-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 28px;padding-bottom:16px;border-bottom:1px solid var(--bcf-border)}
.bcf-round-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border:1px solid var(--bcf-border);border-radius:5px;background:#fff;color:var(--bcf-navy);font:700 9px Montserrat,Inter,sans-serif;text-decoration:none}
.bcf-round-tabs a.is-active{background:var(--bcf-blue-dark);border-color:var(--bcf-blue-dark);color:#fff}
.bcf-results-subtitle{margin:0 0 16px;color:var(--bcf-navy);font:700 20px Montserrat,Inter,sans-serif}
.bcf-chess-results-table{min-width:720px}.bcf-chess-results-table td,.bcf-chess-results-table th{white-space:normal;vertical-align:top}
@media(max-width:767px){.bcf-round-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:12px}.bcf-round-tabs a{white-space:nowrap}.bcf-chess-results-table{min-width:680px}}

/* v2.1 — hardened tournament result presentation */
.bcf-tournament-detail .bcf-ratings-heading{align-items:flex-start}.bcf-tournament-detail .bcf-ratings-heading>div{min-width:0;max-width:calc(100% - 150px)}.bcf-tournament-detail .bcf-ratings-heading h2{max-width:900px;overflow-wrap:anywhere;word-break:normal;line-height:1.18}.bcf-chess-results-table{table-layout:auto;width:max-content;min-width:100%;max-width:none}.bcf-chess-results-table th{white-space:nowrap}.bcf-chess-results-table td{max-width:320px;white-space:normal;overflow-wrap:anywhere}.bcf-results-status a{color:var(--bcf-blue-dark);font-weight:700;text-decoration:none}
@media(max-width:700px){.bcf-tournament-detail .bcf-ratings-heading>div{max-width:100%}.bcf-tournament-detail .bcf-ratings-heading h2{font-size:22px}.bcf-chess-results-table{min-width:760px}}

/* v2.2.0 — clean Chess-Results tournament information restored. */
.bcf-tournament-info{
    margin:18px 0 20px;
    padding:20px;
    border:1px solid #dce5ec;
    border-radius:14px;
    background:#f8fafc;
}
.bcf-tournament-info__head span{
    display:block;
    color:#246a99;
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
}
.bcf-tournament-info__head h3{
    margin:4px 0 15px;
    color:#123e63;
    font-size:20px;
}
.bcf-tournament-info__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.bcf-tournament-info__grid>div{
    min-width:0;
    padding:12px 13px;
    border:1px solid #e3ebf1;
    border-radius:9px;
    background:#fff;
}
.bcf-tournament-info__grid span{
    display:block;
    margin-bottom:4px;
    color:#667085;
    font-size:9px;
    font-weight:800;
    letter-spacing:.5px;
    text-transform:uppercase;
}
.bcf-tournament-info__grid strong{
    display:block;
    color:#243b53;
    font-size:13px;
    line-height:1.4;
    overflow-wrap:anywhere;
}
@media(max-width:900px){.bcf-tournament-info__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bcf-tournament-info__grid{grid-template-columns:1fr}}

/* v2.3 — all result views are preloaded; switching tabs is client-side and instant. */
.bcf-ratings-results-page [hidden]{display:none!important}
.bcf-round-tabs a[role="tab"]{cursor:pointer}
.bcf-round-tabs a:focus-visible,.bcf-ratings-tabs a:focus-visible{outline:3px solid rgba(36,106,153,.24);outline-offset:3px}
[data-bcf-round-panel]{animation:bcf-result-reveal .14s ease-out}
@keyframes bcf-result-reveal{from{opacity:.55;transform:translateY(2px)}to{opacity:1;transform:none}}
/* v2.3.0 final — no transition delay when switching preloaded result views. */
[data-bcf-round-panel]{animation:none!important}
