:root {
  --bg: #0d1117;
  --bg-card: #161b22;
  --bg-editor: #0d1117;
  --bg-preview: #0d1117;
  --text: #e6edf3;
  --text-secondary: #8b949e;
  --text-muted: #484f58;
  --primary: #58a6ff;
  --primary-dark: #388bfd;
  --accent: #3fb950;
  --border: #21262d;
  --border-strong: #30363d;
  --radius: 6px;
  --font: 'Inter',-apple-system,sans-serif;
  --mono: 'JetBrains Mono','SFMono-Regular',monospace;
  --transition: 0.15s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;overflow:hidden}

/* Toolbar */
.toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-card);border-bottom:1px solid var(--border);height:40px}
.toolbar-left,.toolbar-center,.toolbar-right{display:flex;align-items:center;gap:6px}
.logo{font-size:0.85rem;color:var(--text-secondary)}
.logo strong{color:var(--text)}
.save-dot{font-size:0.7rem;opacity:0.4;transition:opacity .3s}
.save-dot.saved{opacity:1}

.btn{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-family:var(--font);font-size:0.72rem;cursor:pointer;transition:all var(--transition);white-space:nowrap}
.btn:hover{border-color:var(--primary);color:var(--primary)}
.btn.primary{background:rgba(88,166,255,0.08);border-color:var(--primary);color:var(--primary)}
.select{padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-family:var(--font);font-size:0.72rem;cursor:pointer}
.input{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-editor);color:var(--text);font-family:var(--font);font-size:0.82rem;width:100%;margin-top:6px}
.input:focus,.select:focus{outline:none;border-color:var(--primary)}

/* Editor Layout */
.editor-layout{display:flex;height:calc(100vh - 40px)}
.pane{flex:1;overflow:auto}
.divider{width:1px;background:var(--border);cursor:col-resize;flex-shrink:0}
.divider:hover{background:var(--primary)}

.editor{width:100%;height:100%;border:none;resize:none;background:var(--bg-editor);color:var(--text);font-family:var(--mono);font-size:0.82rem;line-height:1.7;padding:16px 20px;tab-size:2}
.editor:focus{outline:none}

/* GitHub Markdown Body */
.markdown-body{padding:24px 32px;max-width:980px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--text);word-wrap:break-word}
.markdown-body h1{font-size:2em;border-bottom:1px solid var(--border-strong);padding-bottom:.3em;margin:24px 0 16px}
.markdown-body h2{font-size:1.5em;border-bottom:1px solid var(--border-strong);padding-bottom:.3em;margin:24px 0 16px}
.markdown-body h3{font-size:1.25em;margin:24px 0 16px}
.markdown-body h4{font-size:1em;margin:24px 0 16px}
.markdown-body h5{font-size:0.875em;margin:24px 0 16px}
.markdown-body h6{font-size:0.85em;color:var(--text-muted);margin:24px 0 16px}
.markdown-body p{margin:0 0 16px}
.markdown-body a{color:var(--primary);text-decoration:none}
.markdown-body a:hover{text-decoration:underline}
.markdown-body strong{font-weight:600}
.markdown-body code{background:rgba(110,118,129,0.4);padding:.2em .4em;border-radius:3px;font-family:var(--mono);font-size:85%}
.markdown-body pre{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;overflow-x:auto;margin:0 0 16px}
.markdown-body pre code{background:none;padding:0;font-size:85%;line-height:1.45}
.markdown-body blockquote{border-left:3px solid var(--border-strong);padding:0 16px;color:var(--text-secondary);margin:0 0 16px}
.markdown-body ul,
.markdown-body ol{padding-left:2em;margin:0 0 16px}
.markdown-body li{margin:4px 0}
.markdown-body li input[type=checkbox]{margin-right:6px}
.markdown-body img{max-width:100%;border-radius:var(--radius)}
.markdown-body table{width:100%;border-collapse:collapse;margin:0 0 16px}
.markdown-body table th,
.markdown-body table td{border:1px solid var(--border-strong);padding:6px 13px}
.markdown-body table th{background:var(--bg-card);font-weight:600}
.markdown-body table tr:nth-child(even){background:rgba(110,118,129,0.05)}
.markdown-body hr{border:none;border-top:1px solid var(--border-strong);margin:24px 0}

/* GFM Alerts */
.markdown-alert{border-left:3px solid;padding:8px 16px;margin:0 0 16px;border-radius:var(--radius)}
.markdown-alert.note{border-color:var(--primary);background:rgba(88,166,255,0.05)}
.markdown-alert.tip{border-color:var(--accent);background:rgba(63,185,80,0.05)}
.markdown-alert.important{border-color:#a371f7;background:rgba(163,113,247,0.05)}
.markdown-alert.warning{border-color:#d29922;background:rgba(210,153,34,0.05)}
.markdown-alert.caution{border-color:#f85149;background:rgba(248,81,73,0.05)}
.markdown-alert-title{font-weight:600;margin-bottom:4px;font-size:0.85rem}

/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;z-index:100}
.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px;width:90%;max-width:400px}
.modal h3{font-size:0.9rem;margin-bottom:12px;color:var(--primary)}
.modal-preview{margin:10px 0;font-size:0.78rem;color:var(--text-secondary);word-break:break-all}
.modal-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:12px}

@media(max-width:640px){
  .editor-layout{flex-direction:column}
  .divider{width:auto;height:1px;cursor:row-resize}
  .toolbar-center{display:none}
}
