:root{--bg-app:#F0EBE6;--bg-surface:#FFFFFF;--border-strong:#94A3B8;--border-soft:#CBD5E1;--text-primary:#1E1B4B;--text-secondary:#64748B;--primary:#1E1B4B;--primary-contrast:#FFFFFF;--accent:#E11D48;--accent-contrast:#FFFFFF;--th-bg:#1E1B4B;--th-text:#FFFFFF;--table-zebra:#F8FAFC;--bubble-bg:#FAF5FF;--bubble-border:#1E1B4B;--ink:var(--text-primary);--cream:var(--bg-app);--paper:var(--bg-surface);--muted:var(--text-secondary);--line:var(--border-soft);--green:var(--primary);--green-light:#312E81;--gold:var(--accent)}
html[data-theme='dark']{--bg-app:#0B0813;--bg-surface:#161126;--border-strong:#4338CA;--border-soft:#2D234D;--text-primary:#F8FAFC;--text-secondary:#94A3B8;--primary:#00F0FF;--primary-contrast:#0B0813;--accent:#FF007F;--accent-contrast:#FFFFFF;--th-bg:#241B40;--th-text:#F8FAFC;--table-zebra:#0F0B1C;--bubble-bg:#1C1533;--bubble-border:#00F0FF;--ink:var(--text-primary)!important;--cream:var(--bg-app)!important;--paper:var(--bg-surface)!important;--muted:var(--text-secondary)!important;--line:var(--border-soft)!important;--green:var(--primary)!important;--green-light:#8B5CF6!important;--gold:var(--accent)!important}
*{border-color:var(--border-soft)}body{background:var(--bg-app)!important;color:var(--text-primary)!important;font-family:'Outfit',sans-serif!important}.site-header,footer{background:#1E1B4B!important}.site-header{border-bottom:1.5px solid var(--border-strong)}html[data-theme='dark'] .site-header,html[data-theme='dark'] footer{background:#0B0813!important}
h1,h2,h3,.section h2,.community h2,.tournament-card__top strong,.tournament-dialog>h2,.admin-card h2,.result-confirm-dialog h2{font-family:'Righteous',cursive!important;font-weight:400!important;letter-spacing:.01em}.kicker,.card-status,.tag,th,.tournament-home-section>h3{font-family:'Righteous',cursive!important;letter-spacing:.08em}
.button{min-height:44px;border:1.5px solid var(--primary);border-radius:7px;font-family:'Outfit',sans-serif;font-weight:700}.button--primary,.button--primary:hover{background:var(--primary)!important;border-color:var(--primary)!important;color:var(--primary-contrast)!important}.button--outline{background:transparent!important;border-color:var(--primary)!important;color:var(--primary)!important}.button--outline:hover{background:var(--primary)!important;color:var(--primary-contrast)!important}.theme-toggle,.menu-button{border-color:var(--border-strong)!important}
.tournament-card{background:var(--bg-surface)!important;border:1.5px solid var(--border-strong)!important;border-left:5px solid var(--accent)!important;box-shadow:4px 4px 0 color-mix(in srgb,var(--primary) 18%,transparent)!important}.tournament-card>button{color:var(--text-primary)!important}.tournament-card__meta{color:var(--text-secondary)!important}.card-status{margin:0!important;background:var(--accent)!important;color:var(--accent-contrast)!important;border-radius:4px!important;text-transform:uppercase}.tournament-card--current{border-left-color:#198754!important}.card-status--current{background:#198754!important;color:#fff!important}.tournament-home-section>h3,.kicker{color:var(--primary)!important}
.community>.kicker{text-align:left!important}
.tournament-dialog,.admin-card,.result-confirm-dialog,.public-fixture-group,.public-result-group,.public-playoff-round,.match-results li,.completed-match,.match-result-form{background:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:var(--border-strong)!important}.tournament-dialog,.result-confirm-dialog{border:1.5px solid var(--border-strong)!important}.detail-pages section{border-color:var(--border-soft)!important}.detail-pages p,.fixture-results p,.match-results__teams b{color:var(--text-secondary)!important}
.public-table-wrap,.admin-card .table-wrap,.table-wrap{border:1.5px solid var(--border-strong)!important;border-radius:8px!important;background:var(--bg-surface)!important}.public-table-wrap table,.admin-card .table-wrap table,.table-wrap table{color:var(--text-primary)!important;font-variant-numeric:tabular-nums}.public-table-wrap th,.admin-card .table-wrap th,.table-wrap th{background:var(--th-bg)!important;color:var(--th-text)!important;border-bottom:1.5px solid var(--border-strong)!important;font-family:'Righteous',cursive!important}.public-table-wrap td,.admin-card .table-wrap td,.table-wrap td{border-color:var(--border-soft)!important;font-variant-numeric:tabular-nums}.public-table-wrap tbody tr:nth-child(even),.admin-card .table-wrap tbody tr:nth-child(even),.table-wrap tbody tr:nth-child(even){background:var(--table-zebra)!important}.public-table-wrap tbody tr:nth-child(odd),.admin-card .table-wrap tbody tr:nth-child(odd),.table-wrap tbody tr:nth-child(odd){background:var(--bg-surface)!important}
.match-results strong,.match-set--won{background:color-mix(in srgb,var(--primary) 18%,var(--bg-surface))!important;color:var(--text-primary)!important;font-variant-numeric:tabular-nums}.match-set--lost{background:color-mix(in srgb,var(--accent) 18%,var(--bg-surface))!important;color:var(--text-primary)!important;font-variant-numeric:tabular-nums}.set-score select,.admin-card input,.admin-card select,.admin-card textarea{background:var(--bg-surface)!important;color:var(--text-primary)!important;border:1.5px solid var(--border-strong)!important}
/* Soporte listo para hilos/comentarios presentes o futuros. */
.forum-thread,.forum-comment,.comment,.forum-message{background:var(--bubble-bg);border:1.5px solid var(--bubble-border);border-radius:10px;color:var(--text-primary);font-family:'Outfit',sans-serif}.forum-thread__author,.forum-comment__author,.comment__author{font-family:'Righteous',cursive}.forum-avatar,.comment-avatar{border:2px solid var(--accent)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent)!important;outline-offset:3px}
