:root {
  --lm-sidebar: 18rem;
  --lm-text: #1f2328;
  --lm-muted: #656d76;
  --lm-accent: #0969da;
  --lm-border: #d0d7de;
  --lm-bg: #ffffff;
  --lm-nav-bg: #f6f8fa;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--lm-text);
  background: var(--lm-bg);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  line-height: 1.6;
}
.lm-layout { display: flex; min-height: 100vh; }
.lm-nav {
  width: var(--lm-sidebar);
  flex: 0 0 var(--lm-sidebar);
  background: var(--lm-nav-bg);
  border-right: 1px solid var(--lm-border);
  padding: 1.5rem 1rem;
  position: sticky;
  top: 0;
  align-self: flex-start;
  height: 100vh;
  overflow-y: auto;
}
.lm-nav-title { font-weight: 600; font-size: 1.1rem; margin-bottom: 1rem; }
.lm-nav ul { list-style: none; margin: 0; padding: 0; }
.lm-nav li { margin: 0.15rem 0; }
.lm-nav a {
  color: var(--lm-text);
  text-decoration: none;
  display: block;
  padding: 0.2rem 0.4rem;
  border-radius: 6px;
  font-size: 0.95rem;
}
.lm-nav a:hover { background: rgba(0, 0, 0, 0.05); }
.lm-depth-1 { padding-left: 1rem; }
.lm-depth-2 { padding-left: 2rem; }
.lm-depth-3 { padding-left: 3rem; }
.lm-depth-4 { padding-left: 4rem; }
.lm-active > a { background: var(--lm-accent); color: #ffffff; font-weight: 600; }
.lm-content {
  flex: 1 1 auto;
  min-width: 0;
  padding: 2.5rem 3rem;
  max-width: 54rem;
}
.markdown-body h1, .markdown-body h2 { border-bottom: 1px solid var(--lm-border); padding-bottom: 0.3rem; }
.markdown-body a { color: var(--lm-accent); }
.markdown-body pre {
  background: var(--lm-nav-bg);
  padding: 1rem;
  border-radius: 6px;
  overflow-x: auto;
}
.markdown-body code {
  background: rgba(175, 184, 193, 0.2);
  padding: 0.15em 0.35em;
  border-radius: 6px;
  font-size: 0.9em;
}
.markdown-body pre code { background: none; padding: 0; }
.markdown-body table { border-collapse: collapse; }
.markdown-body th, .markdown-body td { border: 1px solid var(--lm-border); padding: 0.4rem 0.7rem; }
.markdown-body img { max-width: 100%; }
.markdown-body blockquote {
  margin: 0;
  padding: 0 1rem;
  color: var(--lm-muted);
  border-left: 0.25rem solid var(--lm-border);
}
@media (max-width: 48rem) {
  .lm-layout { flex-direction: column; }
  .lm-nav { width: 100%; height: auto; position: static; border-right: none; border-bottom: 1px solid var(--lm-border); }
  .lm-content { padding: 1.5rem; }
}
