* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: #16161e;
  color: #e6e6ef;
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
}

header {
  position: sticky; top: 0; z-index: 10;
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px;
  background: #1e1e2a;
  border-bottom: 1px solid #2a2a3a;
}
header h1 { font-size: 17px; margin: 0; font-weight: 600; }
#status { font-size: 13px; color: #7f849c; }

main { padding: 12px; max-width: 900px; margin: 0 auto; }

.CodeMirror {
  height: 38vh;
  min-height: 220px;
  font-size: 14px;
  font-family: "SFMono-Regular", Menlo, Consolas, "Courier New", monospace;
  border-radius: 8px;
  overflow: hidden;
}

/* CodeMirror 未加载时的纯 textarea 兜底 */
#code {
  width: 100%; height: 30vh; min-height: 200px;
  background: #212121; color: #eee;
  border: 1px solid #2a2a3a; border-radius: 8px;
  padding: 10px; font-size: 14px;
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
}

.toolbar { display: flex; align-items: center; gap: 10px; margin: 12px 0; flex-wrap: wrap; }
.btn { border: none; border-radius: 8px; padding: 12px 22px; font-size: 16px; cursor: pointer; }
.btn.primary { background: #3fb950; color: #06110a; font-weight: 700; }
.btn.primary:disabled { opacity: .5; }
.btn:not(.primary) { background: #2a2a3a; color: #e6e6ef; }
.hint { font-size: 12px; color: #7f849c; }

.panel { margin-top: 14px; }
.panel h2 { font-size: 14px; color: #9aa0b5; margin: 0 0 8px; font-weight: 600; }
.console {
  background: #0d0d12; border: 1px solid #2a2a3a; border-radius: 8px;
  padding: 12px; margin: 0; white-space: pre-wrap; word-break: break-all;
  font-family: "SFMono-Regular", Menlo, Consolas, monospace; font-size: 13px;
  color: #c9d1d9; min-height: 60px; max-height: 40vh; overflow: auto;
}
#figures { display: flex; flex-direction: column; gap: 12px; }
#figures img { width: 100%; background: #fff; border-radius: 8px; }
