:root { --max: 1000px; }
* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; margin: 0; padding: 0; line-height: 1.5; }
header { padding: 1.2rem; background: #f5f5f5; border-bottom: 1px solid #e0e0e0; }
header h1 { margin: 0 0 .25rem; }
.controls { max-width: var(--max); margin: 1rem auto; display: flex; gap: .75rem; padding: 0 1rem; flex-wrap: wrap; }
.controls input[type=search] { flex: 2 1 300px; padding: .5rem .75rem; }
.controls select { padding: .5rem .75rem; }
#list { max-width: var(--max); margin: 0 auto; padding: 0 1rem 2rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; }
.mr { border: 1px solid #e6e6e6; border-radius: 12px; padding: 1rem; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.mr h2 { margin-top: 0; font-size: 1.2rem; }
.mr .meta { color: #555; font-size: .9rem; margin-bottom: .5rem; }
.mr .rr { font-size: .95rem; display: grid; gap: .25rem; }
.mr details { margin-top: .5rem; }
.ref-list { margin: .25rem 0 0; padding-left: 1.25rem; }
.ref-list li { margin: .25rem 0; }
summary { cursor: pointer; }
.ref-list { font-style: italic; }