/* Narrative Workbench v0.2 additions */
.nav-section { margin: 9px 10px 3px; color: #737b8c; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex: 0 0 auto; background: #9ca3af; }
.status-dot.active, .status-dot.locked { background: #16a34a; }
.status-dot.completed { background: #2563eb; }
.status-dot.provisional { background: #d97706; }
.status-dot.placeholder { background: #a855f7; }
.status-dot.blocked, .status-dot.error { background: #dc2626; }
.pill-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.pill { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--border); border-radius:999px; padding:4px 8px; font-size:11px; background:var(--panel-2); }
.pill.core { border-color:#f59e0b; }
.pill.optional { opacity:.72; }
.pill.good { border-color:#22c55e; }
.pill.warn { border-color:#f59e0b; }
.pill.bad { border-color:#ef4444; }
.matrix { width:100%; border-collapse:collapse; font-size:12px; }
.matrix th,.matrix td { border-bottom:1px solid var(--border); padding:8px 9px; text-align:left; vertical-align:top; }
.matrix th { color:var(--muted); font-weight:650; font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.issue { border:1px solid var(--border); border-left-width:4px; border-radius:9px; background:var(--panel); padding:11px 13px; margin-bottom:8px; }
.issue.error { border-left-color:#dc2626; }
.issue.warning { border-left-color:#d97706; }
.issue.info { border-left-color:#2563eb; }
.issue strong { display:block; font-size:13px; }
.issue p { margin:4px 0 0; color:var(--muted); }
.code-id { font:11px ui-monospace, SFMono-Regular, Menlo, monospace; color:var(--muted); }
.compare-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.diff-added { border-left:3px solid #16a34a; padding-left:8px; }
.diff-removed { border-left:3px solid #dc2626; padding-left:8px; }
.diff-changed { border-left:3px solid #d97706; padding-left:8px; }
.goal-card { border:1px solid var(--border); border-radius:10px; padding:13px; background:var(--panel); margin-bottom:9px; }
.goal-card h3 { margin:0 0 5px; }
.goal-card p { margin:0; color:var(--muted); }
.progress-track { height:6px; border-radius:999px; background:var(--panel-2); overflow:hidden; margin-top:9px; }
.progress-track span { display:block; height:100%; background:var(--accent); }
.qa-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.qa-summary .card { padding:12px; }
.qa-summary .metric { font-size:24px; }
.lens-note { padding:10px 12px; border:1px dashed var(--border); border-radius:9px; color:var(--muted); margin-bottom:14px; }
.graph-line-label { font-size:9px!important; fill:var(--muted)!important; }
.graph line { transition:opacity .15s ease; }
.graph .edge-active { opacity:.92; }
.graph .edge-inactive { opacity:.1; }
.legend .relation-chip { font-weight:650; }
.timeline-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.scene-functions { display:flex; flex-wrap:wrap; gap:6px; }
@media (max-width: 880px) { .compare-grid,.qa-summary { grid-template-columns:1fr; } }
