/* Zabanisa Dark Mode — Final Polish Phase 4
   Scope: rare states and cross-page components that are easy to miss during normal browsing:
   help tours, home spotlight, instructor marketplace polish, placement/level-test edge states,
   rewards micro-components, global notices/toasts/loaders, support floating controls and interaction states.
   Visual only. No route, progress, auth, billing, support, AI or speaking behavior is changed. */

html[data-zabanisa-theme="dark"] {
    --dm4-page: var(--dm-page, #08111f);
    --dm4-surface: var(--dm-surface, #111b2e);
    --dm4-surface-2: var(--dm-surface-2, #152238);
    --dm4-surface-3: var(--dm-surface-3, #1a2940);
    --dm4-input: var(--dm-surface-soft, #0d1829);
    --dm4-border: var(--dm-border, #2a3a51);
    --dm4-border-strong: var(--dm-border-strong, #3a4c65);
    --dm4-text: var(--dm-text, #f1f6fd);
    --dm4-text-2: var(--dm-text-2, #c8d5e6);
    --dm4-muted: var(--dm-muted, #9aabc1);
    --dm4-faint: var(--dm-faint, #75879f);
    --dm4-teal: var(--dm-teal, #35d0bb);
    --dm4-teal-soft: var(--dm-teal-soft, #123c3b);
    --dm4-blue: var(--dm-blue, #8ab7ff);
    --dm4-gold: var(--dm-gold, #efc476);
    --dm4-success: var(--dm-success, #4bd6a6);
    --dm4-success-soft: var(--dm-success-soft, #12382f);
    --dm4-warning: var(--dm-warning, #f2bd66);
    --dm4-warning-soft: var(--dm-warning-soft, #3d2d18);
    --dm4-danger: var(--dm-danger, #ff8d8d);
    --dm4-danger-soft: var(--dm-danger-soft, #3c2027);
    --dm4-illustration-bg: var(--dm-illustration-bg, #eef4f3);
}

/* -------------------------------------------------------------------------- */
/* Global interaction / browser polish                                         */
/* -------------------------------------------------------------------------- */
html[data-zabanisa-theme="dark"] { scrollbar-color:#42536b #0b1627; }
html[data-zabanisa-theme="dark"] ::selection { background:rgba(53,208,187,.28);color:#fff; }
html[data-zabanisa-theme="dark"] :is(input,textarea,select):-webkit-autofill,
html[data-zabanisa-theme="dark"] :is(input,textarea,select):-webkit-autofill:hover,
html[data-zabanisa-theme="dark"] :is(input,textarea,select):-webkit-autofill:focus {
    -webkit-text-fill-color:var(--dm4-text)!important;
    -webkit-box-shadow:0 0 0 1000px var(--dm4-input) inset!important;
    caret-color:var(--dm4-text);
}
html[data-zabanisa-theme="dark"] :is(button,a,input,select,textarea,[role="button"]):focus-visible {
    outline-color:rgba(53,208,187,.58);
}
html[data-zabanisa-theme="dark"] :is(button,.btn,[role="button"])[disabled],
html[data-zabanisa-theme="dark"] [aria-disabled="true"] {
    box-shadow:none!important;
}

/* Preserve real media. Never invert product/course/content images globally. */
html[data-zabanisa-theme="dark"] :is(img,video,canvas,picture) { filter:none; }

/* Small shell islands that can otherwise remain bright. */
html[data-zabanisa-theme="dark"] .learning-chip-avatar {
    background:#17263b!important;
    border-color:#34465f!important;
    color:#8cebdc!important;
}
html[data-zabanisa-theme="dark"] .enamad-seal-card {
    background:#111b2e!important;
    border-color:#2a3a51!important;
    box-shadow:0 10px 24px rgba(0,0,0,.22)!important;
}
html[data-zabanisa-theme="dark"] .enamad-seal-link { background:#eef4f3!important; }

/* -------------------------------------------------------------------------- */
/* Guided help tour + nudges                                                    */
/* -------------------------------------------------------------------------- */
html[data-zabanisa-theme="dark"] .zhelp-target.zhelp-target-active {
    box-shadow:0 18px 45px rgba(0,0,0,.34),0 0 0 3px rgba(53,208,187,.68),0 0 0 9px rgba(53,208,187,.14)!important;
}
html[data-zabanisa-theme="dark"] .zhelp-fab-close,
html[data-zabanisa-theme="dark"] .zhelp-close,
html[data-zabanisa-theme="dark"] .zhelp-nudge-close {
    background:#1a2940!important;
    border-color:#34465f!important;
    color:#b6c4d6!important;
    box-shadow:0 8px 18px rgba(0,0,0,.24)!important;
}
html[data-zabanisa-theme="dark"] .zhelp-backdrop { background:rgba(2,8,18,.62)!important; }
html[data-zabanisa-theme="dark"] .zhelp-spotlight {
    background:rgba(53,208,187,.03)!important;
    box-shadow:0 18px 46px rgba(0,0,0,.30),0 0 0 2px rgba(53,208,187,.72),0 0 0 8px rgba(53,208,187,.14)!important;
}
html[data-zabanisa-theme="dark"] .zhelp-popover,
html[data-zabanisa-theme="dark"] .zhelp-nudge {
    background:linear-gradient(145deg,#111b2e 0%,#0e192a 100%)!important;
    border-color:#2f465f!important;
    color:var(--dm4-text)!important;
    box-shadow:0 24px 58px rgba(0,0,0,.42)!important;
}
html[data-zabanisa-theme="dark"] .zhelp-popover::before { background:#111b2e!important;box-shadow:-1px -1px 0 #34465f!important; }
html[data-zabanisa-theme="dark"] .zhelp-popover[data-placement="top"]::before { box-shadow:1px 1px 0 #34465f!important; }
html[data-zabanisa-theme="dark"] .zhelp-popover[data-placement="left"]::before { box-shadow:1px -1px 0 #34465f!important; }
html[data-zabanisa-theme="dark"] .zhelp-popover[data-placement="right"]::before { box-shadow:-1px 1px 0 #34465f!important; }
html[data-zabanisa-theme="dark"] :is(.zhelp-title,.zhelp-nudge-copy strong) { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] :is(.zhelp-count,.zhelp-body,.zhelp-nudge-copy p,.zhelp-nudge-link) { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .zhelp-actions {
    background:linear-gradient(180deg,rgba(14,25,42,0),rgba(14,25,42,.99) 34%)!important;
}
html[data-zabanisa-theme="dark"] :is(.zhelp-btn,.zhelp-nudge-btn) {
    background:#152238!important;
    border-color:#34465f!important;
    color:var(--dm4-text-2)!important;
}
html[data-zabanisa-theme="dark"] :is(.zhelp-btn-primary,.zhelp-nudge-btn-primary) {
    background:linear-gradient(135deg,#17b39f,#0f8f74)!important;
    border-color:transparent!important;
    color:#fff!important;
}
html[data-zabanisa-theme="dark"] .zhelp-dot { background:rgba(154,171,193,.32)!important; }
html[data-zabanisa-theme="dark"] .zhelp-dot.is-active { background:var(--dm4-teal)!important; }

/* Speaking Studio has its own micro-tour. Match the main tour in dark mode. */
html[data-zabanisa-theme="dark"] .lesson-speaking-tour-spotlight {
    border-color:rgba(53,208,187,.82)!important;
    background:rgba(53,208,187,.02)!important;
    box-shadow:0 0 0 9999px rgba(2,8,18,.62),0 0 0 8px rgba(53,208,187,.14),0 14px 34px rgba(0,0,0,.30)!important;
}

/* -------------------------------------------------------------------------- */
/* Home spotlight + instructor marketplace                                     */
/* -------------------------------------------------------------------------- */
html[data-zabanisa-theme="dark"] .home-spotlight-strip {
    background:linear-gradient(105deg,#2e271c 0%,#17233b 48%,#102d2c 100%)!important;
    border-color:#3a4c65!important;
    box-shadow:0 8px 20px rgba(0,0,0,.22)!important;
}
html[data-zabanisa-theme="dark"] .home-spotlight-strip-message { color:#e6edf8!important; }
html[data-zabanisa-theme="dark"] .home-spotlight-strip-message small { color:#a8b6c8!important; }
html[data-zabanisa-theme="dark"] .home-spotlight-strip-open { color:#77e2d2!important; }
html[data-zabanisa-theme="dark"] .home-spotlight-strip-close {
    background:#1a2940!important;
    color:#b8c5d6!important;
    box-shadow:inset 0 0 0 1px #34465f!important;
}
html[data-zabanisa-theme="dark"] .instructor-market-title { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] .instructor-market-desc { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .instructor-market-all:hover { background:#1d3048!important;border-color:#3a506d!important; }
html[data-zabanisa-theme="dark"] .instructor-course-card:hover { box-shadow:0 14px 30px rgba(0,0,0,.28)!important; }
html[data-zabanisa-theme="dark"] .instructor-course-free-badge { border-color:#173127!important;box-shadow:0 8px 20px rgba(0,0,0,.24)!important; }
html[data-zabanisa-theme="dark"] .instructor-course-cta { box-shadow:0 8px 18px rgba(15,143,116,.22)!important; }

/* -------------------------------------------------------------------------- */
/* Placement / level test / path edge states                                  */
/* -------------------------------------------------------------------------- */
html[data-zabanisa-theme="dark"] .pl-media-stage {
    background:#111b2e!important;
    border-color:#2a3a51!important;
}
html[data-zabanisa-theme="dark"] .placement-passage {
    background:#0d1829!important;
    border-color:#34465f!important;
    color:var(--dm4-text-2)!important;
}
html[data-zabanisa-theme="dark"] .placement-choice input:checked + .pl-choice-card {
    background:#123c3b!important;
    border-color:#35d0bb!important;
    box-shadow:0 0 0 3px rgba(53,208,187,.10)!important;
}
html[data-zabanisa-theme="dark"] .placement-resume-banner {
    background:#12382f!important;
    border-color:#2f6259!important;
    color:#a9dfd1!important;
}
html[data-zabanisa-theme="dark"] .placement-resume-banner button {
    background:#17483f!important;
    color:#8cebdc!important;
}
html[data-zabanisa-theme="dark"] .placement-nav {
    background:rgba(17,27,46,.96)!important;
    border-color:#2a3a51!important;
    box-shadow:0 -8px 22px rgba(0,0,0,.26)!important;
}
html[data-zabanisa-theme="dark"] .placement-nav .secondary {
    background:#1a2940!important;
    color:var(--dm4-text-2)!important;
}
html[data-zabanisa-theme="dark"] .placement-skill-track,
html[data-zabanisa-theme="dark"] .member-path-progress { background:#26364d!important; }
html[data-zabanisa-theme="dark"] .pl-path-stats span,
html[data-zabanisa-theme="dark"] .pl-step-card,
html[data-zabanisa-theme="dark"] .pl-path-choice {
    background:#111b2e!important;
    border-color:#2a3a51!important;
    color:var(--dm4-text-2)!important;
}
html[data-zabanisa-theme="dark"] .pl-step-card.is-completed,
html[data-zabanisa-theme="dark"] .pl-path-choice.is-completed,
html[data-zabanisa-theme="dark"] .pl-path-choice.is-guest-preview {
    background:#102b2e!important;
    border-color:#2c5d57!important;
}
html[data-zabanisa-theme="dark"] .pl-path-stats b,
html[data-zabanisa-theme="dark"] .pl-path-choice-main strong { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] .pl-path-choice-main small { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .pl-inline-note {
    background:#2e271c!important;
    border-color:#5b4829!important;
    color:#c9b58f!important;
}
html[data-zabanisa-theme="dark"] .placement-screen-result .pl-btn-secondary,
html[data-zabanisa-theme="dark"] .pl-mini-secondary,
html[data-zabanisa-theme="dark"] .pl-path-primary-btn {
    background:#152238!important;
    border-color:#34465f!important;
    color:#8cebdc!important;
}
html[data-zabanisa-theme="dark"] .placement-recorder {
    background:#111b2e!important;
    border-color:#2a3a51!important;
    box-shadow:0 10px 24px rgba(0,0,0,.22)!important;
}
html[data-zabanisa-theme="dark"] .placement-recorder-copy strong { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] .placement-recorder-copy span,
html[data-zabanisa-theme="dark"] .placement-recorder-status { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .placement-recorder-btn {
    background:#152238!important;
    border-color:#34465f!important;
    color:var(--dm4-text-2)!important;
}
html[data-zabanisa-theme="dark"] .placement-recorder.is-recording .placement-recorder-btn.is-record {
    background:#3c2027!important;
    border-color:#6d3842!important;
    color:#ff9f9f!important;
}
html[data-zabanisa-theme="dark"] .placement-speaking-result {
    background:#12382f!important;
    border-color:#2e6259!important;
}
html[data-zabanisa-theme="dark"] .placement-speaking-result strong { color:#7fe4d3!important; }
html[data-zabanisa-theme="dark"] .placement-speaking-result span { color:var(--dm4-text-2)!important; }
html[data-zabanisa-theme="dark"] .pl-goal-selection-status {
    background:#111b2e!important;
    border-color:#2a3a51!important;
    color:var(--dm4-text-2)!important;
}
html[data-zabanisa-theme="dark"] .pl-stage-ladder {
    background:linear-gradient(180deg,#111b2e,#0f1a2b)!important;
    border-color:#2a3a51!important;
    box-shadow:0 8px 20px rgba(0,0,0,.22)!important;
}
html[data-zabanisa-theme="dark"] .pl-stage-ladder-head strong { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] .pl-stage-ladder-head small { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .pl-stage-ladder-rail::before { background:#34465f!important; }
html[data-zabanisa-theme="dark"] .pl-stage-pill {
    background:#152238!important;
    border-color:#2a3a51!important;
    color:#aebdd0!important;
}
html[data-zabanisa-theme="dark"] .pl-stage-pill.is-selected,
html[data-zabanisa-theme="dark"] .pl-stage-pill.is-completed:not(.is-current) {
    background:#12382f!important;
    border-color:#2f6259!important;
    color:#7fe4d3!important;
}
html[data-zabanisa-theme="dark"] .pl-stage-pill.is-entry:not(.is-current)::after { border-color:#111b2e!important; }
html[data-zabanisa-theme="dark"] .pl-stage-explore-note {
    background:#10272a!important;
    border-color:#2c5a55!important;
    color:var(--dm4-muted)!important;
}
html[data-zabanisa-theme="dark"] .pl-stage-explore-note strong,
html[data-zabanisa-theme="dark"] .pl-stage-explore-note a { color:#7fe4d3!important; }
html[data-zabanisa-theme="dark"] .pl-preview-save-card {
    background:linear-gradient(135deg,#102b2e 0%,#111b2e 72%)!important;
    border-color:#2d5b57!important;
    box-shadow:0 9px 22px rgba(0,0,0,.22)!important;
}
html[data-zabanisa-theme="dark"] .pl-preview-save-copy strong { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] .pl-preview-save-copy small { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .pl-preview-save-button.is-secondary,
html[data-zabanisa-theme="dark"] .pl-roadmap-primary-action.is-soft,
html[data-zabanisa-theme="dark"] .pl-path-overview-action.is-soft {
    background:#12382f!important;
    border-color:#2e6259!important;
    color:#7fe4d3!important;
}
html[data-zabanisa-theme="dark"] .pl-preview-save-sheet {
    background:linear-gradient(180deg,#111b2e,#0f1a2b)!important;
    border-color:#2a3a51!important;
    box-shadow:0 -22px 54px rgba(0,0,0,.42)!important;
}
html[data-zabanisa-theme="dark"] .pl-preview-save-sheet h2 { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] .pl-preview-save-sheet p { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .pl-preview-save-badge { background:#12382f!important;color:#7fe4d3!important; }
html[data-zabanisa-theme="dark"] .pl-preview-save-actions .is-light {
    background:#152238!important;
    border-color:#34465f!important;
    color:var(--dm4-text-2)!important;
}
html[data-zabanisa-theme="dark"] .pl-preview-save-actions .is-quiet { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .pl-roadmap-step.is-current .pl-roadmap-step-copy {
    background:linear-gradient(145deg,#102b2e,#111b2e)!important;
    border-color:#2f8d82!important;
    box-shadow:0 10px 24px rgba(0,0,0,.24),inset 0 0 0 1px rgba(53,208,187,.05)!important;
}
html[data-zabanisa-theme="dark"] .pl-roadmap-title-row strong { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] .pl-roadmap-step-copy>small { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .pl-roadmap-optional {
    background:#3b2d1c!important;
    border-color:#66502b!important;
    color:#efc476!important;
}
html[data-zabanisa-theme="dark"] .pl-roadmap-state {
    background:#152238!important;
    border-color:#34465f!important;
    color:#9aabc1!important;
}
html[data-zabanisa-theme="dark"] .pl-roadmap-state.is-done { background:#0ca796!important;border-color:#0ca796!important;color:#fff!important; }
html[data-zabanisa-theme="dark"] .pl-roadmap-state.is-current-state { background:#12382f!important;border-color:#2e6259!important;color:#7fe4d3!important; }
html[data-zabanisa-theme="dark"] .pl-roadmap-state.is-locked { background:#101827!important;border-color:#26364d!important;color:#6f8199!important; }
html[data-zabanisa-theme="dark"] .pl-roadmap-current-label { background:#12382f!important;border-color:#2e6259!important;color:#7fe4d3!important; }
html[data-zabanisa-theme="dark"] .pl-roadmap-complete-action {
    background:#152238!important;
    border-color:#34465f!important;
    color:#a9babd!important;
}
html[data-zabanisa-theme="dark"] .pl-roadmap-footer-stats {
    background:#111b2e!important;
    border-color:#2a3a51!important;
    box-shadow:0 9px 22px rgba(0,0,0,.22)!important;
}
html[data-zabanisa-theme="dark"] .pl-roadmap-footer-stats>div { border-color:#2a3a51!important; }
html[data-zabanisa-theme="dark"] .pl-path-overview-footer { border-color:#2a3a51!important; }
html[data-zabanisa-theme="dark"] .pl-path-return-toast,
html[data-zabanisa-theme="dark"] .pl-toast,
html[data-zabanisa-theme="dark"] .pl-guest-start-toast {
    background:rgba(17,27,46,.98)!important;
    border-color:#2f5b57!important;
    color:var(--dm4-text-2)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.38)!important;
}
html[data-zabanisa-theme="dark"] .pl-path-return-toast-icon { background:#12382f!important;color:#7fe4d3!important; }
html[data-zabanisa-theme="dark"] .pl-path-return-toast.is-pending .pl-path-return-toast-icon { background:#3b2d1c!important;color:#efc476!important; }
html[data-zabanisa-theme="dark"] .pl-path-return-toast-copy strong,
html[data-zabanisa-theme="dark"] .pl-guest-start-toast strong { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] .pl-path-return-toast-copy small { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .pl-path-return-toast a,
html[data-zabanisa-theme="dark"] .pl-guest-start-toast a { background:#12382f!important;color:#7fe4d3!important; }

/* -------------------------------------------------------------------------- */
/* Rewards wallet micro-states + skeleton                                      */
/* -------------------------------------------------------------------------- */
html[data-zabanisa-theme="dark"] .zrw-tabs { background:#0d1829!important; }
html[data-zabanisa-theme="dark"] .zrw-tab { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .zrw-tab b { background:#1a2940!important;color:#9aabc1!important; }
html[data-zabanisa-theme="dark"] .zrw-tab.is-active {
    background:#1a2940!important;
    color:#8cebdc!important;
    box-shadow:0 7px 18px rgba(0,0,0,.22)!important;
}
html[data-zabanisa-theme="dark"] .zrw-tab.is-active b { background:#12382f!important;color:#8cebdc!important; }
html[data-zabanisa-theme="dark"] .zrw-confirm-close,
html[data-zabanisa-theme="dark"] .zrw-mission-chevron,
html[data-zabanisa-theme="dark"] .zrw-req-help {
    background:#1a2940!important;
    border-color:#34465f!important;
    color:#aebdd0!important;
}
html[data-zabanisa-theme="dark"] .zrw-mission.is-open .zrw-mission-chevron,
html[data-zabanisa-theme="dark"] .zrw-req.is-done .zrw-req-help { background:#12382f!important;color:#8cebdc!important; }
html[data-zabanisa-theme="dark"] .zrw-req.is-done .zrw-req-count { background:#12382f!important;border-color:#2f6259!important;color:#8cebdc!important; }
html[data-zabanisa-theme="dark"] .zrw-completed-reqs,
html[data-zabanisa-theme="dark"] .zrw-completed-req { background:#101b2d!important;border-color:#2a3a51!important; }
html[data-zabanisa-theme="dark"] .zrw-completed-req strong { color:var(--dm4-text-2)!important; }
html[data-zabanisa-theme="dark"] .zrw-skeleton i {
    background:linear-gradient(90deg,#101b2d 25%,#1a2940 50%,#101b2d 75%)!important;
    background-size:200% 100%!important;
}

/* -------------------------------------------------------------------------- */
/* Global notices, support floating, push/PWA edge controls                    */
/* -------------------------------------------------------------------------- */
html[data-zabanisa-theme="dark"] .push-settings-trigger {
    background:#152238!important;
    border-color:#34465f!important;
    color:#a9c9ff!important;
}
html[data-zabanisa-theme="dark"] .push-permission-prompt__close,
html[data-zabanisa-theme="dark"] .zsupport-float__close,
html[data-zabanisa-theme="dark"] .zsupport-reply-notice__close {
    background:#1a2940!important;
    color:#b6c4d6!important;
    border-color:#34465f!important;
}
html[data-zabanisa-theme="dark"] .push-permission-prompt__status.is-error {
    background:var(--dm4-danger-soft)!important;
    color:#ff9f9f!important;
    border-color:#6b3741!important;
}
html[data-zabanisa-theme="dark"] .pwa-install-card__copy strong { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] .pwa-install-card__copy span { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .zsupport-float__head strong,
html[data-zabanisa-theme="dark"] .zsupport-float__action strong,
html[data-zabanisa-theme="dark"] .zsupport-reply-notice__copy strong { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] .zsupport-float__head span,
html[data-zabanisa-theme="dark"] .zsupport-float__action small,
html[data-zabanisa-theme="dark"] .zsupport-reply-notice__copy small { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .zsupport-float__action:hover { background:#1a2940!important;border-color:#3a5965!important; }
html[data-zabanisa-theme="dark"] .zsupport-reply-notice {
    background:rgba(17,27,46,.985)!important;
    border-color:#2f5b57!important;
    box-shadow:0 18px 45px rgba(0,0,0,.36)!important;
}
html[data-zabanisa-theme="dark"] .zsupport-reply-notice__icon { background:#12382f!important;color:#8cebdc!important; }

/* -------------------------------------------------------------------------- */
/* Toasts + loading feedback                                                   */
/* -------------------------------------------------------------------------- */
html[data-zabanisa-theme="dark"] .dictionary-auth-prompt {
    background:#172b48!important;
    color:#c8d8f2!important;
    border-color:#304760!important;
}
html[data-zabanisa-theme="dark"] .dictionary-toast,
html[data-zabanisa-theme="dark"] .vocab-toast-bubble,
html[data-zabanisa-theme="dark"] .lesson-speaking-toast {
    background:rgba(17,27,46,.96)!important;
    border:1px solid #34465f!important;
    color:#f1f6fd!important;
    box-shadow:0 16px 36px rgba(0,0,0,.32)!important;
}
html[data-zabanisa-theme="dark"] .offline-indicator {
    background:rgba(60,32,39,.96)!important;
    border-color:#6b3741!important;
    color:#ffb0b0!important;
    box-shadow:0 16px 30px rgba(0,0,0,.26)!important;
}
html[data-zabanisa-theme="dark"] .offline-indicator span { color:#d9959c!important; }
html[data-zabanisa-theme="dark"] .offline-indicator button { background:#542832!important;color:#ffb0b0!important; }
html[data-zabanisa-theme="dark"] .leitner-card-loading { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .leitner-card-loading-spinner {
    border-color:rgba(138,183,255,.16)!important;
    border-top-color:#8ab7ff!important;
}
html[data-zabanisa-theme="dark"] .lesson-ai-spinner {
    border-color:#2a3a51!important;
    border-top-color:#35d0bb!important;
}
html[data-zabanisa-theme="dark"] .lesson-ai-status-icon {
    background:#3c2027!important;
    color:#ff9f9f!important;
    border-color:#6b3741!important;
}

/* Semantic toasts intentionally keep their semantic color, but remove bright
   white outlines that look harsh on dark surfaces. */
html[data-zabanisa-theme="dark"] .leitner-toast { border-color:rgba(255,255,255,.16)!important;box-shadow:0 18px 40px rgba(0,0,0,.30)!important; }
html[data-zabanisa-theme="dark"] .zrw-toast { box-shadow:0 14px 28px rgba(0,0,0,.30)!important; }

/* -------------------------------------------------------------------------- */
/* Navigation transition / desktop shell polish                               */
/* -------------------------------------------------------------------------- */
html[data-zabanisa-theme="dark"] .zbn-page-transition { background:rgba(2,8,18,.68)!important; }
html[data-zabanisa-theme="dark"] .zbn-page-transition__card {
    background:linear-gradient(145deg,rgba(17,27,46,.99),rgba(13,24,41,.98))!important;
    border-color:rgba(53,208,187,.22)!important;
    box-shadow:0 24px 64px rgba(0,0,0,.42),0 8px 24px rgba(15,143,116,.10),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
html[data-zabanisa-theme="dark"] .zbn-page-transition__icon {
    background:#101b2d!important;
    border-color:rgba(53,208,187,.18)!important;
    box-shadow:0 10px 24px rgba(0,0,0,.28)!important;
}
html[data-zabanisa-theme="dark"] .zabanisa-desktop-frame-loading,
html[data-zabanisa-theme="dark"] .zabanisa-desktop-device__screen,
html[data-zabanisa-theme="dark"] .zabanisa-desktop-frame {
    background:#0d1829!important;
    border-color:#2a3a51!important;
}
html[data-zabanisa-theme="dark"] .zabanisa-desktop-note>span { background:#111b2e!important;border-color:#2a3a51!important;color:var(--dm4-text-2)!important; }
html[data-zabanisa-theme="dark"] .zabanisa-desktop-brand__icon { background:var(--dm4-illustration-bg)!important; }

/* Account status icons were intentionally semantic but still too bright. */
html[data-zabanisa-theme="dark"] .auth-status-icon { background:#17263b!important;color:#8cebdc!important;box-shadow:none!important; }
html[data-zabanisa-theme="dark"] .auth-status-icon.warning { background:#3b2d1c!important;color:#efc476!important; }
html[data-zabanisa-theme="dark"] .auth-status-icon.success { background:#12382f!important;color:#7fe4d3!important; }

@media (prefers-reduced-motion: reduce) {
    html[data-zabanisa-theme="dark"] :is(.zrw-skeleton i,.zhelp-popover,.zhelp-nudge,.home-spotlight-strip,.pl-path-return-toast) {
        animation:none!important;
        transition:none!important;
    }
}

/* -------------------------------------------------------------------------- */
/* Final source-scan leftovers: only active app components                     */
/* -------------------------------------------------------------------------- */
html[data-zabanisa-theme="dark"] .placement-speaking-self {
    background:#111b2e!important;
    border:1px solid #2a3a51;
}
html[data-zabanisa-theme="dark"] .placement-speaking-self>span { color:var(--dm4-text-2)!important; }
html[data-zabanisa-theme="dark"] .placement-speaking-self-actions button,
html[data-zabanisa-theme="dark"] .pl-step-actions a,
html[data-zabanisa-theme="dark"] .pl-step-actions button {
    background:#152238!important;
    border-color:#34465f!important;
    color:#8cebdc!important;
}
html[data-zabanisa-theme="dark"] .pl-step-actions .done { background:linear-gradient(180deg,#17b6a1,#079589)!important;border-color:transparent!important;color:#fff!important; }
html[data-zabanisa-theme="dark"] .placement-screen-path-list .pl-path-toolbar-secondary {
    background:#2e271c!important;
    color:#dfc59d!important;
    border-color:#5b4829!important;
}
html[data-zabanisa-theme="dark"] .placement-screen-path-list .pl-path-delete-btn {
    background:#3c2027!important;
    border-color:#6b3741!important;
    color:#ff9f9f!important;
}
html[data-zabanisa-theme="dark"] .pl-progress-mini,
html[data-zabanisa-theme="dark"] .pl-path-showcase-ring,
html[data-zabanisa-theme="dark"] .pl-roadmap-progress-ring {
    background:conic-gradient(var(--path-teal,var(--pl-teal,#17b39f)) var(--progress,0%),#34465f 0)!important;
}
html[data-zabanisa-theme="dark"] .pl-progress-mini::before,
html[data-zabanisa-theme="dark"] .pl-path-showcase-ring::before,
html[data-zabanisa-theme="dark"] .pl-roadmap-progress-ring::before { background:#111b2e!important; }
html[data-zabanisa-theme="dark"] .pl-path-showcase-ring span,
html[data-zabanisa-theme="dark"] .pl-roadmap-progress-ring strong { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] .pl-path-showcase.is-completed .pl-path-showcase-ring {
    background:conic-gradient(#12a777 100%,#34465f 0)!important;
}
html[data-zabanisa-theme="dark"] .pl-progress-mini span { color:var(--dm4-muted)!important; }

/* Ticket-shaped reward badge: keep the colored ticket but make its side cuts
   match the actual dark card instead of appearing as bright white dots. */
html[data-zabanisa-theme="dark"] .zrw-mission-badge::before,
html[data-zabanisa-theme="dark"] .zrw-mission-badge::after {
    background:#111b2e!important;
    box-shadow:0 0 0 1px #2a3a51!important;
}

/* Legacy Leitner pill may still be emitted by old/edge markup. */
html[data-zabanisa-theme="dark"] .leitner-pill {
    background:#152238!important;
    border-color:#34465f!important;
    color:var(--dm4-text-2)!important;
}

/* Desktop companion shell + campaign strip + bottom nav icon islands. */
html[data-zabanisa-theme="dark"] .zabanisa-desktop-copy h1 { color:var(--dm4-text)!important; }
html[data-zabanisa-theme="dark"] .zabanisa-desktop-copy p { color:var(--dm4-muted)!important; }
html[data-zabanisa-theme="dark"] .zabanisa-desktop-pills span {
    background:#111b2e!important;
    border-color:#2a3a51!important;
    color:#c8d5e6!important;
    box-shadow:0 12px 26px rgba(0,0,0,.20)!important;
}
html[data-zabanisa-theme="dark"] .feedback-campaign-strip-message { color:var(--dm4-text-2)!important; }
html[data-zabanisa-theme="dark"] .feedback-campaign-strip-message b,
html[data-zabanisa-theme="dark"] .feedback-campaign-strip-open { color:#7fe4d3!important; }
html[data-zabanisa-theme="dark"] :is(
    .nav-item.home .nav-icon,.nav-item.catalog .nav-icon,.nav-item.review .nav-icon,
    .nav-item.dictionary .nav-icon,.nav-item.account .nav-icon
) {
    background:#17263b!important;
    color:#a9c9ff!important;
    box-shadow:inset 0 0 0 1px rgba(138,183,255,.08)!important;
}
html[data-zabanisa-theme="dark"] .nav-item.home .nav-icon,
html[data-zabanisa-theme="dark"] .nav-item.review .nav-icon { color:#7fe4d3!important; }
html[data-zabanisa-theme="dark"] .nav-item.catalog .nav-icon { color:#efc476!important; }
html[data-zabanisa-theme="dark"] .nav-item.dictionary .nav-icon { color:#c7b5ff!important; }
html[data-zabanisa-theme="dark"] .nav-item.is-active .nav-icon {
    background:#12382f!important;
    color:#8cebdc!important;
    box-shadow:inset 0 0 0 1px rgba(53,208,187,.16)!important;
}
