/* Appearance controls are shared by both palettes. No inversion/filter is used. */
.appearance-panel>.muted{margin-top:8px}.appearance-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 10px}.appearance-options button{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:96px;padding:12px 4px;background:#edf4fb;color:#285979;border:2px solid #bbcedf;border-radius:15px}.appearance-options button>span{font-size:29px;line-height:1}.appearance-options strong{font-size:17px}.appearance-options button[aria-pressed=true]{border-color:#326fa6;background:#dceafb;box-shadow:inset 0 0 0 1px #326fa6}.large .appearance-options strong{font-size:19px}@media(max-width:350px){.appearance-options{gap:6px}.appearance-options strong,.large .appearance-options strong{font-size:16px}}
html[data-theme=dark]{--night-bg:#111b25;--night-panel:#1b2936;--night-raised:#243747;--night-line:#41586c;--night-text:#e4edf5;--night-muted:#b3c5d4;--night-blue:#9bcdff;color-scheme:dark;background:var(--night-bg)}
html[data-theme=dark] body.unified-ui{--green:#9bcdff;--muted:#b3c5d4;--line:#41586c;--pale:#243747;color:var(--night-text);background:var(--night-bg);background-image:none}
html[data-theme=dark] body.unified-ui[data-page]{background:var(--night-bg);background-image:none}
html[data-theme=dark] .unified-ui :is(.shell,.main){background:transparent}
html[data-theme=dark] .unified-ui :is(.classic-setup,.classic-play,.classic-result,.rx-page,.schulte-setup,.schulte-play,.schulte-result,.extra-page){color:var(--night-text)}
html[data-theme=dark] .unified-ui :is(.panel,.stats,.sidebar,.nav,.illustrated-card,.game-card,.utility-link,.profile-card,.classic-intro,.rx-intro,.rx-section,.schulte-hero,.mode-grid,.training-tabs,.schulte-rules,.practice-options,.schulte-start,.variant-card,.rx-history,.rx-recap,.setup-start-dock,.plan-item,.assessment-feature,.assessment-summary,.reminder-card,.classic-result-hero,.rx-result-hero,.rx-detail-list,.schulte-result .result-hero){background:var(--night-panel);border-color:var(--night-line);color:var(--night-text);box-shadow:none}
html[data-theme=dark] .unified-ui :is(h1,h2,h3,.brand,.mobile-brand,.crumb,.hub-heading h1,.game-head,.page-heading,.feature-heading h2,.profile-card strong,.utility-card strong,.game-card h3,.illustrated-card h3,.focus-heading h2,.rx-result-hero h2,.stat strong,.game-meta strong,.rx-scoreboard strong,.rx-detail-list strong,.result-score,.rx-result-number,.schulte-clock,.practice-options summary,.schulte-rules .mode-description,.rx-prompt,.prompt,.poem-title){color:var(--night-text);text-shadow:none}
html[data-theme=dark] .unified-ui :is(.muted,.help-text,.hub-heading p,.game-card p,.game-tag,.game-popularity,.popularity-simulated,.utility-card small,.profile-card small,.stat small,.stat em,.record small,.record span,.sidebar-foot,.rules li,.rule-note,.mode-description,.mode-grid button small,.setting p,.rx-intro p,.rx-eyebrow,.rx-small-rule,.rx-ready p,.rx-history summary,.rx-recap p,.rx-result-hero>p,.rx-result-hero .rx-outcome,.rx-scoreboard span,.setup-start-choice>span,.section-kicker,.focus-explanation p,.focus-in-play p,.play-mode,.clock-label,.play-hint,.feature-heading .eyebrow,.assessment-feature>.help-text,.rx-tutorial-hint,.rx-number-answer span,.dual-stage-label){color:var(--night-muted)}
html[data-theme=dark] .unified-ui :is(.secondary,.text-btn,.chip,.answer-btn,.rx-answer,.rx-keypad button,.number-pad button,.mode-grid button,.training-tabs button,.level-grid button,.segmented button,.rx-modes button,.appearance-options button){background:var(--night-raised);border-color:var(--night-line);color:var(--night-text);box-shadow:none}
html[data-theme=dark] .unified-ui :is(.back,.link-btn,.nav button,.nav button.active,.dual-save){color:var(--night-blue)}
html[data-theme=dark] .unified-ui :is(.nav button.active,.chip.active,.mode-grid button.active,.training-tabs button.active,.rx-modes button.active,.segmented button.active,.level-grid button.active,.appearance-options button[aria-pressed=true]){background:#284963;border-color:#9bcdff;color:#eff7ff;box-shadow:inset 0 0 0 1px #9bcdff}
html[data-theme=dark] .unified-ui :is(.primary,.rx-keypad .rx-key-submit){background:#94c7f5;border-color:#b4d9fa;color:#12283b;box-shadow:none}
html[data-theme=dark] .unified-ui .primary:active{background:#b5daf9}
html[data-theme=dark] .unified-ui :is(input,textarea,select,.search-input,.answer,.field input,.field select,#daily-goal,.rx-number-answer){background:#152330;border-color:#5b7489;color:var(--night-text)}
html[data-theme=dark] .unified-ui :is(input,textarea)::placeholder{color:#a9bccb}
html[data-theme=dark] .unified-ui :is(.setting,.record,.focus-in-detail,.focus-in-play,.rx-detail-list>div,.stat,.mode-grid button small){border-color:var(--night-line)}
html[data-theme=dark] .unified-ui :is(.tip,.rx-ring-intro,.rx-advice,.word-note,.word-details,.dual-resume){background:#203b3a;border-color:#416461;color:#c9e7dc}
html[data-theme=dark] .unified-ui :is(.utility-card,.ability-pills span){background:var(--tone);border-color:var(--night-line);color:var(--night-text)}
html[data-theme=dark] .ability-0{--tone:#243e55;--ink:#a3d0ff}html[data-theme=dark] .ability-1{--tone:#3b3151;--ink:#d3bdf5}html[data-theme=dark] .ability-2{--tone:#233f39;--ink:#a4dfc7}html[data-theme=dark] .ability-3{--tone:#4a332e;--ink:#f1baa0}html[data-theme=dark] .ability-4{--tone:#453d29;--ink:#ecd18e}
html[data-theme=dark] .unified-ui :is(.utility-icon,.heading-symbol,.stat .ico,.feature-symbol,.profile-avatar,.avatar){background:#304858;border-color:var(--night-line);color:#c3e1f5}
html[data-theme=dark] .unified-ui .toggle{background:#506575}html[data-theme=dark] .unified-ui .toggle.on{background:#72a9d6}html[data-theme=dark] .unified-ui .toggle:before{background:#e4edf5}
html[data-theme=dark] .unified-ui :is(.day,.calendar-day){background:#243747;color:#c4d6e4;border-color:transparent}
html[data-theme=dark] .unified-ui :is(.day.today,.calendar-day.chosen){border-color:#9bcdff;background:#284963}
html[data-theme=dark] .unified-ui :is(.day.trained,.calendar-day.trained){background:#234c3e;color:#c1ead3}html[data-theme=dark] .unified-ui :is(.calendar-day small,.calendar-grid>span){color:#b7cec2}html[data-theme=dark] .calendar-stamp.checked{background:#326c53;color:#e9fff1}
html[data-theme=dark] .training-focus{--focus-ink:#a9d9c4;--focus-wash:#294a40}html[data-theme=dark] .focus-axis-1{--focus-ink:#efd190;--focus-wash:#49402a}html[data-theme=dark] .focus-axis-2{--focus-ink:#f3b6a9;--focus-wash:#4e3733}html[data-theme=dark] .focus-axis-3{--focus-ink:#d0bbed;--focus-wash:#3e3452}html[data-theme=dark] .focus-axis-4{--focus-ink:#b2d4f4;--focus-wash:#2c4255}
html[data-theme=dark] .unified-ui :is(.focus-eyebrow,.focus-caption,.focus-in-play strong){color:var(--focus-ink)}html[data-theme=dark] .focus-explanation>div{border-color:var(--focus-wash)}
/* Boards: all normal tiles receive readable contrast; stimulus colours are handled separately. */
html[data-theme=dark] .unified-ui :is(.play-panel,.schulte-surface,.rx-panel,.dual-panel){background:#192b38;border-color:#41586c;box-shadow:none}
html[data-theme=dark] .unified-ui :is(.rx-scoreboard>div,.classic-play .game-meta>span){background:#253c50;border-color:#466177;color:var(--night-text)}
html[data-theme=dark] .unified-ui :is(.rx-scoreboard>div:nth-child(2),.classic-play .game-meta>span:nth-child(2)){background:#453b29}
html[data-theme=dark] .unified-ui :is(.rx-scoreboard>div:nth-child(3),.classic-play .game-meta>span:nth-child(3)){background:#254239}
html[data-theme=dark] .unified-ui :is(.progress,.board-progress .progress){background:#3b5063}html[data-theme=dark] .unified-ui .progress i{background:#8bbde5}
html[data-theme=dark] .unified-ui .classic-play .cell:not(.lit):not(.selected):not(.done):not(.fixed):not(.related):not(.wrong-guess):not(.empty){background:#263f52;border-color:#54718a;color:#e6f1fa}
html[data-theme=dark] .unified-ui :is(.cell.lit,.cell.selected){background:#447ca4;border-color:#b3dbfa;color:#fff}
html[data-theme=dark] .unified-ui :is(.cell.done,.cell.completed){background:#2d5543;border-color:#577c66;color:#d0ecd9}
html[data-theme=dark] .unified-ui .cell.fixed{background:#1e3241;color:#b9cbd8}
html[data-theme=dark] .unified-ui .cell.related{background:#314b5f;color:#dcebf5}
html[data-theme=dark] .unified-ui .cell.empty{background:#111e29;border-color:#476477}
html[data-theme=dark] .unified-ui .cell.wrong-guess{background:#643c3e;color:#ffd5cf}
html[data-theme=dark] .unified-ui .sudoku .cell{border-color:#49677d}html[data-theme=dark] .unified-ui .sudoku{border-color:#8bb0c9}html[data-theme=dark] .unified-ui .sudoku .cell:nth-child(3n){border-right-color:#8bb0c9}html[data-theme=dark] .unified-ui .sudoku .cell:nth-child(n+19):nth-child(-n+27),html[data-theme=dark] .unified-ui .sudoku .cell:nth-child(n+46):nth-child(-n+54){border-bottom-color:#8bb0c9}
html[data-theme=dark] .unified-ui .schulte-grid .cell{background:#253e50;border-color:#58748a;color:#e5eff7!important;box-shadow:none}
html[data-theme=dark] .unified-ui .schulte-grid .cell[style*="#285ea2"]{color:#a5d0ff!important}html[data-theme=dark] .unified-ui .schulte-grid .cell[style*="#a32e36"]{color:#ffb1ba!important}html[data-theme=dark] .unified-ui .schulte-grid .cell[style*="#287149"]{color:#a2e0bc!important}
html[data-theme=dark] .unified-ui .schulte-grid .cell.completed{background:#2e4b41;border-color:#537469;color:#b7d3c5!important}
html[data-theme=dark] .unified-ui .schulte-grid .cell.hit-right{background:#397456;border-color:#86c39d;color:#f0fff4!important}
html[data-theme=dark] .unified-ui .schulte-grid .cell.hit-wrong{background:#743e42;border-color:#f2a8aa;color:#fff1e9!important}
html[data-theme=dark] .unified-ui .schulte-grid.interference .cell{color:#8b9b91!important;background:#253c3a}
html[data-theme=dark] .schulte-wheel path{fill:#253e50;stroke:#819cae}html[data-theme=dark] .schulte-wheel text{fill:#e5eff7}html[data-theme=dark] .schulte-wheel .completed path{fill:#2e4b41}html[data-theme=dark] .schulte-wheel .hit-right path{fill:#397456}html[data-theme=dark] .schulte-wheel .hit-wrong path{fill:#743e42}
html[data-theme=dark] .unified-ui .rx-tap-pad{background:#24445d;border-color:#739bbb;color:#e1f0ff}html[data-theme=dark] .unified-ui .rx-tap-rings{color:#a6d4fb}
html[data-theme=dark] .unified-ui :is(.rx-ring-stage,.tracking){background:#223746}html[data-theme=dark] .rx-ring-percent{fill:#e3eff7}html[data-theme=dark] .rx-ring-caption{fill:#b4cbdb}html[data-theme=dark] .ring-coach{color:#e3eff7}
html[data-theme=dark] .unified-ui .rx-notice{color:#a0dab8}html[data-theme=dark] .unified-ui :is(.rx-notice.error,.feedback.error){color:#ffb6b0}html[data-theme=dark] .unified-ui .feedback{color:#b6e1c4}
html[data-theme=dark] .unified-ui .dual-control-key{color:#f2b5a7}html[data-theme=dark] .unified-ui .dual-control-key span+span{color:#a8d7f0}
html[data-theme=dark] .unified-ui .rx-choices .rx-answer:nth-child(2){background:#2a4940;border-color:#638c7c;color:#c4eddb}
/* These colours encode answers. Preserve their RGB values and local neutral backdrops. */
html[data-theme=dark] .unified-ui [data-game-kind=stroop] #play-panel{background:#cbd7de;color:#203b4a}
html[data-theme=dark] .unified-ui [data-game-kind=stroop] #play-panel :is(.prompt,.muted){color:#203b4a}
html[data-theme=dark] .unified-ui [data-game-kind=search] .cell:not(.lit):not(.selected):not(.done){background:#c5d3dc;border-color:#91a8b8}
html[data-theme=dark] .unified-ui .rx-picture{background:#cbd7de;border-color:#8ba5b8}
html[data-theme=dark] .unified-ui .playing-card{background:#cbd7de;border-color:#819baa;color:#173c55}
/* Coaching, results and modal surfaces use the same dark palette. */
html[data-theme=dark] .unified-ui .play-guide{background:#263b4af7;border-color:#bd9f59;color:#edf4fa;box-shadow:0 4px 18px #0005}html[data-theme=dark] .unified-ui .play-guide-title>span{color:#bdced9}
html[data-theme=dark] .unified-ui .play-guide-actions .text-btn{background:transparent;color:#b8ddff}
html[data-theme=dark] .unified-ui .game-pause-cover{background:#0d17294a}
html[data-theme=dark] dialog{background:#1b2936;border-color:#526b7f;color:#e4edf5;box-shadow:0 14px 50px #0009}html[data-theme=dark] dialog::backdrop{background:#02070dc4}html[data-theme=dark] dialog :is(h2,p,.muted){color:#d4e2ed}html[data-theme=dark] .dialog-symbol{background:#304858;color:#c6e3f8}
html[data-theme=dark] .unified-ui :is(.result-symbol,.rx-result-mascot,.rx-grade,.rx-new-best){background:#3e4031;border-color:#656346;color:#ffe19e}
html[data-theme=dark] .unified-ui :is(.rx-result-number,.result-score,.rx-ready>strong){color:#a8d4fc}
html[data-theme=dark] .unified-ui #toast{background:#c5ddec;color:#172d3d}
html[data-theme=dark] .unified-ui .home-training .categories .chip{background:#243747;color:#d9e9f5;border-color:#526b7e}html[data-theme=dark] .unified-ui .home-training .categories .chip:nth-child(3){background:#453d29}html[data-theme=dark] .unified-ui .home-training .categories .chip:nth-child(4){background:#4a332e}html[data-theme=dark] .unified-ui .home-training .categories .chip:nth-child(5){background:#3b3151}html[data-theme=dark] .unified-ui .home-training .categories .chip:nth-child(6){background:#233f39}html[data-theme=dark] .unified-ui .home-training .categories .chip.active{background:#284963;border-color:#9bcdff;color:#eff7ff}
html[data-theme=dark] .game-art{background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px)}
html[data-theme=dark] .art-mint{--art-bg:#305448}html[data-theme=dark] .art-lavender{--art-bg:#473b60}html[data-theme=dark] .art-sky{--art-bg:#2c5068}html[data-theme=dark] .art-gold{--art-bg:#5b4a2b}html[data-theme=dark] .art-rose{--art-bg:#5b3c45}html[data-theme=dark] .art-peach{--art-bg:#5d4330}
html[data-theme=dark] .game-art .piece{background:#c4d6db;border-color:#93afb9;box-shadow:none}
html[data-theme=dark] .art-schulte .piece-4,html[data-theme=dark] .art-sequence .piece-1,html[data-theme=dark] .art-slide .piece-8{background:#e5c27c}
html[data-theme=dark] .unified-ui :is(.radar-axis,.radar-evidence){background:#243747;border-color:#526b7e;color:#d9e9f5}html[data-theme=dark] .unified-ui .radar-axis.active{background:#284963;border-color:#9bcdff}
html[data-theme=dark] .unified-ui :is(.radar-period,.radar-intro,.radar-legend,.radar-axis small,.radar-axis strong,.radar-evidence p,.radar-source small,.radar-source b,.radar-method){color:#bcd1e0}
html[data-theme=dark] .radar-label{fill:#dfedf7}html[data-theme=dark] .radar-axis-score,html[data-theme=dark] .radar-tick{fill:#afc8da}html[data-theme=dark] .radar-grid{stroke:#526e83}html[data-theme=dark] .radar-grid:nth-child(5){fill:#243f53}html[data-theme=dark] .radar-spoke{stroke:#526e83}html[data-theme=dark] .radar-area{fill:#83b7db;stroke:#b0d9f4}html[data-theme=dark] .radar-value-line{stroke:#b0d9f4}
html[data-theme=dark] .unified-ui.schulte-theme :is(.game-head .back,.page-heading .back,.play-actions .secondary){background:#243747;border-color:#526b7e;color:#c5e3fb;box-shadow:none}
html[data-theme=dark] .unified-ui .reaction:not(.ready):not(.stop){background:#314657;color:#e3eef7}
html[data-theme=dark] .unified-ui :is(.schulte-hero p,.rx-modes small){color:#b3c5d4}
html[data-theme=dark] .unified-ui .rx-center{background:#c5d3dc;border-radius:14px;min-width:1.1em;text-align:center}
html[data-theme=dark] .unified-ui .playing-card small{color:#983b31}
html[data-theme=dark] .unified-ui.schulte-theme :is(.schulte-result .result-score,.result-badge,.result-metrics){background:#1b2936;border-color:#41586c;color:#dceaf5}
html[data-theme=dark] .unified-ui.schulte-theme :is(.result-badge,.result-metrics span){color:#b3c5d4}
html[data-theme=dark] .trend-chart text{fill:#b3c5d4}html[data-theme=dark] .trend-chart polyline{stroke:#95d4b6}html[data-theme=dark] .trend-chart circle{fill:#95d4b6}html[data-theme=dark] .trend-summary strong{color:#b0e3c8}
