.tournament-page .race-hero-grid { grid-template-columns:1.05fr 1fr; }
.tournament-page h1 { font-size:clamp(2.5rem,3.6vw,3.9rem); }
.tf-preview { padding:28px;background:#13253a;border:1px solid #38516b;border-radius:24px;color:#edf5ff; }
.tf-preview-header>span { font-size:.7rem;letter-spacing:.12em;color:#97b0c9; }
.tf-preview-header>strong { display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:1.3rem;margin:12px 0 30px; }
.tf-preview-header strong span { font-size:.7rem;border:1px solid #4f7186;padding:5px 10px;border-radius:20px;font-weight:500; }
.tf-bracket { display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center; }
.tournament-page .tf-bracket h2 { font-size:.8rem;color:#b9cce0!important;letter-spacing:.02em;margin-bottom:12px; }
.tf-match { border:1px solid #49677f;border-radius:9px;background:#1c324b;margin-bottom:22px; }
.tf-match>span { display:flex;justify-content:space-between;gap:6px;align-items:center;min-height:48px;padding:10px;font-size:.78rem; }
.tf-match>span+span { border-top:1px solid #49677f; }
.tf-match b { color:#78ead4; }
.tf-match small { font-size:.62rem;color:#bdd0e2; }
.tf-final { position:relative; }
.tf-final:before { content:"→";position:absolute;left:-23px;top:64px;color:#78ead4; }
.race-page .tf-final p { color:#78ead4;font-size:.85rem; }
.race-page .tf-preview-note { color:#b9cce0;font-size:.76rem;margin:8px 0 0; }
.tf-category-panel,.tf-two-cards article,.tf-sports article { background:var(--acc-surface);border:1px solid var(--acc-border);border-radius:18px;padding:28px; }
.tf-tags { display:flex;flex-wrap:wrap;gap:10px;margin:20px 0; }
.tf-tags span { border:1px solid var(--acc-border);padding:9px 13px;border-radius:8px;font-weight:600;font-size:.85rem;color:var(--acc-text);background:var(--acc-surface); }
.race-page .tf-small,.race-page .tf-section-note { font-size:.84rem; }
.tf-section-note { margin:26px 0 0;max-width:880px; }
.tf-two-cards { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
.tf-status-note { border-left:3px solid var(--acc-accent);padding:12px 18px;background:var(--acc-surface-alt);margin-top:24px; }
.tf-status-note strong { font-size:.85rem; }
.tf-status-note p { font-size:.86rem;margin:8px 0 0; }
.tf-sports { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.tournament-page .tf-two-cards h3,.tournament-page .tf-sports h3 { color:var(--acc-text)!important; }
.tf-broadcast { text-align:center;background:#0b172a;border:1px solid #38516b;padding:46px 24px;border-radius:24px;color:#fff; }
.tournament-page .tf-broadcast h3 { color:white!important; }
.tf-play { width:64px;height:64px;display:grid;place-items:center;margin:0 auto 22px;border-radius:50%;background:#65e3cb;color:#092c30;font-size:22px; }
.tf-broadcast .tf-tags { justify-content:center; }
.tf-broadcast p,.tf-broadcast small { color:#c5d4e4!important; }
@media(max-width:1000px){.tournament-page .race-hero-grid{grid-template-columns:1fr}.tf-preview{max-width:620px;width:100%}}
@media(max-width:600px){.tf-two-cards,.tf-sports{grid-template-columns:1fr}.tf-preview{padding:20px 14px}.tf-bracket{gap:20px}.tf-match>span{font-size:.72rem;flex-wrap:wrap}.tf-preview-header>strong{font-size:1.1rem}.tf-category-panel,.tf-two-cards article,.tf-sports article{padding:24px}}
