.cm-editor { height: 100%; }
.cm-scroller { overflow: auto; height: 100%; }
.snippet mark { background: #fef08a; color: #1f2937; border-radius: 2px; padding: 0 1px; }
#preview-pane h1 { font-size: 1.75rem; font-weight: 700; margin: 1rem 0 0.5rem; }
#preview-pane h2 { font-size: 1.4rem; font-weight: 600; margin: 0.9rem 0 0.4rem; }
#preview-pane h3 { font-size: 1.15rem; font-weight: 600; margin: 0.8rem 0 0.3rem; }
#preview-pane p { margin: 0.5rem 0; line-height: 1.65; }
#preview-pane ul, #preview-pane ol { margin: 0.5rem 0 0.5rem 1.5rem; }
#preview-pane li { margin: 0.2rem 0; }
#preview-pane a { color: #3b82f6; text-decoration: underline; }
#preview-pane code:not(.hljs) { background: rgba(0, 0, 0, 0.08); border-radius: 3px; padding: 1px 4px; font-size: 0.9em; }
.dark #preview-pane code:not(.hljs) { background: rgba(255, 255, 255, 0.08); }
#preview-pane pre { border-radius: 6px; overflow-x: auto; margin: 0.5rem 0; }
#preview-pane pre code.hljs { border-radius: 16px; font-size: 0.8em; }
#preview-pane blockquote { border-left: 3px solid #9ca3af; padding-left: 0.75rem; color: #6b7280; margin: 0.5rem 0; }
#preview-pane hr { border: none; border-top: 1px solid #e5e7eb; margin: 1rem 0; }
.dark #preview-pane hr { border-top-color: #374151; }
#preview-pane table { width: 100%; border-collapse: collapse; margin: 0.5rem 0; font-size: 0.9em; }
#preview-pane th, #preview-pane td { border: 1px solid #e5e7eb; padding: 0.4rem 0.6rem; }
.dark #preview-pane th, .dark #preview-pane td { border-color: #374151; }
#preview-pane th { background: #f3f4f6; font-weight: 600; }
.dark #preview-pane th { background: #1f2937; }
pre { position: relative; }
.copy-btn { position: absolute; top: 0.375rem; right: 0.375rem; z-index: 10; width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; background: transparent; border: none; border-radius: 1rem; cursor: pointer; opacity: 0; color: #9ca3af; transition: opacity 0.15s, background-color 0.15s; }
pre:hover .copy-btn { opacity: 1; }
.copy-btn:hover { background-color: #e5e7eb; }
.dark .copy-btn:hover { background-color: #374151; }
.mermaid { max-width: 100%; overflow-x: auto; margin: 1rem 0; }
#preview-pane ul > li { list-style-type: disc; }
#preview-pane ul ul > li { list-style-type: circle; }
#preview-pane ul ul ul > li { list-style-type: square; }
#preview-pane ol > li { list-style-type: decimal; }
#preview-pane input[type="checkbox"] { accent-color: #3b82f6; width: 1em; height: 1em; margin: 0 0.25em 0 0; }
#file-tree details > summary { list-style: none; }
#file-tree details > summary::-webkit-details-marker { display: none; }
.tree-chevron { display: flex; align-items: center; transition: transform 0.15s ease; }
details[open] > summary .tree-chevron { transform: rotate(90deg); }
.tree-children { margin-left: 0.875rem; padding-left: 0.5rem; border-left: 1px solid #e5e7eb; }
.dark .tree-children { border-left-color: #374151; }
