'}
async function select(kind,id,options={}){
- state.selected={kind,id};document.querySelector('main').classList.add('detail-selected');if(!options.preserveScroll)window.scrollTo({top:0,behavior:'smooth'});
+ state.selected={kind,id};document.querySelector('main').classList.add('detail-selected');document.body.classList.add('detail-selected');if(!options.preserveScroll)window.scrollTo({top:0,behavior:'smooth'});
if(kind==='source'){await showSource(id);return}
if(kind==='suggestion'){const item=state.proposals.items.find(value=>value.eventId===id);document.querySelector('#detail').innerHTML=renderSuggestion(item);bindSuggestionForm(item);return}
if(kind==='review'){const item=state.reviews.items.find(value=>value.id===id);document.querySelector('#detail').innerHTML=renderReview(item);bindReviewForm(item);return}
@@ -1291,8 +1297,8 @@ function renderArtifact(data){
function humanLabel(value){return String(value??'').replace(/[-_.:]+/g,' ').replace(/\b\w/g,char=>char.toUpperCase())}
function humanMediaType(value){return ({'text/markdown':'Markdown','text/plain':'Plain text','application/json':'JSON document','application/yaml':'YAML document','text/yaml':'YAML document','image/png':'PNG image','image/jpeg':'JPEG image'})[value]??humanLabel(value)}
function formatBytes(value){const n=Number(value);if(!Number.isFinite(n))return 'Unknown';if(n<1024)return n+' bytes';if(n<1024*1024)return (n/1024).toFixed(n<10240?1:0)+' KB';return (n/(1024*1024)).toFixed(1)+' MB'}
-function closeDetail(){state.selected=null;document.querySelector('main').classList.remove('detail-selected');document.querySelector('#detail').innerHTML='';renderList();window.scrollTo({top:0,behavior:'smooth'})}
-function switchTab(tab){state.tab=tab;state.selected=null;document.querySelector('main').classList.remove('detail-selected');document.querySelector('#detail').innerHTML='';renderList();window.scrollTo({top:0,behavior:'smooth'})}
+function closeDetail(){state.selected=null;document.querySelector('main').classList.remove('detail-selected');document.body.classList.remove('detail-selected');document.querySelector('#detail').innerHTML='';renderList();window.scrollTo({top:0,behavior:'smooth'})}
+function switchTab(tab){state.tab=tab;state.selected=null;document.querySelector('main').classList.remove('detail-selected');document.body.classList.remove('detail-selected');document.querySelector('#detail').innerHTML='';renderList();window.scrollTo({top:0,behavior:'smooth'})}
document.querySelector('#detail-back').addEventListener('click',closeDetail);
document.querySelector('#events-tab').addEventListener('click',()=>switchTab('events'));
document.querySelector('#review-tab').addEventListener('click',()=>switchTab(state.tab==='suggestions'||state.tab==='reviews'?state.tab:'suggestions'));
diff --git a/test/inspector.test.ts b/test/inspector.test.ts
index 935b648..3de1839 100644
--- a/test/inspector.test.ts
+++ b/test/inspector.test.ts
@@ -103,7 +103,7 @@ describe("thought stream inspector", () => {
expect(pageHtml).toContain('src:url("assets/around-regular.woff2")');
expect(pageHtml).toContain('rel="manifest" href="manifest.webmanifest"');
expect(pageHtml).toContain('name="apple-mobile-web-app-title" content="Stream"');
- expect(pageHtml).toContain("@media(max-width:900px)");
+ expect(pageHtml).toContain("@media(max-width:640px)");
expect(pageHtml).toContain("text-transform:uppercase");
expect(pageHtml).toContain('class="primary-nav" aria-label="Stream destinations"');
expect(pageHtml).toContain('