:root,[data-dsi-theme="light"] {
  color-scheme: light;
  --paper:#f0f0f0;--surface:#fff;--field:#fff;--soft:#e6e6e6;--ink:#3f3f3f;--heading:#151515;--muted:#616161;--line:#c5c5c5;
  --green:#176aa6;--green-dark:#11517f;--action:#1c78bd;--action-hover:#15649f;--on-action:#fff;--focus:#007acc;
  --hero:#e6e6e6;--hero-text:#202020;--hero-muted:#525252;--vision-orange:#e39006;
  --team-a-bg:#e8f2fa;--team-a-text:#185b8e;--team-b-bg:#fff0d8;--team-b-text:#80500c;
  --success-bg:#e1efe4;--success-text:#255735;--warning-bg:#fff0cf;--warning-text:#73500c;--danger-bg:#fbe5e0;--danger-text:#8d2f21;
  --bs-body-color:var(--ink);--bs-body-bg:var(--paper);--bs-secondary-color:var(--muted);--bs-tertiary-bg:var(--soft);--bs-secondary-bg:var(--soft);--bs-border-color:var(--line);
  --bs-emphasis-color:var(--heading);--bs-link-color:var(--green);--bs-link-hover-color:var(--green-dark);--bs-success-rgb:23,106,166;
}
[data-dsi-theme="dark"] {
  color-scheme:dark;
  --paper:#2d2d30;--surface:#252526;--field:#333337;--soft:#3f3f46;--ink:#f1f1f1;--heading:#fff;--muted:#b8b8be;--line:#626268;
  --green:#79c5f5;--green-dark:#b2dfff;--action:#007acc;--action-hover:#0067ad;--on-action:#fff;--focus:#79c5f5;
  --hero:#1b1b1c;--hero-text:#fff;--hero-muted:#c6c6cd;
  --team-a-bg:#263c4c;--team-a-text:#9bd7ff;--team-b-bg:#453721;--team-b-text:#ffd08a;
  --success-bg:#253e2d;--success-text:#b0dfb8;--warning-bg:#47391f;--warning-text:#f8d48a;--danger-bg:#482b29;--danger-text:#ffb8aa;
  --bs-success-rgb:121,197,245;
}
[data-dsi-theme="blue"] {
  color-scheme:dark;
  --paper:#2a3042;--surface:#222736;--field:#32394e;--soft:#3f475f;--ink:#c4d4d0;--heading:#fff;--muted:#aebdc9;--line:#505b7c;
  --green:#f0b24e;--green-dark:#ffd593;--action:#e39006;--action-hover:#f3a522;--on-action:#20242e;--focus:#f0b24e;
  --hero:#151821;--hero-text:#fff;--hero-muted:#c4d4d0;
  --team-a-bg:#283d59;--team-a-text:#a4d5ff;--team-b-bg:#473b2a;--team-b-text:#ffd18d;
  --success-bg:#293f3a;--success-text:#b1decc;--warning-bg:#4b3c24;--warning-text:#f7d38c;--danger-bg:#4b2e35;--danger-text:#ffb4ac;
  --bs-success-rgb:240,178,78;
}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--paper);color:var(--ink)}
h1,h2,h3,.brand,.team-name strong,.rank-person strong{color:var(--heading)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.player-chip input:focus-visible+span{outline-color:var(--focus)}
.site-header,.panel,.match-card,.player-chip span,.skip-link,.mobile-nav{background:var(--surface);color:var(--ink)}
.site-header{border-top:3px solid var(--vision-orange)}
.header-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}
.brand-mark{background:var(--vision-orange);color:#20242e}
.desktop-nav a,.site-footer,.mobile-nav a{color:var(--muted)}
.desktop-nav a.active,.mobile-nav a.active,.account-button,.format-label,.avatar,.rank-number.podium{background:var(--soft);color:var(--green)}
.account-button,.player-chip span{border-color:var(--line)}
.section-kicker,.cup-icon,.cup-estimate{color:var(--green)}
.welcome{background:var(--hero);color:var(--hero-text);border:1px solid var(--line);border-left:5px solid var(--vision-orange)}
.welcome h1{color:var(--hero-text)}
.welcome p:not(.eyebrow){color:var(--hero-muted)}
.welcome .eyebrow,.hero-stamp{color:var(--green)}
.btn-success{--bs-btn-color:var(--on-action);--bs-btn-bg:var(--action);--bs-btn-border-color:var(--action);--bs-btn-hover-color:var(--on-action);--bs-btn-hover-bg:var(--action-hover);--bs-btn-hover-border-color:var(--action-hover);--bs-btn-active-color:var(--on-action);--bs-btn-active-bg:var(--action-hover);--bs-btn-active-border-color:var(--action-hover);--bs-btn-disabled-color:var(--on-action);--bs-btn-disabled-bg:var(--action);--bs-btn-disabled-border-color:var(--action)}
.btn-outline-success{--bs-btn-color:var(--green);--bs-btn-border-color:var(--green);--bs-btn-hover-bg:var(--action);--bs-btn-hover-color:var(--on-action);--bs-btn-hover-border-color:var(--action);--bs-btn-active-bg:var(--action);--bs-btn-active-color:var(--on-action);--bs-btn-active-border-color:var(--action)}
.btn-outline-secondary{--bs-btn-color:var(--ink);--bs-btn-border-color:var(--line);--bs-btn-hover-bg:var(--soft);--bs-btn-hover-color:var(--heading);--bs-btn-hover-border-color:var(--muted);--bs-btn-active-bg:var(--soft);--bs-btn-active-color:var(--heading)}
.btn-light{--bs-btn-bg:var(--action);--bs-btn-color:var(--on-action);--bs-btn-border-color:var(--action);--bs-btn-hover-bg:var(--action-hover);--bs-btn-hover-color:var(--on-action);--bs-btn-hover-border-color:var(--action-hover);color:var(--on-action)}
.form-control,.form-select,.form-check-input{background-color:var(--field);color:var(--ink);border-color:var(--line)}
.form-control:focus,.form-select:focus{background-color:var(--field);color:var(--heading);border-color:var(--focus);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--focus) 20%,transparent)}
.form-control::placeholder{color:var(--muted)}
.form-check-input:checked{background-color:var(--action);border-color:var(--action)}
.player-chip input:checked+span{background:var(--action);border-color:var(--action);color:var(--on-action)}
.cup-card progress,.cup-card progress::-webkit-progress-bar{background:var(--soft)}
.cup-card progress::-webkit-progress-value{background:var(--action)}
.cup-card progress::-moz-progress-bar{background:var(--action)}
.match-card:hover{color:var(--ink);border-color:var(--green)}
.status.pending{background:var(--warning-bg);color:var(--warning-text)}
.status.done{background:var(--success-bg);color:var(--success-text)}
.team-a .team-label{color:var(--team-a-text)}
.team-b .team-label{color:var(--team-b-text)}
.score-team{background:var(--team-a-bg)}
.score-team.team-b{background:var(--team-b-bg)}
.score-separator,.vs,.final-score span{color:var(--muted)}
.empty-state{border-color:var(--line)}
.result-review,.import-preview{background:var(--soft);color:var(--ink)}
.result-feedback:not(:empty){background:var(--danger-bg);color:var(--danger-text)}
.dropdown-menu{--bs-dropdown-bg:var(--surface);--bs-dropdown-color:var(--ink);--bs-dropdown-link-color:var(--ink);--bs-dropdown-link-hover-bg:var(--soft);--bs-dropdown-link-hover-color:var(--heading);--bs-dropdown-link-active-bg:var(--action);--bs-dropdown-link-active-color:var(--on-action)}
.alert-success{--bs-alert-bg:var(--success-bg);--bs-alert-color:var(--success-text);--bs-alert-border-color:var(--line)}
.alert-warning{--bs-alert-bg:var(--warning-bg);--bs-alert-color:var(--warning-text);--bs-alert-border-color:var(--line)}
.alert-danger{--bs-alert-bg:var(--danger-bg);--bs-alert-color:var(--danger-text);--bs-alert-border-color:var(--line)}
.alert-secondary{--bs-alert-bg:var(--soft);--bs-alert-color:var(--ink);--bs-alert-border-color:var(--line)}
.auth-intro>.pitch{background:var(--hero)}
.pitch,.pitch-circle,.pitch-line{border-color:color-mix(in srgb,var(--hero-text) 24%,transparent)}
.rod{background:var(--muted)}
.rod:after,.rod:before{background:#1c78bd}
.rod-two:after,.rod-two:before{background:var(--vision-orange)}
.theme-toggle{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:50%;background:var(--surface)}
.theme-current{display:block;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--paper) 50%,var(--action) 50%);border:1px solid var(--muted)}
.theme-menu{min-width:210px}
.theme-menu-title{font-size:.8rem;font-weight:650;color:var(--muted);padding:8px 12px;margin:0}
.theme-choice{gap:12px;width:100%}
.theme-swatch{width:24px;height:24px;flex-shrink:0;border-radius:50%;border:1px solid #8b8d98}
.swatch-light{background:linear-gradient(135deg,#f0f0f0 50%,#fff 50%)}
.swatch-dark{background:linear-gradient(135deg,#2d2d30 50%,#252526 50%)}
.swatch-blue{background:linear-gradient(135deg,#2a3042 50%,#e39006 50%)}
.theme-selected{margin-left:auto;visibility:hidden;color:var(--green);font-weight:800}
.theme-choice[aria-pressed="true"] .theme-selected{visibility:visible}
@media(max-width:767.98px){.header-inner{height:78px}.brand{gap:8px;min-width:0}.brand-mark{flex-shrink:0}.header-tools{gap:6px}.private-label{border:0;padding:0;max-width:45px;line-height:1.3}.brand small{letter-spacing:.08em}.mobile-nav{background:var(--surface)}}
@media(max-width:359.98px){.brand-mark{display:none}.brand{font-size:.9rem}}
