* { box-sizing: border-box; }
body { font-family: sans-serif; line-height: 1.6; margin: 0; display: flex; min-height: 100vh; }
.sidebar {
    width: 220px;
    flex-shrink: 0;
    background: #f5f5f5;
    border-right: 1px solid #ddd;
    padding: 20px 16px;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
}
.sidebar a { display: block; color: #333; text-decoration: none; padding: 2px 0; font-size: 0.9em; }
.sidebar a:hover { color: #1976d2; }
.sidebar h4 { margin: 16px 0 4px; font-size: 0.75em; text-transform: uppercase; letter-spacing: 0.05em; color: #888; }
.sidebar details.nav-section { margin: 16px 0 4px; }
.sidebar details.nav-section summary { font-size: 0.75em; text-transform: uppercase; letter-spacing: 0.05em; color: #888; font-weight: bold; cursor: pointer; user-select: none; list-style: none; }
.sidebar details.nav-section summary::-webkit-details-marker { display: none; }
.sidebar details.nav-section summary::after { content: ' \25B8'; }
.sidebar details[open].nav-section summary::after { content: ' \25BE'; }
.sidebar .home-link { font-weight: bold; margin-bottom: 12px; font-size: 1em; }
main { flex: 1; padding: 24px 32px; max-width: 860px; }
.entity-header { font-size: 1.5em; font-weight: bold; border-bottom: 1px solid #ccc; margin-top: 20px; }
.brief { font-style: italic; color: #555; }
.note, .warning { padding: 10px; border-left: 5px solid; margin: 10px 0; }
.note { border-color: #2196F3; background: #e3f2fd; }
.warning { border-color: #f44336; background: #ffebee; }
code {
    font-family: 'Consolas', 'Menlo', 'Monaco', monospace;
    font-size: 0.95em;
    background: #f0f0f0;
    padding: 2px 5px;
    border-radius: 3px;
    color: #000000;
}
pre code {
    font-size: 0.875em;
    background: none;
    padding: 0;
    border-radius: 0;
    color: inherit;
}
pre {
    background: #f8f8f8;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 12px 16px;
    overflow-x: auto;
}
@media (max-width: 640px) {
    body { flex-direction: column; }
    .sidebar { width: 100%; height: auto; position: static; border-right: none; border-bottom: 1px solid #ddd; }
    main { padding: 16px; }
}
