.research-board { padding: clamp(2rem,5vw,5rem) clamp(1.2rem,4vw,4.5rem); background:#131c2f; border-bottom:1px solid var(--line); scroll-margin-top:1rem; }
.rb-heading h2 { margin:.5rem 0 1rem; font:500 clamp(2rem,4vw,3.5rem)/1.15 var(--serif); }
.rb-heading p { max-width:65rem; }
.rb-status { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; padding:1rem 0; border-block:1px solid var(--line); margin:1.3rem 0; font-size:.875rem; }
.rb-controls { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:1rem; margin:1.25rem 0; }
.research-board label { display:block; margin-bottom:.4rem; font-size:.875rem; }
.research-board input, .research-board select { width:100%; min-width:0; background:#162037; border:1px solid #616d87; border-radius:.25rem; padding:.7rem; color:var(--paper); font:inherit; }
.research-board button { cursor:pointer; font:inherit; }
.research-board :is(button,a,input,select,summary):focus-visible { outline:2px solid #a8d0ed; outline-offset:3px; }
.rb-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:1.25rem; align-items:start; }
.rb-memos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.rb-memo { padding:1.1rem; border:1px solid #576178; border-top:3px solid #8aa7bb; border-radius:.2rem; color:var(--paper); background:#151e33; text-align:left; display:flex; flex-direction:column; align-items:start; gap:.7rem; min-height:12rem; }
.rb-memo:hover, .rb-memo[aria-current="true"] { border-color:#bbdbf2; background:#28323a; }
.rb-memo.rb-needs-review { border-top-color:#d8b46b; }
.rb-memo strong { font-size:1rem; line-height:1.45; overflow-wrap:anywhere; }
.rb-memo small { font-size:.875rem; color:#c6d5df; }
.rb-memo span { font-size:.875rem; color:#dfe4f0; }
.rb-detail { min-width:0; position:sticky; top:1rem; max-height:43rem; overflow:auto; scrollbar-gutter:stable; padding:clamp(1rem,2vw,1.8rem); border:1px solid #697591; background:#1c2429; }
.rb-detail h3 { font:500 clamp(1.5rem,2.5vw,2.2rem)/1.2 var(--serif); overflow-wrap:anywhere; }
.rb-detail h4 { font-size:1rem; margin:1.5rem 0 .5rem; }
.rb-detail a, .rb-rules a { color:#c0ddf2; text-underline-offset:.2em; overflow-wrap:anywhere; }
.rb-detail ul { padding-left:1.2rem; }
.rb-detail li { margin:.65rem 0; }
.rb-detail .rb-tools { display:flex; justify-content:flex-end; gap:.5rem; }
.rb-detail button, .rb-pagination button { background:#26323a; border:1px solid #77839d; color:var(--paper); border-radius:.2rem; padding:.55rem .8rem; }
.rb-detail dl { display:grid; grid-template-columns:7rem 1fr; gap:.65rem; }
.rb-detail dt { color:#dfe5f1; font-size:.875rem; }
.rb-detail dd { margin:0; }
.rb-link-list { display:flex; flex-wrap:wrap; gap:.5rem 1rem; }
.rb-evidence-note { padding:.75rem 1rem; border-left:3px solid #d8b46b; background:#1a253e; font-size:.875rem; }
.rb-pagination { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:.7rem; margin-top:1rem; }
.rb-pagination button:disabled { opacity:.45; cursor:default; }
.rb-rules { margin-top:1.5rem; padding:1rem; border:1px solid var(--line); font-size:.875rem; }
.rb-rules summary { font-size:1rem; cursor:pointer; }
.rb-module-links { display:flex; gap:.7rem 1.2rem; flex-wrap:wrap; font-size:.875rem; }
.rb-scope { font-size:.875rem; color:#dfe5f1; }
.rb-module-status { padding:.55rem .8rem; font-size:.875rem; border-left:2px solid #8ea9bc; margin:1rem 0; }
.rb-module-status a { text-underline-offset:.25em; }
.research-board [hidden] { display:none; }
@media(max-width:900px) { .rb-layout { grid-template-columns:1fr; } .rb-detail { position:static; max-height:58svh; } .rb-controls { grid-template-columns:1fr; } .rb-layout.has-selection .rb-memos { max-height:30svh; overflow:auto; } }
@media(max-width:500px) { .rb-memos { grid-template-columns:1fr; } .rb-memo { min-height:0; } .rb-detail dl { display:block; } .rb-detail dd { margin-bottom:.6rem; } }
