/* 题目「我的笔记」：扁平 Markdown 编辑器（problem_detail / problem_ide 共用） */

.pd-note-shell {
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 1fr;
  height: 100%;
  min-height: 200px;
  background: #fff;
  border: 1px solid #ebebeb;
  border-radius: 8px;
  overflow: hidden;
}

.theme--dark .pd-note-shell {
  background: #161b22;
  border-color: #30363d;
}

/* ---------- 工具栏（顶栏固定） ---------- */
.pd-note-toolbar {
  grid-row: 1;
  display: flex;
  align-items: center;
  gap: 2px;
  flex-wrap: nowrap;
  padding: 6px 10px;
  background: #f7f8fa;
  border-bottom: 1px solid #ebebeb;
  z-index: 2;
}

.theme--dark .pd-note-toolbar {
  background: #21262d;
  border-bottom-color: #30363d;
}

.pd-note-toolbar__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 6px;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: #8c8c8c;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}

.pd-note-toolbar__btn:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.06);
  color: #434343;
}

.pd-note-toolbar__btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.pd-note-toolbar__btn--active {
  background: rgba(24, 144, 255, 0.12);
  color: #1677ff;
}

.theme--dark .pd-note-toolbar__btn {
  color: #8b949e;
}

.theme--dark .pd-note-toolbar__btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.08);
  color: #c9d1d9;
}

.theme--dark .pd-note-toolbar__btn--active {
  background: rgba(88, 166, 255, 0.15);
  color: #58a6ff;
}

.pd-note-toolbar__btn--icon svg {
  display: block;
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.pd-note-toolbar__sep {
  width: 1px;
  height: 18px;
  margin: 0 4px;
  background: #e0e0e0;
  flex-shrink: 0;
}

.theme--dark .pd-note-toolbar__sep {
  background: #30363d;
}

.pd-note-toolbar__spacer {
  flex: 1;
  min-width: 8px;
}

/* ---------- 主内容区（grid 中间行 1fr，多面板叠放） ---------- */
.pd-note-main-slot {
  grid-row: 2;
  min-height: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr;
}

.pd-note-preview-pane,
.pd-note-editor-pane {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.pd-note-preview {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 16px 18px;
  -webkit-overflow-scrolling: touch;
}

.pd-note-preview-pane#pd-note-pane-saved,
.pd-note-preview-pane#pd-note-pane-draft {
  overflow: hidden;
}

/* 预览内容在内部滚动容器滚动（外层 pane 仅裁剪；basis 0 才能压住内容高度） */
#pd-note-view-pane,
#pd-note-draft-preview-inner,
.pd-note-draft-preview-inner {
  flex: 1 1 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.pd-note-preview .markdown-body {
  font-size: 14px;
  line-height: 1.75;
}

.pd-note-view-empty,
.pd-note-live-preview-empty {
  color: #bfbfbf;
  font-size: 14px;
  text-align: center;
  padding: 32px 16px;
}

.theme--dark .pd-note-view-empty,
.theme--dark .pd-note-live-preview-empty {
  color: #484f58;
}

.pd-note-editor-pane {
  display: flex;
  flex-direction: column;
}

.pd-note-editor {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: none;
  border-radius: 0;
  padding: 16px 18px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.75;
  resize: none;
  outline: none;
  overflow-x: hidden;
  overflow-y: auto;
  background: #fff;
  color: #262626;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}

.pd-note-editor::placeholder {
  color: #bfbfbf;
}

.theme--dark .pd-note-editor {
  background: #0d1117;
  color: #c9d1d9;
}

.theme--dark .pd-note-editor::placeholder {
  color: #484f58;
}

#pd-note-draft-preview-inner {
  min-height: 48px;
}

#pd-note-draft-preview-inner .markdown-body,
#pd-note-view-pane .markdown-body {
  font-size: 14px;
  line-height: 1.75;
}

/* ---------- 底栏（保存行固定，grid 第三行） ---------- */
.pd-note-footer {
  grid-row: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 14px;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
  z-index: 2;
}

.theme--dark .pd-note-footer {
  border-top-color: #30363d;
  background: #161b22;
}

.pd-note-char-count {
  font-size: 12px;
  color: #bfbfbf;
}

.theme--dark .pd-note-char-count {
  color: #484f58;
}

.pd-note-footer__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pd-note-primary-btn {
  padding: 6px 18px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.12s ease, opacity 0.12s ease;
  border: none;
}

.pd-note-primary-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.pd-note-btn--save {
  background: #1677ff;
  color: #fff;
}

.pd-note-btn--save:hover:not(:disabled) {
  background: #4096ff;
}

.pd-note-btn--ghost {
  background: transparent;
  color: #595959;
  border: 1px solid #d9d9d9;
}

.pd-note-btn--ghost:hover:not(:disabled) {
  color: #1677ff;
  border-color: #1677ff;
}

.theme--dark .pd-note-btn--ghost {
  color: #8b949e;
  border-color: #30363d;
}

.theme--dark .pd-note-btn--ghost:hover:not(:disabled) {
  color: #58a6ff;
  border-color: #58a6ff;
}

/* ---------- problem_detail 页：笔记 Tab 激活时撑满题面主卡片 ---------- */
.pd-main-card.pd-note-tab-active {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 140px);
}

.pd-main-card.pd-note-tab-active .problem-content-container,
.pd-main-card.pd-note-tab-active .problem-content,
.pd-main-card.pd-note-tab-active .show-hide-box-parent.markdown-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.pd-main-card.pd-note-tab-active #content-myNote.problem_content {
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column;
  min-height: 0;
  width: 100%;
  margin: 0;
  padding: 0;
}

.pd-main-card.pd-note-tab-active #pd-problem-note-root.pd-note-root--detail {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: none;
  margin: 0;
  min-height: 0;
}

.pd-main-card.pd-note-tab-active .pd-note-shell {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  border-radius: 0;
  border-left: none;
  border-right: none;
  box-shadow: none;
}

/* 非笔记 Tab 时详情页仍保持适中卡片宽度 */
#pd-problem-note-root.pd-note-root--detail:not(.pd-note-root--fill) {
  margin: 0 auto 16px;
  max-width: 900px;
}

#pd-problem-note-root.pd-note-root--detail.pd-note-root--fill {
  margin: 0;
  max-width: none;
  width: 100%;
}

/* ---------- problem_ide：铺满左侧题面区，与题面背景融合 ---------- */
.pd-note-root--ide {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  width: 100%;
  min-height: 0;
}

.pd-note-root--ide #pd-note-edit-btn {
  display: none !important;
}

.pd-note-root--ide .pd-note-shell {
  border: none;
  border-radius: 0;
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
  max-height: none;
  margin: 0;
  max-width: none;
  box-shadow: none;
  background: transparent;
}

.pd-note-root--ide .pd-note-toolbar {
  background: transparent;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  padding: 6px 20px;
}

.pd-note-root--ide .pd-note-editor {
  background: transparent;
  color: inherit;
}

.pd-note-root--ide .pd-note-preview {
  background: transparent;
  padding: 12px 20px 16px;
}

.pd-note-root--ide .pd-note-footer {
  background: transparent;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  padding: 8px 20px 12px;
}

.theme--dark .pd-note-root--ide .pd-note-shell {
  background: transparent;
  border-color: transparent;
}

.theme--dark .pd-note-root--ide .pd-note-toolbar {
  background: transparent;
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

.theme--dark .pd-note-root--ide .pd-note-editor {
  background: transparent;
  color: #ddd;
}

.theme--dark .pd-note-root--ide .pd-note-footer {
  background: transparent;
  border-top-color: rgba(255, 255, 255, 0.08);
}

.problem-ide-left #content-myNote.problem_content {
  padding: 0;
  margin: 0;
  background: transparent;
}

.problem-ide-left__scroll--note {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  padding: 0;
  background: transparent;
}

.problem-ide-left__scroll--note .problem-content-container,
.problem-ide-left__scroll--note .problem-content {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}

.problem-ide-left__scroll--note #content-myNote {
  flex: 1 1 0;
  display: flex !important;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  width: 100%;
}

.problem-ide-left__scroll--note #pd-problem-note-root {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  width: 100%;
}

.problem-ide-left__scroll--note .pd-note-shell {
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  width: 100%;
  display: grid;
}

.problem-ide-left__scroll--note .pd-note-main-slot {
  min-height: 0;
  overflow: hidden;
}

.problem-ide-left__scroll--note .pd-note-footer {
  flex-shrink: 0;
}

.problem-ide-left__scroll--note .pd-note-editor,
.problem-ide-left__scroll--note .pd-note-preview {
  padding: 12px 20px 16px;
}

/* IDE：笔记 Tab 时题面主栏与滚动区纵向撑满，shell 才能顶/底固定 */
.problem-ide-left__main:has(.problem-ide-left__scroll--note) {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* 笔记 Tab 下弱化工具栏分隔线，仅保留图标 hover */
.pd-note-root--ide .pd-note-toolbar__sep {
  background: rgba(0, 0, 0, 0.08);
}

.theme--dark .pd-note-root--ide .pd-note-toolbar__sep {
  background: rgba(255, 255, 255, 0.1);
}

/* ---------- 笔记预览：代码块 VS Light / VS Dark（Prism token） ---------- */
#pd-problem-note-root .markdown-body pre {
  margin: 12px 0;
  padding: 0;
  border-radius: 6px;
  overflow: auto;
  border: 1px solid #e8e8e8;
  background: #ffffff;
  box-shadow: none;
}

#pd-problem-note-root .markdown-body pre code {
  display: block;
  padding: 12px 14px;
  overflow-x: auto;
  font-family: 'Cascadia Code', 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: 13px;
  line-height: 1.55;
  tab-size: 4;
  background: #ffffff;
  color: #000000;
  border-radius: 0;
}

#pd-problem-note-root .markdown-body :not(pre) > code {
  padding: 0.15em 0.35em;
  border-radius: 4px;
  font-size: 0.9em;
  font-family: 'Cascadia Code', 'Consolas', 'Monaco', 'Courier New', monospace;
  background: rgba(0, 0, 0, 0.06);
  color: #a31515;
}

#pd-problem-note-root .markdown-body pre[class*="language-"],
#pd-problem-note-root .markdown-body pre[class*="language-"] code {
  background: #ffffff !important;
  color: #000000 !important;
}

#pd-problem-note-root .markdown-body pre code .token {
  color: #000000;
}

#pd-problem-note-root .markdown-body pre code .token.comment,
#pd-problem-note-root .markdown-body pre code .token.prolog,
#pd-problem-note-root .markdown-body pre code .token.doctype,
#pd-problem-note-root .markdown-body pre code .token.cdata {
  color: #008000;
  font-style: italic;
}

#pd-problem-note-root .markdown-body pre code .token.punctuation {
  color: #000000;
}

#pd-problem-note-root .markdown-body pre code .token.property,
#pd-problem-note-root .markdown-body pre code .token.tag,
#pd-problem-note-root .markdown-body pre code .token.constant,
#pd-problem-note-root .markdown-body pre code .token.symbol,
#pd-problem-note-root .markdown-body pre code .token.deleted {
  color: #001080;
}

#pd-problem-note-root .markdown-body pre code .token.boolean,
#pd-problem-note-root .markdown-body pre code .token.number {
  color: #098658;
}

#pd-problem-note-root .markdown-body pre code .token.selector,
#pd-problem-note-root .markdown-body pre code .token.attr-name,
#pd-problem-note-root .markdown-body pre code .token.string,
#pd-problem-note-root .markdown-body pre code .token.char,
#pd-problem-note-root .markdown-body pre code .token.builtin,
#pd-problem-note-root .markdown-body pre code .token.inserted {
  color: #a31515;
}

#pd-problem-note-root .markdown-body pre code .token.operator,
#pd-problem-note-root .markdown-body pre code .token.entity,
#pd-problem-note-root .markdown-body pre code .token.url {
  color: #000000;
}

#pd-problem-note-root .markdown-body pre code .token.atrule,
#pd-problem-note-root .markdown-body pre code .token.attr-value,
#pd-problem-note-root .markdown-body pre code .token.keyword {
  color: #0000ff;
}

#pd-problem-note-root .markdown-body pre code .token.function,
#pd-problem-note-root .markdown-body pre code .token.class-name {
  color: #795e26;
}

#pd-problem-note-root .markdown-body pre code .token.regex,
#pd-problem-note-root .markdown-body pre code .token.important,
#pd-problem-note-root .markdown-body pre code .token.variable {
  color: #001080;
}

#pd-problem-note-root .markdown-body pre code .token.important,
#pd-problem-note-root .markdown-body pre code .token.bold {
  font-weight: 700;
}

#pd-problem-note-root .markdown-body pre code .token.italic {
  font-style: italic;
}

/* VS Dark */
.theme--dark #pd-problem-note-root .markdown-body pre {
  border-color: #3c3c3c;
  background: #1e1e1e;
}

.theme--dark #pd-problem-note-root .markdown-body pre code {
  background: #1e1e1e;
  color: #d4d4d4;
}

.theme--dark #pd-problem-note-root .markdown-body :not(pre) > code {
  background: rgba(255, 255, 255, 0.1);
  color: #ce9178;
}

.theme--dark #pd-problem-note-root .markdown-body pre[class*="language-"],
.theme--dark #pd-problem-note-root .markdown-body pre[class*="language-"] code {
  background: #1e1e1e !important;
  color: #d4d4d4 !important;
}

.theme--dark #pd-problem-note-root .markdown-body pre code .token {
  color: #d4d4d4;
}

.theme--dark #pd-problem-note-root .markdown-body pre code .token.comment,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.prolog,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.doctype,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.cdata {
  color: #6a9955;
  font-style: italic;
}

.theme--dark #pd-problem-note-root .markdown-body pre code .token.punctuation {
  color: #d4d4d4;
}

.theme--dark #pd-problem-note-root .markdown-body pre code .token.property,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.tag,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.constant,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.symbol,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.deleted {
  color: #9cdcfe;
}

.theme--dark #pd-problem-note-root .markdown-body pre code .token.boolean,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.number {
  color: #b5cea8;
}

.theme--dark #pd-problem-note-root .markdown-body pre code .token.selector,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.attr-name,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.string,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.char,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.builtin,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.inserted {
  color: #ce9178;
}

.theme--dark #pd-problem-note-root .markdown-body pre code .token.operator,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.entity,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.url {
  color: #d4d4d4;
}

.theme--dark #pd-problem-note-root .markdown-body pre code .token.atrule,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.attr-value,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.keyword {
  color: #569cd6;
}

.theme--dark #pd-problem-note-root .markdown-body pre code .token.function,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.class-name {
  color: #dcdcaa;
}

.theme--dark #pd-problem-note-root .markdown-body pre code .token.regex,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.important,
.theme--dark #pd-problem-note-root .markdown-body pre code .token.variable {
  color: #9cdcfe;
}
