/* ======================================================================
   ChartFlow — ciemny motyw. Aktywny tylko przy <html data-theme="dark">.
   Cały interfejs jest odwracany jednym filtrem (dzięki temu obejmuje też
   kolory wpisane w kodzie JS i wykresy), a elementy, które mają zostać
   „w oryginale” (logo, zdjęcia, banery, główne przyciski), odwracamy z powrotem.
   ====================================================================== */
html[data-theme="dark"]{color-scheme:dark;filter:invert(1) hue-rotate(180deg) contrast(.9) saturate(1.05)}
/* tło „płótna” poza body nie jest filtrowane — od razu ciemne */
html[data-theme="dark"]:not(#_a):not(#_b){background:#0d0d0d!important}
html[data-theme="dark"] body{min-height:calc(100vh / var(--cf-zoom,1))}
/* tło strony jaśniejsze niż karty przed odwróceniem = ciemniejsze po odwróceniu */
html[data-theme="dark"] body:not(#_a):not(#_b):not(#_c){background:#fff!important}
html[data-theme="dark"]{--bg:#fff;--u-bg:#fff;--panel:#f4f3f1;--card:#f4f3f1;--u-card:#f4f3f1;--cf-s1:#f4f3f1;--cf-s2:#f4f3f1;--surface:#f4f3f1;--surface-alt:#f4f3f1;--cf-surface:#f4f3f1;--cf-soft:#f4f3f1;--pl-soft:#f4f3f1}
html[data-theme="dark"] :is(.cf-card,.cf-kpi,.card:not(.panel-view),.journal-stat-card,.sim-card,.sim-kpis>div,.chart-option-card,.panel,.sl-list,.journal-equity-card,.journal-breakdown,.cfm,.cf-palette-box,.cf-more-menu,.cf-navmore-pop,.cf-eq-tip):not(#_a):not(#_b){background-color:#f4f3f1!important}
html[data-theme="dark"] :is(.cf-side,body>aside.top,body>header.top):not(#_a):not(#_b):not(#_c){background:rgba(244,243,241,.94)!important}
/* poświaty zamiast cieni wyglądają źle po odwróceniu */
html[data-theme="dark"] *:not(#_a){box-shadow:none!important;text-shadow:none!important}
html[data-theme="dark"] :is(.cf-card,.cf-kpi,.journal-stat-card,.sim-card,.cf-side,body>aside.top,body>header.top,.panel):not(#_a){border-color:rgba(28,25,23,.12)!important}

/* zostaw w oryginalnych kolorach (podwójne odwrócenie = bez zmian) */
html[data-theme="dark"] :is(img,video,picture,.logo,.cf-ws-logo,.cf-avatar,.avatar,.cf-greet,.sim-hero,.sim-av,.cf-primary,.sim-start,
  button.primary,.btn.primary,.btn-primary,.primary-button,.sim-new-go,.login-btn,.cf-burger-keep,[data-keep-colors],.cf-bot-av,.sim-bot-av,.sim-quiz-badge,.sim-botbox thead,.cf-botbox thead):not(#_a){filter:invert(1) hue-rotate(180deg)}
/* logo jako tło pseudo-elementu */
html[data-theme="dark"] :is(.brand,.cf-word,.sim-brand)::before{filter:invert(1) hue-rotate(180deg)}
html[data-theme="dark"] .cf-ws-btn::before{filter:invert(1) hue-rotate(180deg)}
/* nie odwracaj dwa razy elementów zagnieżdżonych w już przywróconych */
html[data-theme="dark"] :is(.cf-greet,.sim-hero,.cf-primary,.sim-start) :is(img,.logo,.cf-primary,.sim-start,button.primary){filter:none}
/* pełny ekran (F w trenażerze): element w trybie fullscreen jest rysowany poza <html>, więc nie dostaje filtra strony —
   nakładamy ten sam filtr bezpośrednio na niego */
html[data-theme="dark"] :fullscreen{filter:invert(1) hue-rotate(180deg) contrast(.9) saturate(1.05);background:#fff!important}
html[data-theme="dark"] :fullscreen::backdrop{background:#0d0d0d}
