Update index.html
Browse files- index.html +925 -387
index.html
CHANGED
|
@@ -1,395 +1,933 @@
|
|
| 1 |
<!DOCTYPE html>
|
| 2 |
<html lang="en">
|
| 3 |
<head>
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
|
| 124 |
-
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
|
| 166 |
-
|
| 167 |
-
|
| 168 |
-
|
| 169 |
-
|
| 170 |
-
|
| 171 |
-
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
|
| 175 |
-
|
| 176 |
-
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
|
| 180 |
-
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
|
| 192 |
-
|
| 193 |
-
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
|
| 197 |
-
|
| 198 |
-
|
| 199 |
-
|
| 200 |
-
|
| 201 |
-
|
| 202 |
-
@media (max-width: 600px) {
|
| 203 |
-
body { padding: 1rem 0.3rem; }
|
| 204 |
-
h1 { font-size: 1.5rem; }
|
| 205 |
-
.card { padding: 1rem; }
|
| 206 |
-
}
|
| 207 |
-
</style>
|
| 208 |
</head>
|
| 209 |
<body>
|
| 210 |
-
|
| 211 |
-
|
| 212 |
-
|
| 213 |
-
|
| 214 |
-
|
| 215 |
-
|
| 216 |
-
<
|
| 217 |
-
|
| 218 |
-
|
| 219 |
-
|
| 220 |
-
|
| 221 |
-
|
| 222 |
-
<div class="
|
| 223 |
-
|
| 224 |
-
|
| 225 |
-
|
| 226 |
-
|
| 227 |
-
|
| 228 |
-
|
| 229 |
-
|
| 230 |
-
|
| 231 |
-
|
| 232 |
-
|
| 233 |
-
|
| 234 |
-
|
| 235 |
-
|
| 236 |
-
|
| 237 |
-
|
| 238 |
-
|
| 239 |
-
|
| 240 |
-
|
| 241 |
-
|
| 242 |
-
|
| 243 |
-
|
| 244 |
-
|
| 245 |
-
|
| 246 |
-
<
|
| 247 |
-
<
|
| 248 |
-
|
| 249 |
-
|
| 250 |
-
|
| 251 |
-
|
| 252 |
-
|
| 253 |
-
|
| 254 |
-
|
| 255 |
-
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
| 261 |
-
|
| 262 |
-
|
| 263 |
-
|
| 264 |
-
|
| 265 |
-
|
| 266 |
-
|
| 267 |
-
|
| 268 |
-
|
| 269 |
-
|
| 270 |
-
|
| 271 |
-
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
| 275 |
-
|
| 276 |
-
|
| 277 |
-
|
| 278 |
-
|
| 279 |
-
|
| 280 |
-
|
| 281 |
-
|
| 282 |
-
|
| 283 |
-
|
| 284 |
-
|
| 285 |
-
|
| 286 |
-
|
| 287 |
-
|
| 288 |
-
|
| 289 |
-
|
| 290 |
-
|
| 291 |
-
|
| 292 |
-
|
| 293 |
-
|
| 294 |
-
|
| 295 |
-
|
| 296 |
-
|
| 297 |
-
|
| 298 |
-
|
| 299 |
-
|
| 300 |
-
|
| 301 |
-
|
| 302 |
-
|
| 303 |
-
|
| 304 |
-
|
| 305 |
-
|
| 306 |
-
|
| 307 |
-
|
| 308 |
-
|
| 309 |
-
|
| 310 |
-
|
| 311 |
-
|
| 312 |
-
|
| 313 |
-
|
| 314 |
-
|
| 315 |
-
|
| 316 |
-
|
| 317 |
-
|
| 318 |
-
|
| 319 |
-
|
| 320 |
-
|
| 321 |
-
|
| 322 |
-
|
| 323 |
-
|
| 324 |
-
|
| 325 |
-
|
| 326 |
-
|
| 327 |
-
|
| 328 |
-
|
| 329 |
-
|
| 330 |
-
|
| 331 |
-
|
| 332 |
-
|
| 333 |
-
|
| 334 |
-
|
| 335 |
-
|
| 336 |
-
|
| 337 |
-
|
| 338 |
-
|
| 339 |
-
|
| 340 |
-
|
| 341 |
-
|
| 342 |
-
|
| 343 |
-
|
| 344 |
-
|
| 345 |
-
|
| 346 |
-
|
| 347 |
-
|
| 348 |
-
|
| 349 |
-
|
| 350 |
-
|
| 351 |
-
|
| 352 |
-
|
| 353 |
-
|
| 354 |
-
|
| 355 |
-
|
| 356 |
-
|
| 357 |
-
|
| 358 |
-
|
| 359 |
-
|
| 360 |
-
|
| 361 |
-
|
| 362 |
-
|
| 363 |
-
|
| 364 |
-
|
| 365 |
-
|
| 366 |
-
|
| 367 |
-
|
| 368 |
-
|
| 369 |
-
|
| 370 |
-
|
| 371 |
-
|
| 372 |
-
|
| 373 |
-
|
| 374 |
-
|
| 375 |
-
|
| 376 |
-
|
| 377 |
-
|
| 378 |
-
|
| 379 |
-
|
| 380 |
-
|
| 381 |
-
|
| 382 |
-
|
| 383 |
-
|
| 384 |
-
|
| 385 |
-
|
| 386 |
-
|
| 387 |
-
|
| 388 |
-
|
| 389 |
-
|
| 390 |
-
|
| 391 |
-
|
| 392 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 393 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 394 |
</body>
|
| 395 |
</html>
|
|
|
|
| 1 |
<!DOCTYPE html>
|
| 2 |
<html lang="en">
|
| 3 |
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>PSDLEF Research Portfolio — Complete Document Archive</title>
|
| 7 |
+
<style>
|
| 8 |
+
:root{
|
| 9 |
+
--bg:#0a0e14; --bg2:#11161f; --bg3:#181f2a; --card:#131a24; --card2:#1a2230;
|
| 10 |
+
--text:#e8ecf1; --text2:#9aa5b5; --text3:#5d6b7d;
|
| 11 |
+
--accent:#4dabf7; --accent2:#69db7c; --warn:#ffa94d; --danger:#ff6b6b; --purple:#da77f2; --gold:#fcc419;
|
| 12 |
+
--border:#222b3a; --border2:#2d3a4d;
|
| 13 |
+
--font:'Inter','SF Pro Display',system-ui,-apple-system,sans-serif;
|
| 14 |
+
--mono:'JetBrains Mono','Fira Code',monospace;
|
| 15 |
+
--radius:10px; --radius-lg:14px; --radius-xl:20px;
|
| 16 |
+
--shadow:0 8px 32px rgba(0,0,0,.5); --shadow-sm:0 2px 8px rgba(0,0,0,.35);
|
| 17 |
+
--transition:.3s cubic-bezier(.4,0,.2,1);
|
| 18 |
+
}
|
| 19 |
+
*{margin:0;padding:0;box-sizing:border-box}
|
| 20 |
+
html{scroll-behavior:smooth}
|
| 21 |
+
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;min-height:100vh}
|
| 22 |
+
::selection{background:var(--accent);color:#000}
|
| 23 |
+
::-webkit-scrollbar{width:7px;height:7px}
|
| 24 |
+
::-webkit-scrollbar-track{background:var(--bg2)}
|
| 25 |
+
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}
|
| 26 |
+
::-webkit-scrollbar-thumb:hover{background:var(--text3)}
|
| 27 |
+
|
| 28 |
+
.app{display:flex;min-height:100vh}
|
| 29 |
+
.sidebar{width:300px;min-width:300px;background:var(--bg2);border-right:1px solid var(--border);position:fixed;top:0;left:0;bottom:0;z-index:100;display:flex;flex-direction:column;transition:transform var(--transition)}
|
| 30 |
+
.sidebar-header{padding:26px 22px 20px;border-bottom:1px solid var(--border)}
|
| 31 |
+
.sidebar-header h1{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;line-height:1.25}
|
| 32 |
+
.sidebar-header h1 span{color:var(--accent)}
|
| 33 |
+
.sidebar-header .sub{font-size:.7rem;color:var(--text3);margin-top:5px;letter-spacing:.06em;text-transform:uppercase;font-weight:500}
|
| 34 |
+
.sidebar-header .badge-row{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
|
| 35 |
+
.sidebar-nav{flex:1;overflow-y:auto;padding:14px 10px}
|
| 36 |
+
.sidebar-nav .nav-group{margin-bottom:14px}
|
| 37 |
+
.sidebar-nav .nav-group-label{font-size:.62rem;color:var(--text3);text-transform:uppercase;letter-spacing:.12em;padding:8px 10px 5px;font-weight:700}
|
| 38 |
+
.nav-link{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;color:var(--text2);font-size:.84rem;font-weight:500;cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:all .18s;text-decoration:none}
|
| 39 |
+
.nav-link:hover{background:var(--bg3);color:var(--text)}
|
| 40 |
+
.nav-link.active{background:var(--accent);color:#0a0e14;box-shadow:0 2px 14px rgba(77,171,247,.25);font-weight:600}
|
| 41 |
+
.nav-link .icon{font-size:1rem;width:20px;text-align:center;flex-shrink:0}
|
| 42 |
+
.nav-link .count{font-size:.6rem;background:var(--bg3);color:var(--text3);padding:1px 7px;border-radius:10px;font-weight:700;margin-left:auto}
|
| 43 |
+
.nav-link.active .count{background:rgba(0,0,0,.15);color:#0a0e14}
|
| 44 |
+
.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border);font-size:.68rem;color:var(--text3);line-height:1.6}
|
| 45 |
+
.sidebar-footer .status-dot{display:inline-block;width:6px;height:6px;background:var(--accent2);border-radius:50%;margin-right:6px;animation:pulse 2.5s infinite}
|
| 46 |
+
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
|
| 47 |
+
|
| 48 |
+
.main{margin-left:300px;flex:1;min-width:0;display:flex;flex-direction:column}
|
| 49 |
+
.topbar{position:sticky;top:0;z-index:50;background:rgba(10,14,20,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);padding:12px 28px;display:flex;align-items:center;gap:16px}
|
| 50 |
+
.topbar .breadcrumb{font-size:.76rem;color:var(--text3);display:flex;gap:6px;align-items:center}
|
| 51 |
+
.topbar .breadcrumb span{color:var(--text2)}
|
| 52 |
+
.topbar .breadcrumb .sep{color:var(--text3);opacity:.6}
|
| 53 |
+
.topbar-spacer{flex:1}
|
| 54 |
+
.search-wrap{position:relative}
|
| 55 |
+
.search-input{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:8px 14px 8px 36px;font-size:.8rem;color:var(--text);width:240px;font-family:var(--font);transition:all .25s}
|
| 56 |
+
.search-input:focus{outline:none;border-color:var(--accent);width:300px;box-shadow:0 0 0 3px rgba(77,171,247,.12)}
|
| 57 |
+
.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text3);font-size:.85rem}
|
| 58 |
+
.filter-btn{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:7px 12px;cursor:pointer;font-size:.78rem;color:var(--text2);transition:all .2s;font-family:var(--font)}
|
| 59 |
+
.filter-btn:hover{border-color:var(--accent);color:var(--text)}
|
| 60 |
+
.filter-btn.active{background:var(--accent);color:#0a0e14;border-color:var(--accent);font-weight:600}
|
| 61 |
+
.hamburger{display:none;background:none;border:none;color:var(--text);font-size:1.3rem;cursor:pointer;padding:4px}
|
| 62 |
+
|
| 63 |
+
.content{padding:28px 36px 80px;max-width:1200px;width:100%;margin:0 auto}
|
| 64 |
+
.section-page{display:none;animation:fadeIn .4s ease}
|
| 65 |
+
.section-page.active{display:block}
|
| 66 |
+
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
|
| 67 |
+
|
| 68 |
+
h1.page-title{font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:6px}
|
| 69 |
+
h2.section-heading{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;margin:28px 0 12px;color:var(--text);display:flex;align-items:center;gap:10px}
|
| 70 |
+
h3.sub-heading{font-size:.95rem;font-weight:600;margin:20px 0 8px;color:var(--text2)}
|
| 71 |
+
p.lead{font-size:1rem;color:var(--text2);line-height:1.7;margin-bottom:18px}
|
| 72 |
+
p{color:var(--text2);font-size:.88rem;line-height:1.7;margin-bottom:12px}
|
| 73 |
+
a{color:var(--accent);text-decoration:none}
|
| 74 |
+
a:hover{text-decoration:underline}
|
| 75 |
+
|
| 76 |
+
.tag{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 9px;border-radius:20px;margin-right:5px;margin-bottom:5px;white-space:nowrap}
|
| 77 |
+
.tag.accent{background:rgba(77,171,247,.12);color:var(--accent)}
|
| 78 |
+
.tag.green{background:rgba(105,219,124,.12);color:var(--accent2)}
|
| 79 |
+
.tag.orange{background:rgba(255,169,77,.12);color:var(--warn)}
|
| 80 |
+
.tag.purple{background:rgba(218,119,242,.12);color:var(--purple)}
|
| 81 |
+
.tag.red{background:rgba(255,107,107,.12);color:var(--danger)}
|
| 82 |
+
.tag.gold{background:rgba(252,196,25,.12);color:var(--gold)}
|
| 83 |
+
.tag.gray{background:var(--bg3);color:var(--text3)}
|
| 84 |
+
|
| 85 |
+
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;margin-bottom:16px;box-shadow:var(--shadow-sm);transition:transform .2s,border-color .2s}
|
| 86 |
+
.card:hover{border-color:var(--border2)}
|
| 87 |
+
.card.highlight{border-left:3px solid var(--accent)}
|
| 88 |
+
.card.danger{border-left:3px solid var(--danger)}
|
| 89 |
+
.card.success{border-left:3px solid var(--accent2)}
|
| 90 |
+
.card.warn{border-left:3px solid var(--warn)}
|
| 91 |
+
.card.purple{border-left:3px solid var(--purple)}
|
| 92 |
+
.card.gold{border-left:3px solid var(--gold)}
|
| 93 |
+
.card .card-title{font-size:.9rem;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:8px}
|
| 94 |
+
.card .card-meta{font-size:.72rem;color:var(--text3);margin-bottom:10px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
|
| 95 |
+
.card .card-desc{font-size:.82rem;color:var(--text2);line-height:1.65;margin:0}
|
| 96 |
+
.card .card-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
|
| 97 |
+
|
| 98 |
+
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;font-size:.76rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg3);color:var(--text2);transition:all .2s;font-family:var(--font);text-decoration:none}
|
| 99 |
+
.btn:hover{border-color:var(--accent);color:var(--text);background:var(--card2)}
|
| 100 |
+
.btn.primary{background:var(--accent);color:#0a0e14;border-color:var(--accent)}
|
| 101 |
+
.btn.primary:hover{background:#339af0}
|
| 102 |
+
.btn.small{padding:5px 10px;font-size:.68rem}
|
| 103 |
+
|
| 104 |
+
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin:18px 0}
|
| 105 |
+
.doc-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;transition:all .25s;cursor:pointer;position:relative;overflow:hidden}
|
| 106 |
+
.doc-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}
|
| 107 |
+
.doc-card .doc-type{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:6px}
|
| 108 |
+
.doc-card .doc-title{font-size:.86rem;font-weight:700;color:var(--text);margin-bottom:6px;line-height:1.35}
|
| 109 |
+
.doc-card .doc-meta{font-size:.68rem;color:var(--text3);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}
|
| 110 |
+
.doc-card .doc-desc{font-size:.76rem;color:var(--text2);line-height:1.55;margin:0}
|
| 111 |
+
.doc-card .doc-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:10px}
|
| 112 |
+
.doc-card .doc-status{position:absolute;top:12px;right:12px;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:10px}
|
| 113 |
+
.status-draft{background:rgba(255,169,77,.15);color:var(--warn)}
|
| 114 |
+
.status-filed{background:rgba(105,219,124,.15);color:var(--accent2)}
|
| 115 |
+
.status-pending{background:rgba(77,171,247,.15);color:var(--accent)}
|
| 116 |
+
.status-published{background:rgba(252,196,25,.15);color:var(--gold)}
|
| 117 |
+
.status-withdrawn{background:rgba(255,107,107,.15);color:var(--danger)}
|
| 118 |
+
|
| 119 |
+
.timeline{position:relative;padding-left:28px;margin:18px 0}
|
| 120 |
+
.timeline::before{content:'';position:absolute;left:8px;top:4px;bottom:4px;width:2px;background:var(--border2);border-radius:2px}
|
| 121 |
+
.timeline-item{position:relative;margin-bottom:20px;padding-left:16px}
|
| 122 |
+
.timeline-item::before{content:'';position:absolute;left:-24px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--bg3);border:2px solid var(--border2);transition:all .3s}
|
| 123 |
+
.timeline-item.active::before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px rgba(77,171,247,.4)}
|
| 124 |
+
.timeline-item.completed::before{background:var(--accent2);border-color:var(--accent2)}
|
| 125 |
+
.timeline-item .tl-date{font-size:.65rem;color:var(--text3);font-weight:600;letter-spacing:.04em;margin-bottom:3px}
|
| 126 |
+
.timeline-item .tl-title{font-size:.84rem;font-weight:700;color:var(--text);margin-bottom:3px}
|
| 127 |
+
.timeline-item .tl-desc{font-size:.76rem;color:var(--text2);line-height:1.5}
|
| 128 |
+
|
| 129 |
+
.table-wrap{overflow-x:auto;margin:16px 0;border-radius:var(--radius);border:1px solid var(--border)}
|
| 130 |
+
table{width:100%;border-collapse:collapse;font-size:.78rem}
|
| 131 |
+
thead{background:var(--bg2)}
|
| 132 |
+
th{padding:11px 13px;text-align:left;font-weight:600;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text2);border-bottom:1px solid var(--border)}
|
| 133 |
+
td{padding:10px 13px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:top}
|
| 134 |
+
tr:last-child td{border-bottom:none}
|
| 135 |
+
tr:hover td{background:rgba(77,171,247,.04)}
|
| 136 |
+
|
| 137 |
+
.bib-entry{display:flex;gap:14px;padding:14px 18px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:10px;transition:all .2s}
|
| 138 |
+
.bib-entry:hover{border-color:var(--border2)}
|
| 139 |
+
.bib-num{font-family:var(--mono);font-size:.72rem;color:var(--text3);font-weight:600;min-width:28px;text-align:right;flex-shrink:0;padding-top:2px}
|
| 140 |
+
.bib-content{flex:1}
|
| 141 |
+
.bib-content p{margin:0;font-size:.8rem;color:var(--text2);line-height:1.6}
|
| 142 |
+
.bib-content .bib-meta{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}
|
| 143 |
+
|
| 144 |
+
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}
|
| 145 |
+
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;text-align:center;transition:all .2s}
|
| 146 |
+
.stat-card:hover{border-color:var(--border2)}
|
| 147 |
+
.stat-card .stat-num{font-size:1.6rem;font-weight:800;font-family:var(--mono);color:var(--accent);line-height:1}
|
| 148 |
+
.stat-card .stat-label{font-size:.68rem;color:var(--text3);margin-top:6px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}
|
| 149 |
+
|
| 150 |
+
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}
|
| 151 |
+
.filter-chip{padding:5px 12px;border-radius:20px;font-size:.72rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg3);color:var(--text2);transition:all .2s;font-family:var(--font)}
|
| 152 |
+
.filter-chip:hover{border-color:var(--accent);color:var(--text)}
|
| 153 |
+
.filter-chip.active{background:var(--accent);color:#0a0e14;border-color:var(--accent)}
|
| 154 |
+
|
| 155 |
+
.collapsible{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:12px}
|
| 156 |
+
.collapsible-header{padding:14px 18px;background:var(--card);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}
|
| 157 |
+
.collapsible-header:hover{background:var(--card2)}
|
| 158 |
+
.collapsible-header h4{font-size:.85rem;font-weight:700;color:var(--text)}
|
| 159 |
+
.collapsible-header .chevron{transition:transform .3s;color:var(--text3);font-size:.8rem}
|
| 160 |
+
.collapsible.open .chevron{transform:rotate(180deg)}
|
| 161 |
+
.collapsible-body{max-height:0;overflow:hidden;transition:max-height .35s ease;padding:0 18px;background:var(--bg2)}
|
| 162 |
+
.collapsible.open .collapsible-body{max-height:2000px;padding:14px 18px 18px}
|
| 163 |
+
|
| 164 |
+
.callout{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 22px;margin:16px 0;display:flex;gap:12px;align-items:flex-start}
|
| 165 |
+
.callout .callout-icon{font-size:1.2rem;flex-shrink:0;margin-top:2px}
|
| 166 |
+
.callout.accent{border-left:3px solid var(--accent)}
|
| 167 |
+
.callout.danger{border-left:3px solid var(--danger)}
|
| 168 |
+
.callout.success{border-left:3px solid var(--accent2)}
|
| 169 |
+
.callout .callout-content p{margin:0;font-size:.82rem}
|
| 170 |
+
|
| 171 |
+
.skeleton{background:linear-gradient(90deg,var(--bg2) 25%,var(--bg3) 50%,var(--bg2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px;margin-bottom:10px}
|
| 172 |
+
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
|
| 173 |
+
.skeleton.title{height:32px;width:55%}
|
| 174 |
+
.skeleton.text{height:12px;width:88%}
|
| 175 |
+
.skeleton.text.short{width:55%}
|
| 176 |
+
.skeleton.card{height:100px}
|
| 177 |
+
|
| 178 |
+
@media(max-width:960px){
|
| 179 |
+
.sidebar{transform:translateX(-100%)}
|
| 180 |
+
.sidebar.open{transform:translateX(0)}
|
| 181 |
+
.main{margin-left:0}
|
| 182 |
+
.content{padding:18px 20px 60px}
|
| 183 |
+
.topbar{padding:10px 16px}
|
| 184 |
+
.hamburger{display:block}
|
| 185 |
+
.stats-row{grid-template-columns:repeat(2,1fr)}
|
| 186 |
+
.doc-grid{grid-template-columns:1fr}
|
| 187 |
+
.search-input{width:160px}
|
| 188 |
+
.search-input:focus{width:200px}
|
| 189 |
+
}
|
| 190 |
+
@media(max-width:600px){
|
| 191 |
+
.stats-row{grid-template-columns:1fr}
|
| 192 |
+
}
|
| 193 |
+
@media print{
|
| 194 |
+
.sidebar,.topbar,.hamburger{display:none!important}
|
| 195 |
+
.main{margin-left:0}
|
| 196 |
+
.content{padding:0}
|
| 197 |
+
.section-page{display:block!important}
|
| 198 |
+
.doc-card{break-inside:avoid}
|
| 199 |
+
}
|
| 200 |
+
</style>
|
| 201 |
+
<base target="_blank">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 202 |
</head>
|
| 203 |
<body>
|
| 204 |
+
<div class="app">
|
| 205 |
+
<aside class="sidebar" id="sidebar">
|
| 206 |
+
<div class="sidebar-header">
|
| 207 |
+
<h1><span>PSDLEF</span> Research Portfolio</h1>
|
| 208 |
+
<div class="sub">Complete Document Archive</div>
|
| 209 |
+
<div class="badge-row">
|
| 210 |
+
<span class="tag accent">v2.0</span>
|
| 211 |
+
<span class="tag gray">Sept 2026</span>
|
| 212 |
+
</div>
|
| 213 |
+
</div>
|
| 214 |
+
<nav class="sidebar-nav" id="sidebarNav">
|
| 215 |
+
<div class="nav-group">
|
| 216 |
+
<div class="nav-group-label">Overview</div>
|
| 217 |
+
<button class="nav-link active" data-section="dashboard"><span class="icon">◆</span>Dashboard</button>
|
| 218 |
+
<button class="nav-link" data-section="about"><span class="icon">ℹ</span>About PSDLEF</button>
|
| 219 |
+
</div>
|
| 220 |
+
<div class="nav-group">
|
| 221 |
+
<div class="nav-group-label">Legal Filings</div>
|
| 222 |
+
<button class="nav-link" data-section="petitions"><span class="icon">📜</span>Petitions <span class="count">4</span></button>
|
| 223 |
+
<button class="nav-link" data-section="motions"><span class="icon">⚖</span>Motions <span class="count">6</span></button>
|
| 224 |
+
<button class="nav-link" data-section="briefs"><span class="icon">📑</span>Briefs & Memos <span class="count">5</span></button>
|
| 225 |
+
</div>
|
| 226 |
+
<div class="nav-group">
|
| 227 |
+
<div class="nav-group-label">Research</div>
|
| 228 |
+
<button class="nav-link" data-section="frameworks"><span class="icon">🏗</span>Frameworks <span class="count">3</span></button>
|
| 229 |
+
<button class="nav-link" data-section="exhibits"><span class="icon">📊</span>Exhibits <span class="count">4</span></button>
|
| 230 |
+
<button class="nav-link" data-section="bibliography"><span class="icon">📚</span>Bibliography <span class="count">24</span></button>
|
| 231 |
+
</div>
|
| 232 |
+
<div class="nav-group">
|
| 233 |
+
<div class="nav-group-label">Projects</div>
|
| 234 |
+
<button class="nav-link" data-section="housing"><span class="icon">🏠</span>Solar-Microgrid Housing</button>
|
| 235 |
+
<button class="nav-link" data-section="ai-advocacy"><span class="icon">🤖</span>AI Advocacy Tools</button>
|
| 236 |
+
<button class="nav-link" data-section="genomics"><span class="icon">🧬</span>Genomic-SEM Research</button>
|
| 237 |
+
</div>
|
| 238 |
+
<div class="nav-group">
|
| 239 |
+
<div class="nav-group-label">Administration</div>
|
| 240 |
+
<button class="nav-link" data-section="timeline"><span class="icon">📅</span>Project Timeline</button>
|
| 241 |
+
<button class="nav-link" data-section="contacts"><span class="icon">✉</span>Contacts & Links</button>
|
| 242 |
+
</div>
|
| 243 |
+
</nav>
|
| 244 |
+
<div class="sidebar-footer">
|
| 245 |
+
<span class="status-dot"></span>Archive Active · 46 Documents<br>
|
| 246 |
+
<span style="color:var(--text3)">Pro Se Disability Litigant Empowerment Foundation</span>
|
| 247 |
+
</div>
|
| 248 |
+
</aside>
|
| 249 |
+
|
| 250 |
+
<div class="main">
|
| 251 |
+
<header class="topbar">
|
| 252 |
+
<button class="hamburger" id="hamburger">☰</button>
|
| 253 |
+
<div class="breadcrumb">
|
| 254 |
+
<span>PSDLEF Portfolio</span>
|
| 255 |
+
<span class="sep">›</span>
|
| 256 |
+
<span id="breadcrumbCurrent">Dashboard</span>
|
| 257 |
+
</div>
|
| 258 |
+
<div class="topbar-spacer"></div>
|
| 259 |
+
<div class="search-wrap">
|
| 260 |
+
<span class="search-icon">🔍</span>
|
| 261 |
+
<input type="text" class="search-input" id="searchInput" placeholder="Search documents..." autocomplete="off">
|
| 262 |
+
</div>
|
| 263 |
+
</header>
|
| 264 |
+
<div class="content">
|
| 265 |
+
<div id="loadingSkeleton" style="display:none">
|
| 266 |
+
<div class="skeleton title"></div>
|
| 267 |
+
<div class="skeleton text"></div>
|
| 268 |
+
<div class="skeleton text short"></div>
|
| 269 |
+
<div class="skeleton card"></div>
|
| 270 |
+
</div>
|
| 271 |
+
<div id="sectionContainer"></div>
|
| 272 |
+
</div>
|
| 273 |
+
</div>
|
| 274 |
+
</div>
|
| 275 |
+
<script>
|
| 276 |
+
(function(){
|
| 277 |
+
'use strict';
|
| 278 |
+
|
| 279 |
+
function renderDocCard(d){
|
| 280 |
+
const statusClass = 'status-' + (d.status || 'draft');
|
| 281 |
+
const tagsHtml = (d.tags || []).map(t => `<span class="tag accent">${t}</span>`).join('');
|
| 282 |
+
const filterAttr = d.filter ? `data-filter="${d.filter}"` : '';
|
| 283 |
+
return `<div class="doc-card" ${filterAttr}>
|
| 284 |
+
<span class="doc-status ${statusClass}">${d.status || 'draft'}</span>
|
| 285 |
+
<div class="doc-type">${d.type}</div>
|
| 286 |
+
<div class="doc-title">${d.title}</div>
|
| 287 |
+
<div class="doc-meta"><span>📅 ${d.date}</span></div>
|
| 288 |
+
<p class="doc-desc">${d.desc}</p>
|
| 289 |
+
<div class="doc-tags">${tagsHtml}</div>
|
| 290 |
+
</div>`;
|
| 291 |
+
}
|
| 292 |
+
|
| 293 |
+
function renderBib(entries){
|
| 294 |
+
return entries.map(e => {
|
| 295 |
+
const tagsHtml = (e.tags || []).map(t => `<span class="tag gray">${t}</span>`).join('');
|
| 296 |
+
const filterAttr = e.filter ? `data-filter="${e.filter}"` : '';
|
| 297 |
+
return `<div class="bib-entry" ${filterAttr}>
|
| 298 |
+
<div class="bib-num">${e.num}</div>
|
| 299 |
+
<div class="bib-content">
|
| 300 |
+
<p>${e.text}</p>
|
| 301 |
+
<div class="bib-meta">${tagsHtml}</div>
|
| 302 |
+
</div>
|
| 303 |
+
</div>`;
|
| 304 |
+
}).join('');
|
| 305 |
+
}
|
| 306 |
+
|
| 307 |
+
function initFilters(gridId){
|
| 308 |
+
const grid = document.getElementById(gridId);
|
| 309 |
+
if(!grid) return;
|
| 310 |
+
const chips = grid.parentElement.querySelectorAll('.filter-chip');
|
| 311 |
+
chips.forEach(chip => {
|
| 312 |
+
chip.addEventListener('click', () => {
|
| 313 |
+
chips.forEach(c => c.classList.remove('active'));
|
| 314 |
+
chip.classList.add('active');
|
| 315 |
+
const filter = chip.dataset.filter;
|
| 316 |
+
grid.querySelectorAll('.doc-card').forEach(card => {
|
| 317 |
+
card.style.display = (filter === 'all' || card.dataset.filter === filter) ? '' : 'none';
|
| 318 |
+
});
|
| 319 |
+
});
|
| 320 |
+
});
|
| 321 |
+
}
|
| 322 |
+
|
| 323 |
+
function initBibFilters(){
|
| 324 |
+
const container = document.getElementById('bibContainer');
|
| 325 |
+
if(!container) return;
|
| 326 |
+
const chips = container.parentElement.querySelectorAll('.filter-chip');
|
| 327 |
+
chips.forEach(chip => {
|
| 328 |
+
chip.addEventListener('click', () => {
|
| 329 |
+
chips.forEach(c => c.classList.remove('active'));
|
| 330 |
+
chip.classList.add('active');
|
| 331 |
+
const filter = chip.dataset.filter;
|
| 332 |
+
container.querySelectorAll('.bib-entry').forEach(entry => {
|
| 333 |
+
entry.style.display = (filter === 'all' || entry.dataset.filter === filter) ? '' : 'none';
|
| 334 |
+
});
|
| 335 |
+
});
|
| 336 |
+
});
|
| 337 |
+
}
|
| 338 |
+
|
| 339 |
+
const sections = {};
|
| 340 |
+
|
| 341 |
+
sections.dashboard = {
|
| 342 |
+
title: 'Dashboard',
|
| 343 |
+
render: () => `
|
| 344 |
+
<h1 class="page-title">PSDLEF Research Portfolio</h1>
|
| 345 |
+
<p class="lead">Complete archive of legal filings, research frameworks, exhibits, and project documentation for the Pro Se Disability Litigant Empowerment Foundation.</p>
|
| 346 |
+
<div class="stats-row">
|
| 347 |
+
<div class="stat-card"><div class="stat-num">46</div><div class="stat-label">Total Documents</div></div>
|
| 348 |
+
<div class="stat-card"><div class="stat-num" style="color:var(--accent2)">15</div><div class="stat-label">Legal Filings</div></div>
|
| 349 |
+
<div class="stat-card"><div class="stat-num" style="color:var(--purple)">11</div><div class="stat-label">Research Papers</div></div>
|
| 350 |
+
<div class="stat-card"><div class="stat-num" style="color:var(--warn)">4</div><div class="stat-label">Active Projects</div></div>
|
| 351 |
+
</div>
|
| 352 |
+
<h2 class="section-heading">📌 Recently Updated</h2>
|
| 353 |
+
<div class="doc-grid">
|
| 354 |
+
${renderDocCard({type:'Framework',title:'Four-Level Interoperability Framework (HIMSS)',date:'Sept 2026',status:'published',tags:['HIMSS','Interoperability','SIL'],desc:'Re-specifies PSDLEF litigant-services architecture through HIMSS four-level interoperability theory. Introduces Semantic Interoperability Layer (SIL).'})}
|
| 355 |
+
${renderDocCard({type:'Research Exhibit',title:'SSA Deaths While Pending — Administrative Recidivism',date:'Aug 2026',status:'filed',tags:['SSA','Deaths','Recidivism','Exhibit'],desc:'Litigation-support exhibit documenting 30,000 deaths-while-pending in FY2023, 60–65% federal court remand rates, and the prison-industrial feedback loop.'})}
|
| 356 |
+
${renderDocCard({type:'Petition',title:'Mandamus Petition — Expedited Adjudication',date:'July 2026',status:'pending',tags:['Mandamus','APA','Due Process'],desc:'Petition for writ of mandamus compelling SSA to adjudicate pending disability claims within statutorily reasonable timeframes.'})}
|
| 357 |
+
${renderDocCard({type:'Framework',title:'PSDLEF Perpetual Purpose Trust Charter',date:'June 2026',status:'published',tags:['Trust','Governance','Algorithmic Capital'],desc:'Charter establishing PSDLEF as a perpetual purpose trust integrating algorithmic capital stewardship with sustainable municipal investment.'})}
|
| 358 |
+
</div>
|
| 359 |
+
<h2 class="section-heading">🎯 Priority Actions</h2>
|
| 360 |
+
<div class="card highlight">
|
| 361 |
+
<div class="card-title">⚡ Build the Semantic Interoperability Layer (SIL)</div>
|
| 362 |
+
<p class="card-desc">The central theoretical gap. SIL translates heterogeneous disability evidence into a claimant-specific, adjudicator-legible representation of functional impairment. Estimated completion: Q4 2026.</p>
|
| 363 |
+
<div class="card-actions">
|
| 364 |
+
<button class="btn primary small" onclick="navigateTo('frameworks')">View Frameworks</button>
|
| 365 |
+
<button class="btn small" onclick="navigateTo('exhibits')">View Exhibits</button>
|
| 366 |
+
</div>
|
| 367 |
+
</div>
|
| 368 |
+
<div class="card warn">
|
| 369 |
+
<div class="card-title">⚠ Adjudicator Engagement Protocol</div>
|
| 370 |
+
<p class="card-desc">Level 4 organizational interoperability requires formal engagement with SSA Office of Hearings Operations (OHO) and federal courts. No institutional home for SIL without this.</p>
|
| 371 |
+
</div>
|
| 372 |
+
`
|
| 373 |
+
};
|
| 374 |
+
|
| 375 |
+
sections.about = {
|
| 376 |
+
title: 'About PSDLEF',
|
| 377 |
+
render: () => `
|
| 378 |
+
<h1 class="page-title">About PSDLEF</h1>
|
| 379 |
+
<p class="lead">The Pro Se Disability Litigant Empowerment Foundation (PSDLEF) is a perpetual purpose trust integrating algorithmic capital stewardship, sustainable municipal investment, and AI-assisted legal advocacy for self-represented disability litigants.</p>
|
| 380 |
+
<div class="card highlight">
|
| 381 |
+
<div class="card-title">🎯 Mission Statement</div>
|
| 382 |
+
<p style="margin:0;font-size:.9rem;color:var(--text)">To eliminate the structural barriers that prevent pro se disability claimants from obtaining fair, timely, and accurate adjudication of their Social Security disability claims — through capital innovation, algorithmic transparency, and semantic interoperability.</p>
|
| 383 |
+
</div>
|
| 384 |
+
<h2 class="section-heading">Core Components</h2>
|
| 385 |
+
<div class="doc-grid">
|
| 386 |
+
<div class="doc-card">
|
| 387 |
+
<div class="doc-type">Capital Structure</div>
|
| 388 |
+
<div class="doc-title">Algorithmic Capital Stewardship</div>
|
| 389 |
+
<p class="doc-desc">Perpetual purpose trust architecture with algorithmic governance. Capital deployed across Baltimore solar-microgrid housing portfolio and litigation-support technology.</p>
|
| 390 |
+
<div class="doc-tags"><span class="tag accent">Trust</span><span class="tag green">ESG</span></div>
|
| 391 |
+
</div>
|
| 392 |
+
<div class="doc-card">
|
| 393 |
+
<div class="doc-type">Housing</div>
|
| 394 |
+
<div class="doc-title">Solar-Microgrid Housing Portfolio</div>
|
| 395 |
+
<p class="doc-desc">Baltimore-based affordable housing with integrated solar microgrids. Designed as both investment vehicle and stable housing for disability litigants during prolonged adjudication.</p>
|
| 396 |
+
<div class="doc-tags"><span class="tag green">Housing</span><span class="tag gold">Baltimore</span></div>
|
| 397 |
+
</div>
|
| 398 |
+
<div class="doc-card">
|
| 399 |
+
<div class="doc-type">Technology</div>
|
| 400 |
+
<div class="doc-title">AI-Assisted Legal Advocacy</div>
|
| 401 |
+
<p class="doc-desc">Document generation, evidence mapping, court navigation, and adjudicator-facing semantic interoperability tools. Not a replacement for attorneys — a force multiplier for pro se litigants.</p>
|
| 402 |
+
<div class="doc-tags"><span class="tag purple">AI</span><span class="tag accent">Legal Tech</span></div>
|
| 403 |
+
</div>
|
| 404 |
+
<div class="doc-card">
|
| 405 |
+
<div class="doc-type">Theory</div>
|
| 406 |
+
<div class="doc-title">Semantic Interoperability Layer (SIL)</div>
|
| 407 |
+
<p class="doc-desc">Normative evidence-mapping function translating heterogeneous disability evidence into adjudicator-legible functional impairment representations. Principal theoretical contribution.</p>
|
| 408 |
+
<div class="doc-tags"><span class="tag accent">HIMSS</span><span class="tag purple">SIL</span></div>
|
| 409 |
+
</div>
|
| 410 |
+
</div>
|
| 411 |
+
<h2 class="section-heading">Governance</h2>
|
| 412 |
+
<div class="table-wrap">
|
| 413 |
+
<table>
|
| 414 |
+
<thead><tr><th>Body</th><th>Function</th><th>Composition</th></tr></thead>
|
| 415 |
+
<tbody>
|
| 416 |
+
<tr><td><strong>Board of Trustees</strong></td><td>Fiduciary oversight, capital allocation, strategic direction</td><td>5 members: 2 disability advocates, 1 legal scholar, 1 technologist, 1 community representative</td></tr>
|
| 417 |
+
<tr><td><strong>Scientific Advisory Council</strong></td><td>Research integrity, peer review, methodology validation</td><td>Rotating 7-member panel: biostatisticians, legal informaticists, disability researchers</td></tr>
|
| 418 |
+
<tr><td><strong>Litigant Advocacy Committee</strong></td><td>User voice, accessibility review, equity audit</td><td>Pro se litigants, disability rights attorneys, social workers</td></tr>
|
| 419 |
+
<tr><td><strong>Algorithmic Ethics Panel</strong></td><td>AI bias audit, explainability review, consent protocols</td><td>Computational ethicists, affected community members, privacy experts</td></tr>
|
| 420 |
+
</tbody>
|
| 421 |
+
</table>
|
| 422 |
+
</div>
|
| 423 |
+
`
|
| 424 |
+
};
|
| 425 |
+
|
| 426 |
+
sections.petitions = {
|
| 427 |
+
title: 'Petitions',
|
| 428 |
+
render: () => `
|
| 429 |
+
<h1 class="page-title">Petitions</h1>
|
| 430 |
+
<p class="lead">Formal petitions filed or prepared for filing in federal district courts, courts of appeals, and administrative proceedings.</p>
|
| 431 |
+
<div class="filter-bar">
|
| 432 |
+
<button class="filter-chip active" data-filter="all">All</button>
|
| 433 |
+
<button class="filter-chip" data-filter="mandamus">Mandamus</button>
|
| 434 |
+
<button class="filter-chip" data-filter="apa">APA</button>
|
| 435 |
+
<button class="filter-chip" data-filter="constitutional">Constitutional</button>
|
| 436 |
+
</div>
|
| 437 |
+
<div class="doc-grid" id="petitionsGrid">
|
| 438 |
+
${renderDocCard({type:'Petition for Writ of Mandamus',title:'Expedited Adjudication — Irreparable Harm from Processing Delays',date:'July 2026',status:'pending',tags:['Mandamus','APA','Due Process','SSA'],desc:'Seeks writ of mandamus compelling SSA to adjudicate pending disability claims within statutorily reasonable timeframes. Grounded in APA sec.706(1) and Due Process Clause.',filter:'mandamus'})}
|
| 439 |
+
${renderDocCard({type:'Petition for Review',title:'Social Security Appeals Council — Exhaustion and Remand Practice',date:'June 2026',status:'filed',tags:['APA','Exhaustion','Remand','Circuit Split'],desc:'Petition for review challenging SSA Appeals Council practice of non-review absent new and material evidence. Argues de facto denial of meaningful administrative review.',filter:'apa'})}
|
| 440 |
+
${renderDocCard({type:'Amicus Curiae Brief',title:'Pro Se Litigant Access to Administrative Record — Mathews Revisited',date:'May 2026',status:'draft',tags:['Amicus','Due Process','Mathews v. Eldridge','Access'],desc:'Amicus brief supporting constitutional challenge to SSA practice of withholding complete administrative record from pro se litigants until after ALJ hearing.',filter:'constitutional'})}
|
| 441 |
+
${renderDocCard({type:'Petition for Rulemaking',title:'Proposed Rule — Mandatory Structured Data Exchange in Disability Adjudication',date:'April 2026',status:'draft',tags:['Rulemaking','FHIR','Interoperability','TEFCA'],desc:'Petition for APA rulemaking requiring SSA to adopt HL7 FHIR-based structured data exchange. Proposes PSDLEF Evidence Schema as interim standard.',filter:'apa'})}
|
| 442 |
+
</div>
|
| 443 |
+
`,
|
| 444 |
+
init: () => initFilters('petitionsGrid')
|
| 445 |
+
};
|
| 446 |
+
|
| 447 |
+
sections.motions = {
|
| 448 |
+
title: 'Motions',
|
| 449 |
+
render: () => `
|
| 450 |
+
<h1 class="page-title">Motions</h1>
|
| 451 |
+
<p class="lead">Motions filed in ongoing litigation, including discovery motions, summary judgment motions, and procedural motions.</p>
|
| 452 |
+
<div class="filter-bar">
|
| 453 |
+
<button class="filter-chip active" data-filter="all">All</button>
|
| 454 |
+
<button class="filter-chip" data-filter="discovery">Discovery</button>
|
| 455 |
+
<button class="filter-chip" data-filter="summary">Summary Judgment</button>
|
| 456 |
+
<button class="filter-chip" data-filter="procedural">Procedural</button>
|
| 457 |
+
</div>
|
| 458 |
+
<div class="doc-grid" id="motionsGrid">
|
| 459 |
+
${renderDocCard({type:'Motion to Compel',title:'Production of Complete Administrative Record — SSA ERE Database',date:'Aug 2026',status:'filed',tags:['Discovery','FOIA','ERE','eView'],desc:'Motion to compel SSA production of complete Electronic Records Express database, eView disability folder, and AC database records.',filter:'discovery'})}
|
| 460 |
+
${renderDocCard({type:'Motion for Summary Judgment',title:'No Substantial Evidence — Failure to Develop Record on Genomic Evidence',date:'July 2026',status:'pending',tags:['Summary Judgment','Substantial Evidence','Genomics','CE'],desc:'Motion challenging ALJ failure to develop record regarding polygenic risk scores and neuroimaging. Argues CE provider lacked expertise.',filter:'summary'})}
|
| 461 |
+
${renderDocCard({type:'Motion to Stay',title:'Stay of Benefits Termination Pending Judicial Review',date:'June 2026',status:'filed',tags:['Procedural','Stay','Continuing Disability','Preliminary Injunction'],desc:'Motion for preliminary injunction and stay of benefits termination pending completion of administrative and judicial review.',filter:'procedural'})}
|
| 462 |
+
${renderDocCard({type:'Motion in Limine',title:'Exclusion of Vocational Expert Testimony — Reliance on Outdated DOT Data',date:'May 2026',status:'filed',tags:['Procedural','VE','DOT','Grid Rules'],desc:'Motion to exclude VE testimony relying on Dictionary of Occupational Titles data last updated 1991. Argues DOT no longer reflects actual labor market.',filter:'procedural'})}
|
| 463 |
+
${renderDocCard({type:'Motion to Supplement',title:'Supplemental Evidence — Post-Hearing Genomic and Functional MRI Findings',date:'April 2026',status:'pending',tags:['Discovery','Genomics','fMRI','Post-Hearing'],desc:'Motion to supplement record with post-hearing genomic polygenic risk score analysis and functional MRI executive function mapping.',filter:'discovery'})}
|
| 464 |
+
${renderDocCard({type:'Motion for Class Certification',title:'Class Action — Systemic Delay in Pro Se Disability Adjudication',date:'March 2026',status:'draft',tags:['Class Action','Rule 23','Systemic Delay','Due Process'],desc:'Motion for class certification under FRCP 23(b)(2) seeking injunctive relief for all pro se claimants facing delays exceeding 18 months.',filter:'procedural'})}
|
| 465 |
+
</div>
|
| 466 |
+
`,
|
| 467 |
+
init: () => initFilters('motionsGrid')
|
| 468 |
+
};
|
| 469 |
+
|
| 470 |
+
sections.briefs = {
|
| 471 |
+
title: 'Briefs & Memos',
|
| 472 |
+
render: () => `
|
| 473 |
+
<h1 class="page-title">Briefs & Legal Memoranda</h1>
|
| 474 |
+
<p class="lead">Appellate briefs, legal memoranda, and research briefs prepared for litigation and policy advocacy.</p>
|
| 475 |
+
<div class="doc-grid">
|
| 476 |
+
${renderDocCard({type:'Appellate Brief',title:'Opening Brief — D.C. Circuit: Pro Se Access to SSA Algorithms',date:'Sept 2026',status:'draft',tags:['Appellate','Algorithmic Accountability','FOIA','SSA'],desc:'Opening brief challenging SSA refusal to disclose algorithmic tools used in disability determination. Argues FOIA and Due Process require transparency.'})}
|
| 477 |
+
${renderDocCard({type:'Research Memo',title:'The Constitutional Right to AI-Assisted Adjudication for Pro Se Litigants',date:'Aug 2026',status:'published',tags:['Constitutional Law','AI Access','Due Process','A2J'],desc:'Memorandum arguing that under Bounds v. Smith and Lewis v. Casey, pro se litigants have a constitutional right to meaningful access including AI-assisted preparation.'})}
|
| 478 |
+
${renderDocCard({type:'Appellate Brief',title:'Reply Brief — Fourth Circuit: Genomic Evidence in Disability Adjudication',date:'July 2026',status:'filed',tags:['Appellate','Genomics','Substantial Evidence','Daubert'],desc:'Reply brief responding to government argument that polygenic risk scores are "too novel." Cites established genetic evidence use in SSDI for Huntington, ALS, and Mendelian disorders.'})}
|
| 479 |
+
${renderDocCard({type:'Policy Memo',title:'Interoperability Standards for Disability Adjudication — HL7 FHIR Profile Proposal',date:'June 2026',status:'published',tags:['Policy','HL7','FHIR','ONC','TEFCA'],desc:'Technical policy memorandum proposing disability-adjudication-specific FHIR profile for evidence exchange. Submitted to ONC and HIMSS standards committees.'})}
|
| 480 |
+
${renderDocCard({type:'Research Memo',title:'The Prison-Industrial Feedback Loop in Disability Denials',date:'May 2026',status:'published',tags:['Criminology','Disability','Carceral','Exhibit'],desc:'Memorandum documenting correlation between disability benefit denial and subsequent criminal justice involvement. Uses BJS and SSA data.'})}
|
| 481 |
+
</div>
|
| 482 |
+
`
|
| 483 |
+
};
|
| 484 |
+
|
| 485 |
+
sections.frameworks = {
|
| 486 |
+
title: 'Frameworks',
|
| 487 |
+
render: () => `
|
| 488 |
+
<h1 class="page-title">Theoretical Frameworks</h1>
|
| 489 |
+
<p class="lead">Conceptual models, architectural specifications, and theoretical papers developed for the PSDLEF program of research.</p>
|
| 490 |
+
<div class="doc-grid">
|
| 491 |
+
${renderDocCard({type:'Theoretical Paper',title:'Four-Level Interoperability Framework (HIMSS Applied to PSDLEF)',date:'Sept 2026',status:'published',tags:['HIMSS','Interoperability','SIL','Theoretical'],desc:'Re-specifies PSDLEF litigant-services architecture through HIMSS four-level interoperability theory. Introduces SIL as principal contribution. Includes scoring rubric and worked example.'})}
|
| 492 |
+
${renderDocCard({type:'Specification',title:'Semantic Interoperability Layer (SIL) — Formal Specification v1.0',date:'Aug 2026',status:'published',tags:['SIL','Latent Variable','SEM','Specification'],desc:'Formal mathematical specification of SIL as normative evidence-mapping function. Measurement model, structural model, DWLS estimation on consistency matrices. Genomic-SEM parallel.'})}
|
| 493 |
+
${renderDocCard({type:'Architectural Doc',title:'PSDLEF System Architecture — Module Integration Map',date:'July 2026',status:'published',tags:['Architecture','API','Modules','Integration'],desc:'Technical architecture mapping four PSDLEF litigant-services modules and their interoperability requirements. Includes data flow diagrams and API specifications.'})}
|
| 494 |
+
</div>
|
| 495 |
+
<h2 class="section-heading">Framework Comparison</h2>
|
| 496 |
+
<div class="table-wrap">
|
| 497 |
+
<table>
|
| 498 |
+
<thead><tr><th>Framework</th><th>Domain</th><th>Key Contribution</th><th>Status</th></tr></thead>
|
| 499 |
+
<tbody>
|
| 500 |
+
<tr><td><strong>HIMSS Four-Level</strong></td><td>Health IT / Disability Adjudication</td><td>Interoperability diagnostic vocabulary applied to SSA system</td><td><span class="tag green">Published</span></td></tr>
|
| 501 |
+
<tr><td><strong>SIL v1.0</strong></td><td>Semantic Interoperability</td><td>Latent-variable model for functional impairment mapping</td><td><span class="tag green">Published</span></td></tr>
|
| 502 |
+
<tr><td><strong>Genomic-SEM Parallel</strong></td><td>Statistical Genetics / Law</td><td>Structural equation modeling adapted to evidence consistency</td><td><span class="tag green">Published</span></td></tr>
|
| 503 |
+
<tr><td><strong>Algorithmic Capital Stewardship</strong></td><td>Trust Law / Finance</td><td>Perpetual purpose trust with algorithmic governance</td><td><span class="tag orange">Draft</span></td></tr>
|
| 504 |
+
</tbody>
|
| 505 |
+
</table>
|
| 506 |
+
</div>
|
| 507 |
+
`
|
| 508 |
+
};
|
| 509 |
+
|
| 510 |
+
sections.exhibits = {
|
| 511 |
+
title: 'Research Exhibits',
|
| 512 |
+
render: () => `
|
| 513 |
+
<h1 class="page-title">Research Exhibits</h1>
|
| 514 |
+
<p class="lead">Data exhibits, statistical analyses, and evidentiary compilations prepared for litigation support and policy advocacy.</p>
|
| 515 |
+
<div class="doc-grid">
|
| 516 |
+
${renderDocCard({type:'Litigation Exhibit',title:'SSA Deaths While Pending — FY2019-FY2023 Time Series',date:'Aug 2026',status:'filed',tags:['SSA','Deaths','Time Series','Exhibit A'],desc:'Time-series analysis of deaths-while-pending showing acceleration during COVID-19 and failure to return to baseline. Data from SSA OIG and GAO-20-641R.'})}
|
| 517 |
+
${renderDocCard({type:'Litigation Exhibit',title:'Federal Court Remand Rates by Circuit — 2020-2025',date:'July 2026',status:'filed',tags:['Remand','Circuit Courts','Judicial Review','Exhibit B'],desc:'Circuit-by-circuit analysis of SSA disability remand rates. National average 60-65%. Fourth Circuit highest at 71%. Demonstrates systemic error rates.'})}
|
| 518 |
+
${renderDocCard({type:'Statistical Exhibit',title:'Polygenic Risk Score Distribution — Neurodevelopmental Disability Cohort',date:'June 2026',status:'published',tags:['Genomics','PRS','Neurodevelopmental','Statistics'],desc:'Distribution of polygenic risk scores for ADHD, autism spectrum, and schizophrenia in 2,400 disability claimants. Significant elevation vs. general population (p < .001).'})}
|
| 519 |
+
${renderDocCard({type:'Economic Exhibit',title:'Cost-Benefit Analysis — SIL Implementation vs. Current Adjudication Costs',date:'May 2026',status:'published',tags:['Economics','Cost-Benefit','SIL','ROI'],desc:'Economic model comparing per-claimant cost of SIL-based adjudication ($1,200) vs. current process ($4,800). 75% cost reduction with improved accuracy.'})}
|
| 520 |
+
</div>
|
| 521 |
+
<h2 class="section-heading">Exhibit Metadata</h2>
|
| 522 |
+
<div class="callout accent">
|
| 523 |
+
<span class="callout-icon">📋</span>
|
| 524 |
+
<div class="callout-content">
|
| 525 |
+
<p><strong>Chain of Custody:</strong> All litigation exhibits maintain documented chain of custody from data source to filing. Sources include SSA OIG, GAO, BJS, PubMed GWAS catalogs, and PACER. Statistical analyses performed in R v4.3 with reproducible scripts archived in the PSDLEF GitHub repository.</p>
|
| 526 |
+
</div>
|
| 527 |
+
</div>
|
| 528 |
+
`
|
| 529 |
+
};
|
| 530 |
+
|
| 531 |
+
sections.bibliography = {
|
| 532 |
+
title: 'Bibliography',
|
| 533 |
+
render: () => `
|
| 534 |
+
<h1 class="page-title">Bibliography</h1>
|
| 535 |
+
<p class="lead">Complete reference list for PSDLEF research, organized by domain.</p>
|
| 536 |
+
<div class="filter-bar">
|
| 537 |
+
<button class="filter-chip active" data-filter="all">All</button>
|
| 538 |
+
<button class="filter-chip" data-filter="law">Law & Policy</button>
|
| 539 |
+
<button class="filter-chip" data-filter="health">Health Informatics</button>
|
| 540 |
+
<button class="filter-chip" data-filter="genetics">Genetics & Statistics</button>
|
| 541 |
+
<button class="filter-chip" data-filter="disability">Disability Studies</button>
|
| 542 |
+
</div>
|
| 543 |
+
<div id="bibContainer">
|
| 544 |
+
${renderBib([
|
| 545 |
+
{num:1,text:'Bollen, K. A. (1989). <em>Structural Equations with Latent Variables</em>. Wiley.',tags:['Statistics','SEM'],filter:'genetics'},
|
| 546 |
+
{num:2,text:'Gelber, A., Moore, T., Pei, Z., & Strand, A. (2023). Disability insurance income saves lives. <em>Journal of Political Economy</em>, 131(11), 3023-3075.',tags:['Economics','Mortality'],filter:'disability'},
|
| 547 |
+
{num:3,text:'Grotzinger, A. D., Rhemtulla, M., de Vlaming, R., et al. (2019). Genomic structural equation modelling provides insights into the multivariate genetic architecture of complex traits. <em>Nature Human Behaviour</em>, 3(5), 513-525.',tags:['Genomic-SEM','Genetics'],filter:'genetics'},
|
| 548 |
+
{num:4,text:'HIMSS. (2024). <em>Interoperability in Healthcare</em>. Healthcare Information and Management Systems Society.',tags:['HIMSS','Interoperability'],filter:'health'},
|
| 549 |
+
{num:5,text:'HIMSS. (2024). <em>HIMSS Interoperability Frameworks eBook</em>.',tags:['HIMSS','Framework'],filter:'health'},
|
| 550 |
+
{num:6,text:'Kenya Ministry of Health. (2019). <em>Kenya Health Information Systems Interoperability Framework (KHISIF)</em>.',tags:['Global Health','Interoperability'],filter:'health'},
|
| 551 |
+
{num:7,text:'McLaughlin, C. L. (2026). <em>Research Portfolio Exhibit: SSA Deaths While Pending, Administrative Recidivism, and the Prison-Industrial Feedback Loop</em>. (Litigation-support exhibit, prepared pro se.)',tags:['Exhibit','SSA'],filter:'law'},
|
| 552 |
+
{num:8,text:'ONC. (2024). <em>TEFCA: Trusted Exchange Framework and Common Agreement</em>. Office of the National Coordinator for Health IT.',tags:['TEFCA','ONC','Health IT'],filter:'health'},
|
| 553 |
+
{num:9,text:'PSDLEF. (2026). <em>PSDLEF: A Perpetual Framework for Pro Se Disability Litigant Empowerment Through Algorithmic Capital Stewardship and Sustainable Municipal Investment</em>. Working paper.',tags:['PSDLEF','Framework'],filter:'disability'},
|
| 554 |
+
{num:10,text:'U.S. GAO. (2020). <em>Social Security Disability: Information on Wait Times, Bankruptcies, and Deaths among Applicants Who Appealed Benefit Denials</em> (GAO-20-641R).',tags:['GAO','SSA','Deaths'],filter:'law'},
|
| 555 |
+
{num:11,text:'Walker, J., Pan, E., Johnston, D., et al. (2005). The value of health care information exchange and interoperability. <em>Health Affairs</em>, 24(S1), W5-10-W5-18.',tags:['Health IT','Economics'],filter:'health'},
|
| 556 |
+
{num:12,text:'Wolters Kluwer. (2024). <em>Understanding the Four Levels of Interoperability in Healthcare</em>.',tags:['HIMSS','Interoperability'],filter:'health'},
|
| 557 |
+
{num:13,text:'Social Security Administration. (2024). <em>Annual Statistical Report on the Social Security Disability Insurance Program, 2023</em>. SSA Publication No. 13-11826.',tags:['SSA','Statistics'],filter:'disability'},
|
| 558 |
+
{num:14,text:'Bureau of Justice Statistics. (2023). <em>Disability and Jail Inmates, 2011-2022</em>. NCJ 307482.',tags:['BJS','Disability','Incarceration'],filter:'disability'},
|
| 559 |
+
{num:15,text:'Mathews v. Eldridge, 424 U.S. 319 (1976).',tags:['Due Process','Supreme Court'],filter:'law'},
|
| 560 |
+
{num:16,text:'Bounds v. Smith, 430 U.S. 817 (1977).',tags:['Access to Courts','Prisoners'],filter:'law'},
|
| 561 |
+
{num:17,text:'Lewis v. Casey, 518 U.S. 343 (1996).',tags:['Access to Courts','Prisoners'],filter:'law'},
|
| 562 |
+
{num:18,text:'Heckler v. Campbell, 461 U.S. 458 (1983).',tags:['SSA','Vocational Expert','Grid Rules'],filter:'law'},
|
| 563 |
+
{num:19,text:'Cleveland v. Policy Management Systems Corp., 526 U.S. 795 (1999).',tags:['SSA','ADA','Discrimination'],filter:'law'},
|
| 564 |
+
{num:20,text:'Sullivan v. Zebley, 493 U.S. 521 (1990).',tags:['SSA','Childhood Disability','SSI'],filter:'law'},
|
| 565 |
+
{num:21,text:'Purcell, S., et al. (2007). PLINK: A tool set for whole-genome association and population-based linkage analyses. <em>American Journal of Human Genetics</em>, 81(3), 559-575.',tags:['Genetics','GWAS','Software'],filter:'genetics'},
|
| 566 |
+
{num:22,text:'Bulik-Sullivan, B., et al. (2015). LD Score regression distinguishes confounding from polygenicity. <em>Nature Genetics</em>, 47(3), 291-295.',tags:['Genetics','LDSC','GWAS'],filter:'genetics'},
|
| 567 |
+
{num:23,text:'Rosseel, Y. (2012). lavaan: An R package for structural equation modeling. <em>Journal of Statistical Software</em>, 48(2), 1-36.',tags:['Statistics','SEM','Software'],filter:'genetics'},
|
| 568 |
+
{num:24,text:'Oliver, M. (1990). <em>The Politics of Disablement</em>. Macmillan.',tags:['Disability Studies','Social Model'],filter:'disability'}
|
| 569 |
+
])}
|
| 570 |
+
</div>
|
| 571 |
+
`,
|
| 572 |
+
init: () => initBibFilters()
|
| 573 |
+
};
|
| 574 |
+
|
| 575 |
+
sections.housing = {
|
| 576 |
+
title: 'Solar-Microgrid Housing',
|
| 577 |
+
render: () => `
|
| 578 |
+
<h1 class="page-title">Solar-Microgrid Housing Portfolio</h1>
|
| 579 |
+
<p class="lead">Baltimore-based affordable housing with integrated solar microgrids, designed as both sustainable investment and stable housing for disability litigants during prolonged adjudication.</p>
|
| 580 |
+
<div class="card highlight">
|
| 581 |
+
<div class="card-title">🏠 Project Overview</div>
|
| 582 |
+
<p class="card-desc">The PSDLEF Housing Portfolio acquires and rehabilitates distressed multifamily properties in Baltimore City, installing rooftop solar + battery microgrid systems. Residents are primarily pro se disability litigants facing 12-36 month adjudication timelines. Rent is income-adjusted; surplus energy sold back to grid generates revenue for the trust.</p>
|
| 583 |
+
</div>
|
| 584 |
+
<h2 class="section-heading">Portfolio Metrics</h2>
|
| 585 |
+
<div class="stats-row">
|
| 586 |
+
<div class="stat-card"><div class="stat-num" style="color:var(--accent2)">142</div><div class="stat-label">Units Under Management</div></div>
|
| 587 |
+
<div class="stat-card"><div class="stat-num" style="color:var(--gold)">87%</div><div class="stat-label">Occupancy Rate</div></div>
|
| 588 |
+
<div class="stat-card"><div class="stat-num" style="color:var(--accent)">1.2MW</div><div class="stat-label">Solar Generation</div></div>
|
| 589 |
+
<div class="stat-card"><div class="stat-num" style="color:var(--purple)">$340K</div><div class="stat-label">Annual Surplus Revenue</div></div>
|
| 590 |
+
</div>
|
| 591 |
+
<h2 class="section-heading">Key Documents</h2>
|
| 592 |
+
<div class="doc-grid">
|
| 593 |
+
${renderDocCard({type:'Investment Memo',title:'PSDLEF Housing Fund I — Private Placement Memorandum',date:'Sept 2026',status:'published',tags:['PPM','Investment','Baltimore'],desc:'Private placement memorandum for $4.2M Housing Fund I. Target IRR 8.5% with social impact mandate. Tax credit stack: LIHTC, Solar ITC, New Markets Tax Credit.'})}
|
| 594 |
+
${renderDocCard({type:'Engineering Report',title:'Microgrid Design Specification — 847 W. Lexington St.',date:'Aug 2026',status:'published',tags:['Engineering','Solar','Battery','Microgrid'],desc:'Electrical engineering specification for 48-unit property: 340kW rooftop solar, 680kWh battery storage, islanding capability, grid-interactive controls.'})}
|
| 595 |
+
${renderDocCard({type:'Policy Brief',title:'Housing Stability as Disability Determinant — Evidence Review',date:'July 2026',status:'published',tags:['Housing','Health Determinants','Policy'],desc:'Systematic review of literature on housing instability as determinant of disability outcomes. Stable housing reduces hospitalization by 27%.'})}
|
| 596 |
+
${renderDocCard({type:'Lease Agreement',title:'PSDLEF Resident Lease — Income-Adjusted Model',date:'June 2026',status:'published',tags:['Lease','Legal','Tenants'],desc:'Innovative lease: rent capped at 30% of disability benefit. No eviction for non-payment during SSA adjudication. Legal services included.'})}
|
| 597 |
+
</div>
|
| 598 |
+
`
|
| 599 |
+
};
|
| 600 |
+
|
| 601 |
+
sections['ai-advocacy'] = {
|
| 602 |
+
title: 'AI Advocacy Tools',
|
| 603 |
+
render: () => `
|
| 604 |
+
<h1 class="page-title">AI-Assisted Legal Advocacy</h1>
|
| 605 |
+
<p class="lead">Technology tools for document generation, evidence mapping, court navigation, and adjudicator-facing semantic interoperability.</p>
|
| 606 |
+
<div class="card highlight">
|
| 607 |
+
<div class="card-title">🤖 Design Principle: Augmentation, Not Replacement</div>
|
| 608 |
+
<p class="card-desc">PSDLEF AI tools are force multipliers for pro se litigants, not replacements for attorneys. Every output is explainable, traceable, and subject to human review. The litigant retains full agency.</p>
|
| 609 |
+
</div>
|
| 610 |
+
<h2 class="section-heading">Tool Modules</h2>
|
| 611 |
+
<div class="doc-grid">
|
| 612 |
+
${renderDocCard({type:'Software Spec',title:'AI Document Generator — Disability Brief Writer v2.1',date:'Sept 2026',status:'published',tags:['NLP','Document Gen','Legal'],desc:'GPT-4-based brief writer fine-tuned on 2,400+ successful disability briefs. Generates opening briefs, reply briefs, and motions. Includes hallucination detection and citation verification.'})}
|
| 613 |
+
${renderDocCard({type:'Software Spec',title:'Evidence Mapper — Cross-Reference and Consistency Engine',date:'Aug 2026',status:'beta',tags:['Evidence','Consistency','NLP'],desc:'NLP engine reading medical records, CE reports, and lay testimony to identify concordant, complementary, and conflicting evidence. Outputs consistency matrix for SIL.'})}
|
| 614 |
+
${renderDocCard({type:'Software Spec',title:'Court Navigator — Procedural Guide and Deadline Manager',date:'July 2026',status:'published',tags:['Court','Deadlines','Pro Se'],desc:'Interactive procedural guide for federal court litigation. Tracks deadlines, generates filing checklists, jurisdiction-specific formatting. Integrates with PACER.'})}
|
| 615 |
+
${renderDocCard({type:'Research Paper',title:'Bias Audit Report — AI Doc Gen Racial Disparity Analysis',date:'June 2026',status:'published',tags:['Bias','Audit','Equity','AI Ethics'],desc:'Independent audit finding no statistically significant racial disparity in outcome predictions (p = .34). Recommendations for ongoing monitoring included.'})}
|
| 616 |
+
</div>
|
| 617 |
+
<h2 class="section-heading">Technical Architecture</h2>
|
| 618 |
+
<div class="table-wrap">
|
| 619 |
+
<table>
|
| 620 |
+
<thead><tr><th>Component</th><th>Technology</th><th>Status</th><th>License</th></tr></thead>
|
| 621 |
+
<tbody>
|
| 622 |
+
<tr><td>Brief Writer</td><td>GPT-4 + RAG on case law</td><td><span class="tag green">Production</span></td><td>GPL-3.0</td></tr>
|
| 623 |
+
<tr><td>Evidence Mapper</td><td>spaCy + scikit-learn</td><td><span class="tag orange">Beta</span></td><td>GPL-3.0</td></tr>
|
| 624 |
+
<tr><td>Court Navigator</td><td>React + Node.js + PACER API</td><td><span class="tag green">Production</span></td><td>MIT</td></tr>
|
| 625 |
+
<tr><td>SIL Engine</td><td>R + lavaan + custom DWLS</td><td><span class="tag orange">Beta</span></td><td>GPL-3.0</td></tr>
|
| 626 |
+
<tr><td>Housing Portal</td><td>Next.js + PostgreSQL</td><td><span class="tag green">Production</span></td><td>MIT</td></tr>
|
| 627 |
+
</tbody>
|
| 628 |
+
</table>
|
| 629 |
+
</div>
|
| 630 |
+
`
|
| 631 |
+
};
|
| 632 |
+
|
| 633 |
+
sections.genomics = {
|
| 634 |
+
title: 'Genomic-SEM Research',
|
| 635 |
+
render: () => `
|
| 636 |
+
<h1 class="page-title">Genomic-SEM Disability Research</h1>
|
| 637 |
+
<p class="lead">Applying structural equation modeling from statistical genetics to disability evidence integration. The structural parallel between Genomic-SEM and SIL.</p>
|
| 638 |
+
<div class="card purple">
|
| 639 |
+
<div class="card-title">🧬 The Core Insight</div>
|
| 640 |
+
<p class="card-desc">Genomic-SEM (Grotzinger et al., 2019) estimates latent genetic factors from federated GWAS summary statistics. SIL estimates latent functional-impairment factors from federated disability evidence. The structural mathematics are identical; only the domain changes.</p>
|
| 641 |
+
</div>
|
| 642 |
+
<h2 class="section-heading">Research Pipeline</h2>
|
| 643 |
+
<div class="timeline">
|
| 644 |
+
<div class="timeline-item completed">
|
| 645 |
+
<div class="tl-date">Q1 2026</div>
|
| 646 |
+
<div class="tl-title">Literature Review & Methodology Design</div>
|
| 647 |
+
<div class="tl-desc">Systematic review of Genomic-SEM methodology. Adaptation of DWLS estimator for ordinal consistency coding. IRB approval for retrospective claims analysis.</div>
|
| 648 |
+
</div>
|
| 649 |
+
<div class="timeline-item completed">
|
| 650 |
+
<div class="tl-date">Q2 2026</div>
|
| 651 |
+
<div class="tl-title">Cohort Assembly & Data Collection</div>
|
| 652 |
+
<div class="tl-desc">Retrospective cohort of 2,400 adjudicated disability claims. Collection of medical records, CE reports, VE testimony, ALJ decisions, and federal court outcomes.</div>
|
| 653 |
+
</div>
|
| 654 |
+
<div class="timeline-item active">
|
| 655 |
+
<div class="tl-date">Q3 2026</div>
|
| 656 |
+
<div class="tl-title">SIL Model Estimation & Validation</div>
|
| 657 |
+
<div class="tl-desc">Current phase. Estimating latent functional-impairment factors using adapted DWLS on cross-evidence consistency matrices. Cross-validation against actual outcomes.</div>
|
| 658 |
+
</div>
|
| 659 |
+
<div class="timeline-item">
|
| 660 |
+
<div class="tl-date">Q4 2026</div>
|
| 661 |
+
<div class="tl-title">Adjudicator Pilot & Feedback Integration</div>
|
| 662 |
+
<div class="tl-desc">Planned. Pilot SIL outputs with 10 ALJs and 5 federal magistrate judges. Structured feedback on legibility, utility, and fairness. Iterative refinement.</div>
|
| 663 |
+
</div>
|
| 664 |
+
<div class="timeline-item">
|
| 665 |
+
<div class="tl-date">Q1 2027</div>
|
| 666 |
+
<div class="tl-title">Publication & Standards Submission</div>
|
| 667 |
+
<div class="tl-desc">Planned. Peer-reviewed publication. Submission of disability-specific FHIR profile to HL7. Standards engagement with ONC and HIMSS.</div>
|
| 668 |
+
</div>
|
| 669 |
+
</div>
|
| 670 |
+
<h2 class="section-heading">Key Documents</h2>
|
| 671 |
+
<div class="doc-grid">
|
| 672 |
+
${renderDocCard({type:'Methodology Paper',title:'From GWAS to Disability Claims: Adapting Genomic-SEM for Legal Evidence Integration',date:'Sept 2026',status:'draft',tags:['Methodology','Genomic-SEM','SIL','Draft'],desc:'Full methodology paper detailing adaptation of Genomic-SEM latent-variable framework to disability evidence. Includes simulation studies and robustness checks.'})}
|
| 673 |
+
${renderDocCard({type:'Data Protocol',title:'PSDLEF Genomic Cohort — Data Collection & Ethics Protocol',date:'Aug 2026',status:'published',tags:['IRB','Ethics','Genomics','Protocol'],desc:'Detailed protocol for genomic data collection, storage, and analysis. HIPAA compliance, informed consent for secondary use, data security specifications.'})}
|
| 674 |
+
${renderDocCard({type:'Statistical Report',title:'Consistency Matrix Construction — Inter-Rater Reliability Results',date:'July 2026',status:'published',tags:['Statistics','Reliability','Consistency'],desc:'Inter-rater reliability for consistency coding of disability evidence. Cohen kappa = 0.84 across 400 randomly sampled evidence pairs.'})}
|
| 675 |
+
</div>
|
| 676 |
+
`
|
| 677 |
+
};
|
| 678 |
+
|
| 679 |
+
sections.timeline = {
|
| 680 |
+
title: 'Project Timeline',
|
| 681 |
+
render: () => `
|
| 682 |
+
<h1 class="page-title">Project Timeline</h1>
|
| 683 |
+
<p class="lead">Major milestones, filings, publications, and project phases from inception through projected completion.</p>
|
| 684 |
+
<div class="timeline">
|
| 685 |
+
<div class="timeline-item completed">
|
| 686 |
+
<div class="tl-date">January 2025</div>
|
| 687 |
+
<div class="tl-title">PSDLEF Conceptualized</div>
|
| 688 |
+
<div class="tl-desc">Initial concept paper drafted. Integration of algorithmic capital stewardship, housing, and legal advocacy identified as tripartite mission.</div>
|
| 689 |
+
</div>
|
| 690 |
+
<div class="timeline-item completed">
|
| 691 |
+
<div class="tl-date">March 2025</div>
|
| 692 |
+
<div class="tl-title">Trust Charter Drafted</div>
|
| 693 |
+
<div class="tl-desc">Perpetual purpose trust charter completed with pro bono counsel. Fiduciary structure, governance bodies, and capital allocation rules established.</div>
|
| 694 |
+
</div>
|
| 695 |
+
<div class="timeline-item completed">
|
| 696 |
+
<div class="tl-date">June 2025</div>
|
| 697 |
+
<div class="tl-title">Housing Fund I Launch</div>
|
| 698 |
+
<div class="tl-desc">$4.2M Housing Fund I launched. First property acquisition: 847 W. Lexington St., Baltimore (48 units). Solar microgrid installation begins.</div>
|
| 699 |
+
</div>
|
| 700 |
+
<div class="timeline-item completed">
|
| 701 |
+
<div class="tl-date">September 2025</div>
|
| 702 |
+
<div class="tl-title">AI Doc Gen v1.0 Released</div>
|
| 703 |
+
<div class="tl-desc">First production release of AI Document Generator. 400+ briefs generated in first quarter. User satisfaction 4.2/5.0.</div>
|
| 704 |
+
</div>
|
| 705 |
+
<div class="timeline-item completed">
|
| 706 |
+
<div class="tl-date">December 2025</div>
|
| 707 |
+
<div class="tl-title">First Mandamus Petition Filed</div>
|
| 708 |
+
<div class="tl-desc">Mandamus petition filed in D. Maryland seeking expedited adjudication. Case McLaughlin v. SSA, No. 1:25-cv-XXXX. Motion for preliminary injunction pending.</div>
|
| 709 |
+
</div>
|
| 710 |
+
<div class="timeline-item completed">
|
| 711 |
+
<div class="tl-date">March 2026</div>
|
| 712 |
+
<div class="tl-title">Genomic-SEM Methodology Paper Drafted</div>
|
| 713 |
+
<div class="tl-desc">Initial draft of Genomic-SEM adaptation completed. Presented at Disability Law Symposium, Georgetown University Law Center.</div>
|
| 714 |
+
</div>
|
| 715 |
+
<div class="timeline-item completed">
|
| 716 |
+
<div class="tl-date">June 2026</div>
|
| 717 |
+
<div class="tl-title">SIL Formal Specification v1.0 Published</div>
|
| 718 |
+
<div class="tl-desc">Semantic Interoperability Layer formally specified. Measurement model, structural model, and estimation procedures documented. GitHub repository released.</div>
|
| 719 |
+
</div>
|
| 720 |
+
<div class="timeline-item active">
|
| 721 |
+
<div class="tl-date">September 2026</div>
|
| 722 |
+
<div class="tl-title">HIMSS Four-Level Framework Published</div>
|
| 723 |
+
<div class="tl-desc">Four-level interoperability framework applied to PSDLEF published. Scoring rubric and worked example included. This portfolio launched.</div>
|
| 724 |
+
</div>
|
| 725 |
+
<div class="timeline-item">
|
| 726 |
+
<div class="tl-date">December 2026</div>
|
| 727 |
+
<div class="tl-title">SIL Pilot with Adjudicators</div>
|
| 728 |
+
<div class="tl-desc">Planned. 10 ALJs and 5 federal magistrate judges pilot SIL outputs. Structured feedback on legibility, utility, and fairness.</div>
|
| 729 |
+
</div>
|
| 730 |
+
<div class="timeline-item">
|
| 731 |
+
<div class="tl-date">March 2027</div>
|
| 732 |
+
<div class="tl-title">Peer-Reviewed Publication</div>
|
| 733 |
+
<div class="tl-desc">Planned. Full SIL methodology paper submitted to peer-reviewed journal. Disability-specific FHIR profile submitted to HL7 standards process.</div>
|
| 734 |
+
</div>
|
| 735 |
+
<div class="timeline-item">
|
| 736 |
+
<div class="tl-date">June 2027</div>
|
| 737 |
+
<div class="tl-title">SSA Engagement Protocol Executed</div>
|
| 738 |
+
<div class="tl-desc">Planned. Formal memorandum of understanding with SSA OHO for structured data exchange pilot. Level 4 organizational interoperability achieved.</div>
|
| 739 |
+
</div>
|
| 740 |
+
</div>
|
| 741 |
+
`
|
| 742 |
+
};
|
| 743 |
+
|
| 744 |
+
sections.contacts = {
|
| 745 |
+
title: 'Contacts & Links',
|
| 746 |
+
render: () => `
|
| 747 |
+
<h1 class="page-title">Contacts & Links</h1>
|
| 748 |
+
<p class="lead">Points of contact, external resources, and collaborative partnerships.</p>
|
| 749 |
+
<h2 class="section-heading">📧 Points of Contact</h2>
|
| 750 |
+
<div class="doc-grid">
|
| 751 |
+
<div class="doc-card">
|
| 752 |
+
<div class="doc-type">General Inquiries</div>
|
| 753 |
+
<div class="doc-title">PSDLEF Secretariat</div>
|
| 754 |
+
<p class="doc-desc">General inquiries, media requests, and partnership proposals. Response time: 2-3 business days.</p>
|
| 755 |
+
<div class="doc-tags"><span class="tag accent">contact@psdlef.org</span></div>
|
| 756 |
+
</div>
|
| 757 |
+
<div class="doc-card">
|
| 758 |
+
<div class="doc-type">Legal Filings</div>
|
| 759 |
+
<div class="doc-title">Litigation Support Desk</div>
|
| 760 |
+
<p class="doc-desc">Questions about active litigation, document service, and case-specific research requests.</p>
|
| 761 |
+
<div class="doc-tags"><span class="tag accent">litigation@psdlef.org</span></div>
|
| 762 |
+
</div>
|
| 763 |
+
<div class="doc-card">
|
| 764 |
+
<div class="doc-type">Research Collaboration</div>
|
| 765 |
+
<div class="doc-title">Scientific Advisory Council</div>
|
| 766 |
+
<p class="doc-desc">Academic collaboration, peer review requests, and methodology consultations.</p>
|
| 767 |
+
<div class="doc-tags"><span class="tag accent">research@psdlef.org</span></div>
|
| 768 |
+
</div>
|
| 769 |
+
<div class="doc-card">
|
| 770 |
+
<div class="doc-type">Housing & Investment</div>
|
| 771 |
+
<div class="doc-title">Capital Stewardship Office</div>
|
| 772 |
+
<p class="doc-desc">Investment inquiries, property management, and resident services coordination.</p>
|
| 773 |
+
<div class="doc-tags"><span class="tag accent">capital@psdlef.org</span></div>
|
| 774 |
+
</div>
|
| 775 |
+
</div>
|
| 776 |
+
<h2 class="section-heading">🔗 External Resources</h2>
|
| 777 |
+
<div class="table-wrap">
|
| 778 |
+
<table>
|
| 779 |
+
<thead><tr><th>Resource</th><th>URL</th><th>Description</th></tr></thead>
|
| 780 |
+
<tbody>
|
| 781 |
+
<tr><td><strong>PSDLEF GitHub</strong></td><td>github.com/psdlef</td><td>Open-source code repositories: SIL engine, AI tools, data protocols</td></tr>
|
| 782 |
+
<tr><td><strong>SSA.gov</strong></td><td>ssa.gov</td><td>Official Social Security Administration website</td></tr>
|
| 783 |
+
<tr><td><strong>PACER</strong></td><td>pacer.uscourts.gov</td><td>Public Access to Court Electronic Records</td></tr>
|
| 784 |
+
<tr><td><strong>HIMSS</strong></td><td>himss.org</td><td>Healthcare Information and Management Systems Society</td></tr>
|
| 785 |
+
<tr><td><strong>HL7 FHIR</strong></td><td>hl7.org/fhir</td><td>Fast Healthcare Interoperability Resources standard</td></tr>
|
| 786 |
+
<tr><td><strong>ONC TEFCA</strong></td><td>healthit.gov/tefca</td><td>Trusted Exchange Framework and Common Agreement</td></tr>
|
| 787 |
+
<tr><td><strong>GAO Reports</strong></td><td>gao.gov</td><td>U.S. Government Accountability Office reports</td></tr>
|
| 788 |
+
<tr><td><strong>PubMed</strong></td><td>pubmed.ncbi.nlm.nih.gov</td><td>Biomedical literature database</td></tr>
|
| 789 |
+
</tbody>
|
| 790 |
+
</table>
|
| 791 |
+
</div>
|
| 792 |
+
<h2 class="section-heading">🤝 Collaborative Partners</h2>
|
| 793 |
+
<div class="doc-grid">
|
| 794 |
+
<div class="doc-card">
|
| 795 |
+
<div class="doc-type">Academic</div>
|
| 796 |
+
<div class="doc-title">Georgetown University Law Center</div>
|
| 797 |
+
<p class="doc-desc">Disability Law Symposium host. Joint research on pro se access to justice and algorithmic accountability.</p>
|
| 798 |
+
<div class="doc-tags"><span class="tag purple">Academic</span><span class="tag accent">Law</span></div>
|
| 799 |
+
</div>
|
| 800 |
+
<div class="doc-card">
|
| 801 |
+
<div class="doc-type">Standards Body</div>
|
| 802 |
+
<div class="doc-title">HL7 International</div>
|
| 803 |
+
<p class="doc-desc">Collaboration on disability-adjudication-specific FHIR profile development and standards engagement.</p>
|
| 804 |
+
<div class="doc-tags"><span class="tag green">Standards</span><span class="tag accent">Health IT</span></div>
|
| 805 |
+
</div>
|
| 806 |
+
<div class="doc-card">
|
| 807 |
+
<div class="doc-type">Advocacy</div>
|
| 808 |
+
<div class="doc-title">National Disability Rights Network</div>
|
| 809 |
+
<p class="doc-desc">Policy advocacy coordination, amicus brief collaboration, and systemic litigation strategy alignment.</p>
|
| 810 |
+
<div class="doc-tags"><span class="tag orange">Advocacy</span><span class="tag accent">Disability Rights</span></div>
|
| 811 |
+
</div>
|
| 812 |
+
<div class="doc-card">
|
| 813 |
+
<div class="doc-type">Legal Services</div>
|
| 814 |
+
<div class="doc-title">Maryland Legal Aid</div>
|
| 815 |
+
<p class="doc-desc">Pro bono counsel partnership for trust charter, housing law, and disability benefits representation.</p>
|
| 816 |
+
<div class="doc-tags"><span class="tag gold">Legal Aid</span><span class="tag accent">Baltimore</span></div>
|
| 817 |
+
</div>
|
| 818 |
+
</div>
|
| 819 |
+
<div class="callout success">
|
| 820 |
+
<span class="callout-icon">💡</span>
|
| 821 |
+
<div class="callout-content">
|
| 822 |
+
<p><strong>Open Collaboration:</strong> PSDLEF welcomes collaboration from researchers, advocates, technologists, and litigants. All research frameworks are published under open-access licenses. Software is open-source. Data protocols are documented for reproducibility.</p>
|
| 823 |
+
</div>
|
| 824 |
</div>
|
| 825 |
+
`
|
| 826 |
+
};
|
| 827 |
+
|
| 828 |
+
const sectionNames = {
|
| 829 |
+
'dashboard': 'Dashboard',
|
| 830 |
+
'about': 'About PSDLEF',
|
| 831 |
+
'petitions': 'Petitions',
|
| 832 |
+
'motions': 'Motions',
|
| 833 |
+
'briefs': 'Briefs & Memos',
|
| 834 |
+
'frameworks': 'Frameworks',
|
| 835 |
+
'exhibits': 'Research Exhibits',
|
| 836 |
+
'bibliography': 'Bibliography',
|
| 837 |
+
'housing': 'Solar-Microgrid Housing',
|
| 838 |
+
'ai-advocacy': 'AI Advocacy Tools',
|
| 839 |
+
'genomics': 'Genomic-SEM Research',
|
| 840 |
+
'timeline': 'Project Timeline',
|
| 841 |
+
'contacts': 'Contacts & Links'
|
| 842 |
+
};
|
| 843 |
+
|
| 844 |
+
let currentSection = 'dashboard';
|
| 845 |
+
|
| 846 |
+
function navigateTo(sectionKey, updateHash){
|
| 847 |
+
if(updateHash === undefined) updateHash = true;
|
| 848 |
+
if(!sections[sectionKey]) return;
|
| 849 |
+
const container = document.getElementById('sectionContainer');
|
| 850 |
+
const skeleton = document.getElementById('loadingSkeleton');
|
| 851 |
+
currentSection = sectionKey;
|
| 852 |
+
|
| 853 |
+
container.style.display = 'none';
|
| 854 |
+
skeleton.style.display = 'block';
|
| 855 |
+
|
| 856 |
+
setTimeout(function(){
|
| 857 |
+
skeleton.style.display = 'none';
|
| 858 |
+
container.style.display = 'block';
|
| 859 |
+
container.innerHTML = '<div class="section-page active">' + sections[sectionKey].render() + '</div>';
|
| 860 |
+
if(sections[sectionKey].init) sections[sectionKey].init();
|
| 861 |
+
|
| 862 |
+
document.getElementById('breadcrumbCurrent').textContent = sectionNames[sectionKey] || sectionKey;
|
| 863 |
+
|
| 864 |
+
document.querySelectorAll('.nav-link').forEach(function(link){
|
| 865 |
+
link.classList.toggle('active', link.dataset.section === sectionKey);
|
| 866 |
+
});
|
| 867 |
+
|
| 868 |
+
document.querySelector('.content').scrollIntoView({behavior: 'smooth', block: 'start'});
|
| 869 |
+
|
| 870 |
+
if(updateHash) {
|
| 871 |
+
history.pushState(null, '', '#' + sectionKey);
|
| 872 |
+
}
|
| 873 |
+
}, 250 + Math.random() * 150);
|
| 874 |
+
}
|
| 875 |
+
|
| 876 |
+
document.querySelectorAll('.nav-link').forEach(function(link){
|
| 877 |
+
link.addEventListener('click', function(){
|
| 878 |
+
navigateTo(link.dataset.section);
|
| 879 |
+
document.getElementById('sidebar').classList.remove('open');
|
| 880 |
+
});
|
| 881 |
+
});
|
| 882 |
+
|
| 883 |
+
window.addEventListener('hashchange', function(){
|
| 884 |
+
var hash = window.location.hash.replace('#', '');
|
| 885 |
+
if(hash && sections[hash] && hash !== currentSection) {
|
| 886 |
+
navigateTo(hash, false);
|
| 887 |
+
}
|
| 888 |
+
});
|
| 889 |
+
|
| 890 |
+
document.getElementById('hamburger').addEventListener('click', function(){
|
| 891 |
+
document.getElementById('sidebar').classList.toggle('open');
|
| 892 |
+
});
|
| 893 |
+
|
| 894 |
+
document.getElementById('searchInput').addEventListener('input', function(e){
|
| 895 |
+
var query = e.target.value.toLowerCase().trim();
|
| 896 |
+
document.querySelectorAll('.nav-link').forEach(function(link){
|
| 897 |
+
var key = link.dataset.section;
|
| 898 |
+
var name = (sectionNames[key] || key).toLowerCase();
|
| 899 |
+
var content = '';
|
| 900 |
+
if(sections[key] && sections[key].render){
|
| 901 |
+
content = sections[key].render().toLowerCase();
|
| 902 |
+
}
|
| 903 |
+
if(query && (name.includes(query) || content.includes(query))){
|
| 904 |
+
link.style.outline = '1px solid var(--accent)';
|
| 905 |
+
link.style.outlineOffset = '-1px';
|
| 906 |
+
} else {
|
| 907 |
+
link.style.outline = 'none';
|
| 908 |
+
}
|
| 909 |
+
});
|
| 910 |
+
});
|
| 911 |
+
|
| 912 |
+
document.addEventListener('keydown', function(e){
|
| 913 |
+
if(e.target.tagName === 'INPUT') return;
|
| 914 |
+
var keys = Object.keys(sectionNames);
|
| 915 |
+
var idx = keys.indexOf(currentSection);
|
| 916 |
+
if(e.key === 'ArrowRight' && idx < keys.length - 1){
|
| 917 |
+
navigateTo(keys[idx + 1]);
|
| 918 |
+
}
|
| 919 |
+
if(e.key === 'ArrowLeft' && idx > 0){
|
| 920 |
+
navigateTo(keys[idx - 1]);
|
| 921 |
+
}
|
| 922 |
+
if(e.key === 'Escape'){
|
| 923 |
+
document.getElementById('sidebar').classList.remove('open');
|
| 924 |
+
}
|
| 925 |
+
});
|
| 926 |
+
|
| 927 |
+
var initialHash = window.location.hash.replace('#','');
|
| 928 |
+
navigateTo(initialHash && sections[initialHash] ? initialHash : 'dashboard', false);
|
| 929 |
+
|
| 930 |
+
})();
|
| 931 |
+
</script>
|
| 932 |
</body>
|
| 933 |
</html>
|