/* Dark theme for /practice. Loaded after components.css and the page's own
   <style>, applies only
   under html[data-theme="dark"], which components/preferences.js sets.

   Three parts, in this order:
   1. Tokens (hand-written).
   2. The generated block: every colour rule of practice.html's <style> and
      of the components listed in scripts/build_dark_theme.mjs, re-tinted.
      Never edit it by hand; run `node scripts/build_dark_theme.mjs`.
   3. Exceptions the generator cannot judge (hand-written). They come after
      the generated block on purpose: same specificity, later wins. */

html[data-theme="dark"] {
  color-scheme: dark;
  --bg:       #0b1220;
  --bg2:      #0f1829;
  --surface:  #131d2f;
  --surface2: #182439;
  --border:   #23314a;
  --border2:  #31425f;
  --accent:   #4f8ef7;
  --accent2:  #3b7bf0;
  --green:    #22c55e;
  --purple:   #a78bfa;
  --text:     #cbd5e1;
  --muted:    #8fa0b8;
  --white:    #f1f5f9;
}

/* DARK_THEME:GENERATED:START */
/* Generated by scripts/build_dark_theme.mjs. Do not edit by hand. */
html[data-theme="dark"] body{background:var(--bg);color:var(--text)}
html[data-theme="dark"] .topbar{background:var(--bg2);border-bottom:1px solid var(--border)}
html[data-theme="dark"] .back-link{color:var(--muted)}
html[data-theme="dark"] .back-link:hover{color:var(--accent)}
html[data-theme="dark"] .divider-bar{background:var(--border2)}
html[data-theme="dark"] .topbar-title{color:var(--white)}
html[data-theme="dark"] .topbar-title span{color:var(--accent)}
html[data-theme="dark"] .auth-btn{border:1px solid var(--border);background:var(--surface);color:var(--text)}
html[data-theme="dark"] .auth-btn:hover{border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .auth-dropdown-menu{background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,0.1)}
html[data-theme="dark"] .auth-dropdown-item{border:none;background:none;color:var(--text)}
html[data-theme="dark"] .auth-dropdown-item:hover{background:var(--surface2)}
html[data-theme="dark"] .auth-dropdown-item.logout{color:#f47b7b}
html[data-theme="dark"] .auth-profile-header{border-bottom:1px solid var(--border)}
html[data-theme="dark"] .auth-profile-header img{border:2px solid var(--accent)}
html[data-theme="dark"] .auth-profile-header .auth-profile-name{color:var(--white)}
html[data-theme="dark"] .auth-profile-header .auth-profile-email{color:var(--muted)}
html[data-theme="dark"] .provider-pill{background:var(--surface);border:1px solid var(--border);color:var(--text)}
html[data-theme="dark"] .provider-pill:hover{border-color:var(--border2);background:var(--surface2)}
html[data-theme="dark"] .pill-model{color:var(--muted)}
html[data-theme="dark"] .pill-chevron{color:var(--muted)}
html[data-theme="dark"] .provider-dropdown{background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,0.12)}
html[data-theme="dark"] .pd-card:hover{background:var(--surface2)}
html[data-theme="dark"] .pd-card.active{background:var(--surface2);border-left:2.5px solid var(--accent)}
html[data-theme="dark"] .pd-desc{color:var(--muted)}
html[data-theme="dark"] .pd-name{color:var(--text)}
html[data-theme="dark"] .pd-status.active{background:rgba(22,163,74,0.1);color:var(--green)}
html[data-theme="dark"] .pd-status.unlimited{background:rgba(139,92,246,0.12);color:var(--local-color)}
html[data-theme="dark"] .pd-status.ready{background:rgba(22,163,74,0.1);color:var(--green)}
html[data-theme="dark"] .pd-status.needs-key{background:rgba(100,116,139,0.1);color:var(--muted)}
html[data-theme="dark"] .pd-status.unavailable{background:rgba(239,68,68,0.1);color:#f47b7b}
html[data-theme="dark"] .pd-status.downloading{background:rgba(139,92,246,0.12);color:var(--local-color)}
html[data-theme="dark"] .pd-model{color:var(--muted)}
html[data-theme="dark"] .pd-model select{background:var(--surface2);border:1px solid var(--border);color:var(--text);outline:none}
html[data-theme="dark"] .pd-model select:hover{border-color:var(--accent)}
html[data-theme="dark"] .pd-model select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(37,99,235,0.1)}
html[data-theme="dark"] .pd-divider{background:var(--border)}
html[data-theme="dark"] .pd-local-expand{background:rgba(139,92,246,0.04);border:1px solid rgba(139,92,246,0.12)}
html[data-theme="dark"] .pd-local-desc{color:var(--muted)}
html[data-theme="dark"] .pd-local-btn{background:var(--local-color);color:#fff;border:none}
html[data-theme="dark"] .pd-local-progress{background:var(--border)}
html[data-theme="dark"] .pd-local-progress-fill{background:var(--local-color)}
html[data-theme="dark"] .pd-local-pct{color:var(--local-color)}
html[data-theme="dark"] .topbar-support-btn{background:var(--surface);border:1px solid #5b2f48;color:#eb85b2}
html[data-theme="dark"] .topbar-support-btn:hover{border-color:#ec4899;background:#361f2b}
html[data-theme="dark"] .sidebar{background:var(--bg2);border-right:1px solid var(--border)}
html[data-theme="dark"] .sidebar-toggle-btn{background:transparent;border:1px solid var(--border);color:var(--muted)}
html[data-theme="dark"] .sidebar-toggle-btn:hover{border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .sidebar-header{border-bottom:1px solid var(--border)}
html[data-theme="dark"] .sidebar-label{color:var(--muted)}
html[data-theme="dark"] .topic-chip{background:var(--surface);border:1px solid var(--border);color:var(--muted)}
html[data-theme="dark"] .topic-chip:hover,html[data-theme="dark"] .topic-chip.active{background:rgba(37,99,235,0.08);border-color:rgba(37,99,235,0.35);color:var(--accent)}
html[data-theme="dark"] .sidebar-scroll::-webkit-scrollbar-thumb{background:var(--border)}
html[data-theme="dark"] .prompt-section-title{color:var(--muted)}
html[data-theme="dark"] .progress-counter{color:var(--green)}
html[data-theme="dark"] .prompt-item{border:1px solid transparent;border-left:3px solid transparent}
html[data-theme="dark"] .prompt-item:hover{background:var(--surface);border-color:var(--border);border-left-color:var(--border)}
html[data-theme="dark"] .prompt-item.active{background:rgba(37,99,235,0.07);border-color:rgba(37,99,235,0.3);border-left-color:var(--accent)}
html[data-theme="dark"] .prompt-item.solved{background:rgba(22,163,74,0.04);border-left-color:var(--green)}
html[data-theme="dark"] .prompt-item.solved:hover{background:rgba(22,163,74,0.08)}
html[data-theme="dark"] .prompt-item.solved .prompt-item-title{color:var(--muted)}
html[data-theme="dark"] .prompt-item.opened:not(.solved) .prompt-item-title{color:var(--muted)}
html[data-theme="dark"] .prompt-item-title{color:var(--text)}
html[data-theme="dark"] .solved-badge{background:rgba(22,163,74,0.12);color:var(--green)}
html[data-theme="dark"] .solve-rate-badge{background:rgba(99,102,241,0.1);color:#6366f1}
html[data-theme="dark"] .wc-banner{background:rgba(249,115,22,0.04);border:1px solid rgba(249,115,22,0.25);border-left:3px solid #f97316}
html[data-theme="dark"] .wc-banner:hover{box-shadow:0 2px 16px rgba(249,115,22,0.12);border-color:rgba(249,115,22,0.4)}
html[data-theme="dark"] .wc-banner-eyebrow{color:#f49e7b}
html[data-theme="dark"] .wc-banner-title{color:var(--white)}
html[data-theme="dark"] .wc-banner-completions{color:var(--muted)}
html[data-theme="dark"] .wc-banner-countdown{color:#f49e7b}
html[data-theme="dark"] .wc-banner-streak{color:#f49e7b}
html[data-theme="dark"] .wc-banner-done{color:var(--green)}
html[data-theme="dark"] .wc-banner-cta{color:#f4a47b}
html[data-theme="dark"] .weekly-challenge-card{background:var(--surface2);border:1px solid var(--border);border-left:3px solid var(--accent)}
html[data-theme="dark"] .weekly-challenge-card:hover{box-shadow:0 2px 10px rgba(37,99,235,0.1);border-color:rgba(37,99,235,0.3)}
html[data-theme="dark"] .wc-label{color:var(--accent)}
html[data-theme="dark"] .wc-countdown{color:var(--muted)}
html[data-theme="dark"] .wc-title{color:var(--white)}
html[data-theme="dark"] .wc-completions{color:var(--muted)}
html[data-theme="dark"] .wc-streak{color:var(--accent)}
html[data-theme="dark"] .wc-done{color:var(--green)}
html[data-theme="dark"] .mc-nudge{background:var(--bg2);border:1px solid var(--border2);border-left:3px solid var(--accent);box-shadow:0 16px 48px rgba(15,23,42,0.22)}
html[data-theme="dark"] .mc-nudge-x{background:none;border:none;color:var(--muted)}
html[data-theme="dark"] .mc-nudge-x:hover{background:var(--surface2);color:var(--text)}
html[data-theme="dark"] .mc-nudge-title{color:var(--white)}
html[data-theme="dark"] .mc-nudge-body{color:var(--muted)}
html[data-theme="dark"] .mc-nudge-body strong{color:var(--text)}
html[data-theme="dark"] .mc-nudge-btn{border:1px solid var(--border2);background:var(--surface);color:var(--text)}
html[data-theme="dark"] .mc-nudge-btn:hover{border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .mc-nudge-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
html[data-theme="dark"] .mc-nudge-btn.primary:hover{background:var(--accent2);color:#fff}
html[data-theme="dark"] .solved-overlay{background:rgba(0,0,0,0.6)}
html[data-theme="dark"] .solved-prompt{background:var(--bg2);border:1px solid rgba(22,163,74,0.35);box-shadow:0 20px 60px rgba(15,23,42,0.25)}
html[data-theme="dark"] .solved-prompt .solved-score{color:var(--green)}
html[data-theme="dark"] .solved-prompt .solved-msg{color:var(--muted)}
html[data-theme="dark"] .solved-prompt button{border:none}
html[data-theme="dark"] .solved-prompt .btn-yes{background:var(--green);color:#fff}
html[data-theme="dark"] .solved-prompt .btn-yes:hover{background:#15803d}
html[data-theme="dark"] .solved-prompt .btn-no{background:var(--surface);border:1px solid var(--border);color:var(--muted)}
html[data-theme="dark"] .solved-prompt .btn-no:hover{border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .mark-solved-btn{border:1.5px solid var(--border2);background:var(--surface)}
html[data-theme="dark"] .mark-solved-btn:hover{border-color:var(--green);background:rgba(22,163,74,0.08)}
html[data-theme="dark"] .mark-solved-btn.checked{background:var(--green);border-color:var(--green)}
html[data-theme="dark"] .mark-solved-btn.checked:hover{background:#dc2626;border-color:#dc2626}
html[data-theme="dark"] .prompt-tag{color:var(--muted);background:var(--surface2)}
html[data-theme="dark"] .easy{background:rgba(34,197,94,0.1);color:var(--green)}
html[data-theme="dark"] .medium{background:rgba(251,146,60,0.1);color:#f4b27b}
html[data-theme="dark"] .hard{background:rgba(239,68,68,0.1);color:#f47b7b}
html[data-theme="dark"] .chat-header{border-bottom:1px solid var(--border);background:var(--bg2)}
html[data-theme="dark"] #wcSolveCountdown{background:rgba(249,115,22,0.08);color:#f49e7b;border:1px solid rgba(249,115,22,0.3)}
html[data-theme="dark"] .active-case-title{color:var(--white)}
html[data-theme="dark"] .active-case-meta{color:var(--muted)}
html[data-theme="dark"] .diff-chip{background:var(--surface2);color:var(--text)}
html[data-theme="dark"] .diff-chip.diff-easy{background:#27372e;color:#9fefbd}
html[data-theme="dark"] .diff-chip.diff-medium{background:#3f341f;color:#f6c68a}
html[data-theme="dark"] .diff-chip.diff-hard{background:#3a1e1e;color:#ec8383}
html[data-theme="dark"] .framework-badge{color:var(--text)}
html[data-theme="dark"] .coverage-score{background:var(--surface2);border:1px solid var(--border);color:var(--text)}
html[data-theme="dark"] .coverage-score.is-up{background:rgba(22,163,74,0.1);border-color:rgba(22,163,74,0.28);color:#9fefbd}
html[data-theme="dark"] .coverage-score.is-complete{background:#15803d;border-color:#15803d;color:#fff}
html[data-theme="dark"] .case-status-row .active-case-meta{border-right:1px solid var(--border)}
html[data-theme="dark"] .case-status-row #activeCaseFramework:not([style*="none"]){border-right:1px solid var(--border)}
html[data-theme="dark"] .case-status-row .solve-rate-badge{background:none;color:var(--muted)}
html[data-theme="dark"] .solve-timer{background:var(--surface);border:1px solid var(--border);color:var(--text)}
html[data-theme="dark"] .solve-timer.is-idle{color:var(--muted);border-color:transparent;background:transparent}
html[data-theme="dark"] .solve-timer.is-idle:hover{background:var(--surface2);color:var(--text)}
html[data-theme="dark"] .solve-timer.is-running{color:var(--accent);border-color:var(--accent);background:rgba(37,99,235,0.08)}
html[data-theme="dark"] .solve-timer.is-paused{color:var(--muted)}
html[data-theme="dark"] .solve-timer.is-stopped{color:#9fefbd;border-color:#16a34a;background:rgba(34,197,94,0.1)}
html[data-theme="dark"] .solve-timer-ctrl{background:transparent;border:none;color:inherit}
html[data-theme="dark"] .solve-timer-ctrl:hover{background:rgba(0,0,0,0.06)}
html[data-theme="dark"] .solve-timer.is-running .solve-timer-ctrl:hover{background:rgba(37,99,235,0.15)}
html[data-theme="dark"] .solve-timer.is-paused .solve-timer-ctrl:hover{background:rgba(0,0,0,0.06);color:var(--accent)}
html[data-theme="dark"] .solve-timer.is-stopped .solve-timer-ctrl:hover{background:rgba(34,197,94,0.18)}
html[data-theme="dark"] .timer-mark-complete{background:#16a34a;border:1px solid #16a34a;color:#fff}
html[data-theme="dark"] .timer-mark-complete:hover{background:#15803d;border-color:#15803d;box-shadow:0 2px 6px rgba(22,163,74,0.25)}
html[data-theme="dark"] .timer-mark-complete.is-locked{background:transparent;border-color:var(--border);color:var(--muted)}
html[data-theme="dark"] .timer-mark-complete.is-locked:hover{background:transparent;border-color:var(--border);box-shadow:none}
html[data-theme="dark"] .xlang-chip{background:none;border:0;color:var(--accent)}
html[data-theme="dark"] .xlang-chip:hover{color:var(--accent2)}
html[data-theme="dark"] .timer-solved-chip{background:#27372e;border:0;color:#9fefbd}
html[data-theme="dark"] .timer-best{color:var(--muted)}
html[data-theme="dark"] .timer-best strong{color:var(--text)}
html[data-theme="dark"] .auth-pref-badge{background:rgba(0,0,0,0.06);color:var(--muted)}
html[data-theme="dark"] .auth-pref-badge.is-on{background:rgba(34,197,94,0.15);color:var(--green)}
html[data-theme="dark"] .action-btn{background:var(--surface);border:1px solid var(--border);color:var(--text)}
html[data-theme="dark"] .action-btn:hover{border-color:var(--border2);background:var(--surface2)}
html[data-theme="dark"] .more-menu-list{background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 24px rgba(15,23,42,0.12), 0 2px 6px rgba(15,23,42,0.06)}
html[data-theme="dark"] .more-menu-item{border:0;background:none;color:var(--text)}
html[data-theme="dark"] .more-menu-item:hover,html[data-theme="dark"] .more-menu-item:focus-visible{background:var(--surface2);color:var(--white);outline:none}
html[data-theme="dark"] .more-menu-item svg{color:var(--muted)}
html[data-theme="dark"] .sol-figure{background:#171d2c;border:1px solid #2b3753}
html[data-theme="dark"] #showSolutionBtn:hover{background:#1c273a;border-color:#354f6c;color:#859dea}
html[data-theme="dark"] #showSolutionBtn.active{background:#202e41;border-color:#3b82f6;color:#859dea}
html[data-theme="dark"] .case-info-btn{border:1px solid var(--border);background:var(--surface);color:var(--muted)}
html[data-theme="dark"] .case-info-btn:hover{border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .case-info-pop{background:var(--bg2);border:1px solid var(--border);box-shadow:0 14px 36px rgba(15,23,42,0.16)}
html[data-theme="dark"] .case-info-pop-label{color:var(--accent)}
html[data-theme="dark"] .case-info-pop-body{color:var(--text)}
html[data-theme="dark"] .case-info-pop::-webkit-scrollbar-thumb{background:var(--border)}
html[data-theme="dark"] .messages{scrollbar-color:var(--border2) transparent}
html[data-theme="dark"] .messages::-webkit-scrollbar-thumb{background:var(--border2)}
html[data-theme="dark"] .welcome-icon{background:radial-gradient(circle, rgba(37,99,235,0.12) 0%, transparent 70%);border:1px solid rgba(37,99,235,0.2)}
html[data-theme="dark"] .welcome-state h2{color:var(--white)}
html[data-theme="dark"] .welcome-state h2 span{color:var(--accent)}
html[data-theme="dark"] .welcome-state p{color:var(--muted)}
html[data-theme="dark"] .qs-card{background:var(--surface);border:1px solid var(--border)}
html[data-theme="dark"] .qs-card:hover{border-color:var(--accent);background:rgba(37,99,235,0.04);box-shadow:0 4px 16px rgba(37,99,235,0.1)}
html[data-theme="dark"] .qs-title{color:var(--white)}
html[data-theme="dark"] .qs-desc{color:var(--muted)}
html[data-theme="dark"] .welcome-browse-btn{background:var(--accent);color:#fff;border:1px solid var(--accent)}
html[data-theme="dark"] .welcome-browse-btn:hover{background:var(--accent-hover, #1d4ed8);box-shadow:0 4px 12px rgba(37,99,235,0.3)}
html[data-theme="dark"] .bot-av{background:#0E2A3C url('/logo/mark-inverse.svg') center / 12px auto no-repeat}
html[data-theme="dark"] .user-av{background:var(--accent2);color:#fff}
html[data-theme="dark"] .provider-dot{border:2px solid var(--bg)}
html[data-theme="dark"] .dot-free{background:var(--free-color)}
html[data-theme="dark"] .dot-claude{background:var(--claude-color)}
html[data-theme="dark"] .dot-openai{background:var(--openai-color)}
html[data-theme="dark"] .dot-gemini{background:var(--gemini-color)}
html[data-theme="dark"] .dot-local{background:var(--local-color)}
html[data-theme="dark"] .msg-meta{color:var(--muted)}
html[data-theme="dark"] .bot .bubble{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:0 1px 2px rgba(15, 23, 42, 0.04)}
html[data-theme="dark"] .user .bubble{background:var(--accent);color:#fff;box-shadow:0 1px 2px rgba(37, 99, 235, 0.2)}
html[data-theme="dark"] .bubble code{background:rgba(37,99,235,0.08);color:#859dea}
html[data-theme="dark"] .user .bubble code{background:rgba(255,255,255,0.18);color:#fff}
html[data-theme="dark"] .bubble pre{background:var(--bg);border:1px solid var(--border);color:var(--white)}
html[data-theme="dark"] .bubble pre code{background:none;color:inherit}
html[data-theme="dark"] .bubble h3,html[data-theme="dark"] .bubble h4{color:var(--white)}
html[data-theme="dark"] .user .bubble h3,html[data-theme="dark"] .user .bubble h4{color:#fff}
html[data-theme="dark"] .bubble hr{border:none;border-top:1px solid var(--border)}
html[data-theme="dark"] .bot .bubble strong{color:var(--white)}
html[data-theme="dark"] .user .bubble strong{color:#fff}
html[data-theme="dark"] .bubble th,html[data-theme="dark"] .bubble td{border:1px solid var(--border2, #3b424c)}
html[data-theme="dark"] .bubble th{background:var(--bg, #1c2639);color:var(--text, #b8cde9)}
html[data-theme="dark"] .bubble tr:nth-child(even) td{background:rgba(37, 99, 235, 0.03)}
html[data-theme="dark"] .bubble li::marker{color:var(--muted)}
html[data-theme="dark"] .user .bubble th{background:rgba(255,255,255,0.16);color:#fff}
html[data-theme="dark"] .user .bubble th,html[data-theme="dark"] .user .bubble td{border-color:rgba(255,255,255,0.3)}
html[data-theme="dark"] .score-badge{background:rgba(22,163,74,0.1);border:1px solid rgba(22,163,74,0.28);color:#9fefbd}
html[data-theme="dark"] .typing-dots span{background:var(--muted)}
html[data-theme="dark"] .input-area{background:var(--bg)}
html[data-theme="dark"] .input-box{background:var(--surface);border:1px solid var(--border2);box-shadow:0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px -12px rgba(15, 23, 42, 0.16)}
html[data-theme="dark"] .input-box:focus-within{border-color:rgba(37,99,235,0.55);box-shadow:0 0 0 3px rgba(37,99,235,0.12), 0 8px 24px -12px rgba(15, 23, 42, 0.16)}
html[data-theme="dark"] .chat-input{background:transparent;border:none;outline:none;color:var(--white);caret-color:var(--accent)}
html[data-theme="dark"] .chat-input::placeholder{color:var(--muted)}
html[data-theme="dark"] .chat-input::selection,html[data-theme="dark"] .messages ::selection{background:rgba(37,99,235,0.18)}
html[data-theme="dark"] .attach-btn:focus-visible,html[data-theme="dark"] .send-btn:focus-visible,html[data-theme="dark"] .provider-indicator:focus-visible,html[data-theme="dark"] .attach-thumb button:focus-visible,html[data-theme="dark"] .attach-note button:focus-visible,html[data-theme="dark"] .reaction-btn:focus-visible{outline:2px solid var(--accent)}
html[data-theme="dark"] .attach-btn{background:transparent;color:var(--muted);border:none}
html[data-theme="dark"] .attach-btn:hover{color:var(--white);background:var(--surface2)}
html[data-theme="dark"] .attach-thumb{border:1px solid var(--border);background:var(--bg)}
html[data-theme="dark"] .attach-thumb button{border:none;background:rgba(15,23,42,0.72);color:#fff}
html[data-theme="dark"] .attach-thumb button:hover{background:#ef4444}
html[data-theme="dark"] .attach-note{color:var(--text);background:rgba(245, 158, 11, 0.08);border:1px solid rgba(245, 158, 11, 0.38)}
html[data-theme="dark"] .attach-note .vision-switch-btn{background:var(--accent);color:#fff;border:none}
html[data-theme="dark"] .attach-note .vision-switch-btn:hover{background:var(--accent2)}
html[data-theme="dark"] .attach-note .attach-note-dismiss{background:none;border:none;color:var(--muted)}
html[data-theme="dark"] .attach-note .attach-note-dismiss:hover{color:var(--text)}
html[data-theme="dark"] .attach-note-disclosure{color:var(--muted)}
html[data-theme="dark"] .input-box.is-dropping{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,0.15)}
html[data-theme="dark"] .msg-images img{border:1px solid var(--border);box-shadow:0 1px 2px rgba(15, 23, 42, 0.06)}
html[data-theme="dark"] .img-lightbox{background:rgba(0,0,0,0.88)}
html[data-theme="dark"] .send-btn{background:var(--accent);color:#fff;border:none;box-shadow:0 1px 2px rgba(37,99,235,0.25), 0 4px 12px -4px rgba(37,99,235,0.5)}
html[data-theme="dark"] .send-btn:hover{background:var(--accent2);box-shadow:0 2px 4px rgba(37,99,235,0.25), 0 8px 18px -6px rgba(37,99,235,0.55)}
html[data-theme="dark"] .send-btn:disabled{box-shadow:none}
html[data-theme="dark"] .send-btn.is-stop{background:#ef4444;box-shadow:0 2px 8px rgba(239,68,68,0.32)}
html[data-theme="dark"] .send-btn.is-stop:hover{background:#dc2626;box-shadow:0 5px 16px rgba(239,68,68,0.42)}
html[data-theme="dark"] .input-hint{border:0}
html[data-theme="dark"] .provider-indicator{border:1px solid var(--border);background:var(--bg);color:var(--text)}
html[data-theme="dark"] .provider-indicator:hover{border-color:var(--border2);background:var(--surface2)}
html[data-theme="dark"] .pi-chevron{color:var(--muted)}
html[data-theme="dark"] .modal-overlay{background:rgba(0,0,0,0.75)}
html[data-theme="dark"] .modal{background:var(--bg2);border:1px solid var(--border);box-shadow:0 20px 60px rgba(15,23,42,0.15)}
html[data-theme="dark"] .modal-title{color:var(--white)}
html[data-theme="dark"] .modal-sub{color:var(--muted)}
html[data-theme="dark"] .modal-label{color:var(--text)}
html[data-theme="dark"] .badge-free{background:rgba(249,115,22,0.1);color:var(--free-color)}
html[data-theme="dark"] .badge-groq{background:rgba(245,80,54,0.1);color:var(--groq-color)}
html[data-theme="dark"] .badge-claude{background:rgba(37,99,235,0.1);color:var(--accent)}
html[data-theme="dark"] .badge-openai{background:rgba(16,163,127,0.15);color:var(--openai-color)}
html[data-theme="dark"] .badge-gemini{background:rgba(66,133,244,0.15);color:var(--gemini-color)}
html[data-theme="dark"] .badge-local{background:rgba(139,92,246,0.1);color:var(--local-color)}
html[data-theme="dark"] .webllm-status{background:rgba(139,92,246,0.05);border:1px solid rgba(139,92,246,0.2)}
html[data-theme="dark"] .webllm-progress-bar{background:var(--border)}
html[data-theme="dark"] .webllm-progress-fill{background:var(--local-color)}
html[data-theme="dark"] .webllm-progress-text{color:var(--muted)}
html[data-theme="dark"] .webllm-download-btn{background:var(--local-color);color:#fff;border:none}
html[data-theme="dark"] .webllm-unsupported{background:rgba(239,68,68,0.08);border:1px solid rgba(239,68,68,0.2);color:#f47b7b}
html[data-theme="dark"] .streaming-cursor{background:var(--local-color)}
html[data-theme="dark"] .key-input{background:var(--surface);border:1px solid var(--border2);color:var(--white);outline:none}
html[data-theme="dark"] .key-input:focus{border-color:var(--accent)}
html[data-theme="dark"] .key-input::placeholder{color:var(--muted)}
html[data-theme="dark"] .save-key-btn{background:var(--accent);border:none;color:#fff}
html[data-theme="dark"] .save-key-btn:hover{background:var(--accent2)}
html[data-theme="dark"] .model-select-label{color:var(--muted)}
html[data-theme="dark"] .model-select{background:var(--surface);border:1px solid var(--border);color:var(--text)}
html[data-theme="dark"] .model-select:focus{outline:none;border-color:var(--accent)}
html[data-theme="dark"] .key-status.ok{color:var(--green)}
html[data-theme="dark"] .key-status.miss{color:var(--muted)}
html[data-theme="dark"] .modal-note{background:rgba(37,99,235,0.05);border:1px solid rgba(37,99,235,0.18);color:var(--text)}
html[data-theme="dark"] .close-modal-btn{background:var(--surface);border:1px solid var(--border2);color:var(--text)}
html[data-theme="dark"] .close-modal-btn:hover{border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .dyk-toast{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--text);box-shadow:0 4px 20px rgba(0,0,0,0.08)}
html[data-theme="dark"] .dyk-toast-label{color:var(--accent)}
html[data-theme="dark"]::-webkit-scrollbar-track{background:transparent}
html[data-theme="dark"]::-webkit-scrollbar-thumb{background:var(--border)}
html[data-theme="dark"] .chat-tab-switcher{border-bottom:1px solid var(--border);background:var(--bg2)}
html[data-theme="dark"] .chat-tab-btn{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted)}
html[data-theme="dark"] .chat-tab-btn:hover{color:var(--text)}
html[data-theme="dark"] .chat-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}
html[data-theme="dark"] .discuss-panel{scrollbar-color:var(--border2) transparent}
html[data-theme="dark"] .discuss-panel ::selection{background:rgba(37, 99, 235, 0.16);color:var(--white)}
html[data-theme="dark"] .discuss-mark{background:var(--surface2);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(37, 99, 235, 0.14)}
html[data-theme="dark"] .discuss-title{color:var(--white)}
html[data-theme="dark"] .discuss-sub{color:var(--muted)}
html[data-theme="dark"] .discuss-btn{color:var(--white);background:var(--bg2);border:1px solid var(--border2)}
html[data-theme="dark"] .discuss-btn:hover{background:var(--surface2);border-color:rgba(37, 99, 235, 0.35)}
html[data-theme="dark"] .discuss-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
html[data-theme="dark"] .discuss-btn-primary:hover{background:var(--accent2);border-color:var(--accent2)}
html[data-theme="dark"] .discuss-btn:focus-visible{outline:2px solid var(--accent)}
html[data-theme="dark"] .discuss-rules{border-top:1px solid var(--border);color:var(--muted)}
html[data-theme="dark"] .discuss-rules li::before{background:var(--border2)}
html[data-theme="dark"] .discuss-thread{background:var(--bg2);border:1px solid var(--border);box-shadow:0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 32px -18px rgba(15, 23, 42, 0.18)}
html[data-theme="dark"] .discuss-skel span{background:linear-gradient(90deg, var(--surface2) 0%, #222a3b 50%, var(--surface2) 100%)}
html[data-theme="dark"] .sr-only{border:0}
html[data-theme="dark"] .discuss-fallback{color:var(--muted)}
html[data-theme="dark"] .discuss-fallback a{color:var(--accent)}
html[data-theme="dark"] .discuss-gate-title{color:var(--white)}
html[data-theme="dark"] .discuss-gate-text{color:var(--muted)}
html[data-theme="dark"] .discuss-gate-note{color:var(--muted)}
html[data-theme="dark"] .discuss-gate-note a,html[data-theme="dark"] .discuss-linkbtn{color:var(--accent)}
html[data-theme="dark"] .discuss-linkbtn{background:none;border:0}
html[data-theme="dark"] .discuss-linkbtn:focus-visible{outline:2px solid var(--accent)}
html[data-theme="dark"] .code-loading-overlay{background:rgba(23,29,44,0.92)}
html[data-theme="dark"] .loading-spinner{border:3.5px solid #2b3753;border-top-color:var(--accent)}
html[data-theme="dark"] .loading-fact{color:var(--muted)}
html[data-theme="dark"] .loading-fact .fact-label{color:var(--accent)}
html[data-theme="dark"] .resize-handle-h{background:transparent}
html[data-theme="dark"] .resize-handle-h:hover,html[data-theme="dark"] .resize-handle-h.active{background:var(--accent)}
html[data-theme="dark"] .resize-handle-v{background:transparent}
html[data-theme="dark"] .resize-handle-v:hover,html[data-theme="dark"] .resize-handle-v.active{background:var(--accent)}
html[data-theme="dark"] .schema-sidebar{background:var(--bg2);border-right:1px solid var(--border)}
html[data-theme="dark"] .sidebar-tabs{border-bottom:1px solid var(--border)}
html[data-theme="dark"] .sidebar-pane{scrollbar-color:var(--border2) transparent}
html[data-theme="dark"] .sidebar-pane::-webkit-scrollbar-thumb{background:var(--border)}
html[data-theme="dark"] .solution-question{background:var(--bg2);border-bottom:1px solid var(--border)}
html[data-theme="dark"] .solution-question-text{color:var(--text)}
html[data-theme="dark"] .solution-question-toggle{border:0;background:none;color:var(--accent)}
html[data-theme="dark"] .solution-gate{border:1px solid var(--border);background:var(--surface)}
html[data-theme="dark"] .solution-gate-title{color:var(--white)}
html[data-theme="dark"] .solution-gate-text{color:var(--muted)}
html[data-theme="dark"] .lang-toggle{background:var(--surface2);border:1px solid var(--border)}
html[data-theme="dark"] .lang-toggle-btn{border:0;background:none;color:var(--muted)}
html[data-theme="dark"] .lang-toggle-btn:hover:not(:disabled){color:var(--white)}
html[data-theme="dark"] .lang-toggle-btn.active{background:var(--surface);color:var(--white);box-shadow:0 1px 2px rgba(15,23,42,0.08), 0 0 0 1px var(--border)}
html[data-theme="dark"] .lang-toggle-btn:focus-visible{outline:2px solid var(--accent)}
html[data-theme="dark"] .sql-notice{border:1px solid var(--border);background:var(--surface);color:var(--text)}
html[data-theme="dark"] .sql-notice.is-info svg{color:var(--accent)}
html[data-theme="dark"] .sql-notice.is-warn{background:#39311c;border-color:#625637}
html[data-theme="dark"] .sql-notice.is-warn svg{color:#f4b07c}
html[data-theme="dark"] .sql-notice strong{color:var(--white)}
html[data-theme="dark"] .test-summary.is-pass{background:#27362d;border:1px solid #42594a;color:#9fefbd}
html[data-theme="dark"] .test-summary.is-fail{background:var(--surface);border:1px solid var(--border);color:var(--muted)}
html[data-theme="dark"] .schema-title{color:var(--muted)}
html[data-theme="dark"] .schema-table{border:1px solid var(--border)}
html[data-theme="dark"] .schema-table-name{background:var(--surface2);color:var(--accent)}
html[data-theme="dark"] .schema-table-name:hover{background:rgba(37,99,235,0.08)}
html[data-theme="dark"] .schema-table-name .copy-icon{color:var(--muted)}
html[data-theme="dark"] .schema-col{color:var(--text)}
html[data-theme="dark"] .schema-col-type{color:var(--muted)}
html[data-theme="dark"] .sql-editor-wrapper{border-bottom:1px solid var(--border)}
html[data-theme="dark"] .sql-editor-wrapper .CodeMirror{background:var(--bg);color:var(--text)}
html[data-theme="dark"] .sql-editor-wrapper .CodeMirror-gutters{background:var(--surface2);border-right:1px solid var(--border)}
html[data-theme="dark"] .sql-editor-wrapper .CodeMirror-linenumber{color:var(--muted)}
html[data-theme="dark"] .sql-toolbar{background:var(--bg2);border-bottom:1px solid var(--border)}
html[data-theme="dark"] .sql-dialect-select{border:1px solid var(--border);background:var(--surface);color:var(--text);outline:none}
html[data-theme="dark"] .sql-dialect-select:focus{border-color:var(--accent)}
html[data-theme="dark"] .sql-run-btn{background:var(--surface);color:var(--white);border:1px solid var(--border2)}
html[data-theme="dark"] .sql-run-btn:hover{background:var(--surface2);border-color:var(--accent)}
html[data-theme="dark"] .sql-run-btn svg{color:var(--accent)}
html[data-theme="dark"] .tb-kbd{color:var(--muted);border:1px solid var(--border);background:var(--bg)}
html[data-theme="dark"] .sql-clear-btn{background:none;border:1px solid transparent;color:var(--muted)}
html[data-theme="dark"] .sql-clear-btn:hover{background:var(--surface2);color:var(--text)}
html[data-theme="dark"] .sql-toolbar-sep{background:var(--border)}
html[data-theme="dark"] .sql-ask-ai-btn{background:var(--surface);border:1px solid rgba(37,99,235,0.3);color:var(--accent)}
html[data-theme="dark"] .sql-ask-ai-btn:hover{background:rgba(37,99,235,0.06)}
html[data-theme="dark"] .sql-exec-info{color:var(--muted)}
html[data-theme="dark"] .sql-exec-info .mysql-dot{background:var(--accent)}
html[data-theme="dark"] .mysql-pending{background:var(--surface);border:1px solid var(--border)}
html[data-theme="dark"] .mysql-pending-spinner{border:2px solid var(--border);border-top-color:var(--accent)}
html[data-theme="dark"] .mysql-pending-title{color:var(--white)}
html[data-theme="dark"] .mysql-pending-time{color:var(--muted)}
html[data-theme="dark"] .mysql-pending-text{color:var(--muted)}
html[data-theme="dark"] .mysql-pending-slow{color:var(--text)}
html[data-theme="dark"] .mysql-pending-switch{border:0;background:none;color:var(--accent)}
html[data-theme="dark"] .sql-results{background:var(--bg)}
html[data-theme="dark"] .sql-results::-webkit-scrollbar-thumb{background:var(--border)}
html[data-theme="dark"] .sql-results-empty{color:var(--muted)}
html[data-theme="dark"] .sql-results-empty .empty-icon{background:var(--surface2);color:var(--accent)}
html[data-theme="dark"] .sql-result-table th{background:var(--surface2);border:1px solid var(--border);color:var(--white)}
html[data-theme="dark"] .sql-result-table td{border:1px solid var(--border);color:var(--text)}
html[data-theme="dark"] .sql-result-table tr:nth-child(even) td{background:rgba(37,99,235,0.02)}
html[data-theme="dark"] .sql-result-table tr:hover td{background:rgba(37,99,235,0.05)}
html[data-theme="dark"] .sql-null{color:var(--muted)}
html[data-theme="dark"] .sql-error{background:rgba(239,68,68,0.06);border:1px solid rgba(239,68,68,0.2);color:#f47b7b}
html[data-theme="dark"] .sql-result-footer{color:var(--muted);border-top:1px solid var(--border);background:var(--bg2)}
html[data-theme="dark"] .question-panel{border-bottom:1px solid var(--border)}
html[data-theme="dark"] .part-selector-label{color:var(--muted)}
html[data-theme="dark"] .part-selector select{background:var(--surface);color:var(--text);border:1px solid var(--border);outline:none}
html[data-theme="dark"] .part-selector select:hover{border-color:var(--accent)}
html[data-theme="dark"] .question-text{color:var(--text)}
html[data-theme="dark"] .question-panel .reaction-bar{border-top:1px solid var(--border)}
html[data-theme="dark"] .reaction-bar{color:var(--muted)}
html[data-theme="dark"] .reaction-btn{background:none;border:1.5px solid var(--border)}
html[data-theme="dark"] .reaction-btn:hover{border-color:var(--accent);background:rgba(37,99,235,0.06)}
html[data-theme="dark"] .reaction-btn.selected{border-color:var(--accent);background:rgba(37,99,235,0.1)}
html[data-theme="dark"] .reaction-followup{border-top:1px solid var(--border)}
html[data-theme="dark"] .rb-chip{border:1.5px solid var(--border);background:var(--surface);color:var(--muted)}
html[data-theme="dark"] .rb-chip:hover{border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .rb-chip.selected{border-color:var(--accent);color:var(--accent);background:rgba(37,99,235,0.07)}
html[data-theme="dark"] .rb-text{border:1px solid var(--border);color:var(--text);background:var(--surface);outline:none}
html[data-theme="dark"] .rb-text:focus{border-color:var(--accent)}
html[data-theme="dark"] .rb-text::placeholder{color:var(--muted)}
html[data-theme="dark"] .rb-send{border:none;background:var(--accent);color:#fff}
html[data-theme="dark"] .rb-send:hover{background:#1d4ed8}
html[data-theme="dark"] .rb-send:disabled{background:var(--muted)}
html[data-theme="dark"] .rb-done{color:#85efac}
html[data-theme="dark"] .ai-feedback-panel{color:var(--text)}
html[data-theme="dark"] .ai-feedback-panel strong{color:var(--white)}
html[data-theme="dark"] .ai-feedback-panel code{background:var(--surface2)}
html[data-theme="dark"] .ai-feedback-panel pre{background:var(--surface2);border:1px solid var(--border)}
html[data-theme="dark"] .ai-feedback-panel pre code{background:none}
html[data-theme="dark"] .ai-feedback-loading{color:var(--muted)}
html[data-theme="dark"] .ai-feedback-loading .dots span{background:var(--accent)}
html[data-theme="dark"] .hint-panel{background:#3b331f;border-bottom:1px solid #625637;color:#f2ccaa}
html[data-theme="dark"] .hint-panel-header{color:#f4b792}
html[data-theme="dark"] .hint-panel-header svg{color:#f4b07c}
html[data-theme="dark"] .hint-nav-btn{background:rgba(146,64,14,0.1);border:1px solid rgba(146,64,14,0.2);color:#f4b792}
html[data-theme="dark"] .hint-nav-btn:hover{background:rgba(146,64,14,0.18)}
html[data-theme="dark"] .hint-counter{color:#f4b792}
html[data-theme="dark"] .hint-close{background:none;border:none;color:#f4b792}
html[data-theme="dark"] .sql-hint-btn{background:transparent;border:1px solid transparent;color:var(--text)}
html[data-theme="dark"] .sql-hint-btn:hover{background:#3f341f}
html[data-theme="dark"] .sql-hint-btn svg{color:#f4b07c}
html[data-theme="dark"] .solution-panel{background:#171d2c;border-left:1px solid var(--border)}
html[data-theme="dark"] .solution-panel-header{border-bottom:1px solid var(--border);background:linear-gradient(135deg, #1c2d39 0%, #1e293c 100%)}
html[data-theme="dark"] .solution-panel-title{color:#e0e5f4}
html[data-theme="dark"] .solution-panel-close{background:none;border:1px solid var(--border);color:var(--muted)}
html[data-theme="dark"] .solution-panel-close:hover{border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .solution-step{border-bottom:1px solid #28334d}
html[data-theme="dark"] .solution-step:last-child{border-bottom:none}
html[data-theme="dark"] .solution-step-header{color:#b8cde9}
html[data-theme="dark"] .solution-step-header:hover{background:#1c2639}
html[data-theme="dark"] .solution-step-header .step-num{background:var(--accent);color:#fff}
html[data-theme="dark"] .solution-step-header .step-chevron{color:var(--muted)}
html[data-theme="dark"] .solution-step-content{color:#bfcad9}
html[data-theme="dark"] .solution-step-content strong{color:#859dea}
html[data-theme="dark"] .solution-step-content em{color:#b1b5be}
html[data-theme="dark"] .solution-step-content pre{background:#1e293b;color:#e2e8f0}
html[data-theme="dark"] .solution-step-content code{background:#1e293c;color:#859dea}
html[data-theme="dark"] .solution-step-content pre code{background:none;color:inherit}
html[data-theme="dark"] .solution-step-content th,html[data-theme="dark"] .solution-step-content td{border:1px solid #3b424c}
html[data-theme="dark"] .solution-step-content th{background:#1c2639;color:#b8cde9}
html[data-theme="dark"] .solution-step-content h3{color:#e0e5f4}
html[data-theme="dark"] .solution-panel-progress{color:var(--muted);border-top:1px solid #28334d}
html[data-theme="dark"] .solution-panel-progress .progress-bar{background:#2c3138}
html[data-theme="dark"] .solution-panel-progress .progress-fill{background:var(--accent)}
html[data-theme="dark"] .beh-question-section{background:#171d2c;border:1px solid #3b424c;box-shadow:0 1px 3px rgba(0,0,0,0.04)}
html[data-theme="dark"] .beh-label{color:var(--accent)}
html[data-theme="dark"] .beh-label::before{background:var(--accent)}
html[data-theme="dark"] .beh-question-text{color:#e0e5f4}
html[data-theme="dark"] .beh-tip{color:#acb6c3;background:#181f2f;border:1px dashed #434a53}
html[data-theme="dark"] .beh-solution-section{background:#181f2f;border:1px solid #3b424c}
html[data-theme="dark"] .beh-solution-body{color:#bfcad9}
html[data-theme="dark"] .beh-solution-body strong{color:#e0e5f4}
html[data-theme="dark"] .beh-solution-body h3{color:#e0e5f4}
html[data-theme="dark"] .beh-solution-body pre{background:#0f172a;color:#e2e8f0}
html[data-theme="dark"] .beh-solution-body pre code{background:none;color:inherit}
html[data-theme="dark"] .beh-solution-body code{background:#1b2335;color:#e0e5f4}
html[data-theme="dark"] .beh-solution-body th,html[data-theme="dark"] .beh-solution-body td{border:1px solid #3b424c;background:#171d2c}
html[data-theme="dark"] .beh-solution-body th{background:#1c2639;color:#b8cde9}
html[data-theme="dark"] .beh-ai-btn{background:#171d2c;border:1.5px solid #434a53;color:#b0bbca}
html[data-theme="dark"] .beh-ai-btn:hover{border-color:var(--accent);color:var(--accent);background:#1c2639}
html[data-theme="dark"] .beh-ai-hint{color:#94a3b8}
html[data-theme="dark"] .factor-tree-title{background:linear-gradient(135deg, #1e3a5f, #1e40af);color:#fff}
html[data-theme="dark"] .factor-tree-branch-header.external{background:#dc2626;color:#fff}
html[data-theme="dark"] .factor-tree-branch-header.internal{background:#2563eb;color:#fff}
html[data-theme="dark"] .factor-tree-category{background:#181f2f;border:1px solid #3b424c}
html[data-theme="dark"] .factor-tree-branch.ext .factor-tree-category{border-color:#5d2e2e;background:#381c1c}
html[data-theme="dark"] .factor-tree-branch.int .factor-tree-category{border-color:#2f4560;background:#1c2939}
html[data-theme="dark"] .factor-tree-branch.ext .factor-tree-cat-name{color:#eb8c8c}
html[data-theme="dark"] .factor-tree-branch.int .factor-tree-cat-name{color:#98ade9}
html[data-theme="dark"] .factor-tree-item{background:#171d2c}
html[data-theme="dark"] .factor-tree-branch.ext .factor-tree-item{color:#e9a0a0;border-left:2px solid #683333}
html[data-theme="dark"] .factor-tree-branch.int .factor-tree-item{color:#98ade9;border-left:2px solid #354f6c}
html[data-theme="dark"] .factor-tree-connector{color:#94a3b8}
html[data-theme="dark"] .sql-check-btn{background:var(--accent);border:1px solid var(--accent);color:#fff;box-shadow:0 1px 2px rgba(37,99,235,0.3)}
html[data-theme="dark"] .sql-check-btn:hover{background:var(--accent2);border-color:var(--accent2)}
html[data-theme="dark"] .sql-ai-btn,html[data-theme="dark"] .sql-feedback-btn{background:transparent;border:1px solid transparent;color:var(--text)}
html[data-theme="dark"] .sql-ai-btn:hover{background:var(--surface2);color:var(--accent)}
html[data-theme="dark"] .sql-ai-btn svg{color:var(--accent)}
html[data-theme="dark"] .sql-feedback-btn{color:var(--muted)}
html[data-theme="dark"] .sql-feedback-btn:hover{background:var(--surface2);color:var(--text)}
html[data-theme="dark"] .sql-expected-btn{background:transparent;border:1px solid rgba(245,158,11,0.3);color:#f4c77b}
html[data-theme="dark"] .sql-expected-btn:hover{background:rgba(245,158,11,0.06);border-color:#f59e0b}
html[data-theme="dark"] .test-results-header{border-bottom:1px solid var(--border)}
html[data-theme="dark"] .test-results-title{color:var(--muted)}
html[data-theme="dark"] .test-results-score.all-pass{background:rgba(22,163,74,0.1);color:var(--green)}
html[data-theme="dark"] .test-results-score.some-fail{background:rgba(239,68,68,0.1);color:#f47b7b}
html[data-theme="dark"] .pandas-note{background:rgba(37, 99, 235, 0.05);border-left:3px solid rgba(37, 99, 235, 0.45);color:var(--muted)}
html[data-theme="dark"] .pandas-note strong{color:var(--text)}
html[data-theme="dark"] .bf-list-group{color:var(--muted)}
html[data-theme="dark"] .bf-list-count{color:var(--muted)}
html[data-theme="dark"] .bf-langmode{background:rgba(37, 99, 235, 0.08);border:1px solid rgba(37, 99, 235, 0.28);color:#7ca1f3}
html[data-theme="dark"] .bf-langmode-x{color:#7ca1f3}
html[data-theme="dark"] .bf-langmode-x:hover{background:rgba(37, 99, 235, 0.16)}
html[data-theme="dark"] .topic-note{background:rgba(37, 99, 235, 0.05);border:1px solid rgba(37, 99, 235, 0.18)}
html[data-theme="dark"] .topic-note-body{color:var(--muted)}
html[data-theme="dark"] .topic-note-body strong{color:var(--text)}
html[data-theme="dark"] .topic-note-btn{color:#fff;background:#2563eb;border:1px solid #2563eb}
html[data-theme="dark"] .topic-note-btn:hover{background:#1d4ed8}
html[data-theme="dark"] .xlang-cta{background:rgba(37, 99, 235, 0.05);border:1px solid rgba(37, 99, 235, 0.18)}
html[data-theme="dark"] .xlang-cta-text{color:var(--muted)}
html[data-theme="dark"] .xlang-cta-btn{color:#7ca1f3;background:#171d2c;border:1px solid rgba(37, 99, 235, 0.35)}
html[data-theme="dark"] .xlang-cta-btn:hover{background:#2563eb;color:#fff}
html[data-theme="dark"] .test-result-item{border-bottom:1px solid var(--border)}
html[data-theme="dark"] .test-result-item:last-child{border-bottom:none}
html[data-theme="dark"] .test-result-item.pass .test-result-icon{background:#2a3c31;color:#9fefbd}
html[data-theme="dark"] .test-result-item.fail .test-result-icon{background:#3d1f1f;color:#ec8383}
html[data-theme="dark"] .test-result-name{color:var(--white)}
html[data-theme="dark"] .test-result-msg{color:var(--muted)}
html[data-theme="dark"] .test-result-item.fail .test-result-msg{color:#f47b7b}
html[data-theme="dark"] .browse-view::-webkit-scrollbar-thumb{background:var(--border)}
html[data-theme="dark"] .browse-search{border:1px solid var(--border);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 0.75rem center;color:var(--text);outline:none}
html[data-theme="dark"] .browse-search:focus{border-color:var(--accent)}
html[data-theme="dark"] .browse-search::placeholder{color:var(--muted)}
html[data-theme="dark"] .lock-badge{background:#1c2639;border:1px solid #39414d;color:#7ca1f3}
html[data-theme="dark"] .browse-list-row.is-locked .list-title{color:#b0bbca}
html[data-theme="dark"] .browse-card--locked .browse-card__title{color:#b0bbca}
html[data-theme="dark"] .paywall-card{background:#171d2c;border:1px solid #39414d;box-shadow:0 6px 24px rgba(15, 23, 42, 0.06)}
html[data-theme="dark"] .paywall-icon{background:#1c2639}
html[data-theme="dark"] .paywall-title{color:#e0e5f4}
html[data-theme="dark"] .paywall-sub{color:#bfcad9}
html[data-theme="dark"] .paywall-cta{border:0;background:#2563eb;color:#fff}
html[data-theme="dark"] .paywall-cta:hover{background:#1d4ed8}
html[data-theme="dark"] .paywall-remaining{color:#acb6c3}
html[data-theme="dark"] .degraded-banner{background:linear-gradient(90deg, #3a2d1c, #433421);border-bottom:1px solid #664e32;box-shadow:0 2px 10px rgba(15, 23, 42, 0.05)}
html[data-theme="dark"] .degraded-text{color:#f2b6a2}
html[data-theme="dark"] .degraded-stats span{color:#f2a58c}
html[data-theme="dark"] .degraded-stats span::before{color:#f4b27b}
html[data-theme="dark"] .degraded-cta{border:0;background:#ea580c;color:#fff}
html[data-theme="dark"] .degraded-cta:hover{background:#c2410c}
html[data-theme="dark"] .degraded-dismiss{border:0;background:transparent;color:#f2a58c}
html[data-theme="dark"] .expiry-banner{background:#3b351d;border:1px solid #6f6336;border-left:4px solid #f59e0b;color:#f4c2a5}
html[data-theme="dark"] .expiry-banner-icon{background:rgba(245, 158, 11, 0.15);color:#f4b07c}
html[data-theme="dark"] .expiry-banner-text strong{color:#f4c2a5}
html[data-theme="dark"] .expiry-banner-renew{border:0;background:#2563eb;color:#fff}
html[data-theme="dark"] .expiry-banner-renew:hover{background:#1d4ed8}
html[data-theme="dark"] .expiry-banner-dismiss{border:0;background:transparent;color:#f4b792}
html[data-theme="dark"] .expiry-banner-dismiss:hover{background:rgba(245, 158, 11, 0.15)}
html[data-theme="dark"] .daily-counter{background:#1c2639;border:1px solid #39414d;border-left:4px solid #2563eb;color:#bfcad9}
html[data-theme="dark"] .daily-counter--empty{background:#3b351d;border-color:#6f6336;border-left-color:#f59e0b;color:#f4c2a5}
html[data-theme="dark"] .daily-counter-icon{background:rgba(37, 99, 235, 0.12);color:#7ca1f3}
html[data-theme="dark"] .daily-counter--empty .daily-counter-icon{background:rgba(245, 158, 11, 0.15);color:#f4b07c}
html[data-theme="dark"] .daily-counter-text strong{color:#e0e5f4}
html[data-theme="dark"] .daily-counter--empty .daily-counter-text strong{color:#f4c2a5}
html[data-theme="dark"] .daily-counter-text .daily-counter-reset{color:#acb6c3}
html[data-theme="dark"] .daily-counter-cta{border:0;background:#2563eb;color:#fff}
html[data-theme="dark"] .daily-counter-cta:hover{background:#1d4ed8}
html[data-theme="dark"] .dc-pills-label{color:#acb6c3}
html[data-theme="dark"] .dc-pill{background:#171d2c;border:1px solid #374151;color:#b0bbca}
html[data-theme="dark"] .dc-pill strong{color:#7ca1f3}
html[data-theme="dark"] .dc-pill--spent{background:#3b351d;border-color:#6f6336;color:#f4b792}
html[data-theme="dark"] .dc-pill--spent strong{color:#f4b07c}
html[data-theme="dark"] .support-count{background:#ec4899;color:#fff}
html[data-theme="dark"] .sup-name{color:#ef80ae;background:#361f2b;border:1px solid #5b2f48}
html[data-theme="dark"] .browse-filters{background:var(--bg);border-bottom:1px solid transparent}
html[data-theme="dark"] body.dash-hidden .browse-filters{border-bottom-color:var(--border)}
html[data-theme="dark"] .bf-pill{color:var(--muted);background:var(--surface);border:1px solid var(--border)}
html[data-theme="dark"] .bf-pill:hover{border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .bf-pill.has-selection{color:var(--accent);border-color:var(--accent);background:rgba(37,99,235,0.04)}
html[data-theme="dark"] .bf-pill.is-open{color:var(--accent);border-color:var(--accent);background:rgba(37,99,235,0.06);box-shadow:0 0 0 3px rgba(37,99,235,0.08)}
html[data-theme="dark"] .bf-selchip{color:var(--accent);background:rgba(37,99,235,0.08);border:1px solid rgba(37,99,235,0.25)}
html[data-theme="dark"] .bf-selchip .x:hover{background:rgba(37,99,235,0.15)}
html[data-theme="dark"] .bf-native{color:var(--muted);background:var(--surface);border:1px solid var(--border);outline:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>")}
html[data-theme="dark"] .bf-native:hover{border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .bf-native.has-selection{color:var(--accent);border-color:var(--accent)}
html[data-theme="dark"] .bf-count{color:var(--muted)}
html[data-theme="dark"] .bf-meta a{color:var(--muted)}
html[data-theme="dark"] .bf-meta a:hover{color:var(--accent)}
html[data-theme="dark"] .bf-popover{background:var(--surface);border:1px solid var(--border2);box-shadow:0 12px 28px rgba(15, 23, 42, 0.10)}
html[data-theme="dark"] .bf-popover-title{color:var(--text)}
html[data-theme="dark"] .bf-popover-clear{color:var(--muted)}
html[data-theme="dark"] .bf-popover-clear:hover{color:var(--text)}
html[data-theme="dark"] .bf-list-search{border:1px solid var(--border);background:var(--bg);color:var(--text);outline:none}
html[data-theme="dark"] .bf-list-search:focus{border-color:var(--accent);background:var(--surface)}
html[data-theme="dark"] .bf-list-item{color:var(--text)}
html[data-theme="dark"] .bf-list-item:hover{background:var(--surface2)}
html[data-theme="dark"] .bf-list-item.is-on{color:var(--accent);background:rgba(37,99,235,0.04)}
html[data-theme="dark"] .bf-list-check{color:var(--accent)}
html[data-theme="dark"] .bf-list-empty{color:var(--muted)}
html[data-theme="dark"] .bf-sec{color:var(--muted)}
html[data-theme="dark"] .bf-search{border:1px solid var(--border);background:var(--bg);color:var(--text);outline:none}
html[data-theme="dark"] .bf-search:focus{border-color:var(--accent);background:var(--surface)}
html[data-theme="dark"] .bf-fchip{background:var(--surface);color:var(--text);border:1px solid var(--border)}
html[data-theme="dark"] .bf-fchip:hover{background:var(--surface2);border-color:var(--border2)}
html[data-theme="dark"] .bf-fchip.on{background:rgba(37,99,235,0.1);color:var(--accent);border-color:rgba(37,99,235,0.35)}
html[data-theme="dark"] .bf-fchip.on-easy{background:rgba(34,197,94,0.12);color:#b3efca;border-color:rgba(34,197,94,0.4)}
html[data-theme="dark"] .bf-fchip.on-medium{background:rgba(251,146,60,0.14);color:#f2ac7d;border-color:rgba(251,146,60,0.45)}
html[data-theme="dark"] .bf-fchip.on-hard{background:rgba(239,68,68,0.12);color:#ec8383;border-color:rgba(239,68,68,0.4)}
html[data-theme="dark"] .bf-fchip.on-status{background:var(--surface2);color:var(--text);border-color:var(--border2)}
html[data-theme="dark"] .bf-fchip.on-fw{background:rgba(139,92,246,0.12);color:#ad86ea;border-color:rgba(139,92,246,0.35)}
html[data-theme="dark"] .bf-fchip.on-co{background:rgba(13,148,136,0.12);color:#a7f4ee;border-color:rgba(13,148,136,0.35)}
html[data-theme="dark"] .bf-more{color:var(--accent)}
html[data-theme="dark"] .bf-qpicks{border-top:1px solid var(--border)}
html[data-theme="dark"] .bf-qpick{color:var(--text)}
html[data-theme="dark"] .bf-qpick:hover{background:var(--surface2)}
html[data-theme="dark"] .bf-qpick svg{color:var(--muted)}
html[data-theme="dark"] .bf-qpick .qpick-hint{color:var(--muted)}
html[data-theme="dark"] .browse-view-toggle{border:1px solid var(--border);background:var(--surface)}
html[data-theme="dark"] .browse-view-toggle button{border:none;background:transparent;color:var(--muted)}
html[data-theme="dark"] .browse-view-toggle button:hover{color:var(--text)}
html[data-theme="dark"] .browse-view-toggle button.active{background:var(--accent);color:#fff}
html[data-theme="dark"] .browse-list{background:var(--surface);border:1px solid var(--border)}
html[data-theme="dark"] .browse-list-head{background:var(--bg);border-bottom:1px solid var(--border);color:var(--muted)}
html[data-theme="dark"] .browse-list-head .sortable:hover{color:var(--accent)}
html[data-theme="dark"] .browse-list-head .sortable.sorted .sort-arrow{color:var(--accent)}
html[data-theme="dark"] .browse-list-row{border-bottom:1px solid var(--border)}
html[data-theme="dark"] .browse-list-row:last-child{border-bottom:none}
html[data-theme="dark"] .browse-list-row:hover{background:var(--bg)}
html[data-theme="dark"] .browse-list-row.is-solved .list-title{color:var(--muted)}
html[data-theme="dark"] .browse-list-row.is-opened .list-title{color:var(--muted)}
html[data-theme="dark"] .browse-list-row.is-opened .list-check-empty{background:var(--border);border-color:var(--border)}
html[data-theme="dark"] .browse-list-row .list-check-solved{background:#22c55e;color:#fff}
html[data-theme="dark"] .browse-list-row .list-check-empty{border:1.5px solid var(--border)}
html[data-theme="dark"] .browse-list-row .list-title{color:var(--white)}
html[data-theme="dark"] .rec-badge{background:rgba(14,103,208,0.1);color:#7bb3f4}
html[data-theme="dark"] .browse-list-row .list-tag-sql{background:rgba(59,130,246,0.12);color:#7ca1f3}
html[data-theme="dark"] .browse-list-row .list-tag-python{background:rgba(16,185,129,0.12);color:#90f5ec}
html[data-theme="dark"] .browse-list-row .list-tag-casestudy{background:rgba(236,72,153,0.12);color:#ef80ae}
html[data-theme="dark"] .browse-list-row .list-tag-puzzles{background:rgba(139,92,246,0.12);color:#ad86ea}
html[data-theme="dark"] .browse-list-row .list-tag-guesstimates{background:rgba(245,158,11,0.12);color:#f4b07c}
html[data-theme="dark"] .browse-list-row .list-tag-bi{background:rgba(6,182,212,0.12);color:#93dff4}
html[data-theme="dark"] .browse-list-row .list-tag-behavioral{background:rgba(100,116,139,0.18);color:#b0bbca}
html[data-theme="dark"] .browse-list-row .list-tag-concepts{background:rgba(168,85,247,0.12);color:#bb84eb}
html[data-theme="dark"] .browse-list-row .list-company,html[data-theme="dark"] .browse-list-row .list-framework{color:var(--muted)}
html[data-theme="dark"] .browse-list-row .list-framework{color:var(--text)}
html[data-theme="dark"] .browse-list-row .list-fw-alt{background:rgba(16,185,129,0.12);color:#90f5ec}
html[data-theme="dark"] .browse-list-row .list-chevron{color:var(--muted)}
html[data-theme="dark"] .browse-list-row:hover .list-chevron{color:var(--accent)}
html[data-theme="dark"] .browse-list-empty{color:var(--muted)}
html[data-theme="dark"] .browse-more{border:none;border-top:1px solid var(--border);background:transparent;color:var(--muted)}
html[data-theme="dark"] .browse-more:hover{color:var(--text);background:var(--bg2)}
html[data-theme="dark"] .browse-grid .browse-more{border-top:none}
html[data-theme="dark"] .action-bar{--ab-ink:#d2e7f5;--ab-azure:#7bb3f4;--ab-mint:#6FE3B4;--ab-sage:#1d2639;--ab-warn:#f4b07c;--ab-good:#a4f4d6;--ab-muted:#afbac0;--ab-t-ready:#283d33;--ab-t-nearly:#423721;--ab-t-building:rgba(14,103,208,.1);background:var(--bg);border-bottom:1px solid var(--border)}
html[data-theme="dark"] .ab-main{background:#171d2c;border:1.5px solid #454d48;color:var(--ab-ink)}
html[data-theme="dark"] .ab-main{box-shadow:0 1px 2px rgba(14,42,60,.05), 0 6px 14px -7px rgba(14,42,60,.2)}
html[data-theme="dark"] .ab-main:hover{border-color:var(--ab-ink);box-shadow:0 2px 4px rgba(14,42,60,.07), 0 10px 20px -8px rgba(14,42,60,.26)}
html[data-theme="dark"] .ab-glyph{background:var(--ab-ink);color:var(--ab-mint)}
html[data-theme="dark"] .ab-meta{color:var(--ab-muted);background:var(--ab-sage)}
html[data-theme="dark"] .ab-chip{border:1px solid transparent;background:var(--ab-sage);color:var(--ab-muted);border-color:#424c45}
html[data-theme="dark"] .ab-chip-library.is-supporter{background:var(--ab-t-ready);color:var(--ab-good);border-color:#3e5a4d}
html[data-theme="dark"] .ab-chip-library.is-warn{background:#3a301e;color:#f7c99a;border-color:#62543a}
html[data-theme="dark"] .ab-chip-library.is-lapsed{background:#1f2a3b;color:#8abcf5;border-color:#34475c}
html[data-theme="dark"] .ab-chip-library.is-supporter.has-meter{--acc-full:#2d4339;--acc-empty:#1a2233;color:#b8f7e0;border-color:#3e5a4d;background:linear-gradient(to right,
      var(--acc-full) 0 var(--acc-pct, 100%), var(--acc-empty) var(--acc-pct, 100%) 100%)}
html[data-theme="dark"] .ab-chip-library.is-supporter.has-meter.is-soon{--acc-full:#493b25;--acc-empty:#3a301e;color:#f7c99a;border-color:#62543a}
html[data-theme="dark"] .ab-chip-library.is-supporter.has-meter.is-last{--acc-full:#412a26;--acc-empty:#37231e;color:#e79c94;border-color:#5c3f3a}
html[data-theme="dark"] .ab-chip-library.is-supporter.has-meter.is-act{background:var(--ab-warn);color:#fff;border-color:var(--ab-warn)}
html[data-theme="dark"] .abp-first{color:#f4b07c}
html[data-theme="dark"] .ab-chip-wc.is-done{background:var(--ab-t-ready);color:var(--ab-good);border-color:#3e5a4d}
html[data-theme="dark"] .ab-chip.is-act{background:var(--ab-warn);color:#fff;border-color:var(--ab-warn)}
html[data-theme="dark"] .prep-strip{--ps-muted:#afbac0;--ps-azure:#7bb3f4;--ps-good:#a4f4d6}
html[data-theme="dark"] .ps-label{background:none;border:0;color:var(--ps-muted);border-bottom:1px dotted rgba(85,100,109,.55)}
html[data-theme="dark"] .ps-label:hover,html[data-theme="dark"] .ps-label:focus-visible{color:var(--ps-azure);border-bottom-color:var(--ps-azure)}
html[data-theme="dark"] .ps-name{color:var(--ps-muted)}
html[data-theme="dark"] .ps-delta{color:var(--ps-good)}
html[data-theme="dark"] .ps-bar{background:rgba(14,42,60,.11)}
html[data-theme="dark"] .ps-fill{background:var(--ps-azure)}
html[data-theme="dark"] .ps-gain{background:var(--ab-mint)}
html[data-theme="dark"] .ps-seg:hover .ps-name,html[data-theme="dark"] .ps-seg:focus-visible .ps-name{color:var(--ps-azure)}
html[data-theme="dark"] .ps-seg.is-done .ps-name{color:var(--ps-good)}
html[data-theme="dark"] .ps-seg.is-done .ps-fill{background:var(--ps-good)}
html[data-theme="dark"] .ps-seg.is-now .ps-name{color:var(--ps-azure)}
html[data-theme="dark"] .ps-seg.is-now .ps-bar{background:rgba(14,103,208,.15)}
html[data-theme="dark"] .ps-aside{border-left:1px solid var(--border)}
html[data-theme="dark"] .ps-aside-label{color:var(--ps-muted)}
html[data-theme="dark"] .ps-seg-edge .ps-fill{background:var(--ps-muted)}
html[data-theme="dark"] .ps-seg-edge.is-done .ps-fill{background:var(--ps-good)}
html[data-theme="dark"] .ps-more{color:var(--ps-muted)}
html[data-theme="dark"] .ps-more:hover{color:var(--ps-azure)}
html[data-theme="dark"] .ab-pop{background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 24px rgba(15, 23, 42, 0.13)}
html[data-theme="dark"] .ab-pop-activity .heatmap-section{background:transparent}
html[data-theme="dark"] .ab-pop-activity .heatmap-wrap{border:0}
html[data-theme="dark"] .abp-head{color:var(--muted)}
html[data-theme="dark"] .abp-head-sub{border-top:1px solid var(--border)}
html[data-theme="dark"] .abp-title{color:var(--text)}
html[data-theme="dark"] .abp-meta{color:var(--muted)}
html[data-theme="dark"] .abp-cta{color:var(--accent)}
html[data-theme="dark"] .abp-row{color:inherit}
html[data-theme="dark"] .abp-row:hover,html[data-theme="dark"] .abp-row:focus-visible{background:rgba(37,99,235,0.07)}
html[data-theme="dark"] .abp-row:hover .abp-name,html[data-theme="dark"] .abp-row:focus-visible .abp-name{color:var(--accent)}
html[data-theme="dark"] .abp-name{color:var(--text)}
html[data-theme="dark"] .abp-row.is-now .abp-name{color:var(--accent)}
html[data-theme="dark"] .abp-row.is-done .abp-name::before{color:#85efac}
html[data-theme="dark"] .abp-bar{background:rgba(0,0,0,0.08)}
html[data-theme="dark"] .abp-fill{background:var(--accent)}
html[data-theme="dark"] .abp-row.is-done .abp-fill{background:#16a34a}
html[data-theme="dark"] .abp-count{color:var(--muted)}
html[data-theme="dark"] .abp-foot{border-top:1px solid var(--border);color:var(--muted)}
html[data-theme="dark"] .abp-foot a{color:var(--accent)}
html[data-theme="dark"] .hm-stats{border-bottom:1px solid var(--border)}
html[data-theme="dark"] .hero-stat-num{color:var(--white)}
html[data-theme="dark"] .hero-stat-num.has-streak{color:#f4a47b}
html[data-theme="dark"] .hero-streak-nudge.at-risk{background:#3a2d1c;color:#f49e7b;border:1px solid #664e32}
html[data-theme="dark"] .hero-streak-nudge.safe{background:#1e3726;color:#9fefbd;border:1px solid #346043}
html[data-theme="dark"] .hero-streak-nudge.start{background:rgba(37,99,235,0.07);color:#819eee}
html[data-theme="dark"] .hero-stat-label{color:var(--muted)}
html[data-theme="dark"] .heatmap-section{background:var(--bg)}
html[data-theme="dark"] .heatmap-wrap{background:var(--surface);border:1px solid var(--border)}
html[data-theme="dark"] .daily-allowance{border-left:1px solid var(--border)}
html[data-theme="dark"] .da-head-ic{background:rgba(37, 99, 235, 0.1);color:var(--accent)}
html[data-theme="dark"] .da-title{color:var(--white)}
html[data-theme="dark"] .da-cell{background:var(--bg);border:1px solid var(--border)}
html[data-theme="dark"] .da-cell-name{color:var(--text)}
html[data-theme="dark"] .da-cell-left{color:var(--accent)}
html[data-theme="dark"] .da-cell--spent{background:#3b351d;border-color:#6f6336}
html[data-theme="dark"] .da-cell--spent .da-cell-name{color:#f4b792}
html[data-theme="dark"] .da-cell--spent .da-cell-left{color:#f4b07c}
html[data-theme="dark"] .da-foot{color:var(--muted)}
html[data-theme="dark"] .da-cta{color:var(--accent)}
html[data-theme="dark"] .da-supporter{color:var(--text)}
html[data-theme="dark"] .da-supporter-badge{background:rgba(37, 99, 235, 0.1);color:var(--accent)}
@media (max-width: 720px){
  html[data-theme="dark"] .daily-allowance{border-left:none;border-top:1px solid var(--border)}
}
html[data-theme="dark"] .heatmap-title{color:var(--white)}
html[data-theme="dark"] .heatmap-summary{color:var(--muted)}
html[data-theme="dark"] .heatmap-scroll::-webkit-scrollbar-thumb{background:var(--border)}
html[data-theme="dark"] .heatmap-daylabels{color:var(--muted)}
html[data-theme="dark"] .heatmap-months{color:var(--muted)}
html[data-theme="dark"] .heatmap-cell{background:var(--surface2);border:1px solid rgba(0,0,0,0.02)}
html[data-theme="dark"] .heatmap-cell:hover{outline:1px solid var(--accent)}
html[data-theme="dark"] .heatmap-cell.empty-future{background:transparent;border:none}
html[data-theme="dark"] .heatmap-cell.l0{background:#1d2538}
html[data-theme="dark"] .heatmap-cell.l1{background:#36593c}
html[data-theme="dark"] .heatmap-cell.l2{background:#40c463}
html[data-theme="dark"] .heatmap-cell.l3{background:#30a14e}
html[data-theme="dark"] .heatmap-cell.l4{background:#216e39}
html[data-theme="dark"] .heatmap-legend{color:var(--muted)}
html[data-theme="dark"] .heatmap-tip{background:#0f172a;color:#fff}
html[data-theme="dark"] .browse-card{background:var(--surface);border:1px solid var(--border)}
html[data-theme="dark"] .browse-card:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(37,99,235,0.08)}
html[data-theme="dark"] .browse-card--solved{border-left:3px solid var(--green)}
html[data-theme="dark"] .browse-card--opened{border-left:3px solid var(--border)}
html[data-theme="dark"] .browse-card--opened .browse-card__title{color:var(--muted)}
html[data-theme="dark"] .browse-card__header .solved-badge{background:rgba(22,163,74,0.1);color:var(--green)}
html[data-theme="dark"] .browse-card__title{color:var(--white)}
html[data-theme="dark"] .browse-card__meta{color:var(--muted)}
html[data-theme="dark"] .prompt-tag--alt{background:rgba(16,185,129,0.12);color:#90f5ec}
html[data-theme="dark"] .card-fw-alt{background:rgba(16,185,129,0.12);color:#90f5ec}
html[data-theme="dark"] .browse-card__company{color:var(--accent)}
html[data-theme="dark"] .back-to-browse{color:var(--muted);background:none;border:1px solid var(--border)}
html[data-theme="dark"] .back-to-browse:hover{border-color:var(--accent);color:var(--accent)}
html[data-theme="dark"] .nav-prev-next button{color:var(--muted);background:none;border:1px solid var(--border)}
html[data-theme="dark"] .nav-prev-next button:hover{background:var(--surface2);border-color:var(--border2);color:var(--white)}
html[data-theme="dark"] .nav-prev-next button:disabled{background:none;border-color:var(--border);color:var(--muted)}
html[data-theme="dark"] .results-tabs{border-bottom:1px solid var(--border);background:var(--bg2)}
html[data-theme="dark"] .results-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted)}
html[data-theme="dark"] .results-tab:hover{color:var(--accent)}
html[data-theme="dark"] .results-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
html[data-theme="dark"] .mobile-question{background:var(--surface2);border-bottom:1px solid var(--border);color:var(--text)}
html[data-theme="dark"] .question-text:not(:empty),html[data-theme="dark"] .mobile-question:not(:empty),html[data-theme="dark"] .msg .bubble.bubble--question,html[data-theme="dark"] .solution-question-text:not(:empty),html[data-theme="dark"] #caseInfoPopBody:not(:empty){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='130'%3E%3Ctext x='130' y='70' fill='%230f172a' fill-opacity='0.07' font-family='Helvetica,Arial,sans-serif' font-size='15' font-weight='700' text-anchor='middle' transform='rotate(-22 130 70)'%3Ealoktheanalyst.com%3C/text%3E%3C/svg%3E")}
@media (max-width: 768px){
  html[data-theme="dark"] .sql-editor-panel.show-discuss .schema-sidebar,html[data-theme="dark"] .sql-editor-panel.show-solution .schema-sidebar{border-right:0}
}
html[data-theme="dark"] .pref-chip{border:1px dashed var(--border2);background:transparent;color:var(--muted)}
html[data-theme="dark"] .pref-chip:hover{color:var(--accent);border-color:var(--accent)}
html[data-theme="dark"].pref-interview #interviewModeChip{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}
html[data-theme="dark"].pref-hide-sol:not(.pref-sol-revealed) .sol-reveal-btn{border:1px dashed var(--border2);background:transparent;color:var(--muted)}
html[data-theme="dark"].pref-hide-sol:not(.pref-sol-revealed) .sol-reveal-btn:hover{color:var(--accent);border-color:var(--accent)}
html[data-theme="dark"] .bf-prefnote{color:var(--muted)}
html[data-theme="dark"] .bf-prefnote a{color:var(--accent)}
/* inline style attributes */
html[data-theme="dark"] [style^="color:#0f172a"],html[data-theme="dark"] [style*=";color:#0f172a"],html[data-theme="dark"] [style*="; color:#0f172a"]{color:#e0e5f4 !important}
html[data-theme="dark"] [style^="color:#64748b"],html[data-theme="dark"] [style*=";color:#64748b"],html[data-theme="dark"] [style*="; color:#64748b"]{color:#acb6c3 !important}
html[data-theme="dark"] [style^="color:#2563eb"],html[data-theme="dark"] [style*=";color:#2563eb"],html[data-theme="dark"] [style*="; color:#2563eb"]{color:#7ca1f3 !important}
html[data-theme="dark"] [style^="color:#ef4444"],html[data-theme="dark"] [style*=";color:#ef4444"],html[data-theme="dark"] [style*="; color:#ef4444"]{color:#f47b7b !important}
html[data-theme="dark"] [style^="color:var(--muted,#888)"],html[data-theme="dark"] [style*=";color:var(--muted,#888)"],html[data-theme="dark"] [style*="; color:var(--muted,#888)"]{color:var(--muted,#b8b8b8) !important}
html[data-theme="dark"] [style^="color:var(--muted,#666)"],html[data-theme="dark"] [style*=";color:var(--muted,#666)"],html[data-theme="dark"] [style*="; color:var(--muted,#666)"]{color:var(--muted,#b8b8b8) !important}
html[data-theme="dark"] [style*="background:var(--surface2,#eee)"]{background:var(--surface2,#1d2538) !important}
html[data-theme="dark"] [style^="color:#1e40af"],html[data-theme="dark"] [style*=";color:#1e40af"],html[data-theme="dark"] [style*="; color:#1e40af"]{color:#859dea !important}
/* DARK_THEME:GENERATED:END */

/* ── Dark theme: things the generator cannot judge ──
   These come after the generated block on purpose: same specificity, later wins.
   Shared components (logo, footer, share card, dialogs) are in components.css. */
/* Solution figures are charts and diagrams drawn for a white page. */
html[data-theme="dark"] .sol-figure { background: #fff; }
/* CodeMirror 5's default theme is written for white. */
html[data-theme="dark"] .CodeMirror { color: #dbe4f0; }
html[data-theme="dark"] .CodeMirror-cursor { border-left-color: #e2e8f0; }
html[data-theme="dark"] .CodeMirror-selected { background: #23395d; }
html[data-theme="dark"] .CodeMirror-focused .CodeMirror-selected { background: #2b4a7a; }
html[data-theme="dark"] .CodeMirror-line::selection,
html[data-theme="dark"] .CodeMirror-line > span::selection,
html[data-theme="dark"] .CodeMirror-line > span > span::selection { background: #2b4a7a; }
html[data-theme="dark"] .CodeMirror-activeline-background { background: rgba(255, 255, 255, 0.04); }
html[data-theme="dark"] .CodeMirror-matchingbracket { color: #7ee2a8 !important; }
html[data-theme="dark"] .CodeMirror-nonmatchingbracket { color: #ff6b7a !important; }
html[data-theme="dark"] .cm-s-default .cm-keyword { color: #c792ea; }
html[data-theme="dark"] .cm-s-default .cm-atom,
html[data-theme="dark"] .cm-s-default .cm-number { color: #f78c6c; }
html[data-theme="dark"] .cm-s-default .cm-def,
html[data-theme="dark"] .cm-s-default .cm-builtin,
html[data-theme="dark"] .cm-s-default .cm-header { color: #82aaff; }
html[data-theme="dark"] .cm-s-default .cm-variable { color: #dbe4f0; }
html[data-theme="dark"] .cm-s-default .cm-variable-2,
html[data-theme="dark"] .cm-s-default .cm-property { color: #9cdcfe; }
html[data-theme="dark"] .cm-s-default .cm-variable-3,
html[data-theme="dark"] .cm-s-default .cm-type,
html[data-theme="dark"] .cm-s-default .cm-meta,
html[data-theme="dark"] .cm-s-default .cm-qualifier { color: #ffcb6b; }
html[data-theme="dark"] .cm-s-default .cm-operator { color: #89ddff; }
html[data-theme="dark"] .cm-s-default .cm-comment { color: #6b7d96; }
html[data-theme="dark"] .cm-s-default .cm-string { color: #c3e88d; }
html[data-theme="dark"] .cm-s-default .cm-string-2,
html[data-theme="dark"] .cm-s-default .cm-tag { color: #f07178; }
html[data-theme="dark"] .cm-s-default .cm-attribute { color: #c792ea; }
html[data-theme="dark"] .cm-s-default .cm-bracket { color: #a0aec0; }
html[data-theme="dark"] .cm-s-default .cm-error { color: #ff5370; }
