/* SFF CUP v7.9.9 - unified light visibility theme */
:root{
  --bg:#f7fafc!important;
  --panel:#ffffff!important;
  --panel2:#f8fafc!important;
  --panel3:#f1f5f9!important;
  --line:#d9e2ec!important;
  --text:#142033!important;
  --muted:#5b6b7f!important;
  --accent:#f4c400!important;
  --accent2:#39c7ee!important;
  --cyan:#39c7ee!important;
  --ok:#16a36a!important;
  --danger:#d94b64!important;
  --p:#ffffff!important;
  --p2:#f8fafc!important;
  --l:#d9e2ec!important;
  --t:#142033!important;
  --m:#5b6b7f!important;
  --a:#f4c400!important;
  --c:#39c7ee!important;
  --d:#d94b64!important;
  --bad:#d94b64!important;
}
html{color-scheme:light!important;background:#f7fafc!important}
body{background:linear-gradient(180deg,#ffffff 0,#f7fafc 58%,#eef9fc 100%)!important;color:#142033!important}
body:before{opacity:.035!important;background-image:linear-gradient(#39c7ee 1px,transparent 1px),linear-gradient(90deg,#f4c400 1px,transparent 1px)!important}
h1,h2,h3,h4,h5,h6,strong,b,.team,.title,.champion-name{color:#142033!important}
p,.lead,.muted,.note,.small,.help,.state,.event-meta,.mini,.sub,.meta{color:#5b6b7f!important}
a{color:#087b9c}
a:hover{color:#005d78}
.card,.panel,.box,.c,.rep,.item,.member,.member-card,.metric,.entry-shell,.entry-form,.scroll,.message,.champion-card,.match,.slot,.choice,.pending,.notice-pop,.tournament-row,.event-row,.standings,.schedule,.sponsor-card,.player-card,.result-card,.waiting-card,.compare-table,.map-col,.bo1-col,.bo1-center{
  background:#fff!important;border-color:#d9e2ec!important;color:#142033!important;box-shadow:0 10px 28px rgba(30,56,77,.07)!important
}
.entry-hero{background:linear-gradient(145deg,#fff9d8,#eafaff)!important;border-color:#d9e2ec!important;color:#142033!important}
input,select,textarea,.field,.lock{
  background:#fff!important;color:#142033!important;border-color:#cbd7e3!important;box-shadow:none!important
}
input::placeholder,textarea::placeholder{color:#8b99a9!important;opacity:1}
input:focus,select:focus,textarea:focus{border-color:#39c7ee!important;box-shadow:0 0 0 3px rgba(57,199,238,.18)!important;outline:none!important}
button,.button,.btn,.entry-link,.room{
  background:#f4c400!important;color:#2f2a00!important;border:1px solid #d7ad00!important;box-shadow:none!important
}
button:hover,.button:hover,.btn:hover,.entry-link:hover,.room:hover{background:#ffd82f!important;color:#262100!important}
.secondary,.button.secondary,.btn.secondary,.entry-link.secondary{
  background:#e7faff!important;color:#066b87!important;border:1px solid #9edff0!important
}
.secondary:hover,.button.secondary:hover,.btn.secondary:hover{background:#d7f6ff!important;color:#04566d!important}
.danger,.button.danger,.btn.danger{background:#fff1f3!important;color:#a62b45!important;border-color:#f0b7c2!important}
.success,.ok,.notice:not(.error),.okbox{background:#eafaf3!important;color:#0e744a!important;border-color:#a9e3c9!important}
.error,.err,.errorbox{background:#fff1f3!important;color:#a62b45!important;border-color:#f0b7c2!important}
.badge,.chip,.phase,.status{background:#e7faff!important;color:#066b87!important;border-color:#9edff0!important}
table{background:#fff!important;color:#142033!important}th{background:#f7fafc!important;color:#526175!important}th,td{border-color:#dbe4ec!important}
.progress{background:#e9eef3!important}.progress span{background:linear-gradient(90deg,#f4c400,#39c7ee)!important}
.member,.player-row,.standing-row,.sched-row,.map-item,.ban-chip,.pc-stat,.pstat,.bmatch,.bteam{background:#f8fafc!important;border-color:#d9e2ec!important;color:#142033!important}
.phase.entry,.live,.cyan{color:#087b9c!important}.phase.ban,.gold{color:#a77d00!important}.phase.match,.open,.status.FINAL{color:#0e744a!important}
.back{color:#087b9c!important}
dialog{background:#fff!important;color:#142033!important;border-color:#d9e2ec!important}dialog::backdrop{background:rgba(20,32,51,.35)!important}
/* Tournament bracket remains highly legible on white */
.bracket .round-title,.round h3{color:#39495c!important}.match{background:linear-gradient(145deg,#ffffff,#f8fbfd)!important}.slot{background:#f7fafc!important}.winner{background:#eafaf3!important;border-color:#9bd9be!important}.score{color:#087b9c!important}.third-place-match{background:#fff9dc!important;border-color:#efd36a!important}
/* FAQ / floating helper readability */
.faq-button,.faq-fab{background:linear-gradient(135deg,#39c7ee,#13a8d2)!important;color:#fff!important}
@media(max-width:760px){body{padding-left:12px!important;padding-right:12px!important}}
/* Readability hardening for pages that previously used direct white text */
body :where(h1,h2,h3,h4,h5,h6,p,label,small,li,dt,dd,th,td,.team,.title,.name,.value,.meta,.note,.lead,.muted,.heading-row,.progress-row,.team-chip,.member-head,.choice h3,.rep strong,.event-row strong,.tournament-row strong){color:#142033!important;text-shadow:none!important}
body :where(.lead,.muted,.note,.small,.help,.state,.event-meta,.mini,.sub,.meta,small){color:#5b6b7f!important}
option{background:#fff!important;color:#142033!important}


/* v8.0.0 readability + official logo */
.brand,.top .brand,.topbar .brand{display:inline-flex!important;align-items:center;gap:12px;font-weight:1000}
.brand:before{content:"";display:inline-block;width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:url('/uploads/sff_cup_logo_official.png') center/contain no-repeat!important;box-shadow:none!important}
.brand-mark{display:inline-block!important;width:42px!important;height:42px!important;vertical-align:middle!important;margin-right:10px!important;border-radius:12px!important;background:url('/uploads/sff_cup_logo_official.png') center/contain no-repeat!important;color:transparent!important;font-size:0!important;text-indent:-9999px!important;overflow:hidden!important;box-shadow:none!important}
body :where(.brand,.brand *, .topline h1,.topline .note,.topbar,.topbar *, .privacy,.legend span,.team-chip,.progress-row span,.progress-row strong,.step,.mail-status,.mail-status *, .discord-required,.discord-required *, .server-error,.entry-id,.check,.role-badge,.member-number,.backlink,.privacy,.eyebrow,.hero .privacy,.metric span,.metric strong,.statusline,.statusline *, .tournament-actions a,.event-row strong,.tournament-row strong,.winner strong,.winner,.mvp strong,.mvp,.result-title,.sched-time,.sched-match,.rank,.st-team,.st-sub,.pc-team,.pc-id,.pc-name,.bo1-note,.bo1-foot,.bo1-head .sub,.map-sub,.sbmeta,.intro-rec,.intro-code,.lower-label,.lower-text,.sponsor-title,.sponsor,.phase,.status,.badge,.chip){text-shadow:none!important}
body :where(.privacy,.legend span,.team-chip,.lead,.muted,.small,.mini,.help,.state,.event-meta,.note,.sub,.meta,.pc-id,.sbmeta,.intro-rec,.intro-code,.bo1-note,.bo1-foot,.map-sub,.lower-label,.result-title,.mvp,.winner,.st-sub,.hero .privacy,.eyebrow){color:#516479!important}
body :where(.entry-link,.room,.champ-link,.stream-link,.button,button,.btn){font-weight:900!important}
body :where(.entry-link,.room,.button,button,.btn){background:#f4c400!important;color:#2f2a00!important;border-color:#d7ad00!important}
body :where(.entry-link:hover,.room:hover,.button:hover,button:hover,.btn:hover){background:#ffd82f!important;color:#262100!important}
body :where(.champ-link,.stream-link,.secondary,.button.secondary,.btn.secondary){background:#e7faff!important;color:#066b87!important;border:1px solid #9edff0!important}
body :where(.champ-link:hover,.stream-link:hover,.secondary:hover,.button.secondary:hover,.btn.secondary:hover){background:#d7f6ff!important;color:#04566d!important}
body :where(.role-badge,.member-number,.badge,.chip,.status,.mail-status){background:#eef9ff!important;color:#055c74!important;border-color:#b7e6f3!important}
body :where(.discord-required){background:#f7fbff!important;border-color:#b8dff2!important}
body :where(.discord-required a){background:#39c7ee!important;color:#fff!important}
body :where(.server-error){background:#fff1f3!important;border-color:#f0b7c2!important;color:#a62b45!important}
body :where(.privacy){background:#fff9dc!important;border:1px solid #efd36a!important;color:#7a6100!important;padding:8px 12px;border-radius:999px}
body :where(.topline .actions a,.top .actions a){box-shadow:none!important}


/* v8.0.1 global light unification + logo refresh */
body, body *{text-shadow:none!important}
body :where(.hero,.form-side,.content,.card,.shell,.wrap,.login-card,.checkin-panel,.global-control,.panel,.match,.team,.team-check,.event-choice,.consent-box,.existing-entry,.logo-upload,.result-change,.stream-setting,.admin-decision,.pending,.progress-box,.detail,.team-card,.member-card,.discord-required,.status-card,.stats-review,.champion-card,.bracket-scroll,.scroll){box-shadow:none!important}

/* official SFF CUP public logo */
.brand-mark, .logo-mark, .brand-icon{background:url('/uploads/sff_cup_logo_official.png') center/contain no-repeat!important;color:transparent!important;font-size:0!important;text-indent:-9999px!important;overflow:hidden!important;box-shadow:none!important}

/* public registration / step flow */
body :where(.shell){background:#fff!important;border-color:#d9e2ec!important}
body :where(.hero){background:linear-gradient(180deg,#fffef6 0,#f7fbff 42%,#eef9fc 100%)!important;border-right:1px solid #d9e2ec!important;color:#142033!important}
body :where(.hero-copy p,.hero p,.eyebrow,.form-lead,.hint,.save-state,.upload-copy span,.existing-entry small,.consent-row,.step-chip,.progress-row,.muted,.lead,.note){color:#5b6b7f!important}
body :where(.eyebrow){color:#087b9c!important;font-weight:900!important}
body :where(.hero h1,.form-title,h1,h2,h3,h4,strong,b,label,.existing-entry strong,.upload-copy strong,.event-choice strong,.progress-row strong){color:#142033!important}
body :where(.step-chip){background:#f8fafc!important;border-color:#d9e2ec!important}
body :where(.step-chip.active){background:#fff4bd!important;border-color:#efd36a!important;color:#7a6100!important}
body :where(.form-side){background:#fff!important;color:#142033!important}
body :where(.progress){background:#e6edf3!important}
body :where(.progress>span){background:linear-gradient(90deg,#f4c400,#39c7ee)!important}
body :where(input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="datetime-local"],select,textarea){background:#fff!important;color:#142033!important;border-color:#cbd7e3!important}
body :where(input[type="text"]::placeholder,input[type="email"]::placeholder,input[type="password"]::placeholder,input[type="number"]::placeholder,textarea::placeholder){color:#8b99a9!important}
body :where(input[type="text"]:focus,input[type="email"]:focus,input[type="password"]:focus,input[type="number"]:focus,input[type="datetime-local"]:focus,select:focus,textarea:focus){border-color:#39c7ee!important;box-shadow:0 0 0 3px rgba(57,199,238,.18)!important;background:#fff!important}
body :where(.existing-entry){background:#f4fbff!important;border-color:#b7e6f3!important;color:#142033!important}
body :where(.existing-entry a,.upload-button){background:#e7faff!important;border:1px solid #9edff0!important;color:#066b87!important}
body :where(.consent-box){background:#fff!important;border-color:#d9e2ec!important}
body :where(.consent-row a){color:#087b9c!important}
body :where(.event-choice){background:#fff!important;border-color:#d9e2ec!important}
body :where(.event-choice:hover){background:#f7fcff!important;border-color:#9edff0!important}
body :where(.event-choice strong){color:#142033!important}
body :where(.event-choice small){color:#5b6b7f!important}
body :where(.event-choice:has(input:checked)){background:#fffdf0!important;border-color:#efd36a!important;box-shadow:0 0 0 3px rgba(244,196,0,.16)!important}
body :where(.event-empty){background:#fff8db!important;border-color:#efd36a!important;color:#7a6100!important}
body :where(.logo-upload){background:#fbfdff!important;border-color:#b7e6f3!important}
body :where(.logo-preview){background:#fff!important;border:1px solid #d9e2ec!important;color:#087b9c!important}
body :where(.next-button){background:#f4c400!important;color:#2f2a00!important;box-shadow:none!important}
body :where(.next-button:hover){background:#ffd82f!important;transform:none!important}
body :where(.server-error,.error){background:#fff1f3!important;border-color:#f0b7c2!important;color:#a62b45!important}
body :where(.toast){background:#ffffff!important;color:#142033!important;border-color:#d9e2ec!important}

/* public pages / bracket / stats */
body :where(.topline h1,.round-title,.team,.team-name,.champion-name,.entry-id,.mail-status strong,.privacy,.trophy,.brand,.topbar .brand){color:#142033!important}
body :where(.round-title,.note,.privacy,.status,.phase,.mail-status,.chip,.legend span,.team-chip){font-weight:800!important}
body :where(.scroll,.bracket-scroll,.round-matches,.match,.slot,.detail,.champion-card,.message,.content,.member-card,.login-card,.card,.clock,.period div){background:#fff!important;border-color:#d9e2ec!important;color:#142033!important}
body :where(.slot){background:#fff!important}
body :where(.score,.timer strong,.stream-badge){color:#087b9c!important}
body :where(.winner){background:#eafaf3!important;border-color:#a9e3c9!important}
body :where(.stream-link){background:#e7faff!important;border-color:#9edff0!important;color:#066b87!important}
body :where(.champ-link){background:#fff4bd!important;border-color:#efd36a!important;color:#7a6100!important}
body :where(.room,.entry-link,.button,button,.btn){background:#f4c400!important;color:#2f2a00!important;border-color:#d7ad00!important}
body :where(.room:hover,.entry-link:hover,.button:hover,button:hover,.btn:hover){background:#ffd82f!important}
body :where(.secondary,.button.secondary,.btn.secondary){background:#e7faff!important;color:#066b87!important;border:1px solid #9edff0!important}
body :where(.danger,.button.danger,.btn.danger){background:#fff1f3!important;color:#a62b45!important;border:1px solid #f0b7c2!important}
body :where(.success,.ok,.button.success,.btn.success){background:#eafaf3!important;color:#0e744a!important;border:1px solid #a9e3c9!important}
body :where(.orange){background:#fff8db!important;color:#7a6100!important;border:1px solid #efd36a!important}

/* admin screen hard overrides */
body :where(.page,.shell){color:#142033!important}
body :where(.panel,.global-control,.checkin-panel,.match,.team,.team-check,.progress-box,.detail,.result-change,.admin-start-control,.stream-setting,.admin-decision,.pending,.login-card,.card){background:#fff!important;border-color:#d9e2ec!important;color:#142033!important}
body :where(.panel .note,.global-control .note,.checkin-panel .note,.match .note,.status,.muted,.existing .active,.stage,.detail,.chip,.match-head,.phase-badge,.stream-setting summary,.admin-decision summary,.stats-state){color:#5b6b7f!important}
body :where(.back,a.back){color:#087b9c!important}
body :where(.phase-badge){background:#f8fafc!important;border:1px solid #d9e2ec!important}
body :where(.phase-badge.entry){background:#e7faff!important;color:#066b87!important}
body :where(.phase-badge.ban){background:#fff8db!important;color:#7a6100!important}
body :where(.phase-badge.playing,.phase-badge.done){background:#eafaf3!important;color:#0e744a!important}
body :where(.phase-badge.result){background:#fff4bd!important;color:#7a6100!important}
body :where(.slot.winner,.stage.done,.stats-state.ok){background:#eafaf3!important;border-color:#a9e3c9!important;color:#0e744a!important}
body :where(.chip,.badge,.stats-state){background:#eef9ff!important;border-color:#b7e6f3!important;color:#066b87!important}
body :where(.existing a.active){background:#fff4bd!important;color:#7a6100!important}
body :where(.team-name,.round-title,.champion-name,.match-head strong,.progress-head strong){color:#142033!important}
body :where(.bar){background:#e6edf3!important}
body :where(.bar span){background:linear-gradient(90deg,#f4c400,#39c7ee)!important}
