/* Unified Memory-Browser — scoped styles, no shell assumptions. */
.memory-browser { margin: 0 0 1.25rem; padding: 1.25rem; border: 1px solid var(--border, #2d3438); border-radius: 12px; background: var(--bg-card, #171b1e); color: var(--ink, #e5e7eb); }
.memory-browser h2, .memory-browser h3, .memory-browser p { margin-top: 0; }
.mb-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; border-bottom:1px solid var(--border, #2d3438); padding-bottom:1rem; }
.mb-kicker { color:var(--accent, #d97757); font: .68rem/1.2 var(--font-mono, monospace); letter-spacing:.12em; text-transform:uppercase; }
.mb-head h2 { margin:.25rem 0 .35rem; font-family:var(--font-serif, Georgia, serif); font-size:1.7rem; }
.mb-head p { color:var(--ink-dim, #9ca3af); max-width:65ch; font-size:.82rem; }
.mb-scope { display:flex; flex-wrap:wrap; gap:.5rem; align-items:end; font:.72rem var(--font-mono, monospace); }
.mb-scope label { display:flex; flex-direction:column; gap:.25rem; color:var(--ink-dim, #9ca3af); }
.mb-toolbar { display:flex; gap:.5rem; padding:1rem 0; }
.mb-toolbar input, .mb-toolbar select, .mb-scope select { min-height:2.15rem; padding:.4rem .55rem; border:1px solid var(--border-heavy, #3b444b); border-radius:6px; color:var(--ink, #e5e7eb); background:var(--bg-input, #101416); }
.mb-toolbar input { flex:1; min-width:12rem; }
.mb-btn { min-height:2.15rem; padding:.4rem .75rem; border:1px solid var(--border-heavy, #3b444b); border-radius:6px; color:var(--ink, #e5e7eb); background:transparent; cursor:pointer; }
.mb-btn:hover { border-color:var(--accent, #d97757); }
.mb-primary { color:#fff; background:var(--accent, #d97757); border-color:var(--accent, #d97757); }
.mb-gates { display:flex; flex-wrap:wrap; gap:.45rem .8rem; padding:.6rem .75rem; margin-bottom:1rem; border-left:2px solid var(--accent, #d97757); background:var(--bg-hover, #20262a); color:var(--ink-dim, #9ca3af); font:.68rem var(--font-mono, monospace); }
.mb-grid { display:grid; grid-template-columns:minmax(12rem, 17rem) minmax(0, 1fr); gap:1rem; }
.mb-layers { border-right:1px solid var(--border, #2d3438); padding-right:.75rem; }
.mb-layer-title { color:var(--ink-dimmer, #6b7280); font:.68rem var(--font-mono, monospace); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.45rem; }
.mb-layer { display:flex; flex-direction:column; align-items:flex-start; width:100%; padding:.55rem .6rem; border:0; border-radius:6px; background:transparent; color:var(--ink, #e5e7eb); text-align:left; cursor:pointer; }
.mb-layer:hover { background:var(--bg-hover, #20262a); }
.mb-layer small { color:var(--ink-dimmer, #6b7280); font:.63rem var(--font-mono, monospace); margin-top:.18rem; }
.mb-results { min-height:8rem; }
.mb-result-meta { margin-bottom:.6rem; color:var(--ink-dimmer, #6b7280); font:.68rem var(--font-mono, monospace); }
.mb-card { padding:.8rem .9rem; margin-bottom:.6rem; border:1px solid var(--border, #2d3438); border-radius:8px; cursor:pointer; transition:border-color .15s ease, transform .15s ease; }
.mb-card:hover { border-color:var(--accent, #d97757); transform:translateY(-1px); }
.mb-card-top, .mb-card-foot, .mb-detail-meta { display:flex; flex-wrap:wrap; gap:.45rem .8rem; align-items:center; }
.mb-rank { color:var(--accent, #d97757); font: .7rem var(--font-mono, monospace); }
.mb-layer-chip { padding:.12rem .35rem; border-radius:4px; background:var(--bg-hover, #20262a); font:.65rem var(--font-mono, monospace); }
.mb-date, .mb-card-foot, .mb-detail-meta, .mb-card-foot span { color:var(--ink-dimmer, #6b7280); font:.65rem var(--font-mono, monospace); }
.mb-card h3 { margin:.5rem 0 .35rem; font-size:.98rem; }
.mb-card p { margin:0 0 .6rem; color:var(--ink-dim, #9ca3af); font-size:.78rem; line-height:1.45; }
.mb-conflict { color:var(--warning, #eab308); }
.mb-detail { margin-top:1rem; padding:1rem; border:1px solid var(--border-heavy, #3b444b); border-radius:8px; background:var(--bg-card, #171b1e); }
.mb-detail-head { display:flex; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--border, #2d3438); padding-bottom:.7rem; }
.mb-detail-head h3 { margin:.3rem 0; }
.mb-detail-head small { color:var(--ink-dimmer, #6b7280); font:.65rem var(--font-mono, monospace); }
.mb-close { border:0; background:transparent; color:var(--ink-dim, #9ca3af); font-size:1.4rem; cursor:pointer; }
.mb-detail-meta { margin:.8rem 0; }
.mb-detail pre { max-height:28rem; overflow:auto; margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font:.74rem/1.55 var(--font-mono, monospace); color:var(--ink-dim, #c5cad0); }
.mb-detail-note { margin-top:.8rem; padding:.55rem .7rem; border-left:2px solid var(--accent, #d97757); color:var(--ink-dimmer, #6b7280); font-size:.72rem; }
.mb-empty, .mb-error { padding:1.25rem; color:var(--ink-dimmer, #6b7280); font:.78rem var(--font-mono, monospace); }
.mb-error { color:var(--danger, #ef4444); }
@media (max-width: 720px) { .mb-head { flex-direction:column; } .mb-grid { grid-template-columns:1fr; } .mb-layers { border-right:0; border-bottom:1px solid var(--border, #2d3438); padding:0 0 .6rem; } .mb-toolbar { flex-wrap:wrap; } .mb-toolbar input { flex-basis:100%; } }
