/* SSE Dark Mode Styles - 统一管理所有深色模式样式 */
/* 
 * 从 style.css 和 dynamic-code-block.css 中提取整合
 * 支持：Zibll/子比主题深色模式 (body.dark-theme) 和系统深色回退 (@media prefers-color-scheme: dark)
 */

/* ============================================
   第一部分：Zibll 等主题深色模式
   body.dark-theme 由主题 JS 动态添加
   ============================================ */

/* ----- 短代码容器 .sse-container ----- */
body.dark-theme .sse-container {
  background: var(--main-bg-color, var(--sse-dark-bg));
  border-color: var(--main-border-color, var(--sse-dark-border));
}

body.dark-theme .sse-container h3 {
  color: var(--key-color, var(--sse-dark-text));
  border-bottom-color: var(--main-border-color, var(--sse-dark-border));
  border-left-color: var(--focus-color, var(--sse-primary));
}

body.dark-theme .sse-container .form-group label,
body.dark-theme .sse-container .sse-form-group label {
  color: var(--main-color, var(--sse-dark-text-muted));
}

body.dark-theme .sse-container .form-group input {
  background: var(--muted-bg-color, var(--sse-dark-bg-card));
  border-color: var(--main-border-color, var(--sse-dark-border));
  color: var(--key-color, var(--sse-dark-text));
}

body.dark-theme .sse-container .form-group input:focus {
  border-color: var(--focus-color, var(--sse-primary));
  background: var(--muted-bg-color, var(--sse-dark-bg-card));
  box-shadow: 0 0 0 2px var(--focus-shadow-color, rgba(102, 126, 234, 0.2)) !important;
}

body.dark-theme .sse-container .form-group input:-webkit-autofill,
body.dark-theme .sse-container .form-group input:-webkit-autofill:hover,
body.dark-theme .sse-container .form-group input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--key-color, var(--sse-dark-text));
  caret-color: var(--key-color, var(--sse-dark-text));
  transition: background-color 99999s ease-out 0s;
  box-shadow: 0 0 0 1000px var(--muted-bg-color, var(--sse-dark-bg-card)) inset !important;
  border: 1px solid rgba(148, 163, 184, 0.45) !important;
  background-clip: padding-box !important;
}

body.dark-theme .sse-container .form-group input:-webkit-autofill:focus {
  box-shadow: 0 0 0 1000px var(--muted-bg-color, var(--sse-dark-bg-card)) inset, 0 0 0 2px var(--focus-shadow-color, rgba(102, 126, 234, 0.2)) !important;
  border: 1px solid var(--focus-color, var(--sse-primary)) !important;
}

body.dark-theme .sse-container .sse-fieldset {
  background: var(--muted-bg-color, var(--sse-dark-bg-card));
  border-color: var(--main-border-color, var(--sse-dark-border));
}

body.dark-theme .sse-container .sse-fieldset legend {
  color: var(--muted-2-color, var(--sse-dark-text-muted));
}

/* ----- 服务器选择区 ----- */
body.dark-theme .sse-container .sse-server-selection {
  background: var(--muted-bg-color, var(--sse-dark-bg-card));
  border-color: var(--main-border-color, var(--sse-dark-border));
}

body.dark-theme .sse-container .sse-server-selection h4 {
  color: var(--key-color, var(--sse-dark-text));
}

/* ----- 服务器卡片 ----- */
body.dark-theme .sse-container .server-card {
  background: var(--main-bg-color, var(--sse-dark-bg-card));
  border-color: var(--main-border-color, var(--sse-dark-border));
}

body.dark-theme .sse-container .server-card:hover {
  border-color: var(--focus-color, var(--sse-primary));
  box-shadow: 0 2px 8px var(--main-shadow, var(--sse-shadow));
}

body.dark-theme .sse-container .server-card.selected,
body.dark-theme .sse-container .server-card[data-selected="1"] {
  background: var(--muted-bg-color, rgba(102, 126, 234, 0.12));
  border-color: var(--focus-color, var(--sse-primary));
}

body.dark-theme .sse-container .server-name {
  color: var(--key-color, var(--sse-dark-text));
}

body.dark-theme .sse-container .server-info span {
  color: var(--muted-2-color, var(--sse-dark-text-muted));
}

body.dark-theme .sse-container .server-info strong {
  color: var(--main-color, var(--sse-dark-text-muted));
}

/* ----- 操作按钮区 ----- */
body.dark-theme .sse-container .sse-actions {
  background: var(--muted-bg-color, var(--sse-dark-bg-card));
  border-color: var(--main-border-color, var(--sse-dark-border));
}

/* ----- 输出结果区 ----- */
body.dark-theme .sse-container .sse-results {
  background: var(--muted-bg-color, var(--sse-dark-bg-card));
  border-color: var(--main-border-color, var(--sse-dark-border));
}

body.dark-theme .sse-container .sse-progress {
  background: var(--main-bg-color, var(--sse-dark-bg));
  border-bottom-color: var(--main-border-color, var(--sse-dark-border));
}

body.dark-theme .sse-container .progress-text {
  color: var(--key-color, var(--sse-dark-text));
}

body.dark-theme .sse-container .progress-bar-container {
  background: var(--muted-4-color, #334155);
}

body.dark-theme .sse-container .progress-bar {
  background: var(--focus-color, var(--sse-primary));
}

body.dark-theme .sse-container .sse-output-head {
  background: #1a1b1e;
  color: var(--muted-2-color, var(--sse-dark-text-muted));
  border-bottom-color: #2d2e31;
}

body.dark-theme .sse-container .sse-output {
  background: #1a1b1e;
  color: var(--main-color, var(--sse-dark-text));
}

body.dark-theme .sse-container .sse-output:empty::before {
  color: var(--muted-3-color, #64748b);
}

/* ----- 游戏信息卡片 ----- */
body.dark-theme .sse-container .game-info-toggle {
  color: var(--key-color, var(--sse-dark-text));
}

body.dark-theme .sse-container .game-info-container {
  background: var(--muted-bg-color, var(--sse-dark-bg-card));
  border: 1px solid var(--main-border-color, var(--sse-dark-border));
  box-shadow: none;
}

body.dark-theme .sse-container .game-info-title {
  color: var(--key-color, var(--sse-dark-text));
  border-bottom-color: var(--main-border-color, var(--sse-dark-border));
}

body.dark-theme .sse-container .game-info-paragraph,
body.dark-theme .sse-container .game-info-paragraph p {
  color: var(--main-color, var(--sse-dark-text-muted));
}

body.dark-theme .sse-container .game-info-list li {
  border-bottom-color: var(--main-border-color, var(--sse-dark-border));
}

body.dark-theme .sse-container .game-info-list strong {
  color: var(--muted-2-color, var(--sse-dark-text-muted));
}

body.dark-theme .sse-container .game-info-container a {
  color: var(--focus-color, var(--sse-primary));
  border-bottom-color: var(--main-border-color, var(--sse-dark-border));
}

body.dark-theme .sse-container .game-info-container a:hover {
  color: var(--key-color, var(--sse-dark-text));
  border-bottom-color: var(--focus-color, var(--sse-primary));
}

body.dark-theme .sse-container .sensitive-data {
  background: rgba(239, 68, 68, 0.2);
  color: #fecaca;
  border: 1px solid rgba(248, 113, 113, 0.4);
}

body.dark-theme .sse-container .game-info-empty {
  color: var(--muted-3-color, var(--sse-dark-text-muted));
  background: var(--muted-bg-color, var(--sse-dark-bg-card));
  border: 1px solid var(--main-border-color, var(--sse-dark-border));
}

/* ----- 动态码区块 ----- */
body.dark-theme .outer-iframe {
  background: var(--muted-bg-color, var(--sse-dark-bg-card));
  border-color: var(--main-border-color, var(--sse-dark-border));
  box-shadow: none;
}

body.dark-theme .outer-iframe:hover {
  border-color: var(--focus-color, var(--sse-primary));
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
}

body.dark-theme .outer-iframe strong {
  color: var(--key-color, var(--sse-dark-text));
}

body.dark-theme .outer-iframe iframe {
  background: var(--main-bg-color, var(--sse-dark-bg));
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.35);
}

body.dark-theme .copy-dynamic-code-btn {
  background-color: var(--focus-color, var(--sse-primary)) !important;
  color: #fff !important;
  border: none !important;
}

body.dark-theme .copy-dynamic-code-btn:hover {
  filter: brightness(1.08);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

body.dark-theme .copy-dynamic-code-btn:active {
  filter: brightness(0.95);
}

body.dark-theme .wp-block-ssh-script-executor-dynamic-code .outer-iframe {
  background: var(--muted-bg-color, var(--sse-dark-bg-card));
  border: 1px solid var(--main-border-color, var(--sse-dark-border));
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
}


/* ============================================
   第二部分：系统深色模式回退
   当系统为深色但主题未加 body.dark-theme 时生效
   ============================================ */
@media (prefers-color-scheme: dark) {
  /* ----- 短代码容器 .sse-container ----- */
  body:not(.dark-theme) .sse-container {
    background: #1e293b;
    border-color: #334155;
  }

  body:not(.dark-theme) .sse-container h3 {
    color: #f1f5f9;
    border-bottom-color: #334155;
    border-left-color: var(--sse-primary, #667eea);
  }

  body:not(.dark-theme) .sse-container .form-group label,
  body:not(.dark-theme) .sse-container .sse-form-group label {
    color: #cbd5e1;
  }

  body:not(.dark-theme) .sse-container .form-group input {
    background: #0f172a;
    border-color: #475569;
    color: #f1f5f9;
  }

  body:not(.dark-theme) .sse-container .form-group input:focus {
    border-color: var(--sse-primary, #667eea);
    background: #0f172a;
  }

  body:not(.dark-theme) .sse-container .form-group input:-webkit-autofill,
  body:not(.dark-theme) .sse-container .form-group input:-webkit-autofill:hover,
  body:not(.dark-theme) .sse-container .form-group input:-webkit-autofill:active {
    -webkit-text-fill-color: #f1f5f9;
    caret-color: #f1f5f9;
    transition: background-color 99999s ease-out 0s;
    box-shadow: 0 0 0 1000px #0f172a inset !important;
    border: 1px solid #64748b !important;
    background-clip: padding-box !important;
  }

  body:not(.dark-theme) .sse-container .form-group input:-webkit-autofill:focus {
    box-shadow: 0 0 0 1000px #0f172a inset, 0 0 0 2px rgba(102, 126, 234, 0.35) !important;
    border: 1px solid var(--sse-primary, #667eea) !important;
  }

  body:not(.dark-theme) .sse-container .sse-fieldset {
    background: #0f172a;
    border-color: #334155;
  }

  body:not(.dark-theme) .sse-container .sse-fieldset legend {
    color: #94a3b8;
  }

  /* ----- 服务器选择区 ----- */
  body:not(.dark-theme) .sse-container .sse-server-selection {
    background: #0f172a;
    border-color: #334155;
  }

  body:not(.dark-theme) .sse-container .sse-server-selection h4 {
    color: #e2e8f0;
  }

  /* ----- 服务器卡片 ----- */
  body:not(.dark-theme) .sse-container .server-card {
    background: #0f172a;
    border-color: #334155;
  }

  body:not(.dark-theme) .sse-container .server-card:hover {
    border-color: rgba(102, 126, 234, 0.5);
  }

  body:not(.dark-theme) .sse-container .server-card.selected,
  body:not(.dark-theme) .sse-container .server-card[data-selected="1"] {
    background: rgba(102, 126, 234, 0.12);
    border-color: var(--sse-primary, #667eea);
    box-shadow: inset 3px 0 0 var(--sse-primary, #667eea);
  }

  body:not(.dark-theme) .sse-container .server-name {
    color: #f1f5f9;
  }

  body:not(.dark-theme) .sse-container .server-info span {
    color: #94a3b8;
  }

  body:not(.dark-theme) .sse-container .server-info strong {
    color: #e2e8f0;
  }

  /* ----- 操作按钮区 ----- */
  body:not(.dark-theme) .sse-container .sse-actions {
    background: #0f172a;
    border-color: #334155;
  }

  /* ----- 输出结果区 ----- */
  body:not(.dark-theme) .sse-container .sse-results {
    background: #0f172a;
    border-color: #334155;
  }

  body:not(.dark-theme) .sse-container .sse-progress {
    background: #1e293b;
    border-bottom-color: #334155;
  }

  body:not(.dark-theme) .sse-container .progress-text {
    color: #e2e8f0;
  }

  body:not(.dark-theme) .sse-container .progress-bar-container {
    background: #334155;
  }

  body:not(.dark-theme) .sse-container .progress-bar {
    background: var(--sse-primary, #667eea);
  }

  body:not(.dark-theme) .sse-container .sse-output-head {
    background: #1a1b1e;
    color: #94a3b8;
    border-bottom-color: #2d2e31;
  }

  body:not(.dark-theme) .sse-container .sse-output {
    background: #1a1b1e;
    color: #e2e8f0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  }

  body:not(.dark-theme) .sse-container .sse-output:empty::before {
    color: #64748b;
  }

  body:not(.dark-theme) .sse-container .sse-output::-webkit-scrollbar-track {
    background: #1e293b;
  }

  body:not(.dark-theme) .sse-container .sse-output::-webkit-scrollbar-thumb {
    background: #475569;
  }

  body:not(.dark-theme) .sse-container .sse-output::-webkit-scrollbar-thumb:hover {
    background: #64748b;
  }

  /* ----- 游戏信息卡片 ----- */
  body:not(.dark-theme) .sse-container .game-info-toggle {
    color: #e2e8f0;
  }

  body:not(.dark-theme) .sse-container .game-info-container {
    background: #0f172a;
    border: 1px solid #334155;
    box-shadow: none;
  }

  body:not(.dark-theme) .sse-container .game-info-title {
    color: #f1f5f9;
    border-bottom-color: #334155;
  }

  body:not(.dark-theme) .sse-container .game-info-paragraph,
  body:not(.dark-theme) .sse-container .game-info-paragraph p {
    color: #cbd5e1;
  }

  body:not(.dark-theme) .sse-container .game-info-list li {
    border-bottom-color: rgba(148, 163, 184, 0.35);
  }

  body:not(.dark-theme) .sse-container .game-info-list strong {
    color: #94a3b8;
  }

  body:not(.dark-theme) .sse-container .game-info-container a {
    color: var(--sse-primary, #7dd3fc);
    border-bottom-color: rgba(125, 211, 252, 0.4);
  }

  body:not(.dark-theme) .sse-container .game-info-container a:hover {
    color: #bae6fd;
    border-bottom-color: #7dd3fc;
  }

  body:not(.dark-theme) .sse-container .sensitive-data {
    background: rgba(239, 68, 68, 0.2);
    color: #fecaca;
    border: 1px solid rgba(248, 113, 113, 0.4);
  }

  body:not(.dark-theme) .sse-container .game-info-empty {
    color: #94a3b8;
    background: #0f172a;
    border: 1px solid #334155;
  }

  /* ----- 动态码区块 ----- */
  body:not(.dark-theme) .outer-iframe {
    background: #2d2e31;
    border-color: #475569;
    box-shadow: none;
  }

  body:not(.dark-theme) .outer-iframe:hover {
    border-color: var(--sse-primary, #667eea);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
  }

  body:not(.dark-theme) .outer-iframe strong {
    color: #f1f5f9;
  }

  body:not(.dark-theme) .outer-iframe iframe {
    background: #1e293b;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4);
  }

  body:not(.dark-theme) .copy-dynamic-code-btn {
    background-color: var(--sse-primary, #667eea) !important;
    color: #fff !important;
    border: none !important;
  }

  body:not(.dark-theme) .copy-dynamic-code-btn:hover {
    filter: brightness(1.1);
  }

  body:not(.dark-theme) .wp-block-ssh-script-executor-dynamic-code .outer-iframe {
    background: #2d2e31;
    border: 1px solid #475569;
  }
}