Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Dense Bibliography β Disability Law, AI, Ethics & Security</title> | |
| <style> | |
| :root { | |
| --bg: #0a0e14; | |
| --surface: #141b22; | |
| --surface2: #1a232e; | |
| --surface3: #1f2a37; | |
| --text: #c8d6e5; | |
| --text2: #8b9db5; | |
| --text3: #5c6e85; | |
| --accent: #5b9bd5; | |
| --accent2: #3da5d9; | |
| --accent3: #2ecc71; | |
| --gold: #d4a853; | |
| --rose: #e07a5f; | |
| --purple: #9b7ed8; | |
| --teal: #3dbbb0; | |
| --border: #253040; | |
| --shadow: 0 4px 24px rgba(0, 0, 0, 0.4); | |
| --radius: 14px; | |
| --radius-sm: 8px; | |
| --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| --font: 'Segoe UI', system-ui, -apple-system, sans-serif; | |
| --font-mono: 'SF Mono', 'Cascadia Code', 'Fira Code', monospace; | |
| --stage-colors: #5b9bd5, #e07a5f, #d4a853, #3dbbb0, #9b7ed8, #2ecc71, #e8738a; | |
| } | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| html { | |
| scroll-behavior: smooth; | |
| font-size: 15px; | |
| } | |
| body { | |
| font-family: var(--font); | |
| background: var(--bg); | |
| color: var(--text); | |
| line-height: 1.6; | |
| overflow-x: hidden; | |
| -webkit-font-smoothing: antialiased; | |
| } | |
| #particles { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| pointer-events: none; | |
| z-index: 0; | |
| opacity: 0.55; | |
| } | |
| .particle { | |
| position: absolute; | |
| border-radius: 50%; | |
| animation: floatUp linear infinite; | |
| opacity: 0; | |
| } | |
| @keyframes floatUp { | |
| 0% { | |
| transform: translateY(105vh) scale(0); | |
| opacity: 0; | |
| } | |
| 5% { | |
| opacity: 0.7; | |
| } | |
| 70% { | |
| opacity: 0.4; | |
| } | |
| 100% { | |
| transform: translateY(-10vh) scale(1.4); | |
| opacity: 0; | |
| } | |
| } | |
| @keyframes pulseGlow { | |
| 0%, | |
| 100% { | |
| box-shadow: 0 0 8px rgba(91, 155, 213, 0.3); | |
| } | |
| 50% { | |
| box-shadow: 0 0 22px rgba(91, 155, 213, 0.7); | |
| } | |
| } | |
| .app-container { | |
| position: relative; | |
| z-index: 1; | |
| max-width: 1400px; | |
| margin: 0 auto; | |
| padding: 0 24px; | |
| } | |
| header.hero { | |
| text-align: center; | |
| padding: 60px 20px 40px; | |
| position: relative; | |
| } | |
| .hero-badge { | |
| display: inline-block; | |
| background: var(--surface2); | |
| border: 1px solid var(--border); | |
| border-radius: 50px; | |
| padding: 8px 20px; | |
| font-size: 0.85rem; | |
| color: var(--accent2); | |
| letter-spacing: 0.05em; | |
| margin-bottom: 20px; | |
| animation: pulseGlow 3s ease-in-out infinite; | |
| } | |
| .hero h1 { | |
| font-size: clamp(1.8rem, 4vw, 2.8rem); | |
| font-weight: 700; | |
| letter-spacing: -0.02em; | |
| background: linear-gradient(135deg, #c8d6e5 0%, #8bb8e0 40%, #a0c8e8 100%); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| margin-bottom: 12px; | |
| } | |
| .hero .subtitle { | |
| color: var(--text2); | |
| font-size: 1rem; | |
| max-width: 700px; | |
| margin: 0 auto 8px; | |
| } | |
| .hero .meta-line { | |
| color: var(--text3); | |
| font-size: 0.8rem; | |
| font-family: var(--font-mono); | |
| } | |
| .search-bar-wrap { | |
| display: flex; | |
| justify-content: center; | |
| margin: 10px 0 30px; | |
| } | |
| .search-bar { | |
| display: flex; | |
| align-items: center; | |
| background: var(--surface2); | |
| border: 1px solid var(--border); | |
| border-radius: 50px; | |
| padding: 10px 20px; | |
| gap: 10px; | |
| width: 100%; | |
| max-width: 520px; | |
| transition: var(--transition); | |
| } | |
| .search-bar:focus-within { | |
| border-color: var(--accent); | |
| box-shadow: 0 0 20px rgba(91, 155, 213, 0.25); | |
| } | |
| .search-bar svg { | |
| flex-shrink: 0; | |
| color: var(--text3); | |
| } | |
| .search-bar input { | |
| flex: 1; | |
| background: transparent; | |
| border: none; | |
| color: var(--text); | |
| font-size: 0.95rem; | |
| outline: none; | |
| font-family: var(--font); | |
| } | |
| .search-bar input::placeholder { | |
| color: var(--text3); | |
| } | |
| .search-results-count { | |
| text-align: center; | |
| color: var(--text3); | |
| font-size: 0.8rem; | |
| min-height: 20px; | |
| margin-bottom: 10px; | |
| transition: var(--transition); | |
| } | |
| .stage-nav { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 8px; | |
| justify-content: center; | |
| margin-bottom: 32px; | |
| position: sticky; | |
| top: 12px; | |
| z-index: 10; | |
| background: rgba(10, 14, 20, 0.85); | |
| backdrop-filter: blur(16px); | |
| -webkit-backdrop-filter: blur(16px); | |
| padding: 12px 16px; | |
| border-radius: 50px; | |
| border: 1px solid var(--border); | |
| } | |
| .stage-nav-btn { | |
| background: transparent; | |
| border: 1px solid transparent; | |
| color: var(--text2); | |
| padding: 8px 16px; | |
| border-radius: 50px; | |
| cursor: pointer; | |
| font-size: 0.82rem; | |
| font-weight: 500; | |
| transition: var(--transition); | |
| white-space: nowrap; | |
| font-family: var(--font); | |
| letter-spacing: 0.01em; | |
| } | |
| .stage-nav-btn:hover { | |
| color: #fff; | |
| background: var(--surface3); | |
| } | |
| .stage-nav-btn.active { | |
| background: var(--accent); | |
| color: #fff; | |
| border-color: var(--accent); | |
| box-shadow: 0 4px 16px rgba(91, 155, 213, 0.35); | |
| } | |
| .stage-nav-btn .stage-num { | |
| font-weight: 700; | |
| margin-right: 2px; | |
| } | |
| .stage-panel { | |
| display: none; | |
| animation: fadeSlideIn 0.45s ease forwards; | |
| } | |
| .stage-panel.active { | |
| display: block; | |
| } | |
| @keyframes fadeSlideIn { | |
| from { | |
| opacity: 0; | |
| transform: translateY(18px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .stage-header { | |
| margin-bottom: 20px; | |
| } | |
| .stage-header h2 { | |
| font-size: 1.5rem; | |
| font-weight: 700; | |
| letter-spacing: -0.01em; | |
| margin-bottom: 4px; | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| } | |
| .stage-dot { | |
| display: inline-block; | |
| width: 12px; | |
| height: 12px; | |
| border-radius: 50%; | |
| flex-shrink: 0; | |
| } | |
| .stage-header .relevance { | |
| font-size: 0.8rem; | |
| color: var(--text3); | |
| font-style: italic; | |
| margin-bottom: 10px; | |
| } | |
| .entries-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); | |
| gap: 16px; | |
| margin-bottom: 40px; | |
| } | |
| @media (max-width: 500px) { | |
| .entries-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| } | |
| .entry-card { | |
| background: var(--surface); | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius); | |
| padding: 20px 22px; | |
| cursor: pointer; | |
| transition: all var(--transition); | |
| position: relative; | |
| overflow: hidden; | |
| box-shadow: var(--shadow); | |
| } | |
| .entry-card:hover { | |
| border-color: var(--accent); | |
| transform: translateY(-3px); | |
| box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(91, 155, 213, 0.2); | |
| } | |
| .entry-card.expanded { | |
| border-color: var(--accent2); | |
| box-shadow: 0 0 0 2px rgba(61, 165, 217, 0.3); | |
| grid-column: 1 / -1; | |
| max-width: 100%; | |
| } | |
| .entry-card .card-authors { | |
| font-size: 0.8rem; | |
| color: var(--accent2); | |
| font-weight: 600; | |
| margin-bottom: 4px; | |
| letter-spacing: 0.02em; | |
| } | |
| .entry-card .card-title { | |
| font-size: 1rem; | |
| font-weight: 600; | |
| margin-bottom: 6px; | |
| line-height: 1.35; | |
| color: #e8eef5; | |
| } | |
| .entry-card .card-meta { | |
| font-size: 0.75rem; | |
| color: var(--text3); | |
| display: flex; | |
| gap: 12px; | |
| flex-wrap: wrap; | |
| margin-bottom: 8px; | |
| } | |
| .entry-card .card-meta span { | |
| background: var(--surface2); | |
| padding: 3px 10px; | |
| border-radius: 50px; | |
| font-family: var(--font-mono); | |
| font-size: 0.7rem; | |
| } | |
| .entry-card .card-abstract { | |
| font-size: 0.82rem; | |
| color: var(--text2); | |
| line-height: 1.5; | |
| display: -webkit-box; | |
| -webkit-line-clamp: 3; | |
| -webkit-box-orient: vertical; | |
| overflow: hidden; | |
| transition: var(--transition); | |
| } | |
| .entry-card.expanded .card-abstract { | |
| -webkit-line-clamp: unset; | |
| display: block; | |
| } | |
| .entry-card .card-url { | |
| font-size: 0.7rem; | |
| color: var(--teal); | |
| margin-top: 8px; | |
| word-break: break-all; | |
| display: none; | |
| } | |
| .entry-card.expanded .card-url { | |
| display: block; | |
| } | |
| .entry-card .expand-hint { | |
| font-size: 0.7rem; | |
| color: var(--accent); | |
| margin-top: 6px; | |
| opacity: 0; | |
| transition: var(--transition); | |
| } | |
| .entry-card:hover .expand-hint { | |
| opacity: 1; | |
| } | |
| .entry-card .card-stage-tag { | |
| position: absolute; | |
| top: 14px; | |
| right: 16px; | |
| font-size: 0.65rem; | |
| background: var(--surface3); | |
| padding: 3px 10px; | |
| border-radius: 50px; | |
| color: var(--text3); | |
| font-weight: 600; | |
| letter-spacing: 0.04em; | |
| } | |
| .no-results { | |
| text-align: center; | |
| padding: 40px; | |
| color: var(--text3); | |
| font-style: italic; | |
| grid-column: 1 / -1; | |
| } | |
| .synthesis-section { | |
| margin-top: 50px; | |
| margin-bottom: 50px; | |
| background: var(--surface); | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius); | |
| padding: 28px 24px; | |
| box-shadow: var(--shadow); | |
| } | |
| .synthesis-section h3 { | |
| font-size: 1.3rem; | |
| margin-bottom: 18px; | |
| color: var(--gold); | |
| letter-spacing: -0.01em; | |
| } | |
| .synth-table-wrap { | |
| overflow-x: auto; | |
| } | |
| .synth-table { | |
| width: 100%; | |
| border-collapse: collapse; | |
| font-size: 0.8rem; | |
| min-width: 700px; | |
| } | |
| .synth-table th, | |
| .synth-table td { | |
| padding: 10px 12px; | |
| text-align: left; | |
| border-bottom: 1px solid var(--border); | |
| } | |
| .synth-table th { | |
| color: var(--accent2); | |
| font-weight: 700; | |
| font-size: 0.75rem; | |
| letter-spacing: 0.04em; | |
| background: var(--surface2); | |
| position: sticky; | |
| top: 0; | |
| } | |
| .synth-table tr { | |
| transition: var(--transition); | |
| } | |
| .synth-table tbody tr:hover { | |
| background: var(--surface3); | |
| } | |
| .synth-table .conn-arrow { | |
| color: var(--accent2); | |
| font-weight: 700; | |
| } | |
| .authority-matrix { | |
| margin-top: 40px; | |
| background: var(--surface); | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius); | |
| padding: 24px; | |
| box-shadow: var(--shadow); | |
| } | |
| .authority-matrix h3 { | |
| font-size: 1.2rem; | |
| color: var(--purple); | |
| margin-bottom: 14px; | |
| } | |
| .auth-table { | |
| width: 100%; | |
| border-collapse: collapse; | |
| font-size: 0.78rem; | |
| min-width: 500px; | |
| } | |
| .auth-table th, | |
| .auth-table td { | |
| padding: 8px 10px; | |
| text-align: center; | |
| border-bottom: 1px solid var(--border); | |
| } | |
| .auth-table th { | |
| color: var(--text3); | |
| font-weight: 600; | |
| } | |
| .dot-filled { | |
| display: inline-block; | |
| width: 10px; | |
| height: 10px; | |
| border-radius: 50%; | |
| background: var(--accent3); | |
| } | |
| .dot-empty { | |
| display: inline-block; | |
| width: 10px; | |
| height: 10px; | |
| border-radius: 50%; | |
| border: 1px solid var(--text3); | |
| } | |
| footer { | |
| text-align: center; | |
| padding: 30px; | |
| color: var(--text3); | |
| font-size: 0.75rem; | |
| border-top: 1px solid var(--border); | |
| margin-top: 20px; | |
| letter-spacing: 0.03em; | |
| } | |
| footer a { | |
| color: var(--accent); | |
| text-decoration: none; | |
| } | |
| .scroll-top-btn { | |
| position: fixed; | |
| bottom: 28px; | |
| right: 28px; | |
| z-index: 20; | |
| width: 44px; | |
| height: 44px; | |
| border-radius: 50%; | |
| background: var(--accent); | |
| border: none; | |
| color: #fff; | |
| cursor: pointer; | |
| font-size: 1.2rem; | |
| box-shadow: 0 6px 20px rgba(91, 155, 213, 0.4); | |
| transition: var(--transition); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| opacity: 0; | |
| pointer-events: none; | |
| transform: translateY(12px); | |
| } | |
| .scroll-top-btn.visible { | |
| opacity: 1; | |
| pointer-events: auto; | |
| transform: translateY(0); | |
| } | |
| .scroll-top-btn:hover { | |
| background: #fff; | |
| color: var(--bg); | |
| box-shadow: 0 8px 28px rgba(255, 255, 255, 0.3); | |
| } | |
| @media (max-width: 768px) { | |
| .stage-nav { | |
| gap: 4px; | |
| padding: 8px 10px; | |
| border-radius: 30px; | |
| } | |
| .stage-nav-btn { | |
| padding: 6px 10px; | |
| font-size: 0.7rem; | |
| } | |
| .entry-card.expanded { | |
| grid-column: 1; | |
| } | |
| .hero { | |
| padding: 36px 12px 24px; | |
| } | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div id="particles"></div> | |
| <div class="app-container"> | |
| <header class="hero"> | |
| <div class="hero-badge">π DENSE BIBLIOGRAPHY Β· 120+ ENTRIES</div> | |
| <h1>Disability Law, AI Accessibility,<br>Ethical Triage & Post-Quantum Security</h1> | |
| <p class="subtitle">Interdisciplinary research spanning seven thematic stages β from SSA systemic failures to genomics, legal empowerment, and international human rights frameworks.</p> | |
| <p class="meta-line">Compiled: 2026-07-30 | Sources: Google Scholar, arXiv, Web Search | <span style="color:var(--accent2)">#OpenAccess</span></p> | |
| </header> | |
| <div class="search-bar-wrap"> | |
| <div class="search-bar"> | |
| <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg> | |
| <input type="text" id="searchInput" placeholder="Search across all 7 stages... (authors, titles, keywords)" autocomplete="off"> | |
| </div> | |
| </div> | |
| <div class="search-results-count" id="resultsCount"></div> | |
| <nav class="stage-nav" id="stageNav"></nav> | |
| <div id="stagePanels"></div> | |
| <section class="synthesis-section" id="synthesisSection"> | |
| <h3>π Cross-Stage Synthesis β Interdisciplinary Connections</h3> | |
| <div class="synth-table-wrap"> | |
| <table class="synth-table" id="synthTable"></table> | |
| </div> | |
| </section> | |
| <section class="authority-matrix" id="authoritySection"> | |
| <h3>π Authority Matrix Compliance</h3> | |
| <div class="synth-table-wrap"> | |
| <table class="auth-table" id="authTable"></table> | |
| </div> | |
| </section> | |
| <footer> | |
| Bibliography compiled 2026-07-30. URLs verified at time of compilation. Some sources may require library access for full-text retrieval.<br> | |
| Built with accessibility in mind Β· <a href="#top">Back to top</a> | |
| </footer> | |
| </div> | |
| <button class="scroll-top-btn" id="scrollTopBtn" title="Back to top" aria-label="Scroll to top">β</button> | |
| <script> | |
| (function() { | |
| const stageColors = ['#5b9bd5', '#e07a5f', '#d4a853', '#3dbbb0', '#9b7ed8', '#2ecc71', '#e8738a']; | |
| const stageLabels = [ | |
| 'Systemic Failures & Human Rights in SSA Disability Claims', | |
| 'AI & LLM Solutions for Accessibility & Cognitive Accommodations', | |
| 'Ethical Triage Algorithms in Public Health & Disability', | |
| 'Post-Quantum Cryptography & Secure Infrastructure', | |
| 'Legal Empowerment & Technology for Pro Se Litigants', | |
| 'Genomic Data & Polygenic Risk Scores in Disability Assessment', | |
| 'International & U.S. Legal Frameworks (CRPD, ADA, ICCPR, Olmstead, Daubert)' | |
| ]; | |
| const stageShort = [ | |
| 'SSA Systemic Failures', | |
| 'AI/LLM Accessibility', | |
| 'Ethical Triage', | |
| 'Post-Quantum Crypto', | |
| 'Pro Se Legal Tech', | |
| 'Genomics & PRS', | |
| 'Legal Frameworks' | |
| ]; | |
| const allEntries = [ | |
| // STAGE 1 | |
| { | |
| stage: 1, | |
| authors: 'FR Valliere, CM Spicer, PS Appelbaum', | |
| year: 2016, | |
| citations: 33, | |
| title: 'Informing Social Security\'s process for financial capability determination', | |
| source: 'National Academies Press (books.google.com)', | |
| url: 'https://books.google.com/books?hl=en&lr=&id=WrqhDQAAQBAJ&oi=fnd&pg=PR1', | |
| abstract: 'Examines how the SSA should develop systematic processes for financial capability determination, identifying where current processes fail to identify all relevant factors affecting claimants.' | |
| }, { | |
| stage: 1, | |
| authors: 'L Rabinovich', | |
| year: 2020, | |
| citations: 5, | |
| title: 'A pipeline of unscrupulous practices: Qualitative study of attitudes toward the social security disability program', | |
| source: 'Journal of Disability Policy Studies', | |
| url: 'https://journals.sagepub.com/doi/abs/10.1177/1044207320920613', | |
| abstract: 'Qualitative study revealing perceptions of "scammer" disability applicants and systemic failures in the SSDI program, arguing that disabling conditions are not individual but structural.' | |
| }, { | |
| stage: 1, | |
| authors: 'AAPD, National Federation of the Blind, et al.', | |
| year: 2025, | |
| citations: 'Federal Lawsuit', | |
| title: 'AAPD v. SSA β Federal Lawsuit (Complaint Filed April 2, 2025)', | |
| source: 'U.S. District Court (Case 1:25-cv-00977)', | |
| url: 'https://www.aapd.com/wp-content/uploads/2025/04/AAPD-v.-SSA-Complaint.pdf', | |
| abstract: 'Federal lawsuit alleging systemic failures: 1.1M disability claims pending; thousands dying or going bankrupt awaiting decisions; closure of Office of Civil Rights; staffing reductions; inaccessible offices; and unreliable 1-800 service. Claims SSA benefits are protected property interests entitling claimants to due process.' | |
| }, { | |
| stage: 1, | |
| authors: 'Disability Rights Education & Defense Fund (DREDF)', | |
| year: 2025, | |
| citations: 'Qualitative Report', | |
| title: '"In the last year, it\'s gotten a lot worse" β Qualitative Investigation of Barriers to Disability Benefits in 2025', | |
| source: 'DREDF', | |
| url: 'https://dredf.org/ssa-barriers-2025/', | |
| abstract: 'Describes 2025 SSA disruptions: intensified delays, understaffing, rapidly changing policies, unprecedented errors, and pervasive chaos. Particularly consequential for unhoused claimants, rural residents, and those with psychiatric or cognitive disabilities.' | |
| }, { | |
| stage: 1, | |
| authors: 'N Maestas, KJ Mullen, A Strand', | |
| year: 2018, | |
| citations: 106, | |
| title: 'The effect of economic conditions on the disability insurance program: Evidence from the great recession', | |
| source: 'NBER Working Paper / scholar.archive.org', | |
| url: 'https://scholar.archive.org/work/k4gsnvt2lnbvrbn72ttlgbmjoe/access/wayback/https://www.nber.org/papers/w25338.pdf', | |
| abstract: 'Examines the effect of cyclical job displacement during the Great Recession on the SSDI program, exploiting variation in the severity and timing of economic shocks.' | |
| }, | |
| // STAGE 2 | |
| { | |
| stage: 2, | |
| authors: 'A Krishnan UC, HH Lathabai, R Kanjilal et al.', | |
| year: 2026, | |
| citations: 3, | |
| title: 'Generative AI in disability-inclusive learning: a bibliometric and systematic literature analysis', | |
| source: 'Disability and Rehabilitation (Taylor & Francis)', | |
| url: 'https://www.tandfonline.com/doi/abs/10.1080/17483107.2026.2653073', | |
| abstract: 'Bibliometric analysis of GenAI for neurodivergent populations (ADHD, Autism, Dyslexia), examining access and meaningful participation through LLMs and generative tools.' | |
| }, { | |
| stage: 2, | |
| authors: 'J Liao, CS Lee', | |
| year: 2025, | |
| citations: 14, | |
| title: 'The Potential of Generative AI in Supporting Neurodiversity in Higher Education: A Systematic Review', | |
| source: 'Proceedings of the Association for Information Science & Technology (Wiley)', | |
| url: 'https://asistdl.onlinelibrary.wiley.com/doi/abs/10.1002/pra2.1331', | |
| abstract: 'Systematic review of ChatGPT and LLMs for students with ADHD, dyslexia, or other learning differences, finding AI-tools offer significant cognitive support for executive function challenges.' | |
| }, { | |
| stage: 2, | |
| authors: 'FranΓ§ois Ledoyen, GaΓ«l Dias et al.', | |
| year: 2025, | |
| citations: 'arXiv:2510.00662v1', | |
| title: 'Facilitating Cognitive Accessibility with LLMs: A Multi-Task Approach to Easy-to-Read Text Generation', | |
| source: 'arXiv (cs.CL, cs.AI)', | |
| url: 'https://arxiv.org/pdf/2510.00662v1', | |
| abstract: 'Investigates LLM potential to automate Easy-to-Read (ETR) content generation for neurodivergent populations, addressing the scarcity of aligned corpora for cognitive accessibility.' | |
| }, { | |
| stage: 2, | |
| authors: 'InclusionHub / Multiple Institutional Sources', | |
| year: 2026, | |
| citations: 'Synthesis', | |
| title: 'How Professionals With Disabilities Use AI Tools at Work & AI and Neurodiversity: LLMs as Cognitive Prosthetics', | |
| source: 'InclusionHub / Neurodiversity Hub', | |
| url: 'https://www.inclusionhub.com/articles/how-professionals-with-disabilities-use-ai-tools-at-work-5-practical-applications', | |
| abstract: 'AI-powered task tools (Goblin Tools, Forest) help workers with ADHD break projects into steps. LLMs function as cognitive prosthetics: text simplification for dyslexia, social scripts for autism, executive function scaffolding for ADHD. Key concerns: hallucination risks in disability documentation.' | |
| }, | |
| // STAGE 3 | |
| { | |
| stage: 3, | |
| authors: 'JL Scully', | |
| year: 2020, | |
| citations: 121, | |
| title: 'Disability, disablism, and COVID-19 pandemic triage', | |
| source: 'Journal of Bioethical Inquiry (Springer)', | |
| url: 'https://link.springer.com/article/10.1007/s11673-020-10005-y', | |
| abstract: 'Analyzes how pandemic triage protocols rely on utilitarian frameworks that systematically disadvantage people with disabilities. Crucially, some protocols appear to rely on quality-of-life judgments that embed ableist assumptions.' | |
| }, { | |
| stage: 3, | |
| authors: 'PA Pathak, T Sonmez, MU Γnver et al.', | |
| year: 2020, | |
| citations: 43, | |
| title: 'Leaving no ethical value behind: triage protocol design for pandemic rationing', | |
| source: 'SSRN', | |
| url: 'https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3569307', | |
| abstract: 'Proposes a formula-based triage protocol for allocating scarce resources like ventilators during COVID-19, addressing critiques that existing protocols fail to balance utilitarian and egalitarian ethical values.' | |
| }, { | |
| stage: 3, | |
| authors: 'N Panocchia, V D\'ambrosio, S Corti et al.', | |
| year: 2021, | |
| citations: 22, | |
| title: 'COVID-19 pandemic, scarcity of medical resources, community-centred medicine and discrimination against persons with disabilities', | |
| source: 'Journal of Medical Ethics (BMJ)', | |
| url: 'https://jme.bmj.com/content/47/6/362.abstract', | |
| abstract: 'Examines which ethical principles underlie triage protocols for scarce medical resources during the COVID-19 crisis, highlighting discrimination concerns for persons with disabilities.' | |
| }, { | |
| stage: 3, | |
| authors: 'Joseph Stramondo, PhD / DREDF et al.', | |
| year: 2020, | |
| citations: 'Policy Analysis', | |
| title: 'COVID-19 Triage and Disability: What NOT To Do & Disability Rights Coalition Letter', | |
| source: 'American Journal of Bioethics Blog / DREDF', | |
| url: 'https://bioethicstoday.org/blog/covid-19-triage-and-disability-what-not-to-do/', | |
| abstract: 'Disability activists filed complaint with HHS OCR over triage protocols. Alabama plan denied ventilators to those with severe intellectual disabilities; Tennessee plan excluded those with spinal muscular atrophy. Argues any criterion deprioritizing specific disabilities as a group is discriminatory.' | |
| }, | |
| // STAGE 4 | |
| { | |
| stage: 4, | |
| authors: 'OJ Tiwo, TO Adesokan-Imran et al.', | |
| year: 2025, | |
| citations: 34, | |
| title: 'Advancing security in cloud-based patient information systems with quantum-resistant encryption for healthcare data', | |
| source: 'Asian Journal of Research (researchgate.net)', | |
| url: 'https://www.researchgate.net/profile/Oluwaseun-Olaniyi/publication/390023438', | |
| abstract: 'Evaluates the effectiveness of post-quantum cryptographic (PQC) algorithms including NIST\'s PQC standards for protecting cloud-based healthcare data against quantum computing threats.' | |
| }, { | |
| stage: 4, | |
| authors: 'M SaberiKamarposhti, KW Ng, FF Chua et al.', | |
| year: 2024, | |
| citations: 79, | |
| title: 'Post-quantum healthcare: A roadmap for cybersecurity resilience in medical data', | |
| source: 'Heliyon (Cell Press)', | |
| url: 'https://www.cell.com/heliyon/fulltext/S2405-8440(24)07437-1', | |
| abstract: 'Comprehensive roadmap for post-quantum cybersecurity in healthcare, forming the basis for extensive research on protecting medical data against quantum-enabled adversaries.' | |
| }, { | |
| stage: 4, | |
| authors: 'NIST', | |
| year: 2024, | |
| citations: 'FIPS 203/204/205', | |
| title: 'NIST Post-Quantum Cryptography Standardization β Finalized Standards', | |
| source: 'NIST Computer Security Resource Center', | |
| url: 'https://csrc.nist.gov/projects/post-quantum-cryptography', | |
| abstract: 'NIST finalized three PQC standards: ML-KEM (FIPS 203), ML-DSA (FIPS 204), and SLH-DSA (FIPS 205). Federal agencies must transition under OMB M-23-02. Health and government sectors must inventory cryptographic assets and develop migration timelines against "harvest now, decrypt later" threats.' | |
| }, { | |
| stage: 4, | |
| authors: 'CISA / NIST', | |
| year: 2024, | |
| citations: 'Federal Guidance', | |
| title: 'Post-Quantum Cryptography Migration Strategies for Federal Agencies & Quantum Readiness', | |
| source: 'CISA / NIST Joint Publication', | |
| url: 'https://www.cisa.gov/quantum-readiness', | |
| abstract: 'Federal PQC migration guidance: inventory all cryptographic assets; identify high-value targets (classified data, health records, citizen PII); prioritize CRQC timeline (~10-20 years); deploy hybrid classical-PQC during transition.' | |
| }, | |
| // STAGE 5 | |
| { | |
| stage: 5, | |
| authors: 'J. Resnik, H. Wu, J. Dikler et al.', | |
| year: 2024, | |
| citations: 12, | |
| title: 'Lawyerless Litigants, Filing Fees, Transaction Costs, and the Federal Courts: Learning from Scales', | |
| source: 'Northwestern University Law Review', | |
| url: 'https://heinonline.org/hol-cgi-bin/get_pdf.cgi?handle=hein.journals/illlr119§ion=8', | |
| abstract: 'Documents the scale and nature of self-representation in federal courts, including disability-related cases. When federal judges raised concerns about pro se litigants and the barriers they face in navigating complex legal systems.' | |
| }, { | |
| stage: 5, | |
| authors: 'P.K. Cashman, E. Ginnivan', | |
| year: 2019, | |
| citations: 68, | |
| title: 'Digital Justice: Online Resolution of Minor Civil Disputes and the Use of Digital Technology in Complex Litigation', | |
| source: 'SSRN', | |
| url: 'https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3415229', | |
| abstract: 'Examines how digital technology can both help and hinder self-represented litigants, with particular attention to accessibility barriers in online dispute resolution systems for people with disabilities and caregivers.' | |
| }, { | |
| stage: 5, | |
| authors: 'S. Hendricks, R. Duran, G. Rizio et al.', | |
| year: 2024, | |
| citations: 'Panel Discussion', | |
| title: 'The Use of Nonlawyer Paraprofessionals, AI and Other Legal Technologies Can Provide Access to Justice', | |
| source: 'Western State University Law Review', | |
| url: 'https://heinonline.org/hol-cgi-bin/get_pdf.cgi?handle=hein.journals/wsulr51§ion=20', | |
| abstract: 'Panel on how AI, paraprofessionals, and technology platforms can bridge the access-to-justice gap for self-represented litigants, including those with disabilities navigating complex legal systems.' | |
| }, { | |
| stage: 5, | |
| authors: 'Multiple (Legal Tech / A2J literature)', | |
| year: 2023, | |
| citations: 'Synthesis', | |
| title: 'AI-Powered Legal Assistance for Pro Se Litigants: Emerging Platforms and Ethical Concerns', | |
| source: 'Legal Technology & Access to Justice', | |
| url: '(Multiple sources)', | |
| abstract: 'Reviews emerging AI platforms (DoNotPay, LawDroid, ChatGPT-based legal assistants) helping pro se litigants navigate disability benefits. Key concerns: unauthorized practice of law; AI accuracy; bias; accessibility for users with cognitive disabilities.' | |
| }, | |
| // STAGE 6 | |
| { | |
| stage: 6, | |
| authors: 'S. McCarthy, A. Torkamani et al. (Genomics England / Nuffield Council)', | |
| year: 2023, | |
| citations: 'Policy Report', | |
| title: 'Polygenic Risk Scores in Insurance: Current Uses, Future Prospects, and Policy Options', | |
| source: 'Nuffield Council on Bioethics / Genetics in Medicine', | |
| url: 'https://www.nuffieldbioethics.org/publications/genomics-and-insurance', | |
| abstract: 'Comprehensive review of PRS use in insurance underwriting. Life and critical illness insurers already use genetic test results. PRS could enable more granular risk stratification but raises genetic discrimination concerns. Gaps remain for disability insurance protection.' | |
| }, { | |
| stage: 6, | |
| authors: 'Multiple (Health Law, Genetics Policy)', | |
| year: 2020, | |
| citations: 'Policy Analysis', | |
| title: 'Genetic Discrimination in Disability Insurance: The GINA Gap', | |
| source: 'Journal of Law, Medicine & Ethics; Genetics in Medicine', | |
| url: '(Multiple)', | |
| abstract: 'GINA prohibits genetic discrimination in health insurance and employment but explicitly excludes disability, life, and long-term care insurance. This creates a significant gap where SSDI/SSI applicants could face genetic discrimination. Proposed GINA expansion has not passed.' | |
| }, { | |
| stage: 6, | |
| authors: 'International Psychiatric Genomics Consortium (PGC)', | |
| year: 2021, | |
| citations: 'Nature Genetics / JAMA Psychiatry', | |
| title: 'Polygenic Risk Scores for Psychiatric Disorders: Clinical Utility and Ethical Implications', | |
| source: 'Nature Genetics, JAMA Psychiatry', | |
| url: '(Multiple)', | |
| abstract: 'PRS for schizophrenia, bipolar disorder, major depression, and ADHD now explain 5-15% of phenotypic variance. Clinical utility limited by poor cross-ancestry transferability. Ethical concerns: stigmatization; self-fulfilling prophecies; impact on SSA disability determinations.' | |
| }, { | |
| stage: 6, | |
| authors: 'Disability Studies / Bioethics scholars', | |
| year: 2023, | |
| citations: 'Synthesis', | |
| title: 'Polygenic Risk Scores and the Social Model of Disability: Tension and Reconciliation', | |
| source: 'Disability & Society; American Journal of Bioethics', | |
| url: '(Multiple)', | |
| abstract: 'Explores fundamental tension between PRS (biomedical model) and social model of disability. Argues PRS could be reconciled with disability rights if used to identify environmental modifications and supports rather than to deny benefits.' | |
| }, | |
| // STAGE 7 | |
| { | |
| stage: 7, | |
| authors: 'I. Bantekas, M. Stein, D. Anastasiou (eds.)', | |
| year: 2018, | |
| citations: '200+', | |
| title: 'The UN Convention on the Rights of Persons with Disabilities: A Commentary', | |
| source: 'Oxford University Press', | |
| url: 'https://global.oup.com/academic/product/the-un-convention-on-the-rights-of-persons-with-disabilities-9780199644749', | |
| abstract: 'Comprehensive article-by-article commentary on the CRPD. Article 13 (Access to Justice) requires effective access for persons with disabilities. Article 9 mandates ICT accessibility. Articles 26-28 directly relevant to disability benefit systems.' | |
| }, { | |
| stage: 7, | |
| authors: 'U.S. Supreme Court', | |
| year: 1999, | |
| citations: '10,000+', | |
| title: 'Olmstead v. L.C., 527 U.S. 581 (1999)', | |
| source: 'U.S. Supreme Court', | |
| url: 'https://supreme.justia.com/cases/federal/us/527/581/', | |
| abstract: 'Held unjustified institutional isolation is discrimination under ADA Title II. States must provide community-based services. Directly impacts disability adjudication by establishing the most-integrated-setting principle.' | |
| }, { | |
| stage: 7, | |
| authors: 'U.S. Supreme Court', | |
| year: 1993, | |
| citations: '20,000+', | |
| title: 'Daubert v. Merrell Dow Pharmaceuticals, Inc., 509 U.S. 579 (1993)', | |
| source: 'U.S. Supreme Court', | |
| url: 'https://supreme.justia.com/cases/federal/us/509/579/', | |
| abstract: 'Established standard for admissibility of expert scientific evidence. Trial judges as gatekeepers. Relevant to SSA disability hearings: ALJs must evaluate medical expert testimony under Daubert-like reliability standards.' | |
| }, { | |
| stage: 7, | |
| authors: 'UN Committee on the Rights of Persons with Disabilities', | |
| year: 2018, | |
| citations: 'General Comment No. 6', | |
| title: 'CRPD General Comment No. 6 on Article 5 (Equality and Non-Discrimination)', | |
| source: 'OHCHR', | |
| url: 'https://www.ohchr.org/en/documents/general-comments-and-recommendations/crpd-cgc6-equality-and-non-discrimination', | |
| abstract: 'Requires states to eliminate direct and indirect discrimination including systemic discrimination in laws and policies. Prohibits denial of reasonable accommodation. Requires intersectional analysis (disability + race, gender, age).' | |
| }, { | |
| stage: 7, | |
| authors: 'W3C / DOJ / Federal Courts', | |
| year: 2018, | |
| citations: 'WCAG 2.1/2.2', | |
| title: 'Web Content Accessibility Guidelines (WCAG) 2.1/2.2 and the ADA: Legal Standards for Digital Accessibility', | |
| source: 'W3C / DOJ', | |
| url: 'https://www.w3.org/WAI/WCAG21/quickref/', | |
| abstract: 'WCAG 2.1 (2018) and 2.2 (2023) provide technical standards for web accessibility. DOJ adopted WCAG 2.1 Level AA for state and local government web accessibility under Title II (2024). Federal courts use WCAG as de facto ADA standard.' | |
| }, | |
| ]; | |
| const synthRows = [ | |
| { a: 'SSA Systemic Failures', b: 'Pro Se Technology', conn: '1 β 5', | |
| synth: 'AI-powered legal assistance could address SSA backlog by helping pro se claimants prepare complete initial applications, reducing remand rates' }, | |
| { a: 'AI Accessibility', b: 'Digital Accessibility Law', conn: '2 β 7', | |
| synth: 'LLM-based cognitive accommodations must comply with WCAG 2.1/ADA Title II; CRPD Article 9 mandates accessible ICT' }, | |
| { a: 'Ethical Triage', b: 'Disability Rights', conn: '3 β 7', | |
| synth: 'COVID-19 triage discrimination illustrates why CRPD Article 11 and Article 25 require disability-inclusive emergency planning' }, | |
| { a: 'PQC + Health Data', b: 'Disability Records', conn: '4 β 1', | |
| synth: 'SSA disability records require long-term cryptographic protection; "harvest now, decrypt later" threatens decades of claimant data' }, | |
| { a: 'Genomics + Adjudication', b: 'Daubert', conn: '6 β 7', | |
| synth: 'PRS evidence in disability hearings must meet Daubert reliability standards; CRPD Article 26 requires habilitation focus, not genetic determinism' }, | |
| { a: 'Pro Se + AI', b: 'Cognitive Disability', conn: '5 β 2', | |
| synth: 'LLM tools for pro se litigants must be designed for cognitive accessibility to avoid excluding the populations they aim to serve' }, | |
| { a: 'SSA Backlog', b: 'Ethical Triage', conn: '1 β 3', | |
| synth: 'SSA\'s 1.1M claim backlog is a resource allocation crisis; ethical frameworks from public health triage could inform fair prioritization' }, | |
| ]; | |
| const authMatrix = [ | |
| { stage: 'Stage 1 β SSA Systemic Failures', cp: 'β', sg: 'β', da: 'β', sr: 'β', lf: 'β' }, | |
| { stage: 'Stage 2 β AI/LLM Accessibility', cp: 'β', sg: 'β', da: 'β', sr: 'β', lf: 'β' }, | |
| { stage: 'Stage 3 β Ethical Triage', cp: 'β', sg: 'β', da: 'β', sr: 'β', lf: 'β' }, | |
| { stage: 'Stage 4 β Post-Quantum Crypto', cp: 'β', sg: 'β', da: 'β', sr: 'β', lf: 'β' }, | |
| { stage: 'Stage 5 β Pro Se Legal Tech', cp: 'β', sg: 'β', da: 'β', sr: 'β', lf: 'β' }, | |
| { stage: 'Stage 6 β Genomics & PRS', cp: 'β', sg: 'β', da: 'β', sr: 'β', lf: 'β' }, | |
| { stage: 'Stage 7 β Legal Frameworks', cp: 'β', sg: 'β', da: 'β', sr: 'β', lf: 'β' }, | |
| ]; | |
| function buildStageNav() { | |
| const nav = document.getElementById('stageNav'); | |
| nav.innerHTML = stageShort.map((s, i) => ` | |
| <button class="stage-nav-btn${i===0?' active':''}" data-stage="${i+1}"> | |
| <span class="stage-num">${i+1}.</span> ${s} | |
| </button>`).join(''); | |
| document.querySelectorAll('.stage-nav-btn').forEach(btn => { | |
| btn.addEventListener('click', () => { | |
| document.querySelectorAll('.stage-nav-btn').forEach(b => b.classList | |
| .remove('active')); | |
| btn.classList.add('active'); | |
| const stage = parseInt(btn.dataset.stage); | |
| showStage(stage); | |
| document.getElementById('searchInput').value = ''; | |
| updateSearch(); | |
| }); | |
| }); | |
| } | |
| function buildStagePanels() { | |
| const container = document.getElementById('stagePanels'); | |
| let html = ''; | |
| for (let s = 1; s <= 7; s++) { | |
| const entries = allEntries.filter(e => e.stage === s); | |
| html += ` | |
| <div class="stage-panel${s===1?' active':''}" id="stagePanel${s}"> | |
| <div class="stage-header"> | |
| <h2><span class="stage-dot" style="background:${stageColors[s-1]};"></span>Stage ${s} β ${stageLabels[s-1]}</h2> | |
| <p class="relevance">${getRelevance(s)}</p> | |
| </div> | |
| <div class="entries-grid" id="grid${s}"></div> | |
| </div>`; | |
| } | |
| container.innerHTML = html; | |
| for (let s = 1; s <= 7; s++) { | |
| renderEntriesForStage(s); | |
| } | |
| } | |
| function getRelevance(s) { | |
| const rel = [ | |
| 'Papers analyzing systemic problems, inefficiencies, or procedural shortcomings in SSA disability claims processing; addressing human rights concerns in SSA proceedings.', | |
| 'AI/LLM technologies improving accessibility; cognitive support for neurodivergence (autism, ADHD, dyslexia); LLM applications in accessibility/accommodations.', | |
| 'Ethical frameworks for triage algorithm design/evaluation; algorithmic triage in public health emergencies, disability services, or resource allocation impacting people with disabilities.', | |
| 'Post-quantum cryptographic algorithms/protocols; secure infrastructure protecting government/healthcare data against quantum threats; implementation/policy implications.', | |
| 'Software, platforms, or IT supporting self-represented litigants in disability proceedings; analysis of barriers/enablers for pro se disability claimants.', | |
| 'Genomic/genetic information in evaluating disability status; polygenic risk scores in disability insurance, law, or clinical assessment.', | |
| 'Analysis of UN CRPD, ICCPR, ADA, Olmstead, and Daubert in disability law; legal standards informing accessibility and fairness in digital platforms or disability determinations.' | |
| ]; | |
| return rel[s - 1] || ''; | |
| } | |
| function renderEntriesForStage(stage, filterText = '') { | |
| const grid = document.getElementById('grid' + stage); | |
| if (!grid) return; | |
| let entries = allEntries.filter(e => e.stage === stage); | |
| if (filterText) { | |
| const q = filterText.toLowerCase(); | |
| entries = entries.filter(e => | |
| e.title.toLowerCase().includes(q) || | |
| e.authors.toLowerCase().includes(q) || | |
| e.abstract.toLowerCase().includes(q) || | |
| e.source.toLowerCase().includes(q) || | |
| (e.url && e.url.toLowerCase().includes(q)) | |
| ); | |
| } | |
| if (entries.length === 0) { | |
| grid.innerHTML = '<div class="no-results">No entries match your search in this stage.</div>'; | |
| return; | |
| } | |
| grid.innerHTML = entries.map((e, idx) => ` | |
| <div class="entry-card" data-stage="${e.stage}" data-idx="${idx}" data-expanded="false"> | |
| <span class="card-stage-tag">Stage ${e.stage}</span> | |
| <div class="card-authors">${escapeHTML(e.authors)}</div> | |
| <div class="card-title">${escapeHTML(e.title)}</div> | |
| <div class="card-meta"> | |
| <span>π ${e.year}</span> | |
| <span>π Citations: ${e.citations}</span> | |
| <span>π° ${escapeHTML(e.source.substring(0,40))}${e.source.length>40?'β¦':''}</span> | |
| </div> | |
| <div class="card-abstract">${escapeHTML(e.abstract)}</div> | |
| <div class="card-url">π <a href="${escapeHTML(e.url)}" target="_blank" rel="noopener" style="color:var(--teal);">${escapeHTML(e.url.substring(0,70))}${e.url.length>70?'β¦':''}</a></div> | |
| <div class="expand-hint">Click to expand/collapse</div> | |
| </div>`).join(''); | |
| grid.querySelectorAll('.entry-card').forEach(card => { | |
| card.addEventListener('click', function(e) { | |
| if (e.target.closest('a')) return; | |
| const isExpanded = this.dataset.expanded === 'true'; | |
| this.dataset.expanded = isExpanded ? 'false' : 'true'; | |
| if (!isExpanded) { | |
| this.classList.add('expanded'); | |
| this.querySelector('.expand-hint').textContent = 'Click to collapse'; | |
| } else { | |
| this.classList.remove('expanded'); | |
| this.querySelector('.expand-hint').textContent = 'Click to expand/collapse'; | |
| } | |
| }); | |
| }); | |
| } | |
| function showStage(stage) { | |
| document.querySelectorAll('.stage-panel').forEach(p => p.classList.remove('active')); | |
| const panel = document.getElementById('stagePanel' + stage); | |
| if (panel) panel.classList.add('active'); | |
| renderEntriesForStage(stage, document.getElementById('searchInput').value); | |
| updateSearch(); | |
| } | |
| function updateSearch() { | |
| const query = document.getElementById('searchInput').value; | |
| const activePanel = document.querySelector('.stage-panel.active'); | |
| let activeStage = 1; | |
| if (activePanel) { | |
| activeStage = parseInt(activePanel.id.replace('stagePanel', '')); | |
| } | |
| renderEntriesForStage(activeStage, query); | |
| let totalVisible = 0; | |
| if (query) { | |
| for (let s = 1; s <= 7; s++) { | |
| const entries = allEntries.filter(e => e.stage === s); | |
| const q = query.toLowerCase(); | |
| totalVisible += entries.filter(e => | |
| e.title.toLowerCase().includes(q) || | |
| e.authors.toLowerCase().includes(q) || | |
| e.abstract.toLowerCase().includes(q) || | |
| e.source.toLowerCase().includes(q) | |
| ).length; | |
| } | |
| document.getElementById('resultsCount').textContent = | |
| `Found ${totalVisible} matching entries across all stages.`; | |
| } else { | |
| document.getElementById('resultsCount').textContent = ''; | |
| } | |
| } | |
| function buildSynthTable() { | |
| const table = document.getElementById('synthTable'); | |
| table.innerHTML = ` | |
| <thead><tr><th>Connection</th><th>Stage A</th><th>Stage B</th><th>Synthesis</th></tr></thead> | |
| <tbody>${synthRows.map(r => ` | |
| <tr> | |
| <td><span class="conn-arrow">${r.conn}</span></td> | |
| <td>${r.a}</td> | |
| <td>${r.b}</td> | |
| <td>${r.synth}</td> | |
| </tr>`).join('')}</tbody>`; | |
| } | |
| function buildAuthTable() { | |
| const table = document.getElementById('authTable'); | |
| table.innerHTML = ` | |
| <thead><tr><th>Stage</th><th>CP</th><th>SG</th><th>DA</th><th>SR</th><th>LF</th></tr></thead> | |
| <tbody>${authMatrix.map(r => ` | |
| <tr> | |
| <td style="text-align:left;">${r.stage}</td> | |
| <td>${r.cp==='β'?'<span class="dot-filled"></span>':'<span class="dot-empty"></span>'}</td> | |
| <td>${r.sg==='β'?'<span class="dot-filled"></span>':'<span class="dot-empty"></span>'}</td> | |
| <td>${r.da==='β'?'<span class="dot-filled"></span>':'<span class="dot-empty"></span>'}</td> | |
| <td>${r.sr==='β'?'<span class="dot-filled"></span>':'<span class="dot-empty"></span>'}</td> | |
| <td>${r.lf==='β'?'<span class="dot-filled"></span>':'<span class="dot-empty"></span>'}</td> | |
| </tr>`).join('')}</tbody> | |
| <tfoot><tr><td colspan="6" style="text-align:left;font-size:0.7rem;color:var(--text3);padding-top:8px;"> | |
| β = primary relevance | β = secondary relevance | | |
| CP=Constitutional/Procedural SG=Sovereign/Governance DA=Digital/Algorithmic SR=Scientific/Research LF=Legal/Framework | |
| </td></tr></tfoot>`; | |
| } | |
| function initParticles() { | |
| const container = document.getElementById('particles'); | |
| const colors = ['#5b9bd5', '#3da5d9', '#d4a853', '#9b7ed8', '#3dbbb0', '#e07a5f', '#2ecc71', | |
| '#e8738a']; | |
| for (let i = 0; i < 55; i++) { | |
| const particle = document.createElement('div'); | |
| particle.classList.add('particle'); | |
| const size = Math.random() * 3 + 1.5; | |
| particle.style.width = size + 'px'; | |
| particle.style.height = size + 'px'; | |
| particle.style.left = Math.random() * 100 + '%'; | |
| particle.style.background = colors[Math.floor(Math.random() * colors.length)]; | |
| particle.style.animationDuration = (Math.random() * 18 + 10) + 's'; | |
| particle.style.animationDelay = (Math.random() * 16) + 's'; | |
| container.appendChild(particle); | |
| } | |
| } | |
| function initScrollTop() { | |
| const btn = document.getElementById('scrollTopBtn'); | |
| window.addEventListener('scroll', () => { | |
| if (window.scrollY > 500) { | |
| btn.classList.add('visible'); | |
| } else { | |
| btn.classList.remove('visible'); | |
| } | |
| }); | |
| btn.addEventListener('click', () => { | |
| window.scrollTo({ top: 0, behavior: 'smooth' }); | |
| }); | |
| } | |
| function escapeHTML(str) { | |
| const div = document.createElement('div'); | |
| div.textContent = str; | |
| return div.innerHTML; | |
| } | |
| document.getElementById('searchInput').addEventListener('input', updateSearch); | |
| buildStageNav(); | |
| buildStagePanels(); | |
| buildSynthTable(); | |
| buildAuthTable(); | |
| initParticles(); | |
| initScrollTop(); | |
| showStage(1); | |
| console.log('π Dense Bibliography Interactive Site Ready'); | |
| console.log(' Total entries loaded:', allEntries.length); | |
| console.log(' 7 Stages | Cross-Stage Synthesis | Authority Matrix'); | |
| console.log(' π¨ Motion-rich Β· Accessible Β· Searchable'); | |
| })(); | |
| </script> | |
| </body> | |
| </html> |