1<!DOCTYPE html> 2 3<html lang="en"> 4<head> 5<meta charset="utf-8"/> 6<meta content="width=device-width,initial-scale=1" name="viewport"/> 7<title>OpenTEAM â Open Technology Ecosystem for Agricultural Management</title> 8<meta content="OpenTEAM is a collaborative ecosystem of open-source tools, data practices, and community convenings that help farmers, ranchers, and land stewards manage land regeneratively." name="description"/> 9<meta content="OpenTEAM" property="og:title"/> 10<meta content="Open Technology Ecosystem for Agricultural Management" property="og:description"/> 11<meta content="assets/bg_malawi.jpg" property="og:image"/> 12<meta content="summary_large_image" name="twitter:card"/> 13<link href="https://fonts.googleapis.com" rel="preconnect"/> 14<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/> 15<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;600;700&family=Crimson+Pro:ital,wght@0,300;0,400;0,600;1,400&family=Poppins:wght@300;400;500;600;700&display=swap" rel="stylesheet"/> 16<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,600;0,700&family=IBM+Plex+Sans:wght@0,300;0,400;0,600;0,700&display=swap" rel="stylesheet"/> 17<style> 18/* OEDP-inspired layout + typography, adapted for OpenTEAM on GitLab/GitHub Pages */ 19:root{ 20 /* Light green theme */ 21 --bg: #f3fbf5; 22 --bg-alt: #e7f5ea; 23 --text: #2b2b2b; 24 --muted: rgba(43,43,43,0.78); 25 --border: rgba(43,43,43,0.14); 26 --shadow: 0 14px 40px rgba(0,0,0,0.08); 27 28 /* Accent greens (slightly lighter for more pop on pale background) */ 29 --accent: #2f7a52; 30 --accent-2: #4fb57c; 31 32 --menu-bg: #2b2b2b; 33 --menu-text: #ffffff; 34 35 --radius: 18px; 36 --container: 1140px; 37 --space-2: 16px; 38 --space-3: 24px; 39 --space-4: 36px; 40 --space-5: 56px; 41} 42 43*{box-sizing:border-box} 44html{scroll-behavior:smooth} 45body{ 46 margin:0; 47 background:var(--bg); 48 color:var(--text); 49 font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; 50 line-height:1.55; 51} 52a{color:var(--text); text-decoration-color: rgba(43,43,43,0.35); text-underline-offset: 2px;} 53a:hover{opacity:0.92} 54h2, h3{font-family: "Oswald", system-ui, sans-serif; letter-spacing: 0.2px;} 55h2{font-size: 34px; margin:0 0 8px 0;} 56h3{font-size: 22px; margin:0 0 10px 0;} 57 58.container{ 59 width:min(var(--container), calc(100% - 2*var(--space-3))); 60 margin-inline:auto; 61} 62.skip-link{ 63 position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; 64} 65.skip-link:focus{ 66 left: var(--space-3); top: var(--space-3); 67 width:auto; height:auto; padding: 10px 12px; 68 background: white; border:1px solid var(--border); border-radius: 12px; z-index: 1000; 69} 70 71/* NAV */ 72.nav-shell{ 73 position:sticky; 74 top:0; 75 z-index: 60; 76 display:flex; 77 align-items:center; 78 justify-content:space-between; 79 padding: 14px 16px; 80 background: rgba(243,251,245,0.86); 81 backdrop-filter: blur(10px); 82 border-bottom: 1px solid var(--border); 83} 84.menu-button{ 85 display:flex; align-items:center; gap: 10px; 86 border: 1px solid var(--border); 87 background: white; 88 padding: 10px 12px; 89 border-radius: 14px; 90 box-shadow: 0 10px 24px rgba(0,0,0,0.06); 91 cursor:pointer; 92} 93.menu-icon{ 94 width: 18px; height: 12px; position:relative; display:inline-block; 95} 96.menu-icon::before, .menu-icon::after, .menu-icon span{ 97 content:""; 98 position:absolute; left:0; right:0; 99 height:2px; background: var(--text); border-radius: 2px; 100} 101.menu-icon::before{top:0} 102.menu-icon::after{bottom:0} 103.menu-icon span{top:50%; transform: translateY(-50%);} 104.menu-label{ 105 font-family: "Oswald", system-ui, sans-serif; 106 font-weight:700; 107 letter-spacing: 0.08em; 108} 109.nav-title-text{ 110 font-family: "Crimson Pro", serif; 111 font-size: 18px; 112 color: var(--muted); 113} 114.nav-logo img{ 115 width: 128px; height: 128px; 116 object-fit: contain; 117} 118 119/* Drawer */ 120.drawer{ 121 position:fixed; 122 top:0; left:0; 123 width: 360px; 124 max-width: 86vw; 125 height: 100vh; 126 background: var(--menu-bg); 127 color: var(--menu-text); 128 transform: translateX(-110%); 129 transition: transform 240ms ease; 130 z-index: 100; 131 border-right: 1px solid rgba(255,255,255,0.12); 132} 133.drawer.open{transform: translateX(0);} 134.drawer-inner{height:100%; padding: 18px 18px 22px 18px; display:flex; flex-direction:column; gap: 18px;} 135.drawer-top{ 136 display:flex; align-items:flex-start; justify-content:space-between; gap: 12px; 137 position:relative; 138} 139.drawer-mark img{ 140 width: 96px; height: 96px; object-fit: contain; 141 background: rgba(255,255,255,0.92); 142 border-radius: 18px; 143 padding: 10px; 144} 145.drawer-close{ 146 border: 1px solid rgba(255,255,255,0.18); 147 background: transparent; 148 color: var(--menu-text); 149 border-radius: 12px; 150 padding: 8px 10px; 151 cursor:pointer; 152 font-size: 16px; 153} 154.drawer-vertical{ 155 position:absolute; 156 left: 108px; 157 top: 10px; 158 writing-mode: vertical-rl; 159 transform: rotate(180deg); 160 font-family: "Oswald", system-ui, sans-serif; 161 letter-spacing: 0.10em; 162 text-transform: uppercase; 163 font-size: 12px; 164 color: rgba(255,255,255,0.86); 165 pointer-events:none; 166} 167.drawer-links{ 168 display:flex; 169 flex-direction:column; 170 gap: 10px; 171 margin-top: 8px; 172} 173.drawer-link{ 174 display:block; 175 padding: 12px 12px; 176 border-radius: 14px; 177 color: var(--menu-text); 178 text-decoration:none; 179 font-family: "Oswald", system-ui, sans-serif; 180 font-weight: 700; 181 letter-spacing: 0.06em; 182} 183.drawer-link:hover{background: rgba(255,255,255,0.08); opacity:1;} 184.drawer-meta{margin-top:auto; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.12);} 185.drawer-meta-title{font-family:"Oswald"; letter-spacing: 0.08em; text-transform: uppercase; font-size: 12px; color: rgba(255,255,255,0.78);} 186.drawer-meta-link{display:inline-block; margin-top: 6px; color: rgba(255,255,255,0.95); text-decoration:none;} 187.drawer-meta-link:hover{opacity:0.9;} 188 189.scrim{ 190 position:fixed; 191 inset:0; 192 background: rgba(0,0,0,0.35); 193 opacity:0; 194 pointer-events:none; 195 transition: opacity 200ms ease; 196 z-index: 90; 197} 198.scrim.open{opacity:1; pointer-events:auto;} 199 200/* HERO */ 201.hero{padding: var(--space-5) 0;} 202.hero-grid{ 203 display:grid; 204 grid-template-columns: 1.05fr 0.95fr; 205 gap: var(--space-4); 206 align-items:start; 207} 208.hero-right{ 209 position: sticky; 210 top: 80px; 211} 212.feature-head{ 213 font-family: "Oswald", system-ui, sans-serif; 214 font-weight: 700; 215 font-size: clamp(34px, 4vw, 54px); 216 line-height: 1.05; 217 margin:0 0 var(--space-2) 0; 218} 219.feature-sub{ 220 margin:0 0 var(--space-3) 0; 221 color: var(--muted); 222 font-family: "Crimson Pro", serif; 223 font-size: 19px; 224 max-width: 68ch; 225} 226.hero-ctas{display:flex; gap: 12px; flex-wrap:wrap; margin-bottom: var(--space-3);} 227.btn{ 228 display:inline-flex; 229 align-items:center; 230 justify-content:center; 231 gap: 5px; 232 padding: 9px 16px; 233 border-radius: 999px; 234 border: 1.5px solid var(--border); 235 background: #fff; 236 text-decoration:none; 237 font-weight: 700; 238 font-size: 14px; 239 color: var(--text); 240 box-shadow: none; 241 transition: background 120ms ease, border-color 120ms ease;
242 cursor: pointer; 243} 244.btn:hover{ background: var(--bg-alt); border-color: rgba(0,0,0,0.22); } 245.btn.primary{ 246 color: #fff; 247 background: #1a5c35; 248 border-color: #1a5c35; 249} 250.btn.primary:hover{ background: #154d2c; border-color: #154d2c; } 251.btn.small{padding: 7px 13px; font-size: 13px;} 252.hero-notes{display:grid; grid-template-columns: 1fr 1fr; gap: 12px;} 253.note{ 254 background: rgba(255,255,255,0.72); 255 border: 1px solid var(--border); 256 border-radius: var(--radius); 257 padding: 14px; 258} 259.note-title{font-family:"Oswald"; font-weight:700; letter-spacing:0.02em;} 260.note-body{color: var(--muted); font-size: 14px;} 261 262.tile-grid{ 263 display:grid; 264 grid-template-columns: 1fr 1fr; 265 gap: 12px; 266} 267.tile{ 268 display:block; 269 border: 1px solid rgba(255,255,255,0.15); 270 border-radius: var(--radius); 271 padding: 16px; 272 text-decoration:none; 273 color: white; 274 position:relative; 275 overflow:hidden; 276 box-shadow: var(--shadow); 277 min-height: 132px; 278} 279.tile::before{ 280 content:""; 281 position:absolute; inset:0; 282 background: rgba(0,0,0,0.38); 283} 284.tile > *{position:relative; z-index:1;} 285.tile-top{display:flex; align-items:flex-start; justify-content:space-between; gap: 10px;} 286.tile-title{font-family:"Oswald"; font-size: 20px; font-weight:700;} 287.tile-arrow{font-size: 18px;} 288.tile-desc{margin-top: 8px; color: rgba(255,255,255,0.90); font-size: 13px; line-height:1.35;} 289.hero-caption{ 290 margin-top: 12px; 291 padding: 14px 16px; 292 border-radius: var(--radius); 293 background: white; 294 border: 1px solid var(--border); 295 color: var(--muted); 296 box-shadow: 0 10px 24px rgba(0,0,0,0.05); 297} 298 299/* Background tiles */ 300.tile-covercrop{background: url("assets/bg_covercrop.jpg") center/cover no-repeat;} 301.tile-mycelium{background: url("assets/bg_mycelium.jpg") center/cover no-repeat;} 302.tile-fieldpatterns{background: url("assets/bg_fieldpatterns.jpg") center/cover no-repeat;} 303.tile-malawi{background: url("assets/bg_malawi.jpg") center/cover no-repeat;} 304 305/* Sections */ 306.section{padding: var(--space-5) 0;} 307.section.alt{background: var(--bg-alt); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);} 308.section-head p{margin: 0; color: var(--muted); max-width: 90ch; font-family:"Crimson Pro", serif; font-size: 18px;} 309.section-head{margin-bottom: var(--space-3);} 310 311.cards{ 312 display:grid; 313 grid-template-columns: repeat(4, 1fr); 314 gap: 14px; 315} 316.cards.two{grid-template-columns: repeat(2, 1fr);} 317.card{ 318 border: 1px solid rgba(255,255,255,0.15); 319 border-radius: var(--radius); 320 padding: 18px; 321 box-shadow: 0 10px 24px rgba(0,0,0,0.06); 322 position:relative; 323 overflow:hidden; 324 color: white; 325 min-height: 210px; 326} 327.card::before{ 328 content:""; 329 position:absolute; inset:0; 330 background: rgba(0,0,0,0.45); 331} 332.card > *{position:relative; z-index:1;} 333.card p{margin: 0 0 10px 0;} 334.muted{color: rgba(255,255,255,0.86);} 335 336/* Background cards */ 337.card-covercrop{background: url("assets/bg_covercrop.jpg") center/cover no-repeat;} 338.card-mycelium{background: url("assets/bg_mycelium.jpg") center/cover no-repeat;} 339.card-fieldpatterns{background: url("assets/bg_fieldpatterns.jpg") center/cover no-repeat;} 340.card-malawi{background: url("assets/bg_malawi.jpg") center/cover no-repeat;} 341 342.split{ 343 display:grid; 344 grid-template-columns: 1fr 1fr; 345 gap: 14px; 346} 347.panel{ 348 background: white; 349 border: 1px solid var(--border); 350 border-radius: var(--radius); 351 padding: 18px; 352 box-shadow: 0 10px 24px rgba(0,0,0,0.05); 353 color: var(--text); 354} 355.panel ul{margin: 10px 0 0 18px; color: var(--muted);} 356.callout{ 357 margin-top: var(--space-3); 358 padding: 16px 18px; 359 border-radius: var(--radius); 360 border: 1px dashed rgba(45,106,79,0.35); 361 background: rgba(64,145,108,0.10); 362} 363.callout-title{font-family:"Oswald"; font-weight:700;} 364.callout-body{color: var(--muted); margin-top: 6px;} 365 366/* Higher-contrast helper text in Collabathons & Current Work */ 367#pilots .section-head .muted{ color: rgba(43,43,43,0.92); } 368#pilots .panel-help .muted{ color: rgba(43,43,43,0.94); } 369#pilots .wg-project-cards__head .muted{ color: rgba(43,43,43,0.90); } 370 371/* Make the help bubble read more clearly on the light green theme */ 372#pilots .panel.panel-help{ 373 border: 1px dashed rgba(47,122,82,0.35); 374 background: rgba(79,181,124,0.10); 375} 376 377/* Stronger contrast for the email CTAs in the Join section */ 378#join a.btn.small{ 379 color: #fff; 380 background: #1a5c35; 381 border-color: #1a5c35; 382 box-shadow: none; 383} 384#join a.btn.small:hover{ background: #154d2c; border-color: #154d2c; } 385 386.events{display:grid; gap: 12px;} 387.event{ 388 display:grid; 389 grid-template-columns: 90px 1fr; 390 gap: 14px; 391 align-items:center; 392 background: white; 393 border: 1px solid var(--border); 394 border-radius: var(--radius); 395 padding: 14px; 396 box-shadow: 0 10px 24px rgba(0,0,0,0.05); 397} 398.event-date{ 399 border-radius: 16px; 400 border: 1px solid rgba(45,106,79,0.25); 401 background: rgba(45,106,79,0.06); 402 padding: 10px 10px; 403 text-align:center; 404} 405.event-month{font-size: 12px; letter-spacing: 0.3px; color: var(--accent); font-family:"Oswald"; font-weight:700;} 406.event-day{font-size: 22px; font-family:"Oswald"; font-weight:700;} 407.event-body h3{margin:0 0 4px 0;} 408.event-body p{margin:0; color: var(--muted);} 409 410/* Footer */ 411.footer{ 412 border-top: 1px solid var(--border); 413 padding: var(--space-4) 0; 414 background: var(--bg); 415} 416.footer-grid{ 417 display:grid; 418 grid-template-columns: 1.2fr 0.8fr; 419 gap: 18px; 420 align-items:start; 421} 422.footer-brand{display:flex; gap: 14px; align-items:flex-start;} 423.footer-logo{width: 160px; height: 160px; object-fit: contain; background: white; border: 1px solid var(--border); border-radius: 16px; padding: 10px;} 424.footer-title{font-family:"Oswald"; font-weight:700; font-size: 20px;} 425.footer-subtitle{color: var(--muted); font-family:"Crimson Pro"; font-size: 18px;} 426.footer-meta{margin-top: 6px; color: var(--muted); font-size: 14px;} 427.footer-meta.small{font-size: 12px;} 428.footer-links{display:flex; flex-direction:column; gap: 8px;} 429.footer-links a{color: var(--muted); text-decoration:none;} 430.footer-links a:hover{color: var(--text); opacity:1;} 431 432/* Responsive */ 433@media (max-width: 980px){ 434 .hero-grid{grid-template-columns: 1fr; gap: var(--space-3);} 435 .cards{grid-template-columns: 1fr 1fr;} 436 .cards.two{grid-template-columns: 1fr;} 437 .split{grid-template-columns: 1fr;} 438 .tile-grid{grid-template-columns: 1fr 1fr;} 439 .footer-grid{grid-template-columns: 1fr;} 440} 441@media (max-width: 640px){ 442 .nav-title{display:none;} 443 .hero-notes{grid-template-columns: 1fr;} 444 .tile-grid{grid-template-columns: 1fr;} 445 .cards{grid-template-columns: 1fr;} 446 .event{grid-template-columns: 1fr; } 447 .event-date{width: 110px;} 448} 449 450 451/* Ensure links are readable on image cards */ 452.card a{color:#ffffff; text-decoration-color: rgba(255,255,255,0.65);} .card a:hover{opacity:0.92;} 453 454 455 456/* ===== Scrolling cards (Projects / Tool-Community-Platform / Attributions) ===== */ 457.wg-project-cards{ margin-top: 18px; } 458.wg-project-cards__head h3{ margin:0 0 6px 0; } 459.wg-project-cards__wrap{ position: relative; } 460 461.wg-project-cards__rail, 462.tcp-rail{ 463 display:grid; 464 grid-auto-flow: column; 465 gap: 12px; 466 overflow-x: auto; 467 padding: 6px 2px 10px 2px; 468 scroll-snap-type: x mandatory; 469 scroll-padding: 8px; 470 -webkit-overflow-scrolling: touch; 471} 472.wg-project-cards__rail{ grid-auto-columns: minmax(250px, 280px); } 473.tcp-rail{ grid-auto-columns: minmax(220px, 260px); } 474.attr-rail{ 475 display: grid; 476 grid-template-rows: repeat(2, auto); 477 grid-auto-flow: column;
478 grid-auto-columns: minmax(160px, 190px); 479 gap: 8px; 480 overflow-x: auto; 481 padding: 6px 2px 10px 2px; 482 scroll-snap-type: x mandatory; 483 scroll-padding: 8px; 484 -webkit-overflow-scrolling: touch; 485} 486 487.wg-project-cards__rail::-webkit-scrollbar, 488.tcp-rail::-webkit-scrollbar, 489.attr-rail::-webkit-scrollbar{ height: 10px; } 490.wg-project-cards__rail::-webkit-scrollbar-track, 491.tcp-rail::-webkit-scrollbar-track, 492.attr-rail::-webkit-scrollbar-track{ background: transparent; } 493.wg-project-cards__rail::-webkit-scrollbar-thumb, 494.tcp-rail::-webkit-scrollbar-thumb, 495.attr-rail::-webkit-scrollbar-thumb{ 496 background: rgba(43,43,43,0.16); 497 border-radius: 999px; 498} 499 500.wg-edge-arrow{ 501 position:absolute; 502 top:50%; 503 transform: translateY(-50%); 504 width:40px; height:44px; 505 border-radius: 14px; 506 border: 1px solid var(--border); 507 background: rgba(255,255,255,0.78); 508 color: var(--text); 509 font-size: 22px; 510 line-height: 1; 511 cursor: pointer; 512 z-index: 3; 513 display:inline-flex; 514 align-items:center; 515 justify-content:center; 516 box-shadow: 0 10px 20px rgba(0,0,0,0.08); 517} 518.wg-edge-arrow:hover{ background: rgba(255,255,255,0.92); } 519.wg-edge-arrow:disabled{ opacity:0.35; cursor: default; } 520.wg-edge-arrow--left{ left: 6px; } 521.wg-edge-arrow--right{ right: 6px; } 522 523.wg-rail-fade{ 524 position:absolute; 525 top:0; bottom:0; 526 width:46px; 527 pointer-events:none; 528 z-index:2; 529} 530.wg-rail-fade--left{ 531 left:0; 532 background: linear-gradient(to right, var(--bg-alt), rgba(242,243,235,0)); 533} 534.wg-rail-fade--right{ 535 right:0; 536 background: linear-gradient(to left, var(--bg-alt), rgba(242,243,235,0)); 537} 538 539/* Project cards */ 540.wg-project-card{ 541 scroll-snap-align: start; 542 border-radius: var(--radius); 543 border: 1px solid var(--border); 544 background: #fff; 545 box-shadow: var(--shadow); 546 overflow:hidden; 547 position: relative; 548} 549.wg-project-card::before{ 550 content:""; 551 position:absolute; 552 top:10px; 553 left:10px; 554 width:28px; 555 height:28px; 556 border-radius: 10px; 557 border: 1px solid var(--border); 558 background-color: rgba(43,43,43,0.03); 559 /* Collabathon icon source (used as a sprite-like header graphic) */ 560 background-image: url('https://openteam.community/wp-content/uploads/2021/07/Collab_Header-768x230.png'); 561 background-repeat: no-repeat; 562 /* Scale down the banner and âcropâ to the left-most icon */ 563 background-size: 210px auto; 564 background-position: 6px 50%; 565} 566.wg-project-card__top{ padding: 12px 12px 10px 48px; display:grid; gap:10px; } 567.wg-project-card__name{ margin:0; font-size:14px; line-height:1.25; } 568.wg-project-card__one-liner{ margin:0; font-size:12.5px; color: var(--muted); line-height:1.35; } 569.wg-project-card__meta{ display:flex; flex-wrap:wrap; gap:6px; } 570.wg-pill{ 571 font-size: 11px; 572 padding: 5px 8px; 573 border-radius: 999px; 574 border: 1px solid var(--border); 575 background: rgba(43,43,43,0.03); 576 white-space: nowrap; 577} 578.wg-project-card__details{ border-top: 1px solid var(--border); background: rgba(43,43,43,0.02); } 579.wg-project-card__summary{ 580 list-style:none; 581 cursor:pointer; 582 display:flex; 583 justify-content:space-between; 584 align-items:center; 585 gap:10px; 586 padding: 10px 12px; 587 font-size: 12.5px; 588 user-select:none; 589} 590.wg-project-card__details summary::-webkit-details-marker{ display:none; } 591.wg-project-card__chev{ transition: transform 160ms ease; opacity:0.9; } 592.wg-project-card__details[open] .wg-project-card__chev{ transform: rotate(180deg); } 593.wg-project-card__body{ padding: 10px 12px 12px; font-size: 12.5px; line-height: 1.45; color: var(--muted); } 594.wg-project-card__links{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; } 595.wg-project-card__links a{ 596 text-decoration:none; 597 border: 1px solid var(--border); 598 background: rgba(43,43,43,0.03); 599 color: var(--text); 600 font-size: 12px; 601 padding: 6px 9px; 602 border-radius: 999px; 603} 604.wg-project-card__links a:hover{ background: rgba(43,43,43,0.06); } 605 606/* Tool/Community/Platform cards */ 607.tcp-card{ scroll-snap-align:start; } 608.tcp-card__link{ 609 display:block; 610 border-radius: var(--radius); 611 border: 1px solid var(--border); 612 background:#fff; 613 box-shadow: var(--shadow); 614 padding: 12px; 615 text-decoration:none; 616 color: var(--text); 617} 618.tcp-card__top{ display:flex; align-items:center; gap:10px; } 619.tcp-card__logo{ width:34px; height:34px; border-radius: 10px; border:1px solid var(--border); background: var(--bg-alt); } 620.tcp-card__name{ font-weight:600; font-size: 13px; line-height:1.2; } 621.tcp-card__tag{ margin-top:2px; font-size: 12px; color: var(--muted); } 622.tcp-card__arrow{ margin-left:auto; color: var(--muted); } 623 624/* Attribution cards */ 625.attr-card{ scroll-snap-align:start; } 626.attr-card__link{ 627 display:flex; 628 align-items:center; 629 gap:10px; 630 border-radius: var(--radius); 631 border: 1px solid var(--border); 632 background:#fff; 633 box-shadow: var(--shadow); 634 padding: 10px 12px; 635 text-decoration:none; 636 color: var(--text); 637} 638.attr-card__logo{ width:28px; height:28px; border-radius: 9px; border:1px solid var(--border); background: var(--bg-alt); } 639.attr-card__name{ font-weight:600; font-size: 12.5px; line-height:1.2; } 640.attr-card__arrow{ margin-left:auto; color: var(--muted); } 641 642@media (min-width: 900px){ 643 .wg-project-cards__rail{ grid-auto-columns: minmax(280px, 320px); } 644 .tcp-rail{ grid-auto-columns: minmax(240px, 280px); } 645} 646@media (max-width: 640px){ 647 .wg-edge-arrow{ display:none; } /* swipe is best on mobile */ 648} 649 650/* Convenings icons (JOIN / BUILD / SHARE) */ 651.event-month{ display:flex; align-items:center; gap:8px; } 652.event-icon{ display:inline-flex; } 653.event-icon svg{ display:block; } 654 655/* ===== Shared Calendar (event cards) ===== */
656.cal-details{ 657 border: 1px solid var(--border); 658 border-radius: var(--radius); 659 background: #fff; 660 box-shadow: var(--shadow); 661 overflow: hidden; 662} 663.cal-summary{ 664 list-style: none; 665 cursor: pointer; 666 display:flex; 667 justify-content: space-between; 668 align-items: center; 669 gap: 12px; 670 padding: 14px 14px; 671 border-bottom: 1px solid var(--border); 672 background: var(--bg-alt); 673} 674.cal-summary::-webkit-details-marker{ display:none; } 675 676.cal-summary-title{ 677 font-family:'Oswald',sans-serif; 678 font-size:16px; 679 font-weight:700; 680 color: var(--text); 681 letter-spacing:.01em; 682} 683 684/* Higher-contrast helper text inside the calendar summary */ 685.cal-summary-subtitle{ font-size:13px; color:var(--muted); line-height:1.5; font-family:'IBM Plex Mono',monospace; font-size:9px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; } 686.cal-controls{ padding: 10px 14px 12px 14px; display:flex; flex-direction:column; gap:6px; } 687.cal-filterrow{ display:flex; flex-wrap:wrap; gap:7px; align-items:center; padding:10px 0 8px; } 688.cal-chips{ display:contents; } /* children flow inline into filterrow */ 689.cal-chips--tags{ display:contents; } 690.cal-meta-count{ font-family:'IBM Plex Mono',monospace; font-size:9px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#6b6760; } 691.cal-chip{ 692 appearance:none; 693 cursor:pointer; 694 user-select:none; 695 font-family:'IBM Plex Mono',monospace; 696 font-size:9.5px; 697 font-weight:600; 698 letter-spacing:.06em; 699 text-transform:uppercase; 700 padding:5px 11px; 701 border-radius:20px; 702 border:1px solid #ddd8ce; 703 background:#f7f3ec; 704 color:#6b6760; 705 white-space:nowrap; 706 flex:0 0 auto; 707 transition:all 120ms; 708} 709.cal-chip:hover, 710.cal-chip[aria-pressed="true"]{ 711 background:#1e4d2b; 712 color:#fff; 713 border-color:#1e4d2b; 714} 715 716.cal-rail{ grid-auto-columns: minmax(260px, 300px); } 717 718/* Event card source icon */ 719 720 721/* ===== Featured book layout ===== */ 722.featured-book{ 723 display:flex; 724 gap: 14px; 725 align-items:flex-start; 726} 727.featured-book__cover{ 728 width: 110px; 729 height: auto; 730 border-radius: 14px; 731 border: 1px solid var(--border); 732 box-shadow: 0 10px 18px rgba(0,0,0,0.08); 733 flex: 0 0 auto; 734} 735.featured-book__text{ flex: 1 1 auto; min-width: 0; } 736.featured-book__title{ margin:0 0 10px 0; color: var(--muted); } 737.featured-book__desc{ margin:0; } 738 739@media (max-width: 640px){ 740 .featured-book{ flex-direction:column; } 741 .featured-book__cover{ width: 140px; } 742} 743 744/* ===== Desktop whitespace tightening (hero bubbles + spacing to Our Work) ===== */ 745@media (min-width: 900px){ 746 .hero{ padding: var(--space-4) 0 var(--space-3); } 747 .hero-grid{ gap: var(--space-3); } 748 .hero-ctas{ margin-bottom: var(--space-2); } 749 .hero-caption{ margin-top: 10px; } 750 .hero-notes{ grid-template-columns: 1fr 1fr; } 751 /* Reduce the visual gap between hero and the next section */ 752 #initiatives.section{ padding-top: var(--space-4); } 753} 754 755/* ===== Inline logos for text mentions ===== */ 756.inline-logo{ 757 width: 18px; 758 height: 18px; 759 vertical-align: -3px; 760 margin: 0 6px 0 6px; 761 border-radius: 4px; 762 object-fit: contain; 763} 764.inline-logo-label{ 765 font-weight: 600; 766} 767 768/* ===== GOATech forum join button ===== */ 769.card-goat{ 770 border: 1px solid var(--border); 771} 772.goat-btn{ 773 display: inline-flex; 774 align-items: center; 775 gap: 10px; 776} 777.goat-btn .btn-logo{ 778 width: 18px; 779 height: 18px; 780 border-radius: 4px; 781 object-fit: contain; 782} 783 784/* ===== Videos page ===== */ 785.video-grid{ 786 display: grid; 787 grid-template-columns: 1.25fr 0.75fr; 788 gap: 14px; 789 align-items: start; 790} 791.video-embed{ 792 position: relative; 793 width: 100%; 794 padding-top: 56.25%; /* 16:9 */ 795 overflow: hidden; 796 border-radius: 18px; 797 border: 1px solid var(--border); 798 background: #fff; 799} 800 801/* Playlist list-style embed (taller, scroll-friendly) */ 802.video-embed--library{ 803 padding-top: 0; 804 height: 520px; 805} 806.video-embed iframe{ 807 position: absolute; 808 inset: 0; 809 width: 100%; 810 height: 100%; 811 border: 0; 812} 813@media (max-width: 980px){ 814 .video-grid{ grid-template-columns: 1fr; } 815} 816 817 818/* --- Canonical library rail (index) --- */ 819.library-rail-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.10);border-radius:18px;padding:14px;} 820.rail{display:flex;gap:12px;overflow:auto;padding:0 26px 6px 26px;scroll-snap-type:x proximity;scroll-behavior:smooth} 821.rail::-webkit-scrollbar{height:10px}
822.rail::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.18);border-radius:999px} 823.rail-wrap{position:relative} 824.rail-arrow-end{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,0.20);background:rgba(0,0,0,0.35);cursor:pointer;display:none;align-items:center;justify-content:center;z-index:3} 825.rail-arrow-end:hover{border-color:rgba(255,255,255,0.40);background:rgba(0,0,0,0.45)} 826.rail-arrow-end svg{width:18px;height:18px;fill:#fff;opacity:.95} 827.rail-arrow-left{left:-6px} 828.rail-arrow-right{right:-6px} 829@media (min-width: 900px){.rail-arrow-end{display:flex}} 830 831.scard{min-width:260px;max-width:320px;scroll-snap-align:start;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,0.12);background:rgba(0,0,0,0.22);position:relative} 832.shead{display:grid;grid-template-columns:86px 1fr;gap:10px;padding:12px 12px 10px 12px;align-items:start} 833.scover{width:86px;height:120px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,0.12);background:linear-gradient(135deg, rgba(255,255,255,0.10), rgba(0,0,0,0.20))} 834.scover img{width:100%;height:100%;object-fit:cover;display:block} 835.smeta{min-width:0} 836.stitle{margin:0 0 6px 0;font-size:14px;line-height:1.25} 837.ssub{font-size:12px;opacity:.82} 838.sactions{display:flex;gap:8px;flex-wrap:wrap;padding:0 12px 12px 12px} 839.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,0.18);background:rgba(0,0,0,0.20);color:var(--text);text-decoration:none;font-weight:700;font-size:12px} 840.pill:hover{border-color:rgba(255,255,255,0.35);background:rgba(0,0,0,0.26)} 841.pill.secondary{font-weight:800;opacity:.92} 842.detail{border-top:1px solid rgba(255,255,255,0.10);padding:10px 12px 14px 12px;display:none} 843.detail.open{display:block} 844.detail p{margin:0 0 10px 0;font-size:12.5px;line-height:1.45;opacity:.95} 845.stags{display:flex;flex-wrap:wrap;gap:6px} 846.stag{font-size:11px;opacity:.92;border:1px solid rgba(255,255,255,0.14);background:rgba(0,0,0,0.16);border-radius:999px;padding:5px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} 847 848/* --- Suggest bubble (Inspirations) --- */ 849.suggest-bubble .suggest-inner{ 850 background: rgba(255,255,255,0.92); 851 border: 1px solid rgba(0,0,0,0.10); 852 border-radius: 18px; 853 padding: 14px 14px 12px 14px; 854 color: #111 !important; 855} 856.suggest-bubble .suggest-title{font-weight:900;color:#111 !important;margin-bottom:6px} 857.suggest-bubble .suggest-text{color:#111 !important;opacity:0.92;line-height:1.4} 858.suggest-bubble .suggest-link{display:inline-block;margin-top:10px;color:#111 !important;font-weight:900;text-decoration:underline} 859 860/* --- Project cards: light green hue variations + icon + thumbnail --- */ 861.wg-project-card{ 862 background: hsl(var(--wgHue, 138) 55% 92%); 863 border: 1px solid rgba(0,0,0,0.10); 864 box-shadow: 0 12px 26px rgba(0,0,0,0.10); 865} 866.wg-project-card *{color: rgba(0,0,0,0.88);} 867.wg-project-card .wg-pill{ 868 background: rgba(255,255,255,0.55); 869 border: 1px solid rgba(0,0,0,0.10); 870 color: rgba(0,0,0,0.78); 871} 872.wg-project-card__top{display:flex; gap:12px; align-items:flex-start;} 873.wg-project-card__media{display:flex; flex-direction:column; gap:10px; width:92px; flex:0 0 92px;} 874.wg-project-card__thumb{width:92px; height:72px; border-radius:14px; overflow:hidden; border:1px solid rgba(0,0,0,0.10); background: rgba(255,255,255,0.35);} 875.wg-project-card__thumbimg{width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.05) contrast(1.02);} 876.wg-project-card__icon{ 877 width:44px; height:44px; border-radius:14px; 878 display:flex; align-items:center; justify-content:center; 879 background: rgba(255,255,255,0.60); 880 border:1px solid rgba(0,0,0,0.10); 881} 882.wg-project-card__icon svg{width:24px;height:24px; color: rgba(0,0,0,0.78);} 883.wg-project-card__name{letter-spacing:-0.01em;} 884.wg-project-card__one-liner{color: rgba(0,0,0,0.75) !important;} 885.wg-project-card__body p{color: rgba(0,0,0,0.80) !important;} 886.wg-project-card__links a{ 887 color: rgba(0,0,0,0.86) !important; 888 text-decoration: underline; 889 font-weight: 800; 890} 891.wg-project-card:hover{transform: translateY(-2px);} 892 893 894/* --- Project card structure update: corner icon + hero row --- */ 895.wg-project-card{position:relative;} 896.wg-project-card__cornericon{ 897 position:absolute; 898 top:10px; left:10px; 899 width:56px; height:56px; 900 border-radius:18px; 901 background:#ffffff; 902 border:1px solid rgba(0,0,0,0.12); 903 box-shadow: 0 10px 18px rgba(0,0,0,0.14); 904 display:flex; align-items:center; justify-content:center; 905 z-index:6; 906} 907.wg-project-card__cornericon svg{width:28px;height:28px;color:rgba(0,0,0,0.80);} 908 909.wg-project-card__top{display:block;} 910.wg-project-card__main{padding-left:0;} 911.wg-project-card__name{margin-top:2px;} 912.wg-project-card__hero{ 913 display:grid; 914 grid-template-columns: 88px 1fr; 915 gap:12px; 916 align-items:start; 917 margin-top:12px; 918} 919.wg-project-card__thumb2{ 920 width:88px; 921 height:64px; 922 border-radius:14px; 923 overflow:hidden; 924 border:1px solid rgba(0,0,0,0.10); 925 background: rgba(255,255,255,0.35); 926} 927.wg-project-card__thumbimg2{width:100%;height:100%;object-fit:cover;display:block;
927filter:saturate(1.05) contrast(1.03);} 928.wg-project-card__hero .wg-project-card__meta{ 929 display:flex; 930 flex-wrap:wrap; 931 gap:8px; 932 margin:0; 933 align-content:flex-start; 934} 935.wg-project-card__meta{margin-top:10px;} 936/* ensure tags sit just below title and right of image */ 937.wg-project-card__one-liner{margin-bottom:0;} 938 939/* Hide any legacy icon containers if present */ 940.wg-project-card__icon,.wg-project-card__media{display:none !important;} 941 942/* --- wg-pill wrap fix (prevent right-edge clipping) --- */ 943.wg-project-card__hero{padding-right:12px;} 944.wg-project-card__hero .wg-project-card__meta{min-width:0; gap:10px;} 945.wg-project-card__meta{padding-right:12px;} 946.wg-pill{ 947 max-width:100%; 948 white-space:normal; 949 line-height:1.15; 950 overflow-wrap:anywhere; 951} 952 953/* --- title/icon overlap fix + thumb left alignment --- */ 954.wg-project-card__main{ 955 padding-left: 64px; /* reserve space for corner icon so title never sits underneath */ 956} 957.wg-project-card__hero{ 958 margin-left: -64px; /* pull hero row (thumb + tags) back to align with card left edge */ 959 padding-left: 64px; /* keep internal alignment consistent */ 960} 961.wg-project-card__thumb2{ 962 width: 86px; 963 height: 62px; 964} 965.wg-project-card__hero{ 966 grid-template-columns: 86px 1fr; 967} 968/* ensure nothing shows behind icon */ 969.wg-project-card__cornericon::before{ 970 content:""; 971 position:absolute; 972 inset:-2px; 973 border-radius:20px; 974 background:#ffffff; 975 z-index:-1; 976} 977 978/* ========================= 979 v9 Compact wg-project card layout (book-cover style) 980 ========================= */ 981.wg-project-card{padding:14px 14px 12px 14px !important;border-radius:18px !important;} 982.wg-project-card__cornericon{top:10px !important;left:10px !important;width:50px !important;height:50px !important;border-radius:16px !important;background:#fff !important;} 983.wg-project-card__name{margin:0 0 4px 72px !important;font-size:18px !important;line-height:1.15 !important;text-align:left !important;} 984.wg-project-card__one-liner{margin:0 0 10px 72px !important;line-height:1.25 !important;text-align:left !important;} 985.wg-project-card__hero{margin-top:6px !important;margin-left:0 !important;padding-left:0 !important;grid-template-columns:76px 1fr !important;gap:12px !important;align-items:start !important;} 986.wg-project-card__thumb2{width:76px !important;height:108px !important;border-radius:14px !important;} 987.wg-project-card__thumbimg2{filter:saturate(1.08) contrast(1.06) !important;} 988.wg-project-card__hero .wg-project-card__meta{display:flex !important;flex-wrap:wrap !important;gap:8px !important;min-width:0 !important;padding-right:12px !important;} 989.wg-pill{padding:7px 10px !important;border-radius:999px !important;font-size:12px !important;white-space:nowrap !important;max-width:none !important;} 990.wg-project-card__body{margin-top:10px !important;} 991.wg-project-card__body p{margin:0 0 8px 0 !important;line-height:1.35 !important;} 992.wg-project-card__links{margin-top:8px !important;} 993@media (max-width:520px){ 994 .wg-project-card{padding:12px !important;} 995 .wg-project-card__cornericon{width:46px !important;height:46px !important;} 996 .wg-project-card__name{margin-left:66px !important;} 997 .wg-project-card__one-liner{margin-left:66px !important;} 998 .wg-project-card__hero{grid-template-columns:70px 1fr !important;} 999 .wg-project-card__thumb2{width:70px !important;height:100px !important;} 1000 .wg-pill{white-space:normal !important;} 1001} 1002 1003/* ========================= 1004 v10 Project card layout (reference screenshot) 1005 ========================= */ 1006.wg-project-card{padding:14px !important;border-radius:22px !important;} 1007.wg-project-card__top{ 1008 display:grid !important; 1009 grid-template-columns: 64px 1fr !important; 1010 gap: 12px !important; 1011 align-items:start !important; 1012} 1013.wg-project-card__iconbox{ 1014 width:64px;height:64px;border-radius:20px; 1015 background:#fff;border:1px solid rgba(0,0,0,0.10); 1016 display:flex;align-items:center;justify-content:center; 1017 box-shadow: 0 10px 18px rgba(0,0,0,0.12); 1018} 1019.wg-project-card__iconbox svg{width:28px;height:28px;color:rgba(0,0,0,0.80);} 1020 1021.wg-project-card__name{margin:0 !important;font-size:20px !important;line-height:1.15 !important;} 1022.wg-project-card__one-liner{margin-top:6px !important;margin-bottom:0 !important;line-height:1.25 !important;} 1023 1024.wg-project-card__hero{ 1025 margin-top: 10px !important; 1026 display:grid !important; 1027 grid-template-columns: 140px 1fr !important; 1028 gap: 14px !important; 1029 align-items:start !important; 1030} 1031.wg-project-card__thumb2{ 1032 width:140px !important; 1033 height:190px !important; /* book cover */ 1034 border-radius:16px !important; 1035 overflow:hidden; 1036 border:1px solid rgba(0,0,0,0.10); 1037 background: rgba(255,255,255,0.35); 1038} 1039.wg-project-card__thumbimg2{width:100%;height:100%;object-fit:cover;display:block;
1039filter:saturate(1.05) contrast(1.05);} 1040 1041.wg-project-card__hero .wg-project-card__meta{ 1042 display:flex !important; 1043 flex-direction:column !important; 1044 align-items:flex-start !important; 1045 gap: 10px !important; 1046} 1047.wg-pill{white-space:nowrap !important;max-width:none !important;} 1048 1049@media (max-width: 640px){ 1050 .wg-project-card__hero{grid-template-columns: 120px 1fr !important;} 1051 .wg-project-card__thumb2{width:120px !important;height:170px !important;} 1052 .wg-pill{white-space:normal !important;} 1053} 1054 1055/* High-contrast nominate bubble (library) */ 1056.nominate-bubble-contrast{ 1057 background:#ffffff !important; 1058 border:2px solid rgba(0,70,40,0.35) !important; 1059 color:#0b1b12 !important; 1060} 1061.nominate-bubble-contrast *{color:#0b1b12 !important;} 1062.nominate-bubble-contrast a{color:#0b1b12 !important;text-decoration:underline;font-weight:900;} 1063 1064/* Rail filters */ 1065.rail-filters{margin:10px 0 14px 0;} 1066.filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center} 1067.filter-search{flex:1;min-width:240px;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,0.14);background:#fff;color:#102016;font-weight:800}
1068.filter-chips{display:flex;gap:8px;flex-wrap:wrap} 1069.chip{padding:8px 10px;border-radius:999px;border:1px solid rgba(0,70,40,0.22);background:#fff;color:#0b1b12;font-weight:900;font-size:12px;cursor:pointer} 1070.chip.is-active{background:rgba(18,120,70,0.12);border-color:rgba(18,120,70,0.45)} 1071 1072 1073/* ========================= 1074 Projects rails (editable config page) 1075 ========================= */ 1076.hero--projects{padding:34px 0 18px 0;} 1077.hero__row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap} 1078.hero__title{margin:0 0 8px 0;} 1079.hero__lede{margin:0;max-width:72ch} 1080 1081.rail-section{margin:22px 0 28px 0;} 1082.rail-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px} 1083.rail-title{margin:0;font-size:20px} 1084 1085.rail-filter{margin:10px 0 14px 0;} 1086.filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center} 1087.filter-search{flex:1;min-width:240px;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,0.14);background:#fff;color:#102016;font-weight:800}
1088.filter-chips{display:flex;gap:8px;flex-wrap:wrap} 1089.chip{padding:8px 10px;border-radius:999px;border:1px solid rgba(0,70,40,0.22);background:#fff;color:#0b1b12;font-weight:900;font-size:12px;cursor:pointer} 1090.chip.is-active{background:rgba(18,120,70,0.12);border-color:rgba(18,120,70,0.45)} 1091 1092.rail{display:flex;gap:14px;overflow:auto;padding-bottom:6px;scroll-snap-type:x mandatory} 1093.rail::-webkit-scrollbar{height:10px} 1094.pcard{min-width:340px;max-width:340px;scroll-snap-align:start;border-radius:18px;border:2px solid rgba(0,70,40,0.55);background:#fff;box-shadow:0 10px 18px rgba(0,0,0,0.10);overflow:hidden} 1095.pcard__link{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:stretch;padding:12px;text-decoration:none;color:inherit} 1096.pcard__cover{width:110px;height:150px;border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,0.12);background:rgba(0,0,0,0.03)} 1097.pcard__cover img{width:100%;height:100%;object-fit:cover;display:block} 1098.pcard__cover--logo{height:110px;width:110px;display:flex;align-items:center;justify-content:center} 1099.pcard__cover--logo img{width:64px;height:64px;object-fit:contain} 1100.pcard__meta{min-width:0} 1101.pcard__title{font-weight:900;line-height:1.15;margin-top:2px} 1102.pcard__sub{margin-top:6px;opacity:0.85;line-height:1.25;font-size:13px} 1103.pcard__pills{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px} 1104.mini-pill{font-size:11px;font-weight:900;padding:6px 8px;border-radius:999px;border:1px solid rgba(0,70,40,0.25);background:rgba(18,120,70,0.08)} 1105.mini-pill--theme{background:rgba(0,0,0,0.04);border-color:rgba(0,0,0,0.15)} 1106.pcard__actions{display:flex;align-items:flex-start;justify-content:flex-end} 1107.pcard__arrow{font-weight:900} 1108 1109.pcard__more{padding:0 12px 12px 12px} 1110.pcard__morebtn{cursor:pointer;font-weight:900} 1111.pcard__morebody{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px} 1112 1113@media (max-width:520px){ 1114 .pcard{min-width:300px;max-width:300px} 1115 .pcard__link{grid-template-columns:96px 1fr auto} 1116 .pcard__cover{width:96px;height:132px} 1117} 1118 1119/* Rail sort dropdown (metagov-style) */ 1120.rail-sort{ 1121 padding:8px 10px; 1122 border-radius:12px; 1123 border:1px solid rgba(0,0,0,0.14); 1124 background:#fff; 1125 color:#102016; 1126 font-weight:900; 1127} 1128 1129.calendar-rail{display:flex;gap:14px;overflow:auto;padding-bottom:6px;} 1130.calendar-card{min-width:320px;max-width:320px;} 1131 1132/* Library-style rail arrows (unified) */ 1133.rail-wrap{position:relative;} 1134.rail-arrow{ 1135 position:absolute;top:50%;transform:translateY(-50%); 1136 width:44px;height:44px;border-radius:999px; 1137 border:1px solid rgba(0,0,0,0.16); 1138 background:#fff;color:#0b1b12;font-weight:900; 1139 display:flex;align-items:center;justify-content:center; 1140 box-shadow:0 10px 18px rgba(0,0,0,0.14); 1141 cursor:pointer;z-index:6; 1142} 1143.rail-arrow--left{left:-14px;} 1144.rail-arrow--right{right:-14px;} 1145.rail-arrow:disabled{opacity:0.35;cursor:default} 1146@media (max-width:640px){ 1147 .rail-arrow{display:none;} 1148} 1149 1150/* =================================================== 1151 v20 Fixes: Rail UX, Filter chips, Event cards, 1152 TCP cards with thumbnails, Metagov card 1153 =================================================== */ 1154 1155/* ---- Rail section: clean layout for filters + rail ---- */ 1156.rail-section { 1157 background: rgba(255,255,255,0.60); 1158 border: 1px solid rgba(0,0,0,0.10); 1159 border-radius: 22px; 1160 padding: 18px 18px 14px 18px; 1161 margin-top: 18px; 1162 box-shadow: 0 8px 24px rgba(0,0,0,0.06); 1163} 1164 1165.rail-filter { 1166 margin: 10px 0 14px 0; 1167} 1168 1169.filter-row { 1170 display: flex; 1171 gap: 8px; 1172 flex-wrap: wrap; 1173 align-items: center; 1174} 1175 1176.filter-chips { 1177 display: flex; 1178 gap: 8px; 1179 flex-wrap: wrap; 1180} 1181 1182.chip { 1183 padding: 8px 14px; 1184 border-radius: 999px; 1185 border: 1px solid rgba(0,70,40,0.22); 1186 background: #fff; 1187 color: #0b1b12; 1188 font-weight: 700; 1189 font-size: 12px; 1190 cursor: pointer; 1191 transition: all 120ms ease; 1192 white-space: nowrap; 1193} 1194 1195.chip:hover { 1196 border-color: rgba(18,120,70,0.55); 1197 background: rgba(18,120,70,0.06); 1198} 1199 1200.chip.is-active { 1201 background: var(--accent); 1202 border-color: var(--accent); 1203 color: #fff; 1204 box-shadow: 0 4px 12px rgba(47,122,82,0.35); 1205} 1206 1207/* ---- Rail wrap: proper overflow handling ---- */ 1208.rail-wrap { 1209 position: relative; 1210 margin: 0 -2px; 1211} 1212 1213.rail { 1214 display: flex; 1215 gap: 14px; 1216 overflow-x: auto; 1217 padding: 6px 26px 14px 26px; 1218 scroll-snap-type: x mandatory; 1219 scroll-behavior: smooth; 1220 -webkit-overflow-scrolling: touch; 1221} 1222 1223.rail::-webkit-scrollbar { height: 6px; } 1224.rail::-webkit-scrollbar-track { background: transparent; } 1225.rail::-webkit-scrollbar-thumb { 1226 background: rgba(0,0,0,0.14); 1227 border-radius: 999px; 1228} 1229 1230/* ---- pcard (project cards in JS-rendered rail) ---- */ 1231.pcard { 1232 min-width: 300px; 1233 max-width: 300px; 1234 scroll-snap-align: start; 1235 border-radius: 18px; 1236 border: 1px solid rgba(0,70,40,0.20); 1237 background: #fff; 1238 box-shadow: 0 8px 20px rgba(0,0,0,0.08); 1239 overflow: hidden; 1240 transition: transform 160ms ease, box-shadow 160ms ease; 1241 flex: 0 0 auto; 1242} 1243 1244.pcard:hover { 1245 transform: translateY(-3px); 1246 box-shadow: 0 14px 32px rgba(0,0,0,0.13); 1247} 1248 1249.pcard__link { 1250 display: grid; 1251 grid-template-columns: 96px 1fr auto; 1252 gap: 12px; 1253 align-items: stretch; 1254 padding: 12px; 1255 text-decoration: none; 1256 color: inherit; 1257} 1258 1259.pcard__cover { 1260 width: 96px; 1261 height: 136px; 1262 border-radius: 12px; 1263 overflow: hidden; 1264 border: 1px solid rgba(0,0,0,0.10); 1265 background: rgba(0,70,40,0.06); 1266 flex-shrink: 0; 1267} 1268 1269.pcard__cover img { 1270 width: 100%; 1271 height: 100%; 1272 object-fit: cover; 1273 display: block; 1274} 1275 1276.pcard__meta { 1277 min-width: 0; 1278 display: flex; 1279 flex-direction: column; 1280 justify-content: flex-start; 1281 padding-top: 2px; 1282} 1283 1284.pcard__title { 1285 font-weight: 800; 1286 font-size: 14px; 1287 line-height: 1.2; 1288 margin-top: 0; 1289 color: #0b1b12; 1290} 1291 1292.pcard__sub { 1293 margin-top: 6px; 1294 color: rgba(0,0,0,0.62); 1295 line-height: 1.3; 1296 font-size: 12.5px; 1297} 1298 1299.pcard__pills { 1300 margin-top: 10px; 1301 display: flex; 1302 flex-wrap: wrap; 1303 gap: 6px; 1304} 1305 1306.mini-pill { 1307 font-size: 11px; 1308 font-weight: 700; 1309 padding: 5px 8px; 1310 border-radius: 999px; 1311 border: 1px solid rgba(0,70,40,0.25); 1312 background: rgba(18,120,70,0.08); 1313 color: #0b3d1f; 1314 white-space: nowrap; 1315} 1316 1317.mini-pill--theme { 1318 background: rgba(0,0,0,0.04); 1319 border-color: rgba(0,0,0,0.14); 1320 color: rgba(0,0,0,0.65); 1321} 1322 1323.pcard__actions { 1324 display: flex; 1325 align-items: flex-start; 1326 justify-content: flex-end; 1327} 1328 1329.pcard__arrow { 1330 font-size: 16px; 1331 opacity: 0.55; 1332 padding-top: 2px; 1333} 1334 1335 1336 1337.wg-project-cards .wg-project-card { 1338 border-radius: 20px !important; 1339} 1340 1341/* ---- Calendar chip styles ---- */ 1342.cal-chip { 1343 border: 1px solid rgba(0,70,40,0.22); 1344 background: #fff; 1345 color: #0b1b12; 1346 font-weight: 700; 1347 transition: all 120ms ease; 1348} 1349 1350.cal-chip[aria-pressed="true"] { 1351 background: var(--accent); 1352 color: #fff; 1353 border-color: var(--accent); 1354 box-shadow: 0 4px 12px rgba(47,122,82,0.30); 1355} 1356 1357/* ---- TCP cards with thumbnail ---- */ 1358.tcp-card--has-thumb .tcp-card__link { 1359 display: block; 1360 padding: 0; 1361 overflow: hidden; 1362} 1363 1364.tcp-card__thumb-wrap { 1365 width: 100%; 1366 height: 120px; 1367 overflow: hidden; 1368 border-bottom: 1px solid var(--border); 1369} 1370 1371.tcp-card__thumb { 1372 width: 100%; 1373 height: 100%; 1374 object-fit: cover; 1375 display: block; 1376 transition: transform 300ms ease; 1377} 1378 1379.tcp-card--has-thumb:hover .tcp-card__thumb { 1380 transform: scale(1.04); 1381} 1382 1383.tcp-card--has-thumb .tcp-card__top { 1384 padding: 10px 12px; 1385} 1386 1387/* ---- TCP rail fade colors ---- */ 1388.tcp-rail-section .wg-rail-fade--left { 1389 background: linear-gradient(to right, var(--bg-alt), transparent); 1390} 1391 1392.tcp-rail-section .wg-rail-fade--right { 1393 background: linear-gradient(to left, var(--bg-alt), transparent); 1394} 1395 1396/* ---- Better pill links on light background ---- */ 1397.rail-section .pill { 1398 background: var(--accent); 1399 color: #fff; 1400 border-color: transparent; 1401 box-shadow: 0 4px 12px rgba(47,122,82,0.25); 1402} 1403 1404.rail-section .pill:hover { 1405 background: var(--accent-2); 1406 opacity: 1; 1407} 1408 1409/* ---- wg-project-cards__head cleanup ---- */ 1410.wg-project-cards__head { 1411 padding-bottom: 6px; 1412} 1413 1414.wg-project-cards__head > .muted { 1415 font-size: 13.5px; 1416 margin-bottom: 8px; 1417 display: block; 1418} 1419
1420/* ---- Responsive ---- */ 1421@media (max-width: 640px) { 1422 .pcard { min-width: 270px; max-width: 270px; } 1423 .pcard__link { grid-template-columns: 80px 1fr auto; } 1424 .pcard__cover { width: 80px; height: 115px; } 1425 .rail-section { padding: 14px 14px 12px; border-radius: 18px; } 1426} 1427 1428/* Active nav link indicator */ 1429.drawer-link[aria-current="page"] { 1430 background: rgba(255,255,255,0.12); 1431 color: #fff; 1432 border-left: 3px solid rgba(79,181,124,0.90); 1433 padding-left: 9px; 1434} 1435 1436 1437 1438 1439/* metagov variant CSS: removed, replaced below */ 1440 1441 1442 1443/* ============================================================ 1444 METAGOV CARDS â matches screenshot 3 1445 Left: portrait cover image | Right: title, desc, pills, More 1446 ============================================================ */ 1447 1448/* pcard__link--grid: div wrapper (not anchor) that mimics pcard__link grid */ 1449.pcard__link--grid { 1450 display: grid; 1451 grid-template-columns: 96px 1fr auto; 1452 gap: 12px; 1453 align-items: stretch; 1454 padding: 12px; 1455 text-decoration: none; 1456 color: inherit; 1457} 1458 1459/* Metagov card cover: portrait, slightly taller for visual interest */ 1460.mg-card .pcard__cover { 1461 width: 96px; 1462 height: 120px; 1463 border-radius: 10px; 1464 overflow: hidden; 1465 border: 1px solid rgba(0,0,0,0.10); 1466 background: rgba(0,70,40,0.06); 1467 flex-shrink: 0; 1468} 1469.mg-card .pcard__cover img { 1470 width: 100%; 1471 height: 100%; 1472 object-fit: cover; 1473 display: block; 1474 transition: transform 240ms ease; 1475} 1476.mg-card:hover .pcard__cover img { 1477 transform: scale(1.04); 1478} 1479 1480/* Description: clamp to 3 lines like screenshot 3 */ 1481.mg-card__desc { 1482 display: -webkit-box; 1483 -webkit-line-clamp: 3; 1484 -webkit-box-orient: vertical; 1485 overflow: hidden; 1486} 1487 1488/* More â button â matches screenshot 3's white pill button */ 1489.mg-card__more-btn { 1490 display: inline-flex; 1491 align-items: center; 1492 align-self: flex-end; 1493 white-space: nowrap; 1494 padding: 5px 10px; 1495 border-radius: 999px; 1496 border: 1px solid var(--border); 1497 background: #fff; 1498 color: var(--text); 1499 font-size: 12px; 1500 font-weight: 700; 1501 text-decoration: none; 1502 box-shadow: 0 1px 3px rgba(0,0,0,0.08); 1503 transition: background 120ms ease, box-shadow 120ms ease; 1504} 1505.mg-card__more-btn:hover { 1506 background: var(--bg-alt); 1507 box-shadow: 0 2px 6px rgba(0,0,0,0.12); 1508} 1509 1510/* Status badge variants */ 1511.mini-pill--active { 1512 background: rgba(47,122,82,0.10); 1513 color: rgba(20,80,40,0.95); 1514 border-color: rgba(47,122,82,0.25); 1515} 1516.mini-pill--research { 1517 background: rgba(90,70,180,0.08); 1518 color: rgba(60,40,140,0.90); 1519 border-color: rgba(90,70,180,0.20); 1520} 1521 1522/* ============================================================ 1523 EVENT CARDS (.ec) â fully self-contained, no inheritance 1524 from .wg-project-card. Matches screenshot 1 target style. 1525 ============================================================ */ 1526 1527/* Rail */ 1528.cal-rail { grid-auto-columns: minmax(240px, 270px) !important; } 1529 1530/* Card shell â matches site panel style */ 1531/* ââ Calendar event cards (compact, no expand) âââââââââââââââââââ */ 1532.ec { 1533 scroll-snap-align: start; 1534 flex: 0 0 220px; 1535 border-radius: var(--radius); 1536 border: 1px solid var(--border); 1537 background: white; 1538 box-shadow: 0 2px 8px rgba(0,0,0,0.05); 1539 overflow: hidden; 1540 display: flex; 1541 flex-direction: column; 1542} 1543 1544/* Top strip: date | thumbnail | org logo */ 1545.ec__top { 1546 display: grid; 1547 grid-template-columns: 52px 1fr 52px; 1548 height: 72px; 1549 flex-shrink: 0; 1550} 1551 1552/* Date column */ 1553.ec__date-col { 1554 display: flex; 1555 flex-direction: column; 1556 align-items: center; 1557 justify-content: center; 1558 padding: 6px 4px; 1559 background: white; 1560 border-right: 1px solid var(--border); 1561} 1562.ec__date-month { 1563 font-size: 9px; 1564 font-weight: 800; 1565 letter-spacing: 0.08em; 1566 text-transform: uppercase; 1567 color: var(--accent); 1568 line-height: 1; 1569 display: block; 1570} 1571.ec__date-day { 1572 font-size: 24px; 1573 font-weight: 800; 1574 color: var(--text); 1575 line-height: 1.05; 1576 font-family: 'Oswald', sans-serif; 1577 display: block; 1578} 1579 1580/* Thumbnail middle */ 1581.ec__thumb-mid { 1582 background: var(--bg-alt); 1583 background-size: cover; 1584 background-position: center; 1585} 1586 1587/* Logo column */ 1588.ec__logo-col { 1589 display: flex; 1590 align-items: center; 1591 justify-content: center; 1592 padding: 8px 6px; 1593 background: white; 1594 border-left: 1px solid var(--border); 1595} 1596.ec__src-logo-lg { 1597 width: 34px; 1598 height: 34px; 1599 border-radius: 8px; 1600 object-fit: contain; 1601 image-rendering: auto; 1602 border: 1px solid var(--border); 1603 background: white; 1604 object-fit: contain; 1605 padding: 3px; 1606 display: block; 1607} 1608.ec__src-pill-sm { 1609 font-size: 8px; 1610 font-weight: 800; 1611 letter-spacing: 0.05em; 1612 padding: 3px 5px; 1613 border-radius: 4px; 1614 text-transform: uppercase; 1615 text-align: center; 1616 line-height: 1.2; 1617} 1618 1619/* Body */ 1620.ec__body { 1621 padding: 9px 11px 10px; 1622 display: flex; 1623 flex-direction: column; 1624 gap: 3px; 1625 flex: 1; 1626} 1627.ec__title { 1628 margin: 0; 1629 font-size: 12.5px; 1630 font-weight: 700; 1631 line-height: 1.3; 1632 color: var(--text); 1633 display: -webkit-box; 1634 -webkit-line-clamp: 3; 1635 -webkit-box-orient: vertical; 1636 overflow: hidden; 1637} 1638.ec__when { 1639 margin: 0; 1640 font-size: 11px; 1641 color: var(--muted); 1642 line-height: 1.4; 1643} 1644.ec__pills { 1645 display: flex; 1646 flex-wrap: wrap; 1647 gap: 3px; 1648 margin-top: 2px; 1649} 1650.ec-pill { 1651 font-size: 10px; 1652 font-weight: 600; 1653 padding: 2px 6px; 1654 border-radius: 999px; 1655 border: 1px solid var(--border); 1656 background: var(--bg-alt); 1657 color: var(--muted); 1658} 1659.ec__link-inline { 1660 font-size: 11px; 1661 font-weight: 700; 1662 color: var(--accent); 1663 text-decoration: none; 1664 margin-top: 4px; 1665 display: inline-block; 1666} 1667.ec__link-inline:hover { text-decoration: underline; } 1668 1669 1670/* Outlined variant */ 1671.btn.outline { 1672 background: transparent; 1673 border-color: rgba(26,92,53,0.40); 1674 color: #1a5c35; 1675} 1676.btn.outline:hover { 1677 background: rgba(26,92,53,0.06); 1678 border-color: #1a5c35; 1679} 1680 1681/* ============================================================ 1682 PARTICIPATE SECTION â icon in title row + collapsible ways 1683 ============================================================ */ 1684
1685/* Title row: "Participate" heading + collabathon icon side by side */ 1686.participate-title-row { 1687 display: flex; 1688 align-items: baseline; 1689 gap: 10px; 1690 flex-wrap: wrap; 1691 margin-bottom: 8px; 1692} 1693 1694.participate-icon { 1695 height: 34px; /* matches h2 font-size exactly */ 1696 width: auto; 1697 object-fit: contain; 1698 flex-shrink: 0; 1699 display: block; 1700} 1701 1702/* Collapsible "Ways to participate" block */ 1703.participate-ways { 1704 border-radius: var(--radius); 1705 border: 1px solid var(--border); 1706 background: #fff; 1707 box-shadow: 0 2px 8px rgba(0,0,0,0.04); 1708 overflow: hidden; 1709} 1710 1711.participate-ways__summary { 1712 list-style: none; 1713 cursor: pointer; 1714 display: flex; 1715 justify-content: space-between; 1716 align-items: center; 1717 gap: 12px; 1718 padding: 13px 16px; 1719 font-size: 14px; 1720 font-weight: 700; 1721 color: var(--text); 1722 user-select: none; 1723 background: rgba(43,43,43,0.02); 1724 border-bottom: 1px solid transparent; 1725 transition: background 120ms ease; 1726} 1727.participate-ways__summary::-webkit-details-marker { display: none; } 1728.participate-ways[open] .participate-ways__summary { 1729 border-bottom-color: var(--border); 1730 background: rgba(43,43,43,0.04); 1731} 1732.participate-ways__summary:hover { 1733 background: rgba(43,43,43,0.05); 1734} 1735 1736.participate-ways__label { 1737 font-family: 'Oswald', sans-serif; 1738 letter-spacing: 0.04em; 1739 text-transform: uppercase; 1740 font-size: 13px; 1741 color: var(--accent); 1742} 1743 1744.participate-ways__chev { 1745 transition: transform 180ms ease; 1746 opacity: 0.65; 1747 font-size: 13px; 1748} 1749.participate-ways[open] .participate-ways__chev { 1750 transform: rotate(180deg); 1751} 1752 1753/* Inner events padding when expanded */ 1754.participate-ways .events { 1755 padding: 0 14px 14px 14px; 1756} 1757 1758/* ============================================================ 1759 OUR WORK â 3 prose orientation panels 1760 ============================================================ */ 1761.our-work-panels { 1762 display: grid; 1763 grid-template-columns: repeat(3, 1fr); 1764 gap: 16px; 1765 margin-top: 4px; 1766} 1767.our-work-panel { 1768 background: white; 1769 border: 1px solid var(--border); 1770 border-radius: var(--radius); 1771 padding: 20px 20px 16px; 1772 display: flex; 1773 flex-direction: column; 1774} 1775.our-work-panel__kicker { 1776 font-family: 'Oswald', sans-serif; 1777 font-size: 11px; 1778 font-weight: 700; 1779 letter-spacing: 0.08em; 1780 text-transform: uppercase; 1781 color: var(--accent); 1782 margin-bottom: 6px; 1783} 1784.our-work-panel__title { 1785 font-size: 15px; 1786 font-weight: 700; 1787 color: var(--text); 1788 margin-bottom: 10px; 1789 line-height: 1.3; 1790} 1791.our-work-panel__body { 1792 font-size: 13.5px; 1793 color: var(--muted); 1794 line-height: 1.6; 1795 flex: 1; 1796 margin: 0 0 14px 0; 1797} 1798.our-work-panel__link { 1799 font-size: 12.5px; 1800 font-weight: 700; 1801 color: var(--accent); 1802 text-decoration: none; 1803 display: inline-block; 1804} 1805.our-work-panel__link:hover { text-decoration: underline; } 1806@media (max-width: 768px) { 1807 .our-work-panels { grid-template-columns: 1fr; } 1808} 1809@media (min-width: 769px) and (max-width: 1024px) { 1810 .our-work-panels { grid-template-columns: 1fr 1fr; } 1811 .our-work-panel:last-child { grid-column: span 2; } 1812} 1813 1814/* TCP card description line */ 1815.tcp-card__desc { 1816 font-size: 11.5px; 1817 color: var(--muted); 1818 line-height: 1.45; 1819 padding: 6px 10px 10px 10px; 1820 border-top: 1px solid var(--border); 1821 margin-top: 4px; 1822} 1823 1824/* ============================================================ 1825 PARTICIPATE â vertical list style 1826 ============================================================ */ 1827.participate-list { 1828 display: flex; 1829 flex-direction: column; 1830 gap: 8px; 1831 margin-top: 4px; 1832} 1833.participate-item { 1834 display: flex; 1835 align-items: center; 1836 gap: 14px; 1837 padding: 14px 16px; 1838 background: white; 1839 border: 1px solid var(--border); 1840 border-radius: var(--radius); 1841 text-decoration: none; 1842 color: var(--text); 1843 transition: box-shadow 120ms ease, border-color 120ms ease; 1844} 1845.participate-item:hover { 1846 border-color: rgba(26,92,53,0.35); 1847 box-shadow: 0 2px 10px rgba(0,0,0,0.06); 1848} 1849.participate-item__icon { 1850 flex-shrink: 0; 1851 width: 40px; 1852 height: 40px; 1853 border-radius: 10px; 1854 display: flex; 1855 align-items: center; 1856 justify-content: center; 1857} 1858.participate-item__body { 1859 flex: 1; 1860 min-width: 0; 1861} 1862.participate-item__title { 1863 font-weight: 700; 1864 font-size: 13.5px; 1865 color: var(--text); 1866 margin-bottom: 2px; 1867} 1868.participate-item__sub { 1869 font-size: 12.5px; 1870 color: var(--muted); 1871 line-height: 1.45; 1872} 1873.participate-item__arrow { 1874 flex-shrink: 0; 1875 font-size: 14px; 1876 color: var(--muted); 1877 opacity: 0.6; 1878} 1879 1880/* ============================================================ 1881 ATTRIBUTION GRID â stacked wrapped tiles (replaces single rail) 1882 ============================================================ */ 1883.attr-grid { 1884 display: flex; 1885 flex-wrap: wrap; 1886 gap: 8px; 1887 margin-top: 14px; 1888} 1889.attr-tile { 1890 display: flex; 1891 align-items: center; 1892 gap: 7px; 1893 padding: 6px 10px 6px 7px; 1894 background: white; 1895 border: 1px solid var(--border); 1896 border-radius: 8px; 1897 text-decoration: none; 1898 color: var(--text); 1899 font-size: 12px; 1900 font-weight: 600; 1901 transition: border-color 100ms ease, box-shadow 100ms ease; 1902 white-space: nowrap; 1903} 1904.attr-tile:hover { 1905 border-color: rgba(26,92,53,0.35); 1906 box-shadow: 0 2px 6px rgba(0,0,0,0.06); 1907} 1908.attr-tile__logo {
1909 width: 20px; 1910 height: 20px; 1911 border-radius: 5px; 1912 object-fit: contain; 1913 flex-shrink: 0; 1914 background: var(--bg-alt); 1915 border: 1px solid var(--border); 1916} 1917.attr-tile__name { 1918 color: var(--text); 1919 line-height: 1; 1920} 1921 1922/* ============================================================ 1923 INSPIRATIONS â compact bar 1924 ============================================================ */ 1925.insp-bar { 1926 display: flex; 1927 align-items: center; 1928 justify-content: space-between; 1929 gap: 16px; 1930 flex-wrap: wrap; 1931 padding: 14px 18px; 1932 background: white; 1933 border: 1px solid var(--border); 1934 border-radius: var(--radius); 1935} 1936.insp-bar__title { 1937 font-size: 17px; 1938 font-weight: 700; 1939 margin: 0 0 2px 0; 1940 font-family: 'Oswald', sans-serif; 1941} 1942.insp-bar__sub { 1943 font-size: 13px; 1944 color: var(--muted); 1945} 1946.insp-bar__actions { 1947 display: flex; 1948 gap: 8px; 1949 flex-wrap: wrap; 1950 flex-shrink: 0; 1951} 1952.insp-rail-details { margin-top: 10px; } 1953.insp-rail-summary { 1954 list-style: none; 1955 cursor: pointer; 1956 display: inline-flex; 1957 align-items: center; 1958 gap: 6px; 1959 font-size: 12.5px; 1960 font-weight: 700; 1961 color: var(--accent); 1962 padding: 4px 0; 1963 user-select: none; 1964} 1965.insp-rail-summary::-webkit-details-marker { display: none; } 1966.insp-rail-chev { transition: transform 160ms ease; } 1967.insp-rail-details[open] .insp-rail-chev { transform: rotate(180deg); } 1968 1969/* ============================================================ 1970 REGISTRY SECTION â versioned FAIR tech tool cards 1971 ============================================================ */ 1972.registry-section { } 1973 1974.registry-header { 1975 display: flex; 1976 align-items: flex-start; 1977 justify-content: space-between; 1978 gap: 14px; 1979 margin-bottom: 14px; 1980 flex-wrap: wrap; 1981} 1982.registry-header__title { 1983 font-family: 'Oswald', sans-serif; 1984 font-size: 16px; 1985 font-weight: 700; 1986 margin: 0 0 4px 0; 1987 color: var(--text); 1988} 1989.registry-header__sub { 1990 font-size: 13px; 1991 color: var(--muted); 1992 max-width: 70ch; 1993 line-height: 1.5; 1994} 1995.registry-badge { 1996 flex-shrink: 0; 1997 font-size: 11px; 1998 font-weight: 700; 1999 letter-spacing: 0.06em; 2000 text-transform: uppercase; 2001 padding: 4px 10px; 2002 border-radius: 999px; 2003 background: rgba(26,92,53,0.10); 2004 color: #1a5c35; 2005 border: 1px solid rgba(26,92,53,0.22); 2006 align-self: flex-start; 2007 margin-top: 2px; 2008} 2009.registry-rail-wrap { 2010 overflow-x: auto; 2011 padding-bottom: 10px; 2012 -webkit-overflow-scrolling: touch; 2013} 2014.registry-rail { 2015 display: flex; 2016 gap: 12px; 2017 width: max-content; 2018 padding: 2px 2px 4px; 2019} 2020 2021/* Individual registry card */ 2022.reg-card { 2023 width: 240px; 2024 flex-shrink: 0; 2025 background: white; 2026 border: 1px solid var(--border); 2027 border-radius: var(--radius); 2028 padding: 14px 14px 12px; 2029 display: flex; 2030 flex-direction: column; 2031 gap: 8px; 2032 box-shadow: 0 2px 6px rgba(0,0,0,0.04); 2033 transition: box-shadow 120ms ease, border-color 120ms ease; 2034} 2035.reg-card:hover { 2036 border-color: rgba(26,92,53,0.30); 2037 box-shadow: 0 4px 14px rgba(0,0,0,0.07); 2038} 2039.reg-card__head { 2040 display: flex; 2041 align-items: flex-start; 2042 gap: 10px; 2043} 2044.reg-card__icon { 2045 width: 36px; 2046 height: 36px; 2047 border-radius: 9px; 2048 flex-shrink: 0; 2049 display: flex; 2050 align-items: center; 2051 justify-content: center; 2052} 2053.reg-card__meta { 2054 display: flex; 2055 flex-direction: column; 2056 gap: 3px; 2057} 2058.reg-card__version { 2059 font-size: 10.5px; 2060 font-weight: 700; 2061 color: var(--accent); 2062 letter-spacing: 0.02em; 2063} 2064.reg-card__type { 2065 font-size: 10.5px; 2066 color: var(--muted); 2067 padding: 2px 6px; 2068 background: var(--bg-alt); 2069 border-radius: 4px; 2070 border: 1px solid var(--border); 2071 width: fit-content; 2072} 2073.reg-card__title { 2074 font-size: 13px; 2075 font-weight: 700; 2076 color: var(--text); 2077 line-height: 1.3; 2078 margin: 0; 2079} 2080.reg-card__desc { 2081 font-size: 12px; 2082 color: var(--muted); 2083 line-height: 1.5; 2084 margin: 0; 2085 flex: 1; 2086} 2087.reg-card__footer { 2088 display: flex; 2089 gap: 6px; 2090 flex-wrap: wrap; 2091 margin-top: 4px; 2092 padding-top: 8px; 2093 border-top: 1px solid var(--border); 2094} 2095.reg-card__link { 2096 font-size: 11.5px; 2097 font-weight: 700; 2098 text-decoration: none; 2099 color: var(--accent); 2100 padding: 4px 8px; 2101 border: 1px solid rgba(26,92,53,0.22); 2102 border-radius: 999px; 2103 background: rgba(26,92,53,0.05); 2104 transition: background 100ms; 2105} 2106.reg-card__link:hover { background: rgba(26,92,53,0.12); } 2107 2108/* attr-scroller-wrap: clip the fade overlays properly */ 2109.attr-scroller-wrap { overflow: hidden; } 2110 2111/* reg-card popup details â flush with card bottom edge */ 2112.reg-card__details { 2113 border-top: 1px solid var(--border); 2114 background: rgba(43,43,43,0.02); 2115 margin-top: auto; 2116 margin-left: -14px; 2117 margin-right: -14px; 2118 margin-bottom: -12px; 2119 border-radius: 0 0 var(--radius) var(--radius); 2120} 2121.reg-card__summary { 2122 list-style: none; 2123 cursor: pointer; 2124 display: flex; 2125 justify-content: space-between; 2126 align-items: center; 2127 padding: 8px 10px; 2128 font-size: 12px; 2129 font-weight: 700; 2130 color: var(--muted); 2131 user-select: none; 2132} 2133.reg-card__summary::-webkit-details-marker { display: none; } 2134.reg-card__chev { transition: transform 160ms ease; opacity: 0.7; } 2135.reg-card__details[open] .reg-card__chev { transform: rotate(180deg); }
2136.reg-card__expand { 2137 padding: 8px 10px 12px; 2138 border-top: 1px solid var(--border); 2139} 2140.reg-card__expand p { 2141 font-size: 12px; 2142 color: var(--muted); 2143 line-height: 1.5; 2144 margin: 0 0 8px; 2145} 2146.reg-card__tags { 2147 display: flex; 2148 flex-wrap: wrap; 2149 gap: 4px; 2150 margin-bottom: 10px; 2151} 2152.reg-card__tag { 2153 font-size: 10.5px; 2154 font-weight: 600; 2155 padding: 2px 7px; 2156 border-radius: 999px; 2157 border: 1px solid var(--border); 2158 background: var(--bg-alt); 2159 color: var(--muted); 2160} 2161.reg-card__links { 2162 display: flex; 2163 gap: 6px; 2164 flex-wrap: wrap; 2165} 2166 2167/* Calendar join note */ 2168.cal-join-note { 2169 font-size: 13px; 2170 color: var(--muted); 2171 padding: 8px 0 12px; 2172} 2173.cal-join-note a { 2174 color: var(--accent); 2175 font-weight: 700; 2176 text-decoration: none; 2177} 2178.cal-join-note a:hover { text-decoration: underline; } 2179 2180/* ============================================================ 2181 PROJECT RAIL CARDS â unscoped for reliable rendering 2182 ============================================================ */ 2183.rc-idx { 2184 flex: 0 0 185px; 2185 scroll-snap-align: start; 2186 border: 1px solid #b8d4be; 2187 border-radius: 8px; 2188 background: #ffffff; 2189 text-decoration: none; 2190 color: #1a1a14; 2191 display: flex; 2192 flex-direction: column; 2193 min-height: 150px; 2194 overflow: hidden; 2195 cursor: pointer; 2196 box-shadow: 0 2px 8px rgba(0,0,0,0.06); 2197 transition: border-color 120ms, box-shadow 120ms; 2198} 2199.rc-idx:hover { 2200 border-color: #1e4d2b; 2201 box-shadow: 0 4px 14px rgba(0,0,0,0.10); 2202} 2203.rc-idx.rc-hidden { display: none; } 2204 2205.rc-band-idx { 2206 height: 68px; 2207 display: flex; 2208 align-items: center; 2209 justify-content: center; 2210 flex-shrink: 0; 2211} 2212.rc-band-idx svg { width: 32px; height: 32px; opacity: 0.9; } 2213 2214.rc-body-idx { 2215 padding: 10px 11px 8px; 2216 flex: 1; 2217 display: flex; 2218 flex-direction: column; 2219 gap: 3px; 2220} 2221.rc-t-idx { 2222 font-family: 'IBM Plex Sans', sans-serif; 2223 font-weight: 700; 2224 font-size: 12px; 2225 line-height: 1.25; 2226 color: #1a1a14; 2227 margin: 0; 2228} 2229.rc-org-idx, .rc-org { 2230 font-family: 'IBM Plex Mono', monospace; 2231 font-size: 8.5px; 2232 color: #5a7f5e; 2233 text-transform: uppercase; 2234 letter-spacing: 0.05em; 2235 font-weight: 600; 2236 margin: 0; 2237} 2238.rc-desc { 2239 font-size: 10.5px; 2240 color: #6b6760; 2241 line-height: 1.4; 2242 margin-top: 4px; 2243 display: -webkit-box; 2244 -webkit-line-clamp: 3; 2245 -webkit-box-orient: vertical; 2246 overflow: hidden; 2247} 2248.rc-arr-idx { 2249 font-size: 11px; 2250 color: #1e4d2b; 2251 padding: 4px 11px 8px; 2252 align-self: flex-end; 2253 font-family: 'IBM Plex Mono', monospace; 2254 margin-top: auto; 2255} 2256.rail-sec-idx { 2257 background: #f0f7f1; 2258 border: 1px solid #c8deca; 2259 border-top: 3px solid #1e4d2b; 2260 padding: 16px 18px 20px; 2261 border-radius: 6px; 2262 margin-top: 4px; 2263} 2264.rail-hd-idx { 2265 font-family: 'IBM Plex Mono', monospace; 2266 font-size: 9px; 2267 font-weight: 700; 2268 letter-spacing: 0.18em; 2269 text-transform: uppercase; 2270 color: #5a7f5e; 2271 margin-bottom: 12px; 2272 display: flex; 2273 align-items: center; 2274 justify-content: space-between; 2275} 2276.rail-hd-idx a { 2277 font-size: 9px; 2278 color: #1e4d2b; 2279 text-decoration: none; 2280 letter-spacing: 0.1em; 2281} 2282.rail-hd-idx a:hover { text-decoration: underline; } 2283.rail-idx { 2284 display: flex; 2285 gap: 10px; 2286 overflow-x: auto; 2287 padding: 4px 0 12px; 2288 scroll-snap-type: x mandatory; 2289 -webkit-overflow-scrolling: touch; 2290} 2291.rail-idx::-webkit-scrollbar { height: 5px; } 2292.rail-idx::-webkit-scrollbar-track { background: transparent; } 2293.rail-idx::-webkit-scrollbar-thumb { background: #a0c4a8; border-radius: 4px; } 2294 2295 2296/* ââ Community Principles grid ââ */ 2297.principles-wrap { 2298 margin-top: 18px; 2299} 2300.principles-heading { 2301 font-family: 'IBM Plex Sans', sans-serif; 2302 font-size: 15px; 2303 font-weight: 700; 2304 letter-spacing: .02em; 2305 color: var(--text); 2306 display: block; 2307 margin-bottom: 12px; 2308} 2309.principles-grid { 2310 margin: 0; padding: 0; list-style: none; 2311 display: grid; 2312 grid-template-columns: 1fr 1fr; 2313 gap: 10px 24px; 2314} 2315@media (max-width: 640px) { 2316 .principles-grid { grid-template-columns: 1fr; } 2317} 2318.principle-item { 2319 display: flex; 2320 align-items: center; 2321 gap: 10px; 2322} 2323.principle-icon { 2324 flex-shrink: 0; 2325 width: 20px; height: 20px; 2326 color: var(--accent, #2f7a52); 2327 display: flex; align-items: center; justify-content: center; 2328}
2329.principle-icon svg { width: 20px; height: 20px; } 2330.principle-text { 2331 font-family: 'Crimson Pro', Georgia, serif; 2332 font-size: 17px; 2333 line-height: 1.35; 2334 color: var(--text); 2335} 2336 2337/* ââ Section divider (Our Work â Facilitate) ââ */ 2338.section-divider { 2339 padding: 0; 2340 margin: 0; 2341 overflow: hidden; 2342} 2343.section-divider__inner { 2344 display: flex; 2345 align-items: center; 2346 gap: 0; 2347 max-width: var(--container, 1140px); 2348 margin: 0 auto; 2349 padding: 0 20px; 2350} 2351.section-divider__line { 2352 flex: 1; 2353 height: 2px; 2354 background: linear-gradient(90deg, transparent, #1e4d2b 30%, #1e4d2b 70%, transparent); 2355 opacity: 0.18; 2356} 2357.section-divider__mark { 2358 flex: 0 0 auto; 2359 width: 36px; 2360 height: 36px; 2361 border-radius: 50%; 2362 border: 2px solid rgba(30, 77, 43, 0.18); 2363 background: var(--bg, #f3fbf5); 2364 display: flex; 2365 align-items: center; 2366 justify-content: center; 2367 color: rgba(30, 77, 43, 0.35); 2368 margin: 0 10px; 2369} 2370.section-divider__mark svg { 2371 width: 16px; 2372 height: 16px; 2373} 2374 2375 2376/* ââ Larger desktop rail scroll arrows ââ */ 2377@media (min-width: 768px) { 2378 .wg-edge-arrow { 2379 width: 52px; 2380 height: 52px; 2381 font-size: 26px; 2382 border-radius: 50%; 2383 background: rgba(255,255,255,0.92); 2384 box-shadow: 0 4px 16px rgba(0,0,0,0.13); 2385 border: 1.5px solid var(--border); 2386 } 2387 .wg-edge-arrow:hover { 2388 background: #fff; 2389 box-shadow: 0 6px 20px rgba(0,0,0,0.18); 2390 } 2391 .wg-edge-arrow--left { left: -10px; } 2392 .wg-edge-arrow--right { right: -10px; } 2393} 2394</style> 2395<style> 2396/* ââ Topbar (matches projects page) ââ */ 2397.topbar{position:sticky;top:0;z-index:60;background:#1e4d2b;border-bottom:3px solid #16381f;box-shadow:0 2px 14px rgba(0,0,0,.28);} 2398.tb-inner{max-width:1240px;margin:0 auto;padding:0 20px;display:flex;align-items:stretch;justify-content:space-between;} 2399.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:14px;color:#fff;text-decoration:none;padding:12px 0;font-family:'IBM Plex Sans',sans-serif;} 2400.brand-logo{width:26px;height:26px;flex:0 0 26px;} 2401.bdiv{width:1px;background:rgba(255,255,255,.2);margin:0 12px;align-self:stretch;} 2402.bsub{font-weight:400;color:rgba(255,255,255,.55);font-size:12px;} 2403 2404 2405 2406 2407/* Hamburger button inside topbar */ 2408.topbar-menu-btn{display:flex;align-items:center;gap:8px;appearance:none;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);padding:8px 12px;border-radius:8px;cursor:pointer;color:#fff;margin-right:14px;flex:0 0 auto;transition:background 120ms;} 2409.topbar-menu-btn:hover{background:rgba(255,255,255,.15);} 2410.topbar-hamburger{width:16px;height:11px;position:relative;display:inline-block;} 2411.topbar-hamburger::before,.topbar-hamburger::after,.topbar-hamburger span{content:"";position:absolute;left:0;right:0;height:2px;background:#fff;border-radius:2px;} 2412.topbar-hamburger::before{top:0} 2413.topbar-hamburger::after{bottom:0} 2414.topbar-hamburger span{top:50%;transform:translateY(-50%);} 2415.topbar-menu-label{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;} 2416 2417@media(max-width:640px){.brand .bsub,.brand .bdiv{display:none;}} 2418</style> 2419<style> 2420/* ââââââââââââââââââââââââââââââââââââââââââââââ 2421 INDEX PAGE PROJECT DETAIL DRAWER 2422 (scoped with #idxDrawer prefix) 2423ââââââââââââââââââââââââââââââââââââââââââââââ */ 2424#idxOverlay{position:fixed;inset:0;background:rgba(8,14,9,.52);z-index:1000;display:none;backdrop-filter:blur(3px);} 2425#idxOverlay.on{display:block;} 2426#idxDrawer{position:fixed;top:0;right:-780px;width:min(780px,100vw);height:100vh;background:#fff;z-index:1001;overflow-y:auto;transition:right 290ms cubic-bezier(.22,.68,0,1.1);box-shadow:-10px 0 60px rgba(0,0,0,.2);display:flex;flex-direction:column;font-family:'IBM Plex Sans',sans-serif;} 2427#idxDrawer.on{right:0;} 2428#idxDrawer .dr-head{padding:0;border-bottom:1px solid #ddd8ce;flex:0 0 auto;} 2429#idxDrawer .dr-top{padding:14px 20px 0;display:flex;justify-content:flex-end;} 2430#idxDrawer .dr-close{appearance:none;border:none;background:#ede8df;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 120ms;} 2431#idxDrawer .dr-close:hover{background:#b5b0a4;} 2432#idxDrawer .dr-close svg{width:15px;height:15px;} 2433#idxDrawer .dr-band{height:96px;border-radius:8px;display:flex;align-items:center;gap:16px;padding:0 20px;position:relative;overflow:hidden;margin:0 20px;} 2434#idxDrawer .dr-band::before{content:'';position:absolute;right:-30px;top:-30px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.06);} 2435#idxDrawer .dr-icon{width:62px;height:62px;border-radius:14px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex:0 0 62px;} 2436#idxDrawer .dr-icon svg{width:36px;height:36px;} 2437#idxDrawer .dr-t{font-size:21px;font-weight:700;color:#fff;letter-spacing:-.022em;line-height:1.15;} 2438#idxDrawer .dr-sub{font-size:12.5px;color:rgba(255,255,255,.6);margin-top:4px;} 2439#idxDrawer .dr-tabs{display:flex;border-bottom:1px solid #ddd8ce;margin-top:10px;} 2440#idxDrawer .dtab-idx{appearance:none;border:none;background:transparent;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#6b6760;padding:11px 15px;cursor:pointer;border-bottom:3px solid transparent;transition:color 120ms,border-color 120ms;white-space:nowrap;} 2441#idxDrawer .dtab-idx:hover{color:#1e4d2b;} 2442#idxDrawer .dtab-idx.on{color:#1e4d2b;border-bottom-color:#1e4d2b;}
2443#idxDrawer .dpanel-idx{display:none;padding:22px 24px 40px;flex:1;} 2444#idxDrawer .dpanel-idx.on{display:block;} 2445#idxDrawer .dr-desc{font-size:13.5px;color:#6b6760;line-height:1.62;margin-bottom:20px;} 2446#idxDrawer .dr-sec{font-family:'IBM Plex Mono',monospace;font-size:8.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9e9a93;margin-bottom:8px;margin-top:20px;} 2447#idxDrawer .dr-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:4px;} 2448#idxDrawer .dchip-idx{font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:3px;} 2449#idxDrawer .dr-info{font-size:13px;color:#6b6760;line-height:1.6;} 2450#idxDrawer .dr-info strong{color:#1a1a14;} 2451#idxDrawer .grat-row-idx{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px;} 2452#idxDrawer .gbt-idx{appearance:none;border:1px solid #ddd8ce;background:#f7f3ec;border-radius:20px;padding:7px 13px;font-size:12.5px;cursor:pointer;display:flex;align-items:center;gap:6px;font-family:'IBM Plex Sans',sans-serif;transition:all 120ms;} 2453#idxDrawer .gbt-idx:hover{border-color:#1e4d2b;background:#eaf3ec;} 2454#idxDrawer .gbt-idx.lit{background:#d4edda;border-color:#a3d4af;color:#1e6b3a;} 2455#idxDrawer .gcnt-idx{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;color:#9e9a93;min-width:16px;} 2456#idxDrawer .gcnt-idx.pop{animation:idxPop 280ms ease;} 2457@keyframes idxPop{0%,100%{transform:scale(1)}50%{transform:scale(1.5)}} 2458#idxDrawer .dr-links{display:flex;flex-direction:column;gap:8px;} 2459#idxDrawer .dlink-idx{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid #ddd8ce;border-radius:7px;text-decoration:none;color:#1a1a14;transition:border-color 120ms,background 120ms;} 2460#idxDrawer .dlink-idx:hover{border-color:#1e4d2b;background:#eaf3ec;} 2461#idxDrawer .dlink-i{width:34px;height:34px;flex:0 0 34px;border-radius:7px;background:#f7f3ec;display:flex;align-items:center;justify-content:center;border:1px solid #ddd8ce;} 2462#idxDrawer .dlink-i svg{width:17px;height:17px;} 2463#idxDrawer .dlink-n{font-weight:700;font-size:12.5px;} 2464#idxDrawer .dlink-t{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:#9e9a93;text-transform:uppercase;letter-spacing:.05em;} 2465#idxDrawer .dlink-u{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:#1e4d2b;margin-left:auto;flex:0 0 auto;} 2466#idxDrawer .pdf-wrap{margin-top:22px;} 2467#idxDrawer .pdf-hd{padding:10px 14px;background:#1e4d2b;color:#fff;display:flex;align-items:center;justify-content:space-between;border-radius:6px 6px 0 0;} 2468#idxDrawer .pdf-hd span{font-family:'IBM Plex Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;} 2469#idxDrawer .pdf-hd a{color:rgba(255,255,255,.7);font-family:'IBM Plex Mono',monospace;font-size:9.5px;text-decoration:none;} 2470#idxDrawer .pdf-fr{width:100%;height:480px;border:1px solid #ddd8ce;border-top:none;border-radius:0 0 6px 6px;} 2471#idxDrawer .cf{display:flex;flex-direction:column;gap:13px;} 2472#idxDrawer .cr{display:grid;grid-template-columns:1fr 1fr;gap:11px;} 2473#idxDrawer .fg{display:flex;flex-direction:column;gap:4px;} 2474#idxDrawer .fg label{font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1e4d2b;} 2475#idxDrawer .fg input,#idxDrawer .fg select,#idxDrawer .fg textarea{padding:8px 11px;border:1px solid #ddd8ce;border-radius:5px;font-family:'IBM Plex Sans',sans-serif;font-size:13px;color:#1a1a14;background:#fff;outline:none;transition:border-color 120ms;} 2476#idxDrawer .fg input:focus,#idxDrawer .fg select:focus,#idxDrawer .fg textarea:focus{border-color:#1e4d2b;box-shadow:0 0 0 3px rgba(30,77,43,.09);} 2477#idxDrawer .fg textarea{resize:vertical;min-height:76px;} 2478#idxDrawer .sbtn-idx{appearance:none;border:2px solid #1e4d2b;background:#1e4d2b;color:#fff;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:10px 20px;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background 120ms;align-self:flex-start;} 2479#idxDrawer .sbtn-idx:hover{background:#2a6338;border-color:#2a6338;} 2480#idxDrawer .conf-idx{display:none;padding:10px 13px;background:#d4edda;border:1px solid #a3d4af;border-radius:5px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;color:#1e6b3a;margin-top:4px;} 2481</style> 2482</head> 2483<body id="top"> 2484<a class="skip-link" href="#main">Skip to content</a> 2485<!-- Dark green topbar with hamburger menu --> 2486<div class="topbar"> 2487 <div class="tb-inner"> 2488 <button aria-controls="drawer" aria-expanded="false" class="topbar-menu-btn" id="menuButton">
2489 <span class="topbar-hamburger"><span></span></span> 2490 <span class="topbar-menu-label">MENU</span> 2491 </button> 2492 <a class="brand" href="index.html"> 2493 <img src="assets/openteam_logo.svg" alt="OpenTEAM" class="brand-logo-img" 2494 style="height:32px;width:auto;filter:brightness(0) invert(1);display:block;"/> 2495 </a> 2496 </div> 2497</div> 2498<aside aria-hidden="true" class="drawer" id="drawer"> 2499<div class="drawer-inner"> 2500<div class="drawer-top"> 2501<div class="drawer-mark"> 2502<img alt="OpenTEAM logo" src="assets/openteam_logo.svg"/> 2503</div> 2504<div class="drawer-vertical">OpenTEAM</div> 2505<button aria-label="Close menu" class="drawer-close" id="drawerClose">â</button> 2506</div> 2507<nav aria-label="Site" class="drawer-links"> 2508<a class="drawer-link" aria-current="page" href="index.html">HOME</a> 2509<a class="drawer-link" href="index.html#initiatives">OUR WORK</a> 2510<a class="drawer-link" href="index.html#pilots">PROJECTS & COLLABATHONS</a> 2511<a class="drawer-link" href="index.html#library">CELEBRATING ALIGNED WORK</a> 2512<a class="drawer-link" href="index.html#join">PARTICIPATE</a> 2513<a class="drawer-link" href="index.html#events">EVENTS CALENDAR</a> 2514<a class="drawer-link" href="canonical-source-texts.html">INSPIRATIONS</a> 2515<a class="drawer-link" href="videos.html">VIDEOS</a> 2516</nav> 2517<div class="drawer-meta"> 2518<div class="drawer-meta-title">Contact</div> 2519<a class="drawer-meta-link" href="https://www.hylo.com/groups/openteam" rel="noopener" target="_blank">Connect on Hylo â</a> 2520</div> 2521</div> 2522</aside> 2523<div aria-hidden="true" class="scrim" id="scrim"></div> 2524<main id="main"> 2525<!-- HERO --> 2526<section class="hero" id="home"> 2527<div class="container hero-grid"> 2528<div class="hero-left"> 2529<div class="feature-head">A Community for Sharing Agricultural Knowledge</div> 2530<p class="feature-sub"> 2531 OpenTEAM (Open Technology Ecosystem for Agroecological Management) works with diverse agriculture communities, 2532 technologists, and aligned organizations to collaboratively generate, share, and sustain agricultural knowledge to enable 2533 climate resilience, food system equity, and land stewardship for future generations. Together, we advance open agricultural 2534 technologies and data systems that are transparent, equitable, and regenerative. 2535 </p> 2536<div class="hero-ctas"> 2537<a class="btn primary" href="https://www.hylo.com/groups/openteam" rel="noopener" target="_blank">Join OpenTEAM on Hylo â</a> 2538<a class="btn" href="#initiatives">Explore initiatives</a> 2539</div> 2540<div class="hero-notes"> 2541</div> 2542</div> 2543<div class="hero-right"> 2544<div aria-label="Primary sections" class="tile-grid"> 2545<a class="tile tile-covercrop" href="#initiatives"> 2546<div class="tile-top"> 2547<div class="tile-title">Our Work</div> 2548<div aria-hidden="true" class="tile-arrow">â</div> 2549</div> 2550<div class="tile-desc">Tools ⢠Frameworks ⢠Learning</div> 2551</a> 2552<a class="tile tile-fieldpatterns" href="#pilots"> 2553<div class="tile-top"> 2554<div class="tile-title">Facilitate</div> 2555<div aria-hidden="true" class="tile-arrow">â</div> 2556</div> 2557<div class="tile-desc">Collabathons ⢠Current work</div> 2558</a> 2559<a class="tile tile-malawi" href="#library"> 2560<div class="tile-top"> 2561<div class="tile-title">Collaborators</div> 2562<div aria-hidden="true" class="tile-arrow">â</div> 2563</div> 2564<div class="tile-desc">Allied efforts & projects</div> 2565</a> 2566<a class="tile tile-mycelium" href="#join"> 2567<div class="tile-top"> 2568<div class="tile-title">Convene</div> 2569<div aria-hidden="true" class="tile-arrow">â</div> 2570</div> 2571<div class="tile-desc">In-Depths ⢠Library ⢠Stories</div> 2572</a> 2573</div> 2574<div class="hero-caption"><strong>OpenTEAM is an Evolving Ecosystem.</strong> Land steward trust and data sovereignty are front and center</div> 2575</div> 2576</div> 2577</section> 2578<section class="section" id="initiatives"> 2579<div class="container"> 2580<div class="section-head"> 2581<h2>Our Work</h2> 2582<p>OpenTEAM is a collaborative community building open, farmer-led technology for regenerative agriculture.</p> 2583<div class="principles-wrap"> 2584<strong class="principles-heading">Community Principles</strong> 2585<ul class="principles-grid"> 2586 <li class="principle-item"><span class="principle-icon"><svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="7" cy="6" r="2.5"/><circle cx="13" cy="6" r="2.5"/><path d="M2 18c0-3 2-5 5-5h6c3 0 5 2 5 5"/><path d="M7 13v2M13 13v2M7 15h6"/></svg></span><span class="principle-text">Agriculture is a shared human endeavor</span></li> 2587 <li class="principle-item"><span class="principle-icon"><svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
2587<path d="M7 3h6M8 3v6l-4 8h12l-4-8V3"/><path d="M6 15h8"/></svg></span><span class="principle-text">Agriculture is a public science</span></li> 2588 <li class="principle-item"><span class="principle-icon"><svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10 3v2M10 15v2M3 10H1M19 10h-2M5.3 5.3 3.9 3.9M16.1 16.1l-1.4-1.4M5.3 14.7 3.9 16.1M16.1 3.9l-1.4 1.4"/><circle cx="10" cy="10" r="3.5"/><path d="M4 16c0-1.7 1.3-3 3-3 .5-2 2.3-3.5 4.5-3.5 2.5 0 4.5 2 4.5 4.5 1.1.3 2 1.3 2 2.5"/></svg></span><span class="principle-text">A shared urgency exists to take climate action</span></li> 2589 <li class="principle-item"><span class="principle-icon"><svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 5h10a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H9l-3 3v-3H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2z"/><path d="M13 5h2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"/></svg></span><span class="principle-text">Knowledge is collaborative</span></li> 2590 <li class="principle-item"><span class="principle-icon"><svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 10h12"/><path d="M12 6l4 4-4 4"/><path d="M4 3v14"/></svg></span><span class="principle-text">Free and open exchange of ideas</span></li> 2591 <li class="principle-item"><span class="principle-icon"><svg viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="10" cy="10" r="2"/><circle cx="4" cy="5" r="1.5"/><circle cx="16" cy="5" r="1.5"/><circle cx="4" cy="15" r="1.5"/><circle cx="16" cy="15" r="1.5"/><path d="M5.1 6.4 8.3 8.8M11.7 8.8l3.2-2.4M5.1 13.6l3.2-2.4M11.7 11.2l3.2 2.4M6 5h8M6 15h8M4 6.5v7M16 6.5v7"/></svg></span><span class="principle-text">Agroecology depends upon healthy social communities</span></li> 2592</ul> 2593</div> 2594<p style="margin-top:16px;font-family:'Crimson Pro',Georgia,serif;font-size:17px;color:var(--text);">Everything we do falls into three modes of work:</p> 2595</div> 2596<div class="our-work-panels"> 2597<div class="our-work-panel"> 2598<div class="our-work-panel__kicker">Convene</div> 2599<div class="our-work-panel__title">Shared learning and orientation</div> 2600<p class="our-work-panel__body">We host community calls, working groups, and an In-Depths video series that makes the work of regenerative agricultural technology accessible â stories, primers, and glossary updates from across the ecosystem.</p> 2601<a class="our-work-panel__link" href="videos.html">Watch the In-Depths library â</a> 2602</div> 2603<div class="our-work-panel"> 2604<div class="our-work-panel__kicker">Facilitate</div> 2605<div class="our-work-panel__title">Collabathons and active projects</div> 2606<p class="our-work-panel__body">Structured collaborations â collabathons and working groups â that map actors, develop shared needs assessments, and pressure-test ideas across communities, producing reusable outputs and shared infrastructure.</p> 2607<a class="our-work-panel__link" href="#pilots">See current projects â</a> 2608</div> 2609<div class="our-work-panel"> 2610<div class="our-work-panel__kicker">Steward</div> 2611<div class="our-work-panel__title">Shared infrastructure and knowledge commons</div> 2612<p class="our-work-panel__body">Ethical technical infrastructure and practical governance patterns that provide farmers and communities with genuine choice â open standards, interoperability, and durable knowledge systems not locked to any single vendor.</p> 2613<a class="our-work-panel__link" href="#library">See aligned tools and communities â</a> 2614</div> 2615</div> 2616</div> 2617</section> 2618 2619<!-- Section divider: Our Work â Facilitate --> 2620<div class="section-divider" aria-hidden="true"> 2621 <div class="section-divider__inner"> 2622 <span class="section-divider__line"></span> 2623 <span class="section-divider__mark"> 2624 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> 2625 <path d="M12 5v14M5 12l7 7 7-7"/> 2626 </svg> 2627 </span> 2628 <span class="section-divider__line"></span> 2629 </div> 2630</div> 2631 2632<!-- PILOTS --> 2633<section class="section" id="pilots"> 2634<div class="container"> 2635<div class="section-head"> 2636<h2>Facilitate â Projects & Collabathons</h2> 2637<p> 2638 Where community priorities become shared projectsâtesting workflows, developing templates, and publishing reusable outputs. <sp
2638an class="muted">(see <img alt="Ag Knowledge Concordance logo" class="inline-logo" loading="lazy" src="assets/akc_logo.png"/><span class="inline-logo-label"><a href="https://agricultural-knowledge-concordance.github.io/Ag-Knowledge-Concordance/" rel="noopener" style="color: inherit; text-decoration: underline;" target="_blank"> 2639 Ag Knowledge Concordance 2640</a></span> project to dig deeper on how we are safeguarding key data and shared infrastructure)</span> 2641</p> 2642<div class="notes-wrap" style="margin-top: 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px;"><div class="note"> 2643<div class="note-title">Our community</div> 2644<div class="note-body">A collaborative network putting farmers, ranchers, and land stewards at the center of agricultural innovation.</div> 2645</div><div class="note"> 2646<div class="note-title">Our approach</div> 2647<div class="note-body">Build tools and processes together that enable others to build on our work</div> 2648</div></div></div> 2649<!-- Help text bubble (moved up); Archives bubble removed --> 2650<article aria-label="How we choose" class="panel panel-help"> 2651<p class="muted" style="margin:0;"> 2652<strong>How we choose:</strong> As a community we decide together on focus areas that address critical challenges in agriculture â 2653 field relevance & practical impact, interoperability & reuse, and stewardship & long-term maintenance. 2654 </p> 2655</article> 2656<style> 2657/* ââ IBM Plex fonts (scoped to rail area) ââ */ 2658@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,600;0,700&family=IBM+Plex+Sans:wght@0,300;0,400;0,600;0,700&display=swap'); 2659 2660/* ââ CSS variables used by the rail ââ */ 2661.proj-rail-root { 2662 --forest:#1e4d2b;--forest-md:#2a6338;--forest-lt:#d4e8d8; 2663 --sage:#5a7f5e;--sage-lt:#c8deca; 2664 --ink:#1a1a14;--white:#fff;--cream:#f7f3ec; 2665 --line:#ddd8ce;--dim:#6b6760;--faint:#9e9a93; 2666} 2667 2668/* ââ Filter bar ââ */ 2669.proj-rail-root .fbar-idx { 2670 display:flex;align-items:center;gap:7px;flex-wrap:wrap; 2671 padding:12px 0 10px;overflow-x:auto; 2672} 2673.proj-rail-root .fbar-idx::-webkit-scrollbar{display:none;} 2674.proj-rail-root .fl { 2675 font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:700; 2676 letter-spacing:.1em;text-transform:uppercase;color:#6b6760; 2677 white-space:nowrap;flex:0 0 auto;margin-right:3px; 2678} 2679.proj-rail-root .fb-idx { 2680 appearance:none;border:1px solid #ddd8ce;background:#f7f3ec; 2681 font-family:'IBM Plex Mono',monospace;font-size:9.5px;font-weight:600; 2682 letter-spacing:.06em;text-transform:uppercase;color:#6b6760; 2683 padding:5px 11px;border-radius:20px;cursor:pointer; 2684 white-space:nowrap;flex:0 0 auto;transition:all 120ms; 2685} 2686.proj-rail-root .fb-idx:hover, 2687.proj-rail-root .fb-idx.on {background:#1e4d2b;color:#fff;border-color:#1e4d2b;} 2688 2689/* ââ Rail shell ââ */ 2690.proj-rail-root .rail-sec-idx { 2691 background:#eef5ee;border-top:3px solid #1e4d2b; 2692 padding:22px 24px 28px;border-radius:6px;margin-top:2px; 2693} 2694.proj-rail-root .rail-hd-idx { 2695 font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:700; 2696 letter-spacing:.18em;text-transform:uppercase; 2697 color:#6b6760;margin-bottom:14px; 2698 display:flex;align-items:center;justify-content:space-between; 2699} 2700.proj-rail-root .rail-hd-idx a { 2701 font-size:9px;color:#1e4d2b;text-decoration:none;letter-spacing:.1em; 2702} 2703.proj-rail-root .rail-hd-idx a:hover{color:#c8deca;} 2704 2705/* ââ Scrollable track ââ */ 2706.proj-rail-root .rail-idx { 2707 display:flex;gap:8px;overflow-x:auto; 2708 padding:2px 0 10px;scroll-snap-type:x mandatory; 2709} 2710.proj-rail-root .rail-idx::-webkit-scrollbar{height:4px;} 2711.proj-rail-root .rail-idx::-webkit-scrollbar-thumb{background:#a0c4a8;border-radius:4px;} 2712 2713/* ââ Cards ââ */ 2714.proj-rail-root .rc-idx { 2715 flex: 0 0 185px; 2716 scroll-snap-align: start; 2717 border: 1px solid #b8d4be; 2718 border-radius: 8px; 2719 background: #ffffff; 2720 text-decoration: none; 2721 color: #1a1a14; 2722 display: flex; 2723 flex-direction: column; 2724 min-height: 150px; 2725 overflow: hidden; 2726 cursor: pointer; 2727 box-shadow: 0 2px 8px rgba(0,0,0,0.06); 2728 transition: border-color 120ms, box-shadow 120ms; 2729} 2730.proj-rail-root .rc-idx:hover{border-color:#5a9e6f;box-shadow:0 4px 14px rgba(0,0,0,0.08);} 2731.proj-rail-root .rc-idx.rc-hidden{display:none;} 2732.proj-rail-root .rc-band-idx { 2733 height:46px;
2733display:flex;align-items:center;justify-content:center; 2734 border-bottom:1px solid rgba(0,0,0,0.08); 2735} 2736.proj-rail-root .rc-band-idx svg{width:26px;height:26px;opacity:.85;} 2737.proj-rail-root .rc-body-idx{padding:8px 10px;flex:1;min-height:60px;} 2738.proj-rail-root .rc-t-idx { 2739 font-family:'IBM Plex Sans',sans-serif;font-weight:700; 2740 font-size:11px;line-height:1.25;margin-bottom:3px;color:#1a1a14; 2741} 2742.proj-rail-root .rc-org-idx, .rc-org { 2743 font-family:'IBM Plex Mono',monospace;font-size:8.5px; 2744 color:#6b6760;text-transform:uppercase; 2745 letter-spacing:.04em;font-weight:600; 2746} 2747.rc-desc { 2748 font-size:10px;color:#6b6760;line-height:1.35; 2749 margin-top:5px;display:-webkit-box;-webkit-line-clamp:3; 2750 -webkit-box-orient:vertical;overflow:hidden; 2751} 2752.proj-rail-root .rc-arr-idx { 2753 font-size:9.5px;color:#1e4d2b; 2754 padding:0 10px 7px;align-self:flex-end; 2755 font-family:'IBM Plex Mono',monospace; 2756} 2757</style> 2758 2759<div class="wg-project-cards__head" style="margin-top:14px;"> 2760<p class="muted">Swipe or scroll to browse projects. Filter by type and click â to open a project.</p> 2761</div> 2762<div class="registry-section" style="margin-top:28px;"> 2763 <div class="registry-header"> 2764 <div class="registry-header__text"> 2765 <h3 class="registry-header__title">OpenTEAM Tool Registry</h3> 2766 <p class="registry-header__sub">Tools in active development. Click any card to open detail.<br><span style="color:var(--muted,#888);font-size:13px;">Full FAIR Tech registry with an Ethical Technology Assessment coming soon. · <a href="commons-registry-admin-v7.html" rel="noopener" target="_blank">Registry Admin â</a></span></p> 2767 </div> 2768 <span class="registry-badge">Live Registry</span> 2769 </div> 2770 <div class="fbar-idx" id="regFbar" style="padding:10px 0 8px;"> 2771 <span class="fl">Status:</span> 2772 <button class="fb-idx on" data-rf="all">All</button> 2773 <button class="fb-idx" data-rf="active">Active</button> 2774 <button class="fb-idx" data-rf="dev">In development</button> 2775 </div> 2776 <div class="proj-rail-root"><div style="position:relative;"> 2777<button aria-label="Scroll left" class="wg-edge-arrow wg-edge-arrow--left" data-rail-scroll="regRail" data-rail-dir="-1" type="button">â¹</button> 2778<button aria-label="Scroll right" class="wg-edge-arrow wg-edge-arrow--right" data-rail-scroll="regRail" data-rail-dir="1" type="button">âº</button> 2779<div class="rc-rail" id="regRail" style="display:flex;gap:10px;overflow-x:auto;padding:4px 0 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;"> 2780 2781 <a class="rc-idx" href="#" data-rcat="dev" onclick="regOpenDrawer('field-recorder');return false;"> 2782 <div class="rc-band-idx" style="background:#1e4d2b;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M11 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-6"/><path d="M9 15 15 9"/><path d="M15 9h-4M15 9v4"/></svg></div> 2783 <div class="rc-body-idx"> 2784 <div class="rc-t-idx">Farm Data Field Recorder</div> 2785 <div class="rc-org">Field Tool · v0.2</div> 2786 <div class="rc-desc">Capture grazing and soil observations in the field, offline-ready.</div> 2787 </div> 2788 </a> 2789 2790 <a class="rc-idx" href="#" data-rcat="dev" onclick="regOpenDrawer('grazing-intake');return false;"> 2791 <div class="rc-band-idx" style="background:#7a4520;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-6 9 6v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 13 12 13 22"/></svg></div> 2792 <div class="rc-body-idx"> 2793 <div class="rc-t-idx">Talk to the Farm â Grazing Intake</div> 2794 <div class="rc-org">Intake System · v0.1</div> 2795 <div class="rc-desc">Intake form linking farm context to the Talk to the Land interview.</div> 2796 </div> 2797 </a> 2798 2799 <a class="rc-idx" href="#" data-rcat="active" onclick="regOpenDrawer('git-registry');return false;"> 2800 <div class="rc-band-idx" style="background:#1a4f7a;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="18" height="16" rx="2"/><line x1="8" y1="21" x2="14" y2="21"/><line x1="11" y1="17" x2="11" y2="21"/><line x1="7" y1="8" x2="15" y2="8"/><line x1="7" y1="12" x2="13" y2="12"/></svg></div>
2801 <div class="rc-body-idx"> 2802 <div class="rc-t-idx">OpenTEAM Git Registry Tool</div> 2803 <div class="rc-org">Registry · v1.0</div> 2804 <div class="rc-desc">Manage and publish FAIR tech registry entries via Git.</div> 2805 </div> 2806 </a> 2807 2808 <a class="rc-idx" href="#" data-rcat="active" onclick="regOpenDrawer('eta');return false;"> 2809 <div class="rc-band-idx" style="background:#4c1d95;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 11l3 3L22 4"/><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"/></svg></div> 2810 <div class="rc-body-idx"> 2811 <div class="rc-t-idx">Ethical Technology Assessment</div> 2812 <div class="rc-org">Assessment · v2.0</div> 2813 <div class="rc-desc">Evaluate ag tools against shared community values and ethics.</div> 2814 </div> 2815 </a> 2816 2817 <a class="rc-idx" href="#" data-rcat="active" onclick="regOpenDrawer('usda-fair');return false;"> 2818 <div class="rc-band-idx" style="background:#0f766e;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg></div> 2819 <div class="rc-body-idx"> 2820 <div class="rc-t-idx">USDA FAIR Tech Registry</div> 2821 <div class="rc-org">Curated Registry · v3.0</div> 2822 <div class="rc-desc">USDA-aligned tools mapped to FAIR data principles.</div> 2823 </div> 2824 </a> 2825 2826 <a class="rc-idx" href="#" data-rcat="active" onclick="regOpenDrawer('talk-interviewer');return false;"> 2827 <div class="rc-band-idx" style="background:#374151;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg></div> 2828 <div class="rc-body-idx"> 2829 <div class="rc-t-idx">Talk to the Interviewer</div> 2830 <div class="rc-org">Interview Kit · v1.0</div> 2831 <div class="rc-desc">Guided peer interview kit for capturing farmer knowledge.</div> 2832 </div> 2833 </a> 2834 2835 <a class="rc-idx" href="#" data-rcat="active" onclick="regOpenDrawer('social-contracts');return false;"> 2836 <div class="rc-band-idx" style="background:#9d174d;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg></div> 2837 <div class="rc-body-idx"> 2838 <div class="rc-t-idx">Social Contracts & Glossary</div> 2839 <div class="rc-org">Governance · v1.0</div> 2840 <div class="rc-desc">Community agreements and living glossary for shared vocabulary.</div> 2841 </div> 2842 </a> 2843 <a class="rc-idx" href="#" data-rcat="dev" onclick="regOpenDrawer('field-methods');return false;"> 2844 <div class="rc-band-idx" style="background:#2d5a1b;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 6h16M4 10h16M4 14h10"/><circle cx="20" cy="17" r="3"/><path d="M20 14v3l2 2"/></svg></div> 2845 <div class="rc-body-idx"> 2846 <div class="rc-t-idx">Field Methods Decision Tool</div> 2847 <div class="rc-org">Assessment Tool · v1.0</div> 2848 <div class="rc-desc">Interactive guide for selecting appropriate field methods for soil and ecological health assessment.</div> 2849 </div> 2850 </a> 2851 2852 </div> 2853</div> 2854 </div> 2855</div> 2856 2857 2858<div class="registry-section" style="margin-top:32px;border-top:2px solid var(--border,#ddd);padding-top:16px;"> 2859 <div class="registry-header"> 2860 <div class="registry-header__text"> 2861 <h3 class="registry-header__title">OpenTEAM Living Archive</h3> 2862 <p class="registry-header__sub">Curated archive of Projects, Collabathons and community resources.</p> 2863 <p style="margin-top:10px;font-size:13px;color:var(--muted);font-family:'Crimson Pro',Georgia,serif;font-style:italic;line-height:1.55;max-width:70ch;">This archive is currently in development and being updated and reviewed for accuracy. Don’t see you or your organization listed, or other contributors or resources listed? Connect via <a href="https://www.hylo.com/groups/openteam" rel="noopener" target="_blank" style="color:var(--accent);text-decoration:none;font-weight:600;">Hylo â</a>, while we build out card curation functionality.</p> 2864 </div> 2865 <span class="registry-badge">Community Record</span> 2866 </div> 2867</div> 2868 2869<div class="proj-rail-root" id="projRailRoot" style="margin-top:18px;"> 2870 <!-- Filter buttons --> 2871 <div class="fbar-idx" id="projFbarIdx"> 2872 <span class="fl">Filter:</span> 2873 <button class="fb-idx on" data-f="all">All</button> 2874 <button class="fb-idx" data-f="data-trust">Data Trust</button> 2875 <button class="fb-idx" data-f="commons">Commons & Governance</button> 2876 <button class="fb-idx" data-f="sovereignty">Data Sovereignty</button> 2877 <button class="fb-idx" data-f="interop">Interoperability</button> 2878 <button class="fb-idx" data-f="regen-econ">Regen Economics</button>
2879 <button class="fb-idx" data-f="infrastructure">Infrastructure</button> 2880 </div> 2881 <!-- Dark rail --> 2882 <div class="rail-sec-idx"> 2883 <div class="rail-hd-idx"> 2884 All Projects â Quick Navigation · Click any card to open detail 2885 <a href="projects-page-updated4.html">Full projects page â</a> 2886 </div> 2887 <div style="position:relative;"> 2888<button aria-label="Scroll left" class="wg-edge-arrow wg-edge-arrow--left" data-rail-scroll="pRailIdx" data-rail-dir="-1" type="button">â¹</button> 2889<button aria-label="Scroll right" class="wg-edge-arrow wg-edge-arrow--right" data-rail-scroll="pRailIdx" data-rail-dir="1" type="button">âº</button> 2890<div class="rail-idx" id="pRailIdx"> 2891<a class="rc-idx" href="#" data-cat="data-trust" onclick="idxOpenDrawer('fair-tech');return false;"><div class="rc-band-idx" style="background:#1e4d2b;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3l2 4.5h5l-4 3 1.5 5L14 13l-4.5 2.5 1.5-5L7 7.5h5z"/><circle cx="14" cy="20.5" r="5"/><path d="M11.5 20.5l2 2 4-3.5"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">FAIR Tech Registry</div><div class="rc-org-idx">OpenTEAM Community</div></div><div class="rc-arr-idx">â</div></a> 2892<a class="rc-idx" href="#" data-cat="sovereignty" onclick="idxOpenDrawer('ag-data-wallet');return false;"><div class="rc-band-idx" style="background:#7a4520;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="8" width="22" height="16" rx="2"/><path d="M3 13h22"/><circle cx="19" cy="18" r="2.5"/><path d="M8 5l4 3 4-3"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">Ag Data Wallet UI/UX Collabathon</div><div class="rc-org-idx">OpenTEAM / Entidad</div></div><div class="rc-arr-idx">â</div></a> 2893<a class="rc-idx" href="#" data-cat="data-trust" onclick="idxOpenDrawer('trac');return false;"><div class="rc-band-idx" style="background:#1e4d2b;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3l8 3.5v7.5c0 5-3.5 9-8 10.5C9.5 23 6 19 6 14V6.5z"/><path d="M10 14.5l3 3 5.5-5.5"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">TRAC â Tech Registry for Agricultural Conservation</div><div class="rc-org-idx">OpenTEAM</div></div><div class="rc-arr-idx">â</div></a> 2894<a class="rc-idx" href="#" data-cat="interop" onclick="idxOpenDrawer('pcsc-farmos');return false;"><div class="rc-band-idx" style="background:#4c1d95;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4v9"/><circle cx="14" cy="5" r="2.5"/><path d="M8 8c-4 .5-5 4-5 6a9 9 0 0 0 11 8.7A9 9 0 0 0 25 14c0-2-1-5.5-5-6"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">PCSC farmOS Module</div><div class="rc-org-idx">farmOS</div></div><div class="rc-arr-idx">â</div></a> 2895<a class="rc-idx" href="#" data-cat="regen-econ" onclick="idxOpenDrawer('glcdi');return false;"><div class="rc-band-idx" style="background:#0f766e;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 24c2.5-5 6-8 10-8s7.5 3 10 8"/><path d="M14 3v9"/><path d="M9 7c1.5-3 3-4 5-4s3.5 1 5 4"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">GLCDI</div><div class="rc-org-idx">OpenTEAM</div></div><div class="rc-arr-idx">â</div></a> 2896<a class="rc-idx" href="#" data-cat="sovereignty" onclick="idxOpenDrawer('ag-data-use');return false;"><div class="rc-band-idx" style="background:#7a4520;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M7 3h14l4 4v18H3V3z"/><path d="M17 3v6h8"/><path d="M8 14h12M8 18h9M8 10h6"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">Ag Data Use Documents</div><div class="rc-org-idx">OpenTEAM Tech Working Group</div></div><div class="rc-arr-idx">â</div></a> 2897<a class="rc-idx" href="#" data-cat="regen-econ" onclick="idxOpenDrawer('marketplace');return false;"><div class="rc-band-idx" style="background:#0f766e;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12h20M5 12V5.5h18V12"/><path d="M4 12l2 14h16l2-14"/></svg></div>
2897<div class="rc-body-idx"><div class="rc-t-idx">Marketplace Working Group</div><div class="rc-org-idx">OpenTEAM Community</div></div><div class="rc-arr-idx">â</div></a> 2898<a class="rc-idx" href="#" data-cat="infrastructure" onclick="idxOpenDrawer('soil-stack');return false;"><div class="rc-band-idx" style="background:#374151;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="22" height="6" rx="1.5"/><rect x="3" y="12" width="22" height="6" rx="1.5"/><rect x="3" y="20" width="22" height="5" rx="1.5"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">Soil Health Tech Stack</div><div class="rc-org-idx">OpenTEAM</div></div><div class="rc-arr-idx">â</div></a> 2899<a class="rc-idx" href="#" data-cat="commons" onclick="idxOpenDrawer('ubc-gov');return false;"><div class="rc-band-idx" style="background:#1a4f7a;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3L3 9.5v3h22v-3z"/><rect x="5" y="12.5" width="4" height="10"/><rect x="12" y="12.5" width="4" height="10"/><rect x="19" y="12.5" width="4" height="10"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">UBC Ethical Data Governance</div><div class="rc-org-idx">University of British Columbia</div></div><div class="rc-arr-idx">â</div></a> 2900<a class="rc-idx" href="#" data-cat="commons" onclick="idxOpenDrawer('convention');return false;"><div class="rc-band-idx" style="background:#1a4f7a;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="14" cy="14" r="11"/><path d="M14 3v11l6.5 4"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">OpenTEAM Convention</div><div class="rc-org-idx">OpenTEAM Community</div></div><div class="rc-arr-idx">â</div></a> 2901<a class="rc-idx" href="#" data-cat="sovereignty" onclick="idxOpenDrawer('equity');return false;"><div class="rc-band-idx" style="background:#7a4520;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="9" r="4"/><circle cx="19" cy="9" r="4"/><path d="M2 24c0-3 3-5 7-5s7 2 7 5"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">Equity Working Group</div><div class="rc-org-idx">OpenTEAM Fellows</div></div><div class="rc-arr-idx">â</div></a> 2902<a class="rc-idx" href="#" data-cat="infrastructure" onclick="idxOpenDrawer('pods');return false;"><div class="rc-band-idx" style="background:#374151;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><ellipse cx="14" cy="7" rx="10" ry="4"/><path d="M4 7v7c0 2.2 4.5 4 10 4s10-1.8 10-4V7"/><path d="M4 14v7c0 2.2 4.5 4 10 4s10-1.8 10-4v-7"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">PODS â Producer Operational Data System</div><div class="rc-org-idx">OpenTEAM</div></div><div class="rc-arr-idx">â</div></a> 2903<a class="rc-idx" href="#" data-cat="interop" onclick="idxOpenDrawer('ccd');return false;"><div class="rc-band-idx" style="background:#4c1d95;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="3" width="20" height="22" rx="2"/><path d="M4 9h20"/><circle cx="20" cy="20" r="4"/><path d="M18.5 20l1 1 2-2"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">CCD â Conservation Cost Data System</div><div class="rc-org-idx">OpenTEAM</div></div><div class="rc-arr-idx">â</div></a> 2904<a class="rc-idx" href="#" data-cat="commons" onclick="idxOpenDrawer('hcd');return false;"><div class="rc-band-idx" style="background:#1a4f7a;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3.5"/><circle cx="19" cy="8" r="3.5"/><path d="M9 11.5v3a5 5 0 0 0 10 0v-3"/><path d="M14 17.5V26M10 26h8"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">HCD Working Group</div><div class="rc-org-idx">OpenTEAM Fellows</div></div><div class="rc-arr-idx">â</div></a> 2905<a class="rc-idx" href="#" data-cat="regen-econ" onclick="idxOpenDrawer('range-c');return false;"><div class="rc-band-idx" style="background:#0f766e;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 20c3-8 6-12 11-12s8 4 11 12"/><circle cx="14" cy="6" r="3"/></svg></div>
2905<div class="rc-body-idx"><div class="rc-t-idx">Range C & Crop C</div><div class="rc-org-idx">OpenTEAM</div></div><div class="rc-arr-idx">â</div></a> 2906<a class="rc-idx" href="#" data-cat="regen-econ" onclick="idxOpenDrawer('env-claims');return false;"><div class="rc-band-idx" style="background:#0f766e;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="22" height="20" rx="2"/><path d="M3 10h22M9 4V10M14 4V10M19 4V10"/><path d="M7 15h14M7 19h9"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">Environmental Claims Clearinghouse</div><div class="rc-org-idx">OpenTEAM Community</div></div><div class="rc-arr-idx">â</div></a> 2907<a class="rc-idx" href="#" data-cat="regen-econ" onclick="idxOpenDrawer('ne-grazing');return false;"><div class="rc-band-idx" style="background:#0f766e;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 22c0-6 5-10 11-10s11 4 11 10"/><path d="M14 12V5"/><path d="M10 7c1-2 2.5-3 4-3s3 1 4 3"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">Northeast Grazing & Soil Carbon Network</div><div class="rc-org-idx">PASA</div></div><div class="rc-arr-idx">â</div></a> 2908<a class="rc-idx" href="#" data-cat="interop" onclick="idxOpenDrawer('usda-coop');return false;"><div class="rc-band-idx" style="background:#4c1d95;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3l9 4v8c0 5-4 9-9 10C9 24 5 20 5 15V7z"/><path d="M9 14l3.5 3.5L19 11"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">USDA Cooperative Agreements</div><div class="rc-org-idx">OpenTEAM</div></div><div class="rc-arr-idx">â</div></a> 2909<a class="rc-idx" href="#" data-cat="commons" onclick="idxOpenDrawer('participatory-funding');return false;"><div class="rc-band-idx" style="background:#1a4f7a;"><svg viewBox="0 0 28 28" fill="none" stroke="white" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="14" cy="8" r="4"/><path d="M5 24c0-5 4-9 9-9s9 4 9 9"/><path d="M14 13v5"/><path d="M10 18h8"/><circle cx="8" cy="17" r="2.5"/><circle cx="20" cy="17" r="2.5"/></svg></div><div class="rc-body-idx"><div class="rc-t-idx">Transformational Finance Co-Design</div><div class="rc-org-idx">OpenTEAM</div></div><div class="rc-arr-idx">â</div></a> 2910</div> 2911</div> 2912 </div> 2913</div> 2914 2915</section> 2916 2917<!-- CONVENINGS --> 2918<!-- CONVENINGS --> 2919<!-- LIBRARY --> 2920<section class="section" id="library"> 2921<div class="container"> 2922<div aria-label="Tool, Community, and Platform cards" class="tcp-scroller"> 2923<div class="section-head"> 2924<h2>Collaborators â Highlighting Aligned Work</h2> 2925<p>These tools, communities, and platforms are <strong>not formal OpenTEAM projects</strong> â they are external efforts aligned with our values that we celebrate and learn from. They reflect the broader ecosystem OpenTEAM is part of, not outputs we steward directly.</p> 2926</div> 2927<div class="wg-project-cards__wrap"> 2928<button aria-label="Scroll left" class="wg-edge-arrow wg-edge-arrow--left" data-tcp-scroll="prev" type="button">â¹</button> 2929<button aria-label="Scroll right" class="wg-edge-arrow wg-edge-arrow--right" data-tcp-scroll="next" type="button">âº</button> 2930<div class="tcp-rail" data-tcp-rail=""> 2931<article class="tcp-card"> 2932<a class="tcp-card__link" href="https://www.hylo.com/" rel="noopener" target="_blank"> 2933<div class="tcp-card__top"> 2934<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.hylo.com&sz=64"/> 2935<div class="tcp-card__meta"> 2936<div class="tcp-card__name">Hylo</div> 2937<div class="tcp-card__tag">Community platform</div> 2938</div> 2939<div aria-hidden="true" class="tcp-card__arrow">â</div> 2940</div> 2941 2942<div class="tcp-card__desc">Open-source community platform for purpose-driven groups to coordinate, share, and build together.</div></a> 2943</article> 2944<article class="tcp-card"> 2945<a class="tcp-card__link" href="https://surveystack.io/" rel="noopener" target="_blank"> 2946<div class="tcp-card__top"> 2947<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=surveystack.io&sz=64"/> 2948<div class="tcp-card__meta"> 2949<div class="tcp-card__name">Survey Stack</div> 2950<div class="tcp-card__tag">Data collection platform</div> 2951</div> 2952<div aria-hidden="true" class="tcp-card__arrow">â</div> 2953</div> 2954 2955<div class="tcp-card__desc">Mobile-first data collection tool designed for agricultural research in low-connectivity environments.</div></a> 2956</article> 2957<article class="tcp-card"> 2958<a class="tcp-card__link" href="https://openfoodnetwork.org/" rel="noopener" target="_blank"> 2959<div class="tcp-card__top"> 2960<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=openfoodnetwork.org&sz=64"/> 2961<div class="tcp-card__meta"> 2962<div class="tcp-card__name">Open Food Network</div> 2963<div class="tcp-card__tag">Community & platform</div> 2964</div> 2965<div aria-hidden="true" class="tcp-card__arrow">â</div> 2966</div> 2967 2968<div class="tcp-card__desc">Global platform and community enabling short food supply chains and food system transparency.</div></a> 2969</article> 2970<article class="tcp-card"> 2971<a class="tcp-card__link" href="https://indigidao.org/" rel="noopener" target="_blank"> 2972<div class="tcp-card__top"> 2973<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=indigidao.org&sz=64"/> 2974<div class="tcp-card__meta"> 2975<div class="tcp-card__name">IndigiDAO</div> 2976<div class="tcp-card__tag">Community governance</div> 2977</div> 2978<div aria-hidden="true" class="tcp-card__arrow">â</div> 2979</div> 2980 2981<div class="tcp-card__desc">Decentralized autonomous organization supporting Indigenous data sovereignty and community governance.</div></a> 2982</article> 2983<article class="tcp-card"> 2984<a class="tcp-card__link" href="https://openhardware.science/" rel="noopener" target="_blank"> 2985<div class="tcp-card__top"> 2986<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=openhardware.science&sz=64"/> 2987<div class="tcp-card__meta"> 2988<div class="tcp-card__name">GOSH</div> 2989<div class="tcp-card__tag">Open hardware community</div> 2990</div> 2991<div aria-hidden="true" class="tcp-card__arrow">â</div> 2992</div> 2993 2994<div class="tcp-card__desc">Community advancing open-source scientific hardware to make research tools more accessible globally.</div></a> 2995</article> 2996<article class="tcp-card"> 2997<a class="tcp-card__link" href="https://www.openenvironmentaldata.org/" rel="noopener" target="_blank"> 2998<div class="tcp-card__top"> 2999<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.openenvironmentaldata.org&sz=64"/> 3000<div class="tcp-card__meta"> 3001<div class="tcp-card__name">Open Environmental Data Project</div> 3002<div class="tcp-card__tag">Data commons community</div> 3003</div> 3004<div aria-hidden="true" class="tcp-card__arrow">â</div> 3005</div> 3006 3007<div class="tcp-card__desc">
3007Advocacy and infrastructure for open, interoperable environmental data in the public interest.</div></a> 3008</article> 3009<article class="tcp-card"> 3010<a class="tcp-card__link" href="https://farmhack.org/" rel="noopener" target="_blank"> 3011<div class="tcp-card__top"> 3012<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=farmhack.org&sz=64"/> 3013<div class="tcp-card__meta"> 3014<div class="tcp-card__name">FarmHack</div> 3015<div class="tcp-card__tag">Open-source farming community</div> 3016</div> 3017<div aria-hidden="true" class="tcp-card__arrow">â</div> 3018</div> 3019 3020<div class="tcp-card__desc">Community of farmers and technologists building and sharing open-source farm tools and modifications.</div></a> 3021</article> 3022<article class="tcp-card"> 3023<a class="tcp-card__link" href="https://agricultural-knowledge-concordance.github.io/Ag-Knowledge-Concordance/" rel="noopener" target="_blank"> 3024<div class="tcp-card__top"> 3025<img alt="" class="tcp-card__logo" loading="lazy" src="assets/akc_logo.png"/> 3026<div class="tcp-card__meta"> 3027<div class="tcp-card__name">Ag Knowledge Concordance</div> 3028<div class="tcp-card__tag">Living atlas + library</div> 3029</div> 3030<div aria-hidden="true" class="tcp-card__arrow">â</div> 3031</div> 3032 3033<div class="tcp-card__desc">Living atlas and library safeguarding agricultural knowledge infrastructure and data commons.</div></a> 3034</article> 3035<article class="tcp-card"> 3036<a class="tcp-card__link" href="https://landpks.terraso.org/" rel="noopener" target="_blank"> 3037<div class="tcp-card__top"> 3038<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=landpks.terraso.org&sz=64"/> 3039<div class="tcp-card__meta"> 3040<div class="tcp-card__name">landPKS</div> 3041<div class="tcp-card__tag">Tool / platform</div> 3042</div> 3043<div aria-hidden="true" class="tcp-card__arrow">â</div> 3044</div> 3045 3046<div class="tcp-card__desc">Farmer-facing mobile tool for assessing and monitoring land potential and soil health in the field.</div></a> 3047</article> 3048<article class="tcp-card"> 3049<a class="tcp-card__link" href="https://terraso.org/" rel="noopener" target="_blank"> 3050<div class="tcp-card__top"> 3051<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=terraso.org&sz=64"/> 3052<div class="tcp-card__meta"> 3053<div class="tcp-card__name">Terraso</div> 3054<div class="tcp-card__tag">Project</div> 3055</div> 3056<div aria-hidden="true" class="tcp-card__arrow">â</div> 3057</div> 3058 3059<div class="tcp-card__desc">Platform supporting landscape-scale collaboration among land stewards, NGOs, and communities.</div></a> 3060</article><article class="tcp-card"> 3061<a class="tcp-card__link" href="https://www.betterdealfordata.org/" rel="noopener" target="_blank"> 3062<div class="tcp-card__top"> 3063<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.betterdealfordata.org&sz=64"/> 3064<div class="tcp-card__meta"> 3065<div class="tcp-card__name">Better Deal for Data</div> 3066<div class="tcp-card__tag">Project</div> 3067</div> 3068<div aria-hidden="true" class="tcp-card__arrow">â</div> 3069</div> 3070 3071<div class="tcp-card__desc">Framework and advocacy for fair, farmer-centered data agreements in agricultural technology.</div></a> 3072</article> 3073<article class="tcp-card"> 3074<a class="tcp-card__link" href="https://farmos.org/" rel="noopener" target="_blank"> 3075<div class="tcp-card__top"> 3076<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=farmos.org&sz=64"/> 3077<div class="tcp-card__meta"> 3078<div class="tcp-card__name">farmOS</div> 3079<div class="tcp-card__tag">Tool</div> 3080</div> 3081<div aria-hidden="true" class="tcp-card__arrow">â</div> 3082</div> 3083 3084<div class="tcp-card__desc">Free and open-source farm management platform built on Drupal, widely used for field data.</div></a> 3085</article> 3086<article class="tcp-card"> 3087<a class="tcp-card__link" href="https://github.com/search?q=float+farm&type=repositories" rel="noopener" target="_blank"> 3088<div class="tcp-card__top"> 3089<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=github.com&sz=64"/> 3090<div class="tcp-card__meta"> 3091<div class="tcp-card__name">Float</div> 3092<div class="tcp-card__tag">Community Governance</div> 3093</div> 3094<div aria-hidden="true" class="tcp-card__arrow">â</div> 3095</div> 3096 3097<div class="tcp-card__desc">Governance coordination tool exploring liquid democracy and participatory decision-making models.</div></a> 3098</article> 3099<article class="tcp-card"> 3100<a class="tcp-card__link" href="https://litefarm.org/" rel="noopener" target="_blank"> 3101<div class="tcp-card__top"> 3102<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=litefarm.org&sz=64"/> 3103<div class="tcp-card__meta"> 3104<div class="tcp-card__name">LiteFarm</div> 3105<div class="tcp-card__tag">Tool</div> 3106</div> 3107<div aria-hidden="true" class="tcp-card__arrow">â</div> 3108</div> 3109 3110<div class="tcp-card__desc">Open-source, non-profit farm management software designed with and for small-scale farmers.</div></a> 3111</article> 3112<article class="tcp-card"> 3113<a class="tcp-card__link" href="https://aggateway.org/" rel="noopener" target="_blank"> 3114<div class="tcp-card__top"> 3115<img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=aggateway.org&sz=64"/> 3116<div class="tcp-card__meta"> 3117<div class="tcp-card__name">Modus / AgGateway</div> 3118<div class="tcp-card__tag">Data Standards</div> 3119</div> 3120<div aria-hidden="true" class="tcp-card__arrow">â</div> 3121</div> 3122 3123<div class="tcp-card__desc">Industry standard for soil and plant analysis data exchange across agricultural systems.</div></a> 3124</article> 3125<article class="tcp-card"> 3126<a class="tcp-card__link" href="https://goatech.org" rel="noopener" target="_blank"> 3127<div class="tcp-card__top"> 3128<img alt="" class="tcp-card__logo" loading="lazy" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2040%2040'%3E%20%3Crect%20width='40'%20height='40'%20rx='8'%20fill='%23fef3c7'/%3E%20%3Cg%20stroke='%2392400e'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%20fill='none'%3E%20%20%20%3Cpath%20d='M14%2010%20C10%2010%208%2013%208%2017%20C8%2022%2012%2025%2016%2026%20L16%2030%20L24%2030%20L24%2026%20C28%2025%2032%2022%2032%2017%20C32%2013%2030%2010%2026%2010'/%3E%20%20%20%3Cpath%20d='M14%2010%20L11%207%20M26%2010%20L29%207'/%3E%20%20%20%3Cellipse%20cx='20'%20cy='17'%20rx='6'%20ry='5'/%3E%20%20%20%3Ccircle%20cx='17.5'%20cy='16'%20r='1'%20fill='%2392400e'/%3E%20%20%20%3Ccircle%20cx='22.5'%20cy='16'%20r='1'%20fill='%2392400e'/%3E%20%20%20%3Cpath%20d='M18%2020%20Q20%2021.5%2022%2020'/%3E%20%3C/g%3E%20%3C/svg%3E"/> 3129<div class="tcp-card__meta"> 3130<div class="tcp-card__name">
3130GOAT</div> 3131<div class="tcp-card__tag">Community</div> 3132</div> 3133<div aria-hidden="true" class="tcp-card__arrow">â</div> 3134</div> 3135 3136<div class="tcp-card__desc">Gathering for Open Agriculture Technology â annual forum and community for open ag tech practitioners.</div></a> 3137</article> 3138<article class="tcp-card"><a class="tcp-card__link" href="https://www.gia-agroecology.org/" rel="noopener" target="_blank"><div class="tcp-card__top"><img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.gia-agroecology.org&sz=64"/><div class="tcp-card__meta"><div class="tcp-card__name">GIAA</div><div class="tcp-card__tag">Agroecology network</div></div><div aria-hidden="true" class="tcp-card__arrow">â</div></div> 3139<div class="tcp-card__desc">Global Initiative for Agroecology and Agriculture â international network advancing agroecological transitions.</div></a></article><article class="tcp-card"><a class="tcp-card__link" href="https://www.icfoods.org/" rel="noopener" target="_blank"><div class="tcp-card__top"><img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.icfoods.org&sz=64"/><div class="tcp-card__meta"><div class="tcp-card__name">IC Foods</div><div class="tcp-card__tag">Food system tool</div></div><div aria-hidden="true" class="tcp-card__arrow">â</div></div> 3140<div class="tcp-card__desc">Platform mapping the food system with open data to support policy, research, and advocacy.</div></a></article><article class="tcp-card"><a class="tcp-card__link" href="https://coolfarm.org/" rel="noopener" target="_blank"><div class="tcp-card__top"><img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=coolfarm.org&sz=64"/><div class="tcp-card__meta"><div class="tcp-card__name">Cool Farm Tool</div><div class="tcp-card__tag">Metrics & calculator</div></div><div aria-hidden="true" class="tcp-card__arrow">â</div></div> 3141<div class="tcp-card__desc">Farm-level greenhouse gas and water impact calculator used by growers and supply chains.</div></a></article><article class="tcp-card"><a class="tcp-card__link" href="https://coolfarm.org/join-us/" rel="noopener" target="_blank"><div class="tcp-card__top"><img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=coolfarm.org&sz=64"/><div class="tcp-card__meta"><div class="tcp-card__name">Cool Farm Alliance</div><div class="tcp-card__tag">Alliance / community</div></div><div aria-hidden="true" class="tcp-card__arrow">â</div></div> 3142<div class="tcp-card__desc">Multi-stakeholder alliance developing and stewarding the Cool Farm Tool globally.</div></a></article><article class="tcp-card"><a class="tcp-card__link" href="https://fieldtomarket.org/" rel="noopener" target="_blank"><div class="tcp-card__top"><img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=fieldtomarket.org&sz=64"/><div class="tcp-card__meta"><div class="tcp-card__name">Field to Market</div><div class="tcp-card__tag">Sustainability alliance</div></div><div aria-hidden="true" class="tcp-card__arrow">â</div></div> 3143<div class="tcp-card__desc">Alliance measuring and improving the sustainability outcomes of commodity agriculture.</div></a></article><article class="tcp-card"><a class="tcp-card__link" href="https://lexiconoffood.com/lex-icons/library/" rel="noopener" target="_blank"><div class="tcp-card__top"><img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=lexiconoffood.com&sz=64"/><div class="tcp-card__meta"><div class="tcp-card__name">Foodicons</div><div class="tcp-card__tag">Visual lexicon</div></div><div aria-hidden="true" class="tcp-card__arrow">â</div></div> 3144<div class="tcp-card__desc">Open visual lexicon of food system icons and symbols for communication and education.</div></a></article><article class="tcp-card"><a class="tcp-card__link" href="https://www.regenscore.org/" rel="noopener" target="_blank"><div class="tcp-card__top"><img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.regenscore.org&sz=64"/><div class="tcp-card__meta"><div class="tcp-card__name">RegenScore</div><div class="tcp-card__tag">Regenerative scoring</div></div><div aria-hidden="true" class="tcp-card__arrow">â</div></div> 3145<div class="tcp-card__desc">Scoring and verification framework for regenerative agricultural practices and outcomes.</div></a></article><article class="tcp-card"><a class="tcp-card__link" href="https://www.entidad.io/" rel="noopener" target="_blank"><div class="tcp-card__top"><img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.entidad.io&sz=64"/><div class="tcp-card__meta"><div class="tcp-card__name">Entidad</div><div class="tcp-card__tag">Identity & credentials</div></div><div aria-hidden="true" class="tcp-card__arrow">â</div></div> 3146<div class="tcp-card__desc">
3146Decentralized identity and credentials infrastructure for individuals and organizations.</div></a></article><article class="tcp-card"><a class="tcp-card__link" href="https://metagov.org/projects/koi-pond" rel="noopener" target="_blank"><div class="tcp-card__top"><img alt="" class="tcp-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=metagov.org&sz=64"/><div class="tcp-card__meta"><div class="tcp-card__name">KOI Pond</div><div class="tcp-card__tag">Governance knowledge</div></div><div aria-hidden="true" class="tcp-card__arrow">â</div></div> 3147<div class="tcp-card__desc">Metagov project exploring governance knowledge management and institutional memory systems.</div></a></article> 3148<article class="tcp-card"> 3149<a class="tcp-card__link" href="https://aginformaticslab.org/" rel="noopener" target="_blank"> 3150<div class="tcp-card__top"> 3151<img alt="Ag Informatics Lab logo" class="tcp-card__logo" loading="lazy" 3152 src="assets/axilab-logo.png" 3153 style="object-fit:contain;border-radius:6px;"/> 3154<div class="tcp-card__meta"> 3155<div class="tcp-card__name">Purdue Ag Informatics Lab</div> 3156<div class="tcp-card__tag">Research · Human-centered design</div> 3157</div> 3158<div aria-hidden="true" class="tcp-card__arrow">â</div> 3159</div> 3160<div class="tcp-card__desc">Human-centered design research and technology development for food and agricultural systems â building farmer-facing tools, ag data infrastructure, and open-source software with real-world community partners.</div></a> 3161</article> 3162</div> 3163<div aria-hidden="true" class="wg-rail-fade wg-rail-fade--left"></div> 3164<div aria-hidden="true" class="wg-rail-fade wg-rail-fade--right"></div> 3165</div> 3166</div> 3167</div> 3168</section> 3169<section class="section" id="join"> 3170<div class="container"> 3171<div class="section-head"> 3172<h2>Convene and Participate</h2> 3173<p>Active ways to engage with OpenTEAM right now â join the community, contribute to ongoing projects, or connect with aligned working groups.</p> 3174</div> 3175 3176<div class="participate-list"> 3177 3178 <a class="participate-item" href="https://www.hylo.com/groups/openteam" target="_blank" rel="noopener"> 3179 <div class="participate-item__icon" style="background:#eaf3ec;"> 3180 <svg viewBox="0 0 22 22" width="18" height="18" fill="none" stroke="#1e4d2b" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M11 2C6 2 2 5.6 2 10c0 2.3 1 4.4 2.7 5.9L4 20l4.3-1.4A9.3 9.3 0 0 0 11 19c5 0 9-3.6 9-8s-4-9-9-9z"/><path d="M7 10h.01M11 10h.01M15 10h.01"/></svg> 3181 </div> 3182 <div class="participate-item__body"> 3183 <div class="participate-item__title">Join OpenTEAM on Hylo</div> 3184 <div class="participate-item__sub">Our primary community space â connect with members, follow working groups, and shape priorities together.</div> 3185 </div> 3186 <span class="participate-item__arrow">â</span> 3187 </a> 3188 3189 <a class="participate-item" href="https://agricultural-knowledge-concordance.github.io/Ag-Knowledge-Concordance/" target="_blank" rel="noopener"> 3190 <div class="participate-item__icon" style="background:#f0f7ea;"> 3191 <svg viewBox="0 0 22 22" width="18" height="18" fill="none" stroke="#3b6d11" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><polygon points="3 6 10 3 19 6 10 9 3 6"/><polyline points="3 6 3 16 10 19 19 16 19 6"/><line x1="10" y1="9" x2="10" y2="19"/></svg> 3192 </div> 3193 <div class="participate-item__body"> 3194 <div class="participate-item__title">Ag Knowledge Concordance â Participatory Mapping</div> 3195 <div class="participate-item__sub">Contribute to the living atlas of agricultural knowledge infrastructure â map tools, datasets, and community practices.</div> 3196 </div> 3197 <span class="participate-item__arrow">â</span> 3198 </a> 3199 3200 <a class="participate-item" href="talk-to-the-interviewer.html" rel="noopener"> 3201 <div class="participate-item__icon" style="background:#fff7e6;"> 3202 <svg viewBox="0 0 22 22" width="18" height="18" fill="none" stroke="#854f0b" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>
3202<line x1="11" y1="9" x2="11" y2="13"/><line x1="9" y1="11" x2="13" y2="11"/></svg> 3203 </div> 3204 <div class="participate-item__body"> 3205 <div class="participate-item__title">Talk to the Land â Interview Series Sign-up</div> 3206 <div class="participate-item__sub">Share your experience with land-based technology as part of our ongoing interview and oral history series.</div> 3207 </div> 3208 <span class="participate-item__arrow">â</span> 3209 </a> 3210 3211 <a class="participate-item" href="eta_glossary.html" rel="noopener"> 3212 <div class="participate-item__icon" style="background:#f0eeff;"> 3213 <svg viewBox="0 0 22 22" width="18" height="18" fill="none" stroke="#534ab7" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 11l3 3L22 4"/><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"/></svg> 3214 </div> 3215 <div class="participate-item__body"> 3216 <div class="participate-item__title">Ethical Technology Assessment (ETA)</div> 3217 <div class="participate-item__sub">Use and contribute to the ETA framework â a community-developed approach to evaluating agricultural technology against shared values.</div> 3218 </div> 3219 <span class="participate-item__arrow">â</span> 3220 </a> 3221 3222 <a class="participate-item" href="https://www.openfuturecoalition.org/events" target="_blank" rel="noopener"> 3223 <div class="participate-item__icon" style="background:#e6f1fb;"> 3224 <svg viewBox="0 0 22 22" width="18" height="18" fill="none" stroke="#185fa5" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="8" r="3"/><path d="M5 20c0-3.3 2.7-6 6-6s6 2.7 6 6"/><circle cx="4" cy="9" r="2"/><path d="M1 20c0-2.2 1.3-4 3-4"/><circle cx="18" cy="9" r="2"/><path d="M21 20c0-2.2-1.3-4-3-4"/></svg> 3225 </div> 3226 <div class="participate-item__body"> 3227 <div class="participate-item__title">Open Future Coalition Events</div> 3228 <div class="participate-item__sub">Connect with open tech, policy, and governance efforts through the Open Future Coalition â see upcoming events and active working groups.</div> 3229 </div> 3230 <span class="participate-item__arrow">â</span> 3231 </a> 3232 3233 <a class="participate-item" href="https://www.gia-agroecology.org/working-groups" target="_blank" rel="noopener"> 3234 <div class="participate-item__icon" style="background:#e1f5ee;"> 3235 <svg viewBox="0 0 22 22" width="18" height="18" fill="none" stroke="#0f6e56" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2a10 10 0 1 0 0 20A10 10 0 0 0 12 2z"/><path d="M2 12h20"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg> 3236 </div> 3237 <div class="participate-item__body"> 3238 <div class="participate-item__title">GIAA Working Groups</div> 3239 <div class="participate-item__sub">Participate in Global Initiative for Agroecology and Agriculture working groups connecting practitioners, researchers, and advocates worldwide.</div> 3240 </div> 3241 <span class="participate-item__arrow">â</span> 3242 </a> 3243 3244</div> 3245</div> 3246</section> 3247 3248<!-- Shared Calendar of Events (OpenTEAM network) --> 3249<section class="section" id="events" style="margin-top: 26px;"> 3250<div class="container"> 3251<div class="section-head"> 3252<h2>Shared Calendar of Events</h2> 3253<p>Upcoming and past events from partner communities. Sources: 3254<a href="https://goatech.org" rel="noopener" target="_blank">GOAT</a>, 3255<a href="https://farmos.org/community/monthly-call/" rel="noopener" target="_blank">farmOS</a>, 3256<a href="https://www.openfuturecoalition.org/events" rel="noopener" target="_blank">Open Future Coalition</a>, 3257<a href="https://www.uvm.edu/instituteforagroecology/power-seminars" rel="noopener" target="_blank">UVM Power Up Seminars</a>, 3258<a href="https://www.gia-agroecology.org" rel="noopener" target="_blank">GIAA</a>, 3259<a href="https://agricultural-knowledge-concordance.github.io/Ag-Knowledge-Concordance/" rel="noopener" target="_blank">AKC</a>, and 3260<a href="https://dwebcamp.org" rel="noopener" target="_blank">DWeb</a>. 3261Filter by source or use <em>Browse past events</em> to view the archive. <a href="calendar.html">Full calendar view â</a></p> 3262 3263</div> 3264<div class="cal-join-note"> 3265 <span>Want your events here? <a href="https://www.hylo.com/groups/openteam" rel="noopener" target="_blank">Join OpenTEAM</a> to cross-list your events in this shared calendar.</span> 3266</div> 3267<details class="cal-details" open=""> 3268<summary class="cal-summary"> 3269<div> 3270<div class="cal-summary-title">Upcoming events â next 4 months</div> 3271<div class="cal-summary-subtitle">Filter by source · toggle past events · open month view for full history</div> 3272</div> 3273<a class="btn small" href="calendar.html">Open month view â</a> 3274</summary>
3275<div aria-label="Event filters" class="cal-controls"> 3276<div class="cal-filterrow"> 3277 <div class="cal-chips" id="calTagChips" aria-label="Filter by tag"></div> 3278</div> 3279<div id="calSourceChips" style="display:none" aria-hidden="true"></div> 3280<div class="muted cal-meta-count" id="calMeta">Loading eventsâ¦</div> 3281</div> 3282<div aria-label="Event cards" class="wg-project-cards"> 3283<div class="wg-project-cards__wrap"> 3284<button aria-label="Scroll left" class="wg-edge-arrow wg-edge-arrow--left" data-cal-scroll="prev" type="button">â¹</button> 3285<button aria-label="Scroll right" class="wg-edge-arrow wg-edge-arrow--right" data-cal-scroll="next" type="button">âº</button> 3286<div class="wg-project-cards__rail cal-rail" data-cal-rail=""> 3287<!-- Event cards injected by script.js --> 3288</div> 3289</div> 3290</div> 3291</details> 3292</div> 3293</div></section> 3294<section class="section" id="reading"> 3295<div class="container"> 3296<div class="section-head" style="display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;"> 3297 <div> 3298 <h2>Inspirations</h2> 3299 <p>Books, essays, and tools that shaped this work</p> 3300 </div> 3301 <div style="display:flex;gap:8px;flex-shrink:0;margin-top:4px;"> 3302 <a class="btn small" href="canonical-source-texts.html">Open full library â</a> 3303 <a class="btn small outline" href="https://www.hylo.com/groups/openteam-inspirations-registry/stream" rel="noopener" target="_blank">Suggest on Hylo â</a> 3304 </div> 3305</div> 3306<details class="insp-rail-details" open> 3307 <summary class="insp-rail-summary"> 3308 <span>Browse highlights</span> 3309 <span class="insp-rail-chev" aria-hidden="true">â¾</span> 3310 </summary> 3311 <div class="rail-card library-rail-card" style="margin-top:10px;"> 3312 <div class="rail-wrap"> 3313 <button aria-label="Scroll left" class="rail-arrow-end rail-arrow-left" data-dir="-1" data-rail="indexLibraryRail" type="button"> 3314 <svg viewbox="0 0 24 24"><path d="M15.4 19.4 8 12l7.4-7.4 1.4 1.4L10.8 12l6 6z"></path></svg> 3315 </button> 3316 <div aria-label="Library highlights rail" class="rail" id="indexLibraryRail" role="region"> 3317 3318<article class="scard" data-theme="Agroecology & Regenerative Agriculture"> 3319<div class="shead"> 3320<div aria-hidden="true" class="scover"> 3321<img alt="Cover: The Great Regeneration" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3322</div> 3323<div class="smeta"> 3324<p class="stitle">The Great Regeneration</p> 3325<div class="ssub">Dorn Cox ⢠Book ⢠2025</div> 3326</div> 3327</div> 3328<div class="sactions"> 3329<button class="pill secondary" data-action="toggle" type="button">more</button> 3330</div> 3331<div aria-hidden="true" class="detail"> 3332<p>A regenerative agriculture perspective centered on ecological resilience and community practice â directly aligned with OpenTEAMâs emphasis on durable, reusable knowledge and stewardship.</p> 3333<div style="margin:8px 0 10px 0;"> 3334<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=The%20Great%20Regeneration" rel="noopener" target="_blank">Link â</a> 3335</div> 3336<div aria-label="Tags" class="stags"><span class="stag">regenerative agriculture</span><span class="stag">agroecology</span><span class="stag">stewardship</span><span class="stag">resilience</span><span class="stag">community</span></div> 3337</div> 3338</article> 3339<article class="scard" data-theme="Agroecology & Regenerative Agriculture"> 3340<div class="shead"> 3341<div aria-hidden="true" class="scover"> 3342<img alt="Cover: Regeneration: Ending the Climate Crisis in One Generation" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3343</div> 3344<div class="smeta"> 3345<p class="stitle">Regeneration: Ending the Climate Crisis in One Generation</p> 3346<div class="ssub">Paul Hawken ⢠Book ⢠2021</div> 3347</div> 3348</div> 3349<div class="sactions"> 3350<button class="pill secondary" data-action="toggle" type="button">more</button> 3351</div> 3352<div aria-hidden="true" class="detail"> 3353<p>Frames regenerative agriculture within climate action ecosystems</p> 3354<div style="margin:8px 0 10px 0;"> 3355<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Regeneration:%20Ending%20the%20Climate%20Crisis%20in%20One%20Generation" rel="noopener" target="_blank">Link â</a> 3356</div> 3357<div aria-label="Tags" class="stags"><span class="stag">climate</span><span class="stag">systems thinking</span></div> 3358</div> 3359</article> 3360<article class="scard" data-theme="Agroecology & Regenerative Agriculture"> 3361<div class="shead"> 3362<div aria-hidden="true" class="scover"> 3363<img alt="Cover: Dirt: The Erosion of Civilizations" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3364</div> 3365<div class="smeta"> 3366<p class="stitle">Dirt: The Erosion of Civilizations</p> 3367<div class="ssub">David R. Montgomery ⢠Book ⢠2007</div> 3368</div> 3369</div> 3370<div class="sactions"> 3371<button class="pill secondary" data-action="toggle" type="button">more</button> 3372</div> 3373<div aria-hidden="true" class="detail"> 3374<p>Supports OpenTEAMâs emphasis on healthy soil as public infrastru
3374cture</p> 3375<div style="margin:8px 0 10px 0;"> 3376<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Dirt:%20The%20Erosion%20of%20Civilizations" rel="noopener" target="_blank">Link â</a> 3377</div> 3378<div aria-label="Tags" class="stags"><span class="stag">soil health</span><span class="stag">history</span></div> 3379</div> 3380</article> 3381<article class="scard" data-theme="Agroecology & Regenerative Agriculture"> 3382<div class="shead"> 3383<div aria-hidden="true" class="scover"> 3384<img alt="Cover: Agroecology: The Ecology of Sustainable Food Systems" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3385</div> 3386<div class="smeta"> 3387<p class="stitle">Agroecology: The Ecology of Sustainable Food Systems</p> 3388<div class="ssub">Miguel Altieri ⢠Book ⢠1995</div> 3389</div> 3390</div> 3391<div class="sactions"> 3392<button class="pill secondary" data-action="toggle" type="button">more</button> 3393</div> 3394<div aria-hidden="true" class="detail"> 3395<p>Scientific grounding for the agroecological paradigm embraced by OpenTEAM</p> 3396<div style="margin:8px 0 10px 0;"> 3397<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Agroecology:%20The%20Ecology%20of%20Sustainable%20Food%20Systems" rel="noopener" target="_blank">Link â</a> 3398</div> 3399<div aria-label="Tags" class="stags"><span class="stag">agroecology</span><span class="stag">sustainability</span></div> 3400</div> 3401</article> 3402<article class="scard" data-theme="Agroecology & Regenerative Agriculture"> 3403<div class="shead"> 3404<div aria-hidden="true" class="scover"> 3405<img alt="Cover: The Unsettling of America" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3406</div> 3407<div class="smeta"> 3408<p class="stitle">The Unsettling of America</p> 3409<div class="ssub">Wendell Berry ⢠Book ⢠1977</div> 3410</div> 3411</div> 3412<div class="sactions"> 3413<button class="pill secondary" data-action="toggle" type="button">more</button> 3414</div> 3415<div aria-hidden="true" class="detail"> 3416<p>Foundational text on the ethics of agriculture and place-based knowledge</p> 3417<div style="margin:8px 0 10px 0;"> 3418<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=The%20Unsettling%20of%20America" rel="noopener" target="_blank">Link â</a> 3419</div> 3420<div aria-label="Tags" class="stags"><span class="stag">agroecology</span><span class="stag">rural knowledge</span><span class="stag">land stewardship</span></div> 3421</div> 3422</article> 3423<article class="scard" data-theme="Agroecology & Regenerative Agriculture"> 3424<div class="shead"> 3425<div aria-hidden="true" class="scover"> 3426<img alt="Cover: One-Straw Revolution" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3427</div> 3428<div class="smeta"> 3429<p class="stitle">One-Straw Revolution</p> 3430<div class="ssub">Masanobu Fukuoka ⢠Book ⢠1975</div> 3431</div> 3432</div> 3433<div class="sactions"> 3434<button class="pill secondary" data-action="toggle" type="button">more</button> 3435</div> 3436<div aria-hidden="true" class="detail"> 3437<p>Inspires soil-first philosophies and low-input systems</p> 3438<div style="margin:8px 0 10px 0;"> 3439<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=One-Straw%20Revolution" rel="noopener" target="_blank">Link â</a> 3440</div> 3441<div aria-label="Tags" class="stags"><span class="stag">regenerative</span><span class="stag">philosophy</span><span class="stag">natural farming</span></div> 3442</div> 3443</article> 3444<article class="scard" data-theme="Systems Thinking & Complexity"> 3445<div class="shead"> 3446<div aria-hidden="true" class="scover"> 3447<img alt="Cover: Designing Regenerative Cultures" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3448</div> 3449<div class="smeta"> 3450<p class="stitle">Designing Regenerative Cultures</p> 3451<div class="ssub">Daniel Christian Wahl ⢠Book ⢠2016</div> 3452</div> 3453</div> 3454<div class="sactions"> 3455<button class="pill secondary" data-action="toggle" type="button">more</button> 3456</div> 3457<div aria-hidden="true" class="detail"> 3458<p>Guides OpenTEAMâs ecosystem thinking in technology and community design</p> 3459<div style="margin:8px 0 10px 0;"> 3460<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Designing%20Regenerative%20Cultures" rel="noopener" target="_blank">Link â</a> 3461</div> 3462<div aria-label="Tags" class="stags"><span class="stag">regenerative design</span><span class="stag">systems</span></div> 3463</div> 3464</article> 3465<article class="scard" data-theme="Systems Thinking & Complexity"> 3466<div class="shead"> 3467<div aria-hidden="true" class="scover"> 3468<img alt="Cover: Thinking in Systems" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3469</div> 3470<div class="smeta"> 3471<p class="stitle">Thinking in Systems</p> 3472<div class="ssub">Donella Meadows ⢠Book ⢠2008</div> 3473</div> 3474</div> 3475<div class="sactions"> 3476<button class="pill secondary" data-action="toggle" type="button">more</button> 3477</div> 3478<div aria-hidden="true" class="detail"> 3479<p>Key framework for whole-systems design in agricultural networks</p> 3480<div style="margin:8px 0 10px 0;"> 3481<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Thinking%20in%20Systems" rel="noopener" target="_blank">Link â</a> 3482</div> 3483<div aria-label="Tags" class="stags"><span class="stag">systems thinking</span></div> 3484</div> 3485</article> 3486<article class="scard" data-theme="Systems Thinking & Complexity"> 3487<div class="shead"> 3488<div aria-hidden="true" class="scover"> 3489<img alt="Cover: Panarchy" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3490</div> 3491<div class="smeta"> 3492<p class="stitle">Panarchy</p> 3493<div class="ssub">Lance Gunderson & C.S. Holling ⢠Book ⢠2001</div> 3494</div> 3495</div> 3496<div class="sactions"> 3497<button class="pill secondary" data-action="toggle" type="button">more</button> 3498</div> 3499<div aria-hidden="true" class="detail"> 3500<p>Offers models for understanding social-ecological systems over time</p> 3501<div style="margin:8px 0 10px 0;"> 3502<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Panarchy" rel="noopener" target="_blank">Link â</a> 3503</div> 3504<div aria-label="Tags" class="stags"><span class="stag">resilience</span><span class="stag">adaptive cycles</span></div> 3505</div> 3506</article> 3507<article class="scard" data-theme="Systems Thinking & Complexity"> 3508<div class="shead"> 3509<div aria-hidden="true" class="scover"> 3510<img alt="Cover: The Fifth Discipline" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3511</div> 3512<div class="smeta"> 3513<p class="stitle">The Fifth Discipline</p> 3514<div class="ssub">Peter Senge ⢠Book ⢠1990</div> 3515</div> 3516</div> 3517<div class="sactions"> 3518<button class="pill secondary" data-action="toggle" type="button">more</button> 3519</div> 3520<div aria-hidden="true" class="detail"> 3521<p>Supports OpenTEAMâs approach to co-learning and feedback loops</p> 3522<div style="margin:8px 0 10px 0;"> 3523<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=The%20Fifth%20Discipline" rel="noopener" target="_blank">Link â</a> 3524</div> 3525<div aria-label="Tags" class="stags"><span class="stag">learning organizations</span><span class="stag">systems</span></div> 3526</div> 3527</article> 3528<article class="scard" data-theme="Systems Thinking & Complexity"> 3529<div class="shead"> 3530<div aria-hidden="true" class="scover"> 3531<img alt="Cover: Pattern Language" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="https://covers.openlibrary.org/b/isbn/0195019199-L.jpg"/> 3532</div> 3533<div class="smeta"> 3534<p class="stitle">Pattern Language</p> 3535<div class="ssub">Christopher Alexander; Sara Ishikawa; Murray Silverstein ⢠1977</div> 3536</div> 3537</div> 3538<div class="sactions"> 3539<button class="pill secondary" data-action="toggle" type="button">more</button> 3540</div> 3541<div aria-hidden="true" class="detail"> 3542<p>Reference point within the 'Systems Thinking & Complexity' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 3543<div style="margin:8px 0 10px 0;"> 3544<a class="pill" href="https://openlibrary.org/books/OL5059163M/A_pattern_language" rel="noopener" target="_blank">Link â</a> 3545</div> 3546<div aria-label="Tags" class="stags"><span class="stag">complexity</span><span class="stag">systems thinking</span><span class="stag">thinking</span></div> 3547</div> 3548</article> 3549<article class="scard" data-theme="Commons & Governance"> 3550<div class="shead"> 3551<div aria-hidden="true" class="scover"> 3552<img alt="Cover: Ecological Institutions" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="https://cdn.sanity.io/images/oflfnr14/production/5186cdff18c08bce27f8e4bb145d63fdf4cb614c-883x475.png?w=1600&fit=max"/> 3553</div> 3554<div class="smeta"> 3555<p class="stitle">Ecological Institutions</p> 3556<div class="ssub">Austin Wade Smith ⢠2025</div> 3557</div> 3558</div> 3559<div class="sactions"> 3560<button class="pill secondary" data-action="toggle" type="button">more</button> 3561</div> 3562<div aria-hidden="true" class="detail"> 3563<p>Reference point within the 'Commons & Governance' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 3564<div style="margin:8px 0 10px 0;"> 3565<a class="pill" href="https://regen.foundation/" rel="noopener" target="_blank">Link â</a> 3566</div> 3567<div aria-label="Tags" class="stags"><span class="stag">commons</span><span class="stag">governance</span></div> 3568</div> 3569</article> 3570<article class="scard" data-theme="Commons & Governance"> 3571<div class="shead"> 3572<div aria-hidden="true" class="scover"> 3573<img alt="Cover: Patterns of Commoning" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3574</div> 3575<div class="smeta"> 3576<p class="stitle">Patterns of Commoning</p> 3577<div class="ssub">Helfrich & Bollier (eds.) ⢠Anthology ⢠2015</div> 3578</div> 3579</div> 3580<div class="sactions"> 3581<button class="pill secondary" data-action="toggle" type="button">more</button> 3582</div> 3583<div aria-hidden="true" class="detail"> 3584<p>Case studies that resonate with OpenTEAMâs cooperative ethos</p> 3585<div style="margin:8px 0 10px 0;"> 3586<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Patterns%20of%20Commoning" rel="noopener" target="_blank">Link â</a> 3587</div> 3588<div aria-label="Tags" class="stags"><span class="stag">commons</span><span class="stag">social innovation</span></div> 3589</div> 3590</article> 3591<article class="scard" data-theme="Commons & Governance"> 3592<div class="shead"> 3593<div aria-hidden="true" class="scover"> 3594<img alt="Cover: The Internet of Ownership" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3595</div> 3596<div class="smeta"> 3597<p class="stitle">The Internet of Ownership</p> 3598<div class="ssub">Nathan Schneider ⢠Website ⢠2015â</div> 3599</div> 3600</div> 3601<div class="sactions"> 3602<button class="pill secondary" data-action="toggle" type="button">more</button> 3603</div> 3604<div aria-hidden="true" class="detail"> 3605<p>Shapes OpenTEAMâs exploration of data stewardship and cooperative tech</p> 3606<div style="margin:8px 0 10px 0;"> 3607<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=The%20Internet%20of%20Ownership" rel="noopener" target="_blank">Link â</a> 3608</div> 3609<div aria-label="Tags" class="stags"><span class="stag">platform coops</span><span class="stag">ownership</span></div> 3610</div> 3611</article> 3612<article class="scard" data-theme="Commons & Governance"> 3613<div class="shead"> 3614<div aria-hidden="true" class="scover"> 3615<img alt="Cover: Polycentricity" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3616</div> 3617<div class="smeta"> 3618<p class="stitle">Polycentricity</p> 3619<div class="ssub">Elinor Ostrom ⢠2010</div> 3620</div> 3621</div> 3622<div class="sactions"> 3623<button class="pill secondary" data-action="toggle" type="button">more</button> 3624</div> 3625<div aria-hidden="true" class="detail"> 3626<p>Reference point within the 'Commons & Governance' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 3627<div style="margin:8px 0 10px 0;"> 3628<a class="pill" href="https://www.aeaweb.org/articles?id=10.1257/aer.100.3.641" rel="noopener" target="_blank">Link â</a> 3629</div> 3630<div aria-label="Tags" class="stags"><span class="stag">commons</span><span class="stag">governance</span></div> 3631</div> 3632</article> 3633<article class="scard" data-theme="Commons & Governance"> 3634<div class="shead"> 3635<div aria-hidden="true" class="scover"> 3636<img alt="Cover: Governing the Commons" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3637</div> 3638<div class="smeta"> 3639<p class="stitle">Governing the Commons</p> 3640<div class="ssub">Elinor Ostrom ⢠Book ⢠1990</div> 3641</div> 3642</div> 3643<div class="sactions"> 3644<button class="pill secondary" data-action="toggle" type="button">more</button> 3645</div> 3646<div aria-hidden="true" class="detail"> 3647<p>
3647A core inspiration for participatory, polycentric governance models</p> 3648<div style="margin:8px 0 10px 0;"> 3649<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Governing%20the%20Commons" rel="noopener" target="_blank">Link â</a> 3650</div> 3651<div aria-label="Tags" class="stags"><span class="stag">commons</span><span class="stag">governance</span></div> 3652</div> 3653</article> 3654<article class="scard" data-theme="Commons & Governance"> 3655<div class="shead"> 3656<div aria-hidden="true" class="scover"> 3657<img alt="Cover: Community Technology" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3658</div> 3659<div class="smeta"> 3660<p class="stitle">Community Technology</p> 3661<div class="ssub">Karl Hess ⢠Pamphlet ⢠1979</div> 3662</div> 3663</div> 3664<div class="sactions"> 3665<button class="pill secondary" data-action="toggle" type="button">more</button> 3666</div> 3667<div aria-hidden="true" class="detail"> 3668<p>Early inspiration for community-led tech in food systems</p> 3669<div style="margin:8px 0 10px 0;"> 3670<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Community%20Technology" rel="noopener" target="_blank">Link â</a> 3671</div> 3672<div aria-label="Tags" class="stags"><span class="stag">peer production</span></div> 3673</div> 3674</article> 3675<article class="scard" data-theme="Ethical AI & Data Stewardship"> 3676<div class="shead"> 3677<div aria-hidden="true" class="scover"> 3678<img alt="Cover: Trustworthy Infrastructure" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3679</div> 3680<div class="smeta"> 3681<p class="stitle">Trustworthy Infrastructure</p> 3682<div class="ssub">Metagov ⢠Whitepaper ⢠2023</div> 3683</div> 3684</div> 3685<div class="sactions"> 3686<button class="pill secondary" data-action="toggle" type="button">more</button> 3687</div> 3688<div aria-hidden="true" class="detail"> 3689<p>Foundation for OpenTEAMâs trust architecture strategy</p> 3690<div style="margin:8px 0 10px 0;"> 3691<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Trustworthy%20Infrastructure" rel="noopener" target="_blank">Link â</a> 3692</div> 3693<div aria-label="Tags" class="stags"><span class="stag">trust</span><span class="stag">modular governance</span></div> 3694</div> 3695</article> 3696<article class="scard" data-theme="Ethical AI & Data Stewardship"> 3697<div class="shead"> 3698<div aria-hidden="true" class="scover"> 3699<img alt="Cover: Data Feminism" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3700</div> 3701<div class="smeta"> 3702<p class="stitle">Data Feminism</p> 3703<div class="ssub">Catherine DâIgnazio, Lauren Klein ⢠Book ⢠2020</div> 3704</div> 3705</div> 3706<div class="sactions"> 3707<button class="pill secondary" data-action="toggle" type="button">more</button> 3708</div> 3709<div aria-hidden="true" class="detail"> 3710<p>Reframes data ownership and visibility for agricultural equity</p> 3711<div style="margin:8px 0 10px 0;"> 3712<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Data%20Feminism" rel="noopener" target="_blank">Link â</a> 3713</div> 3714<div aria-label="Tags" class="stags"><span class="stag">equity</span><span class="stag">data ethics</span></div> 3715</div> 3716</article> 3717<article class="scard" data-theme="Ethical AI & Data Stewardship"> 3718<div class="shead"> 3719<div aria-hidden="true" class="scover"> 3720<img alt="Cover: Ethical OS Toolkit" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3721</div> 3722<div class="smeta"> 3723<p class="stitle">Ethical OS Toolkit</p> 3724<div class="ssub">Omidyar Network ⢠Toolkit ⢠2019</div> 3725</div> 3726</div> 3727<div class="sactions"> 3728<button class="pill secondary" data-action="toggle" type="button">more</button> 3729</div> 3730<div aria-hidden="true" class="detail"> 3731<p>Supports ethical foresight in ag-tech design</p> 3732<div style="margin:8px 0 10px 0;"> 3733<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Ethical%20OS%20Toolkit" rel="noopener" target="_blank">Link â</a> 3734</div> 3735<div aria-label="Tags" class="stags"><span class="stag">AI</span><span class="stag">tech foresight</span></div> 3736</div> 3737</article> 3738<article class="scard" data-theme="Ethical AI & Data Stewardship"> 3739<div class="shead"> 3740<div aria-hidden="true" class="scover"> 3741<img alt="Cover: The Right to Explanation" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3742</div> 3743<div class="smeta"> 3744<p class="stitle">The Right to Explanation</p> 3745<div class="ssub">Sandra Wachter ⢠Paper ⢠2017</div> 3746</div> 3747</div> 3748<div class="sactions"> 3749<button class="pill secondary" data-action="toggle" type="button">more</button> 3750</div> 3751<div aria-hidden="true" class="detail"> 3752<p>Informs OpenTEAM's approach to transparency in ag-informatics</p> 3753<div style="margin:8px 0 10px 0;"> 3754<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=The%20Right%20to%20Explanation" rel="noopener" target="_blank">Link â</a> 3755</div> 3756<div aria-label="Tags" class="stags"><span class="stag">AI ethics</span><span class="stag">GDPR</span></div> 3757</div> 3758</article> 3759<article class="scard" data-theme="Ethical AI & Data Stewardship"> 3760<div class="shead"> 3761<div aria-hidden="true" class="scover">
3762<img alt="Cover: The Intention Economy" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="https://covers.openlibrary.org/b/isbn/1422158527-L.jpg"/> 3763</div> 3764<div class="smeta"> 3765<p class="stitle">The Intention Economy</p> 3766<div class="ssub">Doc Searls ⢠Book ⢠2012</div> 3767</div> 3768</div> 3769<div class="sactions"> 3770<button class="pill secondary" data-action="toggle" type="button">more</button> 3771</div> 3772<div aria-hidden="true" class="detail"> 3773<p>Proposes a shift in digital commerce toward consumer agency and control over data.</p> 3774<div style="margin:8px 0 10px 0;"> 3775<a class="pill" href="https://en.wikipedia.org/wiki/The_Intention_Economy" rel="noopener" target="_blank">Link â</a> 3776</div> 3777<div aria-label="Tags" class="stags"><span class="stag">Data Ownership</span><span class="stag">Personal Data</span></div> 3778</div> 3779</article> 3780<article class="scard" data-theme="Ethical AI & Data Stewardship"> 3781<div class="shead"> 3782<div aria-hidden="true" class="scover"> 3783<img alt="Cover: The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3784</div> 3785<div class="smeta"> 3786<p class="stitle">The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary</p> 3787<div class="ssub">Eric S. Raymond ⢠Book ⢠1999</div> 3788</div> 3789</div> 3790<div class="sactions"> 3791<button class="pill secondary" data-action="toggle" type="button">more</button> 3792</div> 3793<div aria-hidden="true" class="detail"> 3794<p>A foundational text on open source culture and collaborative development â helpful context for OpenTEAMâs governance, interoperability practices, and community stewardship.</p> 3795<div style="margin:8px 0 10px 0;"> 3796<a class="pill" href="https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar" rel="noopener" target="_blank">Link â</a> 3797</div> 3798<div aria-label="Tags" class="stags"><span class="stag">open source</span><span class="stag">governance</span><span class="stag">collaboration</span><span class="stag">stewardship</span><span class="stag">commons</span></div> 3799</div> 3800</article> 3801<article class="scard" data-theme="Participatory Research & Community Science"> 3802<div class="shead"> 3803<div aria-hidden="true" class="scover"> 3804<img alt="Cover: Open Environmental Data Project" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3805</div> 3806<div class="smeta"> 3807<p class="stitle">Open Environmental Data Project</p> 3808<div class="ssub">Shannon Dosemagen (founder) ⢠2020</div> 3809</div> 3810</div> 3811<div class="sactions"> 3812<button class="pill secondary" data-action="toggle" type="button">more</button> 3813</div> 3814<div aria-hidden="true" class="detail"> 3815<p>Reference point within the 'Participatory Research & Community Science' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 3816<div style="margin:8px 0 10px 0;"> 3817<a class="pill" href="https://www.openenvironmentaldata.org/about" rel="noopener" target="_blank">Link â</a> 3818</div> 3819<div aria-label="Tags" class="stags"><span class="stag">community</span><span class="stag">research</span><span class="stag">science</span></div> 3820</div> 3821</article> 3822<article class="scard" data-theme="Participatory Research & Community Science"> 3823<div class="shead"> 3824<div aria-hidden="true" class="scover"> 3825<img alt="Cover: Civic Science Framework" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3826</div> 3827<div class="smeta"> 3828<p class="stitle">Civic Science Framework</p> 3829<div class="ssub">Public Lab ⢠Framework ⢠2017</div> 3830</div> 3831</div> 3832<div class="sactions"> 3833<button class="pill secondary" data-action="toggle" type="button">more</button> 3834</div> 3835<div aria-hidden="true" class="detail"> 3836<p>Inspires distributed data stewardship and participatory sensing</p> 3837<div style="margin:8px 0 10px 0;"> 3838<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Civic%20Science%20Framework" rel="noopener" target="_blank">Link â</a> 3839</div> 3840<div aria-label="Tags" class="stags"><span class="stag">citizen science</span></div> 3841</div> 3842</article> 3843<article class="scard" data-theme="Participatory Research &
3843 Community Science"> 3844<div class="shead"> 3845<div aria-hidden="true" class="scover"> 3846<img alt="Cover: Democratizing Innovation" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3847</div> 3848<div class="smeta"> 3849<p class="stitle">Democratizing Innovation</p> 3850<div class="ssub">Eric von Hippel ⢠Book ⢠2005</div> 3851</div> 3852</div> 3853<div class="sactions"> 3854<button class="pill secondary" data-action="toggle" type="button">more</button> 3855</div> 3856<div aria-hidden="true" class="detail"> 3857<p>Validates farmer-centered innovation in OpenTEAM tools</p> 3858<div style="margin:8px 0 10px 0;"> 3859<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Democratizing%20Innovation" rel="noopener" target="_blank">Link â</a> 3860</div> 3861<div aria-label="Tags" class="stags"><span class="stag">user innovation</span></div> 3862</div> 3863</article> 3864<article class="scard" data-theme="Participatory Research & Community Science"> 3865<div class="shead"> 3866<div aria-hidden="true" class="scover"> 3867<img alt="Cover: Farmer First" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3868</div> 3869<div class="smeta"> 3870<p class="stitle">Farmer First</p> 3871<div class="ssub">Robert Chambers ⢠Book ⢠1989</div> 3872</div> 3873</div> 3874<div class="sactions"> 3875<button class="pill secondary" data-action="toggle" type="button">more</button> 3876</div> 3877<div aria-hidden="true" class="detail"> 3878<p>A landmark call for listening to farmers as primary innovators</p> 3879<div style="margin:8px 0 10px 0;"> 3880<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Farmer%20First" rel="noopener" target="_blank">Link â</a> 3881</div> 3882<div aria-label="Tags" class="stags"><span class="stag">participatory research</span></div> 3883</div> 3884</article> 3885<article class="scard" data-theme="Data & Interoperability"> 3886<div class="shead"> 3887<div aria-hidden="true" class="scover"> 3888<img alt="Cover: Schema.org for Agriculture" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3889</div> 3890<div class="smeta"> 3891<p class="stitle">Schema.org for Agriculture</p> 3892<div class="ssub">GODAN ⢠Ontology ⢠2018</div> 3893</div> 3894</div> 3895<div class="sactions"> 3896<button class="pill secondary" data-action="toggle" type="button">more</button> 3897</div> 3898<div aria-hidden="true" class="detail"> 3899<p>Supports semantic interoperability in ag knowledge graphs</p> 3900<div style="margin:8px 0 10px 0;"> 3901<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Schema.org%20for%20Agriculture" rel="noopener" target="_blank">Link â</a> 3902</div> 3903<div aria-label="Tags" class="stags"><span class="stag">linked data</span></div> 3904</div> 3905</article> 3906<article class="scard" data-theme="Data & Interoperability"> 3907<div class="shead"> 3908<div aria-hidden="true" class="scover"> 3909<img alt="Cover: FAIR Guiding Principles" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3910</div> 3911<div class="smeta"> 3912<p class="stitle">FAIR Guiding Principles</p> 3913<div class="ssub">Wilkinson et al. ⢠Paper ⢠2016</div> 3914</div> 3915</div> 3916<div class="sactions"> 3917<button class="pill secondary" data-action="toggle" type="button">more</button> 3918</div> 3919<div aria-hidden="true" class="detail"> 3920<p>A foundational standard for OpenTEAMâs tech stack</p> 3921<div style="margin:8px 0 10px 0;"> 3922<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=FAIR%20Guiding%20Principles" rel="noopener" target="_blank">Link â</a> 3923</div> 3924<div aria-label="Tags" class="stags"><span class="stag">data sharing</span></div> 3925</div> 3926</article> 3927<article class="scard" data-theme="Data & Interoperability"> 3928<div class="shead"> 3929<div aria-hidden="true" class="scover"> 3930<img alt="Cover: Open Ag Data Alliance (OADA)" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3931</div> 3932<div class="smeta"> 3933<p class="stitle">Open Ag Data Alliance (OADA)</p> 3934<div class="ssub">OADA ⢠Protocol ⢠2014</div> 3935</div> 3936</div> 3937<div class="sactions"> 3938<button class="pill secondary" data-action="toggle" type="button">more</button> 3939</div> 3940<div aria-hidden="true" class="detail"> 3941<p>Early technical standard OpenTEAM builds upon</p> 3942<div style="margin:8px 0 10px 0;"> 3943<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Open%20Ag%20Data%20Alliance%20(OADA)" rel="noopener" target="_blank">Link â</a> 3944</div> 3945<div aria-label="Tags" class="stags"><span class="stag">interoperability</span></div> 3946</div> 3947</article> 3948<article class="scard" data-theme="Data & Interoperability"> 3949<div class="shead"> 3950<div aria-hidden="true" class="scover"> 3951<img alt="Cover: Common Accord Project" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3952</div> 3953<div class="smeta"> 3954<p class="stitle">Common Accord Project</p> 3955<div class="ssub">CommonAccord.org ⢠Framework ⢠ongoing</div> 3956</div> 3957</div> 3958<div class="sactions"> 3959<button class="pill secondary" data-action="toggle" type="button">more</button> 3960</div> 3961<div aria-hidden="true" class="detail"> 3962<p>Supports interoperable governance templates</p> 3963<div style="margin:8px 0 10px 0;"> 3964<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Common%20Accord%20Project" rel="noopener" target="_blank">Link â</a> 3965</div> 3966<div aria-label="Tags" class="stags"><span class="stag">legal automation</span><span class="stag">modularity</span></div> 3967</div> 3968</article> 3969<article class="scard" data-theme="Indigenous and Ancestral Knowledge"> 3970<div class="shead"> 3971<div aria-hidden="true" class="scover"> 3972<img alt="Cover: The Dawn of Everything" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3973</div> 3974<div class="smeta"> 3975<p class="stitle">The Dawn of Everything</p> 3976<div class="ssub">Graeber & Wengrow ⢠Book ⢠2021</div> 3977</div> 3978</div> 3979<div class="sactions"> 3980<button class="pill secondary" data-action="toggle" type="button">more</button> 3981</div> 3982<div aria-hidden="true" class="detail"> 3983<p>Expands ideas of premodern civic design and stewardship</p> 3984<div style="margin:8px 0 10px 0;"> 3985<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=The%20Dawn%20of%20Everything" rel="noopener" target="_blank">Link â</a> 3986</div> 3987<div aria-label="Tags" class="stags"><span class="stag">alternative governance</span></div> 3988</div> 3989</article> 3990<article class="scard" data-theme="Indigenous and Ancestral Knowledge"> 3991<div class="shead"> 3992<div aria-hidden="true" class="scover"> 3993<img alt="Cover: Braiding Sweetgrass" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 3994</div> 3995<div class="smeta"> 3996<p class="stitle">Braiding Sweetgrass</p> 3997<div class="ssub">Robin Wall Kimmerer ⢠Book ⢠2013</div> 3998</div> 3999</div> 4000<div class="sactions"> 4001<button class="pill secondary" data-action="toggle" type="button">more</button> 4002</div> 4003<div aria-hidden="true" class="detail"> 4004<p>Frames reciprocity and ecological knowledge</p> 4005<div style="margin:8px 0 10px 0;"> 4006<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Braiding%20Sweetgrass" rel="noopener" target="_blank">Link â</a> 4007</div> 4008<div aria-label="Tags" class="stags"><span class="stag">indigenous science</span></div> 4009</div> 4010</article> 4011<article class="scard" data-theme="Indigenous and Ancestral Knowledge"> 4012<div class="shead"> 4013<div aria-hidden="true" class="scover"> 4014<img alt="Cover: The Other Side of Eden" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4015</div> 4016<div class="smeta"> 4017<p class="stitle">The Other Side of Eden</p> 4018<div class="ssub">Hugh Brody ⢠Book ⢠2001</div> 4019</div> 4020</div> 4021<div class="sactions"> 4022<button class="pill secondary" data-action="toggle" type="button">more</button> 4023</div> 4024<div aria-hidden="true" class="detail"> 4025<p>Valuing indigenous epistemologies in landscape understanding</p> 4026<div style="margin:8px 0 10px 0;"> 4027<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=The%20Other%20Side%20of%20Eden" rel="noopener" target="_blank">Link â</a> 4028</div> 4029<div aria-label="Tags" class="stags"><span class="stag">oral tradition</span></div> 4030</div> 4031</article> 4032<article class="scard" data-theme="Indigenous and Ancestral Knowledge"> 4033<div class="shead"> 4034<div aria-hidden="true" class="scover"> 4035<img alt="Cover: Look to the mountain" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';
4035" src="https://covers.openlibrary.org/b/isbn/1882308654-L.jpg"/> 4036</div> 4037<div class="smeta"> 4038<p class="stitle">Look to the mountain</p> 4039<div class="ssub">Gregory Cajete ⢠1994</div> 4040</div> 4041</div> 4042<div class="sactions"> 4043<button class="pill secondary" data-action="toggle" type="button">more</button> 4044</div> 4045<div aria-hidden="true" class="detail"> 4046<p>Reference point within the 'Indigenous and Ancestral Knowledge' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 4047<div style="margin:8px 0 10px 0;"> 4048<a class="pill" href="https://eric.ed.gov/?id=ED375993" rel="noopener" target="_blank">Link â</a> 4049</div> 4050<div aria-label="Tags" class="stags"><span class="stag">and</span><span class="stag">indigenous knowledge</span></div> 4051</div> 4052</article> 4053<article class="scard" data-theme="Governance in Practice"> 4054<div class="shead"> 4055<div aria-hidden="true" class="scover"> 4056<img alt="Cover: Block Science Papers /KOI" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4057</div> 4058<div class="smeta"> 4059<p class="stitle">Block Science Papers /KOI</p> 4060<div class="ssub">BlockScience ⢠2024</div> 4061</div> 4062</div> 4063<div class="sactions"> 4064<button class="pill secondary" data-action="toggle" type="button">more</button> 4065</div> 4066<div aria-hidden="true" class="detail"> 4067<p>Reference point within the 'Governance in Practice' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 4068<div style="margin:8px 0 10px 0;"> 4069<a class="pill" href="https://blog.block.science/architecting-knowledge-organization-infrastructure/" rel="noopener" target="_blank">Link â</a> 4070</div> 4071<div aria-label="Tags" class="stags"><span class="stag">governance</span><span class="stag">in</span><span class="stag">practice</span></div> 4072</div> 4073</article> 4074<article class="scard" data-theme="Governance in Practice"> 4075<div class="shead"> 4076<div aria-hidden="true" class="scover"> 4077<img alt="Cover: NCPP Local Working Group handbook" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4078</div> 4079<div class="smeta"> 4080<p class="stitle">NCPP Local Working Group handbook</p> 4081<div class="ssub">National Conservation Planning Partnership (NCPP) / NRCS ⢠2023</div> 4082</div> 4083</div> 4084<div class="sactions"> 4085<button class="pill secondary" data-action="toggle" type="button">more</button> 4086</div> 4087<div aria-hidden="true" class="detail"> 4088<p>Reference point within the 'Governance in Practice' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 4089<div style="margin:8px 0 10px 0;"> 4090<a class="pill" href="https://www.nrcs.usda.gov/sites/default/files/2023-03/LWG%20Guidebook%20from%20National%20Conservation%20Planning%20Partnership_1.pdf" rel="noopener" target="_blank">Link â</a> 4091</div> 4092<div aria-label="Tags" class="stags"><span class="stag">governance</span><span class="stag">in</span><span class="stag">practice</span></div> 4093</div> 4094</article> 4095<article class="scard" data-theme="Governance in Practice"> 4096<div class="shead"> 4097<div aria-hidden="true" class="scover"> 4098<img alt="Cover: Long Land War" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="https://covers.openlibrary.org/b/isbn/030025668X-L.jpg"/> 4099</div> 4100<div class="smeta"> 4101<p class="stitle">Long Land War</p> 4102<div class="ssub">Jo Guldi ⢠2022</div> 4103</div> 4104</div> 4105<div class="sactions"> 4106<button class="pill secondary" data-action="toggle" type="button">more</button> 4107</div> 4108<div aria-hidden="true" class="detail"> 4109<p>Reference point within the 'Governance in Practice' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 4110<div style="margin:8px 0 10px 0;"> 4111<a class="pill" href="https://www.amazon.com/Long-Land-War-Struggle-Occupancy/dp/030025668X" rel="noopener" target="_blank">Link â</a> 4112</div> 4113<div aria-label="Tags" class="stags"><span class="stag">governance</span><span class="stag">in</span><span class="stag">practice</span></div> 4114</div> 4115</article> 4116<article class="scard" data-theme="Governance in Practice"> 4117<div class="shead"> 4118<div aria-hidden="true" class="scover"> 4119<img alt="Cover: Metagov Gateway" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4120</div> 4121<div class="smeta"> 4122<p class="stitle">Metagov Gateway</p> 4123<div class="ssub">
4123Metagov ⢠Platform ⢠2022â</div> 4124</div> 4125</div> 4126<div class="sactions"> 4127<button class="pill secondary" data-action="toggle" type="button">more</button> 4128</div> 4129<div aria-hidden="true" class="detail"> 4130<p>Powers many OpenTEAM governance pilots</p> 4131<div style="margin:8px 0 10px 0;"> 4132<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Metagov%20Gateway" rel="noopener" target="_blank">Link â</a> 4133</div> 4134<div aria-label="Tags" class="stags"><span class="stag">modular governance</span></div> 4135</div> 4136</article> 4137<article class="scard" data-theme="Governance in Practice"> 4138<div class="shead"> 4139<div aria-hidden="true" class="scover"> 4140<img alt="Cover: R3 Blueprints - Regenerative Finance" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4141</div> 4142<div class="smeta"> 4143<p class="stitle">R3 Blueprints - Regenerative Finance</p> 4144<div class="ssub">r3.0 (Redesign for Resilience & Regeneration) ⢠2020</div> 4145</div> 4146</div> 4147<div class="sactions"> 4148<button class="pill secondary" data-action="toggle" type="button">more</button> 4149</div> 4150<div aria-hidden="true" class="detail"> 4151<p>Reference point within the 'Governance in Practice' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 4152<div style="margin:8px 0 10px 0;"> 4153<a class="pill" href="https://r3dot0.medium.com/r3-0-releases-sustainable-finance-and-value-cycles-blueprints-4e35f02fd222" rel="noopener" target="_blank">Link â</a> 4154</div> 4155<div aria-label="Tags" class="stags"><span class="stag">governance</span><span class="stag">in</span><span class="stag">practice</span></div> 4156</div> 4157</article> 4158<article class="scard" data-theme="Governance in Practice"> 4159<div class="shead"> 4160<div aria-hidden="true" class="scover"> 4161<img alt="Cover: NACD HandBook" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4162</div> 4163<div class="smeta"> 4164<p class="stitle">NACD HandBook</p> 4165<div class="ssub">NACD + American Farmland Trust ⢠2018</div> 4166</div> 4167</div> 4168<div class="sactions"> 4169<button class="pill secondary" data-action="toggle" type="button">more</button> 4170</div> 4171<div aria-hidden="true" class="detail"> 4172<p>Reference point within the 'Governance in Practice' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 4173<div style="margin:8px 0 10px 0;"> 4174<a class="pill" href="https://www.nacdnet.org/wp-content/uploads/2018/02/AFT-NACD-Environmental-Markets-web-final.pdf" rel="noopener" target="_blank">Link â</a> 4175</div> 4176<div aria-label="Tags" class="stags"><span class="stag">governance</span><span class="stag">in</span><span class="stag">practice</span></div> 4177</div> 4178</article> 4179<article class="scard" data-theme="Governance in Practice"> 4180<div class="shead"> 4181<div aria-hidden="true" class="scover"> 4182<img alt="Cover: Sociocracy 3.0" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4183</div> 4184<div class="smeta"> 4185<p class="stitle">Sociocracy 3.0</p> 4186<div class="ssub">Bernhard Bockelbrink et al. ⢠Framework ⢠2015â</div> 4187</div> 4188</div> 4189<div class="sactions"> 4190<button class="pill secondary" data-action="toggle" type="button">more</button> 4191</div> 4192<div aria-hidden="true" class="detail"> 4193<p>Offers practices for cooperative and nested governance</p> 4194<div style="margin:8px 0 10px 0;"> 4195<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Sociocracy%203.0" rel="noopener" target="_blank">Link â</a> 4196</div> 4197<div aria-label="Tags" class="stags"><span class="stag">distributed governance</span></div> 4198</div> 4199</article> 4200<article class="scard" data-theme="Governance in Practice"> 4201<div class="shead"> 4202<div aria-hidden="true" class="scover"> 4203<img alt="Cover: Debt: the first 5000 years" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="https://covers.openlibrary.org/b/isbn/1933633867-L.jpg"/> 4204</div> 4205<div class="smeta"> 4206<p class="stitle">Debt: the first 5000 years</p> 4207<div class="ssub">David Graeber ⢠2011</div> 4208</div> 4209</div> 4210<div class="sactions"> 4211<button class="pill secondary" data-action="toggle" type="button">more</button> 4212</div> 4213<div aria-hidden="true" class="detail"> 4214<p>Reference point within the 'Governance in Practice' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 4215<div style="margin:8px 0 10px 0;"> 4216<a class="pill" href="https://en.wikipedia.org/wiki/Debt:_The_First_5,000_Years" rel="noopener" target="_blank">Link â</a> 4217</div> 4218<div aria-label="Tags" class="stags"><span class="stag">governance</span><span class="stag">in</span><span class="stag">practice</span></div> 4219</div> 4220</article> 4221<article class="scard" data-theme="Speculative Science Fiction"> 4222<div class="shead"> 4223<div aria-hidden="true" class="scover"> 4224<img alt="Cover: The Ministry for the Future" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4225</div> 4226<div class="smeta"> 4227<p class="stitle">The Ministry for the Future</p> 4228<div class="ssub">Kim Stanley Robinson ⢠Book ⢠2020</div> 4229</div> 4230</div> 4231<div class="sactions"> 4232<button class="pill secondary" data-action="toggle" type="button">more</button> 4233</div> 4234<div aria-hidden="true" class="detail"> 4235<p>Speculative near-future governance and climate response scenarios that help stress-test how institutions, incentives, and data systems might evolve under climate pressure â relevant for resilient agricultural knowledge infrastru
4235cture.</p> 4236<div style="margin:8px 0 10px 0;"> 4237<a class="pill" href="https://en.wikipedia.org/wiki/The_Ministry_for_the_Future" rel="noopener" target="_blank">Link â</a> 4238</div> 4239<div aria-label="Tags" class="stags"><span class="stag">climate futures</span><span class="stag">governance</span><span class="stag">institutions</span><span class="stag">adaptation</span><span class="stag">systems change</span></div> 4240</div> 4241</article> 4242<article class="scard" data-theme="Speculative Science Fiction"> 4243<div class="shead"> 4244<div aria-hidden="true" class="scover"> 4245<img alt="Cover: The Transparent Society" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4246</div> 4247<div class="smeta"> 4248<p class="stitle">The Transparent Society</p> 4249<div class="ssub">David Brin ⢠Book ⢠1998</div> 4250</div> 4251</div> 4252<div class="sactions"> 4253<button class="pill secondary" data-action="toggle" type="button">more</button> 4254</div> 4255<div aria-hidden="true" class="detail"> 4256<p>A speculative and policy-oriented exploration of privacy, accountability, and reciprocal transparency â useful context for data stewardship, consent, and governance in socio-technical ecosystems.</p> 4257<div style="margin:8px 0 10px 0;"> 4258<a class="pill" href="https://en.wikipedia.org/wiki/The_Transparent_Society" rel="noopener" target="_blank">Link â</a> 4259</div> 4260<div aria-label="Tags" class="stags"><span class="stag">surveillance</span><span class="stag">transparency</span><span class="stag">privacy</span><span class="stag">governance</span><span class="stag">ethics</span><span class="stag">futures</span></div> 4261</div> 4262</article> 4263<article class="scard" data-theme="Speculative Science Fiction"> 4264<div class="shead"> 4265<div aria-hidden="true" class="scover"> 4266<img alt="Cover: Parable of the Sower" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4267</div> 4268<div class="smeta"> 4269<p class="stitle">Parable of the Sower</p> 4270<div class="ssub">Octavia E. Butler ⢠Book ⢠1993</div> 4271</div> 4272</div> 4273<div class="sactions"> 4274<button class="pill secondary" data-action="toggle" type="button">more</button> 4275</div> 4276<div aria-hidden="true" class="detail"> 4277<p>A foundational speculative story about resilience and community organization amid systemic disruption â useful for thinking about social infrastructure, reciprocity, and durable knowledge under stress.</p> 4278<div style="margin:8px 0 10px 0;"> 4279<a class="pill" href="https://en.wikipedia.org/wiki/Parable_of_the_Sower" rel="noopener" target="_blank">Link â</a> 4280</div> 4281<div aria-label="Tags" class="stags"><span class="stag">resilience</span><span class="stag">community</span><span class="stag">collapse</span><span class="stag">migration</span><span class="stag">mutual aid</span><span class="stag">stewardship</span></div> 4282</div> 4283</article> 4284<article class="scard" data-theme="Long History and Visionary Works"> 4285<div class="shead"> 4286<div aria-hidden="true" class="scover"> 4287<img alt="Cover: Indigenous Currencies" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="https://covers.openlibrary.org/b/isbn/0262552531-L.jpg"/> 4288</div> 4289<div class="smeta"> 4290<p class="stitle">Indigenous Currencies</p> 4291<div class="ssub">Ashley Cordes ⢠Book ⢠2025</div> 4292</div> 4293</div> 4294<div class="sactions"> 4295<button class="pill secondary" data-action="toggle" type="button">more</button> 4296</div> 4297<div aria-hidden="true" class="detail"> 4298<p>Examines historical and future roles of Indigenous currencies as tools of sovereignty and ecological value.</p> 4299<div style="margin:8px 0 10px 0;"> 4300<a class="pill" href="https://mitpress.mit.edu/9780262552530/indigenous-currencies/" rel="noopener" target="_blank">Link â</a> 4301</div> 4302<div aria-label="Tags" class="stags"><span class="stag">Regen EcoWeaving</span><span class="stag">Indigenous Economics</span></div> 4303</div> 4304</article> 4305<article class="scard" data-theme="Long History and Visionary Works"> 4306<div class="shead"> 4307<div aria-hidden="true" class="scover"> 4308<img alt="Cover: Ways of Being: Animals, Plants, Machines" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="https://covers.openlibrary.org/b/isbn/0374601119-L.jpg"/> 4309</div> 4310<div class="smeta"> 4311<p class="stitle">Ways of Being: Animals, Plants, Machines</p> 4312<div class="ssub">James Bridle ⢠Book ⢠2022</div> 4313</div> 4314</div> 4315<div class="sactions"> 4316<button class="pill secondary" data-action="toggle" type="button">more</button> 4317</div> 4318<div aria-hidden="true" class="detail"> 4319<p>Explores non-human forms of intelligence and the implications for design and planetary life.</p> 4320<div style="margin:8px 0 10px 0;"> 4321<a class="pill" href="https://en.wikipedia.org/wiki/Ways_of_Being" rel="noopener" target="_blank">Link â</a> 4322</div> 4323<div aria-label="Tags" class="stags"><span class="stag">Regen EcoWeaving</span><span class="stag">More-than-human Intelligence</span></div> 4324</div> 4325</article> 4326<article class="scard" data-theme="Long History and Visionary Works"> 4327<div class="shead"> 4328<div aria-hidden="true" class="scover"> 4329<img alt="Cover: Hospicing Modernity" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="https://covers.openlibrary.org/b/isbn/1623176247-L.jpg"/> 4330</div> 4331<div class="smeta"> 4332<p class="stitle">Hospicing Modernity</p> 4333<div class="ssub">Vanessa Machado de Oliveira ⢠Book ⢠2021</div> 4334</div> 4335</div> 4336<div class="sactions"> 4337<button class="pill secondary" data-action="toggle" type="button">more</button> 4338</div> 4339<div aria-hidden="true" class="detail"> 4340<p>Explores how to die well to systems in decline and create space for alternatives rooted in Indigenous knowledge.</p> 4341<div style="margin:8px 0 10px 0;"> 4342<a class="pill" href="https://www.penguinrandomhouse.com/books/675703/hospicing-modernity-by-vanessa-machado-de-oliveira/" rel="noopener" target="_blank">Link â</a> 4343</div> 4344<div aria-label="Tags" class="stags"><span class="stag">Regen EcoWeaving</span><span class="stag">Decolonial Futures</span></div> 4345</div> 4346</article> 4347<article class="scard" data-theme="Long History and Visionary Works"> 4348<div class="shead"> 4349<div aria-hidden="true" class="scover"> 4350<img alt="Cover: A Paradise Built in Hell" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="https://covers.openlibrary.org/b/isbn/0670021075-L.jpg"/> 4351</div> 4352<div class="smeta"> 4353<p class="stitle">A Paradise Built in Hell</p> 4354<div class="ssub">Rebecca Solnit ⢠Book ⢠2009</div> 4355</div> 4356</div> 4357<div class="sactions"> 4358<button class="pill secondary" data-action="toggle" type="button">more</button> 4359</div> 4360<div aria-hidden="true" class="detail"> 4361<p>Documents human generosity and mutual support in times of disaster.</p> 4362<div style="margin:8px 0 10px 0;"> 4363<a class="pill" href="https://en.wikipedia.org/wiki/A_Paradise_Built_in_Hell" rel="noopener" target="_blank">Link â</a> 4364</div> 4365<div aria-label="Tags" class="stags"><span class="stag">Regen EcoWeaving</span><span class="stag">Mutual Aid</span></div> 4366</div> 4367</article> 4368<article class="scard" data-theme="Long History and Visionary Works"> 4369<div class="shead"> 4370<div aria-hidden="true" class="scover"> 4371<img alt="Cover: Ecological Economics" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="https://covers.openlibrary.org/b/isbn/1559633123-L.jpg"/> 4372</div> 4373<div class="smeta"> 4374<p class="stitle">Ecological Economics</p> 4375<div class="ssub">Herman E. Daly; Joshua Farley ⢠2003</div> 4376</div> 4377</div> 4378<div class="sactions"> 4379<button class="pill secondary" data-action="toggle" type="button">more</button> 4380</div> 4381<div aria-hidden="true" class="detail"> 4382<p>Reference point within the 'Long History and Visionary Works' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 4383<div style="margin:8px 0 10px 0;"> 4384<a class="pill" href="https://www.bibliovault.org/BV.book.epl?ISBN=9781559633123" rel="noopener" target="_blank">Link â</a> 4385</div> 4386<div aria-label="Tags" class="stags"><span class="stag">and</span><span class="stag">history</span><span class="stag">long</span><span class="stag">visionary</span><span class="stag">works</span></div> 4387</div> 4388</article> 4389<article class="scard" data-theme="Long History and Visionary Works"> 4390<div class="shead"> 4391<div aria-hidden="true" class="scover"> 4392<img alt="Cover: The Ecology of Freedom" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4393</div> 4394<div class="smeta"> 4395<p class="stitle">The Ecology of Freedom</p> 4396<div class="ssub">Murray Bookchin ⢠Book ⢠1982</div> 4397</div> 4398</div> 4399<div class="sactions"> 4400<button class="pill secondary" data-action="toggle" type="button">more</button> 4401</div> 4402<div aria-hidden="true" class="detail"> 4403<p>Early framing of ecological and decentralized societies</p> 4404<div style="margin:8px 0 10px 0;"> 4405<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=The%20Ecology%20
4405of%20Freedom" rel="noopener" target="_blank">Link â</a> 4406</div> 4407<div aria-label="Tags" class="stags"><span class="stag">political ecology</span></div> 4408</div> 4409</article> 4410<article class="scard" data-theme="Long History and Visionary Works"> 4411<div class="shead"> 4412<div aria-hidden="true" class="scover"> 4413<img alt="Cover: Dragons of Eden" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="https://covers.openlibrary.org/b/isbn/0394410459-L.jpg"/> 4414</div> 4415<div class="smeta"> 4416<p class="stitle">Dragons of Eden</p> 4417<div class="ssub">Carl Sagan ⢠1977</div> 4418</div> 4419</div> 4420<div class="sactions"> 4421<button class="pill secondary" data-action="toggle" type="button">more</button> 4422</div> 4423<div aria-hidden="true" class="detail"> 4424<p>Reference point within the 'Long History and Visionary Works' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 4425<div style="margin:8px 0 10px 0;"> 4426<a class="pill" href="https://en.wikipedia.org/wiki/The_Dragons_of_Eden" rel="noopener" target="_blank">Link â</a> 4427</div> 4428<div aria-label="Tags" class="stags"><span class="stag">and</span><span class="stag">history</span><span class="stag">long</span><span class="stag">visionary</span><span class="stag">works</span></div> 4429</div> 4430</article> 4431<article class="scard" data-theme="Long History and Visionary Works"> 4432<div class="shead"> 4433<div aria-hidden="true" class="scover"> 4434<img alt="Cover: Small is Beautiful: Economics as if People Mattered" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4435</div> 4436<div class="smeta"> 4437<p class="stitle">Small is Beautiful: Economics as if People Mattered</p> 4438<div class="ssub">E. F. Schumacher ⢠Book ⢠1973</div> 4439</div> 4440</div> 4441<div class="sactions"> 4442<button class="pill secondary" data-action="toggle" type="button">more</button> 4443</div> 4444<div aria-hidden="true" class="detail"> 4445<p>Seminal work arguing for sustainable, human-scale economics.</p> 4446<div style="margin:8px 0 10px 0;"> 4447<a class="pill" href="https://en.wikipedia.org/wiki/Small_Is_Beautiful" rel="noopener" target="_blank">Link â</a> 4448</div> 4449<div aria-label="Tags" class="stags"><span class="stag">New Economics</span><span class="stag">Localism</span></div> 4450</div> 4451</article> 4452<article class="scard" data-theme="Long History and Visionary Works"> 4453<div class="shead"> 4454<div aria-hidden="true" class="scover"> 4455<img alt="Cover: Silent Spring" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4456</div> 4457<div class="smeta"> 4458<p class="stitle">Silent Spring</p> 4459<div class="ssub">Rachel Carson ⢠Book ⢠1962</div> 4460</div> 4461</div> 4462<div class="sactions"> 4463<button class="pill secondary" data-action="toggle" type="button">more</button> 4464</div> 4465<div aria-hidden="true" class="detail"> 4466<p>Raised ecological consciousness foundational to regen ag</p> 4467<div style="margin:8px 0 10px 0;"> 4468<a class="pill" href="https://en.wikipedia.org/wiki/Special:Search?search=Silent%20Spring" rel="noopener" target="_blank">Link â</a> 4469</div> 4470<div aria-label="Tags" class="stags"><span class="stag">ecology</span><span class="stag">public awareness</span></div> 4471</div> 4472</article> 4473<article class="scard" data-theme="Long History and Visionary Works"> 4474<div class="shead"> 4475<div aria-hidden="true" class="scover"> 4476<img alt="Cover: Reconstruction by way of the soil" loading="lazy" onerror="this.onerror=null; this.src='assets/bg_malawi.jpg';" src="assets/bg_malawi.jpg"/> 4477</div> 4478<div class="smeta"> 4479<p class="stitle">Reconstruction by way of the soil</p> 4480<div class="ssub">Guy Theodore Wrench ⢠Book ⢠1946</div> 4481</div> 4482</div> 4483<div class="sactions"> 4484<button class="pill secondary" data-action="toggle" type="button">more</button> 4485</div> 4486<div aria-hidden="true" class="detail"> 4487<p>Reference point within the 'Long History and Visionary Works' lineage; useful for OpenTEAM orientation and shared vocabulary.</p> 4488<div style="margin:8px 0 10px 0;"> 4489<a class="pill" href="https://archive.org/details/reconstructionby0000guyt" rel="noopener" target="_blank">Link â</a> 4490</div> 4491<div aria-label="Tags" class="stags"><span class="stag">and</span><span class="stag">history</span><span class="stag">long</span><span class="stag">visionary</span><span class="stag">works</span></div> 4492</div> 4493</article> 4494 4495 </div> 4496 <button aria-label="Scroll right" class="rail-arrow-end rail-arrow-right" data-dir="1" data-rail="indexLibraryRail" type="button"> 4497 <svg viewbox="0 0 24 24">
4497<path d="m8.6 4.6 7.4 7.4-7.4 7.4-1.4-1.4 6-6-6-6z"></path></svg> 4498 </button> 4499 </div> 4500 </div> 4501</details> 4502</div> 4503</section> 4504 4505<!-- INITIATIVES --> 4506 4507 4508 4509<section class="section" id="institutional-home"> 4510<div class="container"> 4511<div class="callout"> 4512<div class="callout-title">Institutional home</div> 4513<div class="callout-body">OpenTEAM is a fiscally sponsored project of Raft Foundation Inc, a 501(c)(3). 4514 <div style="margin-top: 14px;"> 4515<div style="font-weight:600;">Attributions</div> 4516<div style="margin-top:6px; color: rgba(43,43,43,0.78);"> 4517 We extend our gratitude to all those who have contributed their time, expertise, and resources to building OpenTEAM's knowledge commons. 4518 OpenTEAM's work is made possible through the support and partnership of numerous organizations and individuals committed to advancing regenerative agriculture through collaborative technology development. Want your organization listed? Add an entry through onboarding (coming soon) or contact the team. 4519 </div> 4520<div class="attr-scroller-wrap"> 4521<div class="wg-project-cards__wrap"> 4522<button aria-label="Scroll left" class="wg-edge-arrow wg-edge-arrow--left" data-attr-scroll="prev" type="button">â¹</button> 4523<button aria-label="Scroll right" class="wg-edge-arrow wg-edge-arrow--right" data-attr-scroll="next" type="button">âº</button> 4524<div class="attr-rail" data-attr-rail=""> 4525 4526<article class="attr-card"><a class="attr-card__link" href="https://11thhourproject.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=11thhourproject.org&sz=64"/><div class="attr-card__name">11th Hour Project</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4527<article class="attr-card"><a class="attr-card__link" href="https://noregretsfoundation.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=noregretsfoundation.org&sz=64"/><div class="attr-card__name">No Regrets Foundation</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4528<article class="attr-card"><a class="attr-card__link" href="https://techmatters.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=techmatters.org&sz=64"/><div class="attr-card__name">Tech Matters</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4529<article class="attr-card"><a class="attr-card__link" href="https://farmhack.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=farmhack.org&sz=64"/><div class="attr-card__name">FarmHack</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4530<article class="attr-card"><a class="attr-card__link" href="https://www.stonyfield.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=stonyfield.com&sz=64"/><div class="attr-card__name">Stonyfield</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4531<article class="attr-card"><a class="attr-card__link" href="https://www.ars.usda.gov/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=ars.usda.gov&sz=64"/><div class="attr-card__name">USDA-ARS</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4532<article class="attr-card"><a class="attr-card__link" href="https://msu.edu/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=msu.edu&sz=64"/><div class="attr-card__name">Michigan State University</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4533<article class="attr-card"><a class="attr-card__link" href="https://www.generalmills.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=generalmills.com&sz=64"/><div class="attr-card__name">General Mills</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4534<article class="attr-card"><a class="attr-card__link" href="https://pasafarming.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=pasafarming.org&sz=64"/><div class="attr-card__name">PASA</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4535<article class="attr-card"><a class="attr-card__link" href="https://goatech.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2040%2040'%3E%20%3Crect%20width='40'%20height='40'%20rx='8'%20fill='%23fef3c7'/%3E%20%3Cg%20stroke='%2392400e'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%20fill='none'%3E%20%20%20%3Cpath%20d='M14%2010%20C10%2010%208%2013%208%2017%20C8%2022%2012%2025%2016%2026%20L16%2030%20L24%2030%20L24%2026%20C28%2025%2032%2022%2032%2017%20C32%2013%2030%2010%2026%2010'/%3E%20%20%20%3Cpath%20d='M14%2010%20L11%207%20M26%2010%20L29%207'/%3E%20%20%20%3Cellipse%20cx='20'%20cy='17'%20rx='6'%20ry='5'/%3E%20%20%20%3Ccircle%20cx='17.5'%20cy='16'%20r='1'%20fill='%2392400e'/%3E%20%20%20%3Ccircle%20cx='22.5'%20cy='16'%20r='1'%20fill='%2392400e'/%3E%20%20%20%3Cpath%20d='M18%2020%20Q20%2021.5%2022%2020'/%3E%20%3C/g%3E%20%3C/svg%3E"/><div class="attr-card__name">
4535GOAT</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4536<article class="attr-card"><a class="attr-card__link" href="https://farmos.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=farmos.org&sz=64"/><div class="attr-card__name">farmOS</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4537<article class="attr-card"><a class="attr-card__link" href="https://caneyforkfarmtn.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=caneyforkfarmtn.com&sz=64"/><div class="attr-card__name">Caney Fork Farms</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4538<article class="attr-card"><a class="attr-card__link" href="https://paicinesranch.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=paicinesranch.com&sz=64"/><div class="attr-card__name">Paicines Ranch</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4539<article class="attr-card"><a class="attr-card__link" href="https://pointblue.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=pointblue.org&sz=64"/><div class="attr-card__name">Point Blue Conservation</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4540<article class="attr-card"><a class="attr-card__link" href="https://www.icfoods.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.icfoods.com&sz=64"/><div class="attr-card__name">IC Foods</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4541<article class="attr-card"><a class="attr-card__link" href="https://www.ubc.ca/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.ubc.ca&sz=64"/><div class="attr-card__name">UBC</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4542<article class="attr-card"><a class="attr-card__link" href="https://foundationfar.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=foundationfar.org&sz=64"/><div class="attr-card__name">FFAR</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4543<article class="attr-card">
4543<a class="attr-card__link" href="https://www.terra-genesis.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.terra-genesis.com&sz=64"/><div class="attr-card__name">Terra Genesis</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4544<article class="attr-card"><a class="attr-card__link" href="https://www.regen.network/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.regen.network&sz=64"/><div class="attr-card__name">Regen Network</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4545<article class="attr-card"><a class="attr-card__link" href="https://regenfoundation.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=regenfoundation.org&sz=64"/><div class="attr-card__name">Regen Foundation</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4546<article class="attr-card"><a class="attr-card__link" href="https://quiviracoalition.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=quiviracoalition.org&sz=64"/><div class="attr-card__name">Quivira Coalition</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4547<article class="attr-card"><a class="attr-card__link" href="https://regenscore.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=regenscore.com&sz=64"/><div class="attr-card__name">Regen Score</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4548<article class="attr-card"><a class="attr-card__link" href="https://terraethics.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=terraethics.com&sz=64"/><div class="attr-card__name">Terra Ethics</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4549<article class="attr-card"><a class="attr-card__link" href="https://www.terren.co/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.terren.co&sz=64"/><div class="attr-card__name">Terren Collective</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4550<article class="attr-card"><a class="attr-card__link" href="https://www.zerofoodprint.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.zerofoodprint.org&sz=64"/><div class="attr-card__name">Zero Foodprint</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4551<article class="attr-card"><a class="attr-card__link" href="https://openfoodnetwork.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=openfoodnetwork.org&sz=64"/><div class="attr-card__name">Open Food Network</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4552<article class="attr-card"><a class="attr-card__link" href="https://ctic.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=ctic.org&sz=64"/><div class="attr-card__name">CTIC</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4553<article class="attr-card"><a class="attr-card__link" href="https://engineering.purdue.edu/OATSCenter" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=engineering.purdue.edu&sz=64"/><div class="attr-card__name">Purdue OATS Center</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4554<article class="attr-card"><a class="attr-card__link" href="https://aginformaticslab.org/" rel="noopener" target="_blank">
4554<img alt="Ag Informatics Lab" class="attr-card__logo" loading="lazy" src="assets/axilab-logo.png" style="object-fit:contain;background:#000;border-radius:4px;padding:2px;"/><div class="attr-card__name">Purdue Ag Informatics Lab</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4555<article class="attr-card"><a class="attr-card__link" href="https://startinblox.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=startinblox.com&sz=64"/><div class="attr-card__name">Startin'blox</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4556<article class="attr-card"><a class="attr-card__link" href="https://www.gia-agroecology.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.gia-agroecology.org&sz=64"/><div class="attr-card__name">GIAA</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4557<article class="attr-card"><a class="attr-card__link" href="https://prolinnova.net/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=prolinnova.net&sz=64"/><div class="attr-card__name">Prolinnova</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4558<article class="attr-card"><a class="attr-card__link" href="https://metagov.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=metagov.org&sz=64"/><div class="attr-card__name">Metagov</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4559<article class="attr-card"><a class="attr-card__link" href="https://www.block.science/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=www.block.science&sz=64"/><div class="attr-card__name">Block Science</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4560<article class="attr-card"><a class="attr-card__link" href="https://regenfarmers.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=regenfarmers.org&sz=64"/><div class="attr-card__name">Regen Farmers Mutual</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4561<article class="attr-card"><a class="attr-card__link" href="https://whitebuffalolandtrust.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=whitebuffalolandtrust.org&sz=64"/><div class="attr-card__name">White Buffalo Land Trust</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4562<article class="attr-card"><a class="attr-card__link" href="http://cometfarm.nrel.colostate.edu/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=colostate.edu&sz=64"/><div class="attr-card__name">COMET-Farm</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4563<article class="attr-card"><a class="attr-card__link" href="https://www.regrow.ag/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=regrow.ag&sz=64"/><div class="attr-card__name">Regrow</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4564<article class="attr-card"><a class="attr-card__link" href="https://www.colorado.edu/silc/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=colorado.edu&sz=64"/><div class="attr-card__name">SILC (CU Boulder)</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4565<article class="attr-card"><a class="attr-card__link" href="https://coolfarmtool.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=coolfarmtool.org&sz=64"/><div class="attr-card__name">Cool Farm Alliance</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4566<article class="attr-card"><a class="attr-card__link" href="https://landpotential.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=landpotential.org&sz=64"/><div class="attr-card__name">LandPKS</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4567<article class="attr-card">
4567<a class="attr-card__link" href="https://www.our-sci.net/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=our-sci.net&sz=64"/><div class="attr-card__name">Our Sci</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4568<article class="attr-card"><a class="attr-card__link" href="https://nori.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=nori.com&sz=64"/><div class="attr-card__name">Nori</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4569<article class="attr-card"><a class="attr-card__link" href="http://www.foodshot.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=foodshot.org&sz=64"/><div class="attr-card__name">Foodshot Global</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4570<article class="attr-card"><a class="attr-card__link" href="https://www.heartlandstg.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=heartlandstg.org&sz=64"/><div class="attr-card__name">Heartland STG</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4571<article class="attr-card"><a class="attr-card__link" href="https://www.organicvalley.coop/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=organicvalley.coop&sz=64"/><div class="attr-card__name">Organic Valley</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4572<article class="attr-card"><a class="attr-card__link" href="https://pasturemap.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=pasturemap.com&sz=64"/><div class="attr-card__name">PastureMap</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4573<article class="attr-card"><a class="attr-card__link" href="https://madagriculture.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=madagriculture.org&sz=64"/><div class="attr-card__name">Mad Agriculture</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4574<article class="attr-card"><a class="attr-card__link" href="https://litefarm.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=litefarm.org&sz=64"/><div class="attr-card__name">LiteFarm</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4575<article class="attr-card"><a class="attr-card__link" href="https://fieldtomarket.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=fieldtomarket.org&sz=64"/><div class="attr-card__name">Field to Market</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4576<article class="attr-card"><a class="attr-card__link" href="https://www.risd.edu/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=risd.edu&sz=64"/><div class="attr-card__name">RISD</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4577<article class="attr-card"><a class="attr-card__link" href="https://www.open-rivers.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=open-rivers.com&sz=64"/><div class="attr-card__name">Open Rivers</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4578<article class="attr-card"><a class="attr-card__link" href="https://www.digitalgreen.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=digitalgreen.org&sz=64"/><div class="attr-card__name">Digital Green</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4579<article class="attr-card"><a class="attr-card__link" href="https://www.thelexicon.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=thelexicon.org&sz=64"/><div class="attr-card__name">The Lexicon</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4580<article class="attr-card">
4580<a class="attr-card__link" href="https://www.propagateventures.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=propagateventures.com&sz=64"/><div class="attr-card__name">Propagate Ventures</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4581<article class="attr-card"><a class="attr-card__link" href="http://lookin.to/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=lookin.to&sz=64"/><div class="attr-card__name">INTO</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4582<article class="attr-card"><a class="attr-card__link" href="https://www.cibotechnologies.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=cibotechnologies.com&sz=64"/><div class="attr-card__name">CiBO Technologies</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4583<article class="attr-card"><a class="attr-card__link" href="http://www.wearefortheland.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=wearefortheland.org&sz=64"/><div class="attr-card__name">We Are For The Land</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4584<article class="attr-card"><a class="attr-card__link" href="https://carbonalist.com/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=carbonalist.com&sz=64"/><div class="attr-card__name">Carbon A List</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4585<article class="attr-card"><a class="attr-card__link" href="https://www.blackfarmerfund.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=blackfarmerfund.org&sz=64"/><div class="attr-card__name">Black Farmer Fund</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4586<article class="attr-card"><a class="attr-card__link" href="https://nefoclandtrust.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=nefoclandtrust.org&sz=64"/><div class="attr-card__name">NEFOC Land Trust</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4587<article class="attr-card"><a class="attr-card__link" href="https://carcd.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=carcd.org&sz=64"/><div class="attr-card__name">CARCD</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4588<article class="attr-card"><a class="attr-card__link" href="https://planetarycare.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=planetarycare.org&sz=64"/><div class="attr-card__name">Planetary Care</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4589<article class="attr-card"><a class="attr-card__link" href="https://www.bionutrientinstitute.org/" rel="noopener" target="_blank"><img alt="" class="attr-card__logo" loading="lazy" src="https://www.google.com/s2/favicons?domain=bionutrientinstitute.org&sz=64"/><div class="attr-card__name">Bionutrient Institute</div><div aria-hidden="true" class="attr-card__arrow">â</div></a></article> 4590</div> 4591<div aria-hidden="true" class="wg-rail-fade wg-rail-fade--left"></div> 4592<div aria-hidden="true" class="wg-rail-fade wg-rail-fade--right"></div> 4593</div> 4594</div> 4595</div> 4596</div> 4597</div> 4598</div> 4599</div> 4600</div> 4601</div> 4602</section> 4603</main> 4604<footer class="footer" style="padding:18px 0 14px;border-top:2px solid #1e4d2b;"> 4605<div class="container" style="display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;"> 4606<div style="display:flex;align-items:center;gap:12px;flex:0 0 auto;"> 4607 <img alt="OpenTEAM" src="assets/openteam_logo.svg" 4608 style="height:28px;width:auto;max-width:140px;object-fit:contain;display:block;"/> 4609 <div style="font-size:11px;color:var(--muted);line-height:1.5;"> 4610 © <span id="year"></span> Raft Foundation Inc.<br>Built for Sharing 4611 </div> 4612</div> 4613<nav style="display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;"> 4614 <a href="index.html" style="color:var(--muted);text-decoration:none;">Home</a> 4615 <a href="index.html#initiatives" style="color:var(--muted);text-decoration:none;">Our Work</a> 4616 <a href="index.html#pilots" style="color:var(--muted);text-decoration:none;">Projects & Collabathons</a> 4617 <a href="index.html#library" style="color:var(--muted);text-decoration:none;">Celebrating Aligned Work</a> 4618 <a href="index.html#join" style="color:var(--muted);text-decoration:none;">Participate</a> 4619 <a href="index.html#events" style="color:var(--muted);text-decoration:none;">Events Calendar</a> 4620 <a href="canonical-source-texts.html" style="color:var(--muted);text-decoration:none;">Inspirations</a> 4621 <a href="videos.html" style="color:var(--muted);text-decoration:none;">Videos</a> 4622 <a href="licenses.html" style="color:var(--muted);text-decoration:none;">Licenses</a> 4623 <a href="code-of-conduct.html" style="color:var(--muted);text-decoration:none;">Code of Conduct</a> 4624</nav> 4625</div> 4626</footer>
4627<script> 4628(function(){ 4629 const btn = document.getElementById('menuButton'); 4630 const drawer = document.getElementById('drawer'); 4631 const closeBtn = document.getElementById('drawerClose'); 4632 const scrim = document.getElementById('scrim'); 4633 4634 const focusableSelector = 'a[href], button:not([disabled]), [tabindex]:not([tabindex="-1"])'; 4635 let lastFocus = null; 4636 4637 function openDrawer(){ 4638 lastFocus = document.activeElement; 4639 drawer.classList.add('open'); 4640 scrim.classList.add('open'); 4641 drawer.setAttribute('aria-hidden', 'false'); 4642 btn.setAttribute('aria-expanded', 'true'); 4643 4644 const firstLink = drawer.querySelector('.drawer-link'); 4645 if (firstLink) firstLink.focus(); 4646 document.body.style.overflow = 'hidden'; 4647 } 4648 4649 function closeDrawer(){ 4650 drawer.classList.remove('open'); 4651 scrim.classList.remove('open'); 4652 drawer.setAttribute('aria-hidden', 'true'); 4653 btn.setAttribute('aria-expanded', 'false'); 4654 document.body.style.overflow = ''; 4655 4656 if (lastFocus && typeof lastFocus.focus === 'function') lastFocus.focus(); 4657 } 4658 4659 btn.addEventListener('click', () => { 4660 const expanded = btn.getAttribute('aria-expanded') === 'true'; 4661 expanded ? closeDrawer() : openDrawer(); 4662 }); 4663 4664 if (closeBtn) closeBtn.addEventListener('click', closeDrawer); 4665 if (scrim) scrim.addEventListener('click', closeDrawer); 4666 4667 // Close on ESC 4668 document.addEventListener('keydown', (e) => { 4669 if (e.key === 'Escape' && drawer.classList.contains('open')) closeDrawer(); 4670 }); 4671 4672 // Close after clicking a link 4673 drawer.querySelectorAll('a').forEach(a => a.addEventListener('click', closeDrawer)); 4674 4675 // Focus trap 4676 document.addEventListener('keydown', (e) => { 4677 if (!drawer.classList.contains('open')) return; 4678 if (e.key !== 'Tab') return; 4679 4680 const focusables = drawer.querySelectorAll(focusableSelector); 4681 if (!focusables.length) return; 4682 4683 const first = focusables[0]; 4684 const last = focusables[focusables.length - 1]; 4685 4686 if (e.shiftKey && document.activeElement === first) { 4687 e.preventDefault(); 4688 last.focus(); 4689 } else if (!e.shiftKey && document.activeElement === last) { 4690 e.preventDefault(); 4691 first.focus(); 4692 } 4693 }); 4694 4695 // Footer year 4696 const y = document.getElementById('year'); 4697 if (y) y.textContent = String(new Date().getFullYear()); 4698})(); 4699 4700/* ===== Scrolling rails + accordions ===== */ 4701(function(){ 4702 function initRail(opts){ 4703 const rail = document.querySelector(opts.railSel); 4704 const prev = document.querySelector(opts.prevSel); 4705 const next = document.querySelector(opts.nextSel); 4706 if (!rail) return; 4707 4708 function step(){ 4709 const card = rail.querySelector(opts.cardSel); 4710 if (!card) return 260; 4711 const gap = opts.gap ?? 12; 4712 return card.getBoundingClientRect().width + gap; 4713 } 4714 function update(){ 4715 if (!prev || !next) return; 4716 const max = rail.scrollWidth - rail.clientWidth; 4717 const x = rail.scrollLeft; 4718 prev.disabled = x <= 2; 4719 next.disabled = x >= max - 2; 4720 } 4721 function scrollByDir(dir){ 4722 rail.scrollBy({ left: dir * step(), behavior: "smooth" }); 4723 } 4724 4725 if (prev) prev.addEventListener("click", () => scrollByDir(-1)); 4726 if (next) next.addEventListener("click", () => scrollByDir(1)); 4727 4728 rail.addEventListener("scroll", update, { passive: true }); 4729 window.addEventListener("resize", update); 4730 update(); 4731 4732 // Desktop nicety: wheel vertical scroll moves the rail horizontally 4733 rail.addEventListener("wheel", (e) => { 4734 if (!e.shiftKey && Math.abs(e.deltaY) > Math.abs(e.deltaX)) { 4735 rail.scrollLeft += e.deltaY; 4736 e.preventDefault(); 4737 } 4738 }, { passive: false }); 4739 } 4740 4741 // Project cards rail 4742 initRail({ 4743 railSel: "[data-wg-rail]", 4744 prevSel: "[data-wg-scroll='prev']", 4745 nextSel: "[data-wg-scroll='next']", 4746 cardSel: ".wg-project-card", 4747 gap: 12 4748 }); 4749 4750 // Tool/Community/Platform rail 4751 initRail({ 4752 railSel: "[data-tcp-rail]", 4753 prevSel: "[data-tcp-scroll='prev']", 4754 nextSel: "[data-tcp-scroll='next']", 4755 cardSel: ".tcp-card", 4756 gap: 12 4757 }); 4758 4759 // Attribution rail 4760 initRail({ 4761 railSel: "[data-attr-rail]", 4762 prevSel: "[data-attr-scroll='prev']", 4763 nextSel: "[data-attr-scroll='next']", 4764 cardSel: ".attr-card", 4765 gap: 12 4766 }); 4767 4768 // Accordion behavior for project cards: only one <details> open at a time 4769 const detailsEls = Array.from(document.querySelectorAll(".wg-project-card__details"));
4770 detailsEls.forEach((d) => { 4771 d.addEventListener("toggle", () => { 4772 if (!d.open) return; 4773 detailsEls.forEach((other) => { 4774 if (other !== d) other.open = false; 4775 }); 4776 }); 4777 }); 4778 4779 // Registry card accordion â only one open at a time 4780 const regDetails = Array.from(document.querySelectorAll(".reg-card__details")); 4781 regDetails.forEach((d) => { 4782 d.addEventListener("toggle", () => { 4783 if (!d.open) return; 4784 regDetails.forEach((other) => { 4785 if (other !== d) other.open = false; 4786 }); 4787 }); 4788 }); 4789})(); 4790 4791/* ===== Shared Calendar (event cards) ===== */ 4792(function(){ 4793 const rail = document.querySelector('[data-cal-rail]'); 4794 if(!rail) return; 4795 4796 // Enable rail arrows (reuse initRail pattern) 4797 (function initRail(){ 4798 const prev = document.querySelector('[data-cal-scroll="prev"]'); 4799 const next = document.querySelector('[data-cal-scroll="next"]'); 4800 const cardSel = '.wg-project-card'; 4801 const gap = 12; 4802 4803 function step(){ 4804 const card = rail.querySelector(cardSel); 4805 if (!card) return 260; 4806 return card.getBoundingClientRect().width + gap; 4807 } 4808 function update(){ 4809 if(!prev || !next) return; 4810 const max = rail.scrollWidth - rail.clientWidth; 4811 const x = rail.scrollLeft; 4812 prev.disabled = x <= 2; 4813 next.disabled = x >= max - 2; 4814 } 4815 window.__calRailUpdate = update; 4816 function scrollByDir(dir){ 4817 rail.scrollBy({ left: dir * step(), behavior: 'smooth' }); 4818 // refresh after layout settles 4819 window.setTimeout(update, 250); 4820 } 4821 4822 if(prev) prev.addEventListener('click', ()=> scrollByDir(-1)); 4823 if(next) next.addEventListener('click', ()=> scrollByDir(1)); 4824 rail.addEventListener('scroll', update, { passive:true }); 4825 window.addEventListener('resize', update); 4826 update(); 4827 4828 rail.addEventListener('wheel', (e)=>{ 4829 if(!e.shiftKey && Math.abs(e.deltaY) > Math.abs(e.deltaX)){ 4830 rail.scrollLeft += e.deltaY; 4831 e.preventDefault(); 4832 } 4833 }, { passive:false }); 4834 })(); 4835 4836 const sourceChips = document.getElementById('calSourceChips'); 4837 const tagChips = document.getElementById('calTagChips'); 4838 const meta = document.getElementById('calMeta'); 4839 4840 const SOURCE = { 4841 GOAT: { label:'Gathering for Open Ag Technology (GOAT)', shortLabel:'GOAT', 4842 icon:'https://logo.clearbit.com/goatech.org?size=128', 4843 iconFallback:'https://www.google.com/s2/favicons?domain=goatech.org&sz=64', 4844 color:'#fef3c7', textColor:'#92400e' }, 4845 farmOS: { label:'farmOS Community', shortLabel:'farmOS', 4846 icon:'https://logo.clearbit.com/farmos.org?size=128', 4847 iconFallback:'https://www.google.com/s2/favicons?domain=farmos.org&sz=64', 4848 color:'#ecfdf5', textColor:'#065f46' }, 4849 OFC: { label:'Open Future Coalition', shortLabel:'OFC', 4850 icon:'https://logo.clearbit.com/openfuturecoalition.org?size=128', 4851 iconFallback:'https://www.google.com/s2/favicons?domain=openfuturecoalition.org&sz=64', 4852 color:'#fce7f3', textColor:'#9d174d' }, 4853 'UVM-IFA': { label:'UVM Institute for Agroecology Power Up Seminars', shortLabel:'UVM IFA', 4854 icon:'https://logo.clearbit.com/uvm.edu?size=128', 4855 iconFallback:'https://www.google.com/s2/favicons?domain=uvm.edu&sz=64', 4856 color:'#ede9fe', textColor:'#5b21b6' }, 4857 GIAA: { label:'Grassroots Innovations Assembly for Agroecology (GIAA)', shortLabel:'GIAA', 4858 icon:'https://logo.clearbit.com/gia-agroecology.org?size=128', 4859 iconFallback:'https://www.google.com/s2/favicons?domain=gia-agroecology.org&sz=64', 4860 color:'#d1fae5', textColor:'#065f46' }, 4861 AKC: { label:'Ag Knowledge Concordance', shortLabel:'AKC', 4862 icon:'https://logo.clearbit.com/agricultural-knowledge-concordance.github.io?size=128', 4863 iconFallback:'https://www.google.com/s2/favicons?domain=github.com&sz=64', 4864 color:'#dbeafe', textColor:'#1e40af' }, 4865 DWeb: { label:'DWeb / Decentralized Web', shortLabel:'DWeb', 4866 icon:'https://logo.clearbit.com/getdweb.net?size=128', 4867 iconFallback:'https://www.google.com/s2/favicons?domain=getdweb.net&sz=64', 4868 color:'#e0f2fe', textColor:'#0369a1' } 4869 }; 4870 4871 const state = { tag:'', showPast: false }; 4872 let data = []; 4873 4874 function escapeHtml(s){ 4875 return (s ?? '').toString() 4876 .replaceAll('&','&') 4877 .replaceAll('<','<') 4878 .replaceAll('>','>') 4879 .replaceAll('"','"') 4880 .replaceAll("'",'''); 4881 } 4882 4883 function fmtRange(startIso, endIso){ 4884 const start = new Date(startIso); 4885 const end = new Date(endIso || startIso); 4886 if (Number.isNaN(start.getTime())) return ''; 4887 const optsDate = { weekday:'short', month:'short', day:'numeric', year:'numeric' }; 4888 const optsTime = { hour:'2-digit', minute:'2-digit' }; 4889 const sameDay = start.toDateString() === end.toDateString(); 4890 const d = start.toLocaleDateString(undefined, optsDate); 4891 const t1 = start.toLocaleTimeString(undefined, optsTime); 4892 const t2 = endIso ? end.toLocaleTimeString(undefined, optsTime) : ''; 4893 return sameDay ? `${d} ⢠${t1}${t2 ? 'â' + t2 : ''}` : `${d} ⢠${t1} â ${end.toLocaleDateString(undefined, optsDate)} ⢠${t2}`; 4894 } 4895 4896 function monthKey(iso){ 4897 const d = new Date(iso);
4898 return d.toLocaleString(undefined, { month:'short', year:'numeric' }); 4899 } 4900 4901 function makeChip(label, onClick){ 4902 const b = document.createElement('button'); 4903 b.className = 'cal-chip'; 4904 b.type = 'button'; 4905 b.textContent = label; 4906 b.setAttribute('aria-pressed','false'); 4907 b.addEventListener('click', onClick); 4908 return b; 4909 } 4910 4911 function updateChips(){ 4912 document.querySelectorAll('.cal-chip').forEach(ch => { 4913 const txt = ch.textContent || ''; 4914 let pressed = false; 4915 if (txt === 'All tags') pressed = state.tag === ''; 4916 for (const k of Object.keys(SOURCE)){ 4917 } 4918 if (state.tag && txt === state.tag) pressed = true; 4919 ch.setAttribute('aria-pressed', pressed ? 'true' : 'false'); 4920 }); 4921 } 4922 4923 function matches(ev){ 4924 if (state.tag && !(ev.tags || []).includes(state.tag)) return false; 4925 const now = Date.now(); 4926 const end = new Date(ev.end || ev.start).getTime(); 4927 const start = new Date(ev.start).getTime(); 4928 const fourMonths = now + 4 * 30 * 24 * 3600 * 1000; 4929 const isPast = end < now; 4930 if (state.showPast) { 4931 // Past events mode: show only events that are already over 4932 return isPast; 4933 } else { 4934 // Default: upcoming events within 4 months, or happening now 4935 return end >= now && start <= fourMonths; 4936 } 4937 } 4938 4939 function card(ev){ 4940 const src = SOURCE[ev.source] || { label: ev.source || 'Event', shortLabel: ev.source || 'Event', icon:'', color:'#f1efe8', textColor:'#5f5e5a' }; 4941 const tagList = (ev.tags || []).filter(t => t !== ev.source).slice(0,3); 4942 const tagPills = tagList.map(t => `<span class="ec-pill">${escapeHtml(t)}</span>`).join(''); 4943 const startDate = new Date(ev.start); 4944 const endDate = ev.end ? new Date(ev.end) : null; 4945 const isMultiDay = endDate && startDate.toDateString() !== endDate.toDateString(); 4946 const dateFmt = { weekday:'short', month:'short', day:'numeric', year:'numeric' }; 4947 const startStr = Number.isNaN(startDate.getTime()) ? '' : startDate.toLocaleDateString(undefined, dateFmt); 4948 const endStr = isMultiDay ? endDate.toLocaleDateString(undefined, dateFmt) : ''; 4949 const dateStr = isMultiDay ? `${startStr} â ${endStr}` : startStr; 4950 const where = ev.location ? ev.location : ''; 4951 4952 // Thumbnail: use ev.image if present, else a deterministic placeholder tinted by source color 4953 const thumbStyle = ev.image 4954 ? `background-image:url('${escapeHtml(ev.image)}');background-size:cover;background-position:center;` 4955 : `background:${src.color};`; 4956 4957 // Month/day badge from start date 4958 const monthAbbr = Number.isNaN(startDate.getTime()) ? '' : startDate.toLocaleDateString(undefined, {month:'short'}).toUpperCase(); 4959 const dayNum = Number.isNaN(startDate.getTime()) ? '' : startDate.getDate(); 4960 4961 return ` 4962<article class="ec"> 4963 <div class="ec__top"> 4964 <div class="ec__date-col"> 4965 <span class="ec__date-month">${escapeHtml(monthAbbr)}</span> 4966 <span class="ec__date-day">${dayNum}</span> 4967 </div> 4968 <div class="ec__thumb-mid" style="${thumbStyle}"></div> 4969 <div class="ec__logo-col"> 4970 ${src.icon ? `<img class="ec__src-logo-lg" src="${src.icon}" alt="${escapeHtml(src.shortLabel)}" loading="lazy" onerror="this.onerror=null;this.src='${src.iconFallback||''}';"/>` : `<span class="ec__src-pill-sm" style="background:${src.color};color:${src.textColor};">${escapeHtml(src.shortLabel)}</span>`} 4971 </div> 4972 </div> 4973 <div class="ec__body"> 4974 <h4 class="ec__title">${escapeHtml(ev.title || 'Untitled event')}</h4> 4975 <p class="ec__when">${escapeHtml(dateStr)}${where ? ` · ${escapeHtml(where)}` : ''}</p> 4976 ${tagPills ? `<div class="ec__pills">${tagPills}</div>` : ''} 4977 ${ev.url ? `<a class="ec__link-inline" href="${escapeHtml(ev.url)}" target="_blank" rel="noopener">Event page â</a>` : ''} 4978 </div> 4979</article>`; 4980 } 4981 function render(){ 4982 updateChips(); 4983 4984 const list = data.filter(matches).sort((a,b)=> new Date(a.start).getTime() - new Date(b.start).getTime()); 4985 4986 const modeLabel = state.showPast ? 'past events' : 'upcoming events (next 4 months)'; 4987 meta.textContent = `${list.length} ${modeLabel}` + (state.tag ? ` ⢠${state.tag}` : ''); 4988 4989 // For this homepage rail, show the next ~18 events (still scrollable) 4990 const subset = list.slice(0, 18); 4991 rail.innerHTML = subset.map(card).join('') || `<div class="muted" style="padding: 10px 6px;">
4991No upcoming events match your filters.</div>`; 4992 if (window.__calRailUpdate) window.__calRailUpdate(); 4993 4994 // No expand/collapse in new card design 4995 } 4996 4997 function buildFilters(){ 4998 const tags = [...new Set(data.flatMap(e=>e.tags || []))].sort(); 4999 5000 tagChips.innerHTML = ''; 5001 5002 // Past events toggle 5003 const pastBtn = makeChip('Browse past events', ()=>{ 5004 state.showPast = !state.showPast; 5005 state.tag = ''; 5006 buildFilters(); 5007 render(); 5008 }); 5009 pastBtn.style.cssText = 'border:1px dashed #aaa;color:#666;background:transparent;'; 5010 if (state.showPast) { 5011 pastBtn.textContent = 'â Show upcoming events'; 5012 pastBtn.style.cssText = 'background:#374151;color:#fff;border-color:#374151;'; 5013 } 5014 tagChips.appendChild(pastBtn); 5015 5016 if (!state.showPast) { 5017 // Upcoming: source filter chips 5018 const sources = [...new Set(data.filter(e=>!e.past).map(e=>e.source).filter(Boolean))].sort(); 5019 const allBtn = makeChip('All sources', ()=>{ state.tag = ''; render(); }); 5020 tagChips.appendChild(allBtn); 5021 sources.forEach(s => { 5022 const src = SOURCE[s] || { shortLabel: s }; 5023 tagChips.appendChild(makeChip(src.shortLabel, ()=>{ state.tag = (state.tag===s) ? '' : s; render(); })); 5024 }); 5025 } else { 5026 // Past: tag chips 5027 tagChips.appendChild(makeChip('All tags', ()=>{ state.tag = ''; render(); })); 5028 tags.slice(0, 8).forEach(t => { 5029 tagChips.appendChild(makeChip(t, ()=>{ state.tag = (state.tag===t) ? '' : t; render(); })); 5030 }); 5031 } 5032 } 5033 5034 // ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 5035 // HOW TO UPDATE EVENTS 5036 // ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 5037 // Events come from two places that must be kept in sync: 5038 // 5039 // 1. data/events.json â served by GitHub Pages when online 5040 // Edit this file directly, then commit and push. 5041 // The fetch() below will pick up changes on next page load. 5042 // 5043 // 2. const inline below â baked into this HTML for offline/preview use 5044 // After editing events.json, paste the same JSON here. 5045 // Run: python3 -c "import json; print(json.dumps(json.load(open('data/events.json')), separators=(',',':')))" 5046 // and paste the output as the value of `const inline`. 5047 // 5048 // EVENT SOURCES TO CHECK FOR NEW EVENTS: 5049 // GOAT â forum.goatech.org (monthly calls: 2nd Thursday, 1pm PT / 4pm ET) 5050 // GIAA â gia-agroecology.org/events 5051 // AKC â agricultural-knowledge-concordance.github.io 5052 // DWeb â getdweb.net / dwebcamp.org 5053 // OFC â openfuturecoalition.org/events (salon series, check for Salon 3 date) 5054 // farmOS â farmos.org/community/monthly-call/ (2nd Wednesday each month, 2pm ET) 5055 // UVM-IFA â uvm.edu/instituteforagroecology/power-seminars (fall lineup posted ~Aug) 5056 // FarmHack â farmhack.org/calendar (add back to SOURCE if events confirmed) 5057 // 5058 // EVENT SCHEMA: 5059 // id: unique slug source: "GOAT"|"GIAA"|"AKC"|"DWeb" 5060 // start/end: ISO 8601 UTC location: string url: link to event page 5061 // tags: string[] past: true (mark events that have already happened) 5062 // note: optional string explaining confidence level or where to verify 5063 // ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 5064 // Inline events data (works as file:// and when served) 5065 (function loadEvents() { 5066 const inline = [{"id":"goat-monthly-2026-01-12","title":"GOAT Monthly Community Call \u2014 January","start":"2026-01-12T18:00:00Z","end":"2026-01-12T19:30:00Z","location":"Online (Social.coop)","url":"https://forum.goatech.org/t/2026-01-12-goat-monthly-community-call/1994","source":"GOAT","tags":["GOAT","Community call","Online"],"past":true},{"id":"goat-monthly-2026-02-12","title":"GOAT Monthly Community Call \u2014 February","start":"2026-02-12T21:00:00Z","end":"2026-02-12T22:30:00Z","location":"Online (Google Meet)","url":"https://forum.goatech.org/t/2026-02-12-goat-monthly-community-call/2017","source":"GOAT","tags":["GOAT","Community call","Online"],"past":true},{"id":"goat-monthly-2026-03-12","title":"GOAT Monthly Community Call \u2014 March","start":"2026-03-12T20:00:00Z","end":"2026-03-12T21:30:00Z","location":"Online","url":"https://forum.goatech.org/c/community-building/","source":"GOAT","tags":["GOAT","Community call","Online"],"past":true},{"id":"goat-monthly-2026-04-09","title":"GOAT Monthly Community Call \u2014 April","start":"2026-04-09T20:00:00Z","end":"2026-04-09T21:30:00Z","location":"Online","url":"https://forum.goatech.org/c/community-building/","source":"GOAT","tags":["GOAT","Community call","Online"]},{"id":"goat-monthly-2026-05-14","title":"GOAT Monthly Community Call \u2014 May","start":"2026-05-14T20:00:00Z","end":"2026-05-14T21:30:00Z","location":"Online","url":"https://forum.goatech.org/c/community-building/","source":"GOAT","tags":["GOAT","Community call","Online"]},{"id":"goat-monthly-2026-06-11","title":"GOAT Monthly Community Call \u2014 June","start":"2026-06-11T20:00:00Z","end":"2026-06-11T21:30:00Z","location":"Online","url":"https://forum.goatech.org/c/community-building/","source":"GOAT","tags":["GOAT","Community call","Online"]},{"id":"goat-2026-conference","title":"GOAT 2026 Conference \u2014 Date & Location TBD","start":"2026-10-01T00:00:00Z","end":"2026-10-05T23:59:00Z","location":"TBD \u2014 location vote in progress","url":"https://forum.goatech.org/t/goat-2026-conference-location-where-should-we-meet/2020","source":"GOAT","tags":["GOAT","Conference","In-person"]},{"id":"farmos-monthly-2026-02-11","title":"farmOS Monthly Community Call \u2014 February","start":"2026-02-11T19:00:00Z","end":"2026-02-11T20:00:00Z","location":"Online (Jitsi \u2014 farmos.org/community/monthly-call/join)","url":"https://farmos.org/community/monthly-call/","source":"farmOS","tags":["farmOS","Community call","Online"],"past":true},{"id":"farmos-monthly-2026-03-11","title":"farmOS Monthly Community Call \u2014 March (Conservation Planner feedback)","start":"2026-03-11T19:00:00Z","end":"2026-03-11T20:00:00Z","location":"Online (Jitsi)","url":"https://forum.goatech.org/t/farmos-conservation-planner-community-feedback-session/2027","source":"farmOS","tags":["farmOS","Community call","Conservation Planner","Online"],"past":true},{"id":"farmos-monthly-2026-04-08","title":"farmOS Monthly Community Call \u2014 April","start":"2026-04-08T18:00:00Z","end":"2026-04-08T19:00:00Z","location":"Online (Jitsi \u2014 farmos.org/community/monthly-call/join)","url":"https://farmos.org/community/monthly-call/","source":"farmOS","tags":["farmOS","Community call","Online"]},{"id":"farmos-monthly-2026-05-13","title":"farmOS Monthly Community Call \u2014 May","start":"2026-05-13T18:00:00Z","end":"2026-05-13T19:00:00Z","location":"Online (Jitsi \u2014 farmos.org/community/monthly-call/join)","url":"https://farmos.org/community/monthly-call/","source":"farmOS","tags":["farmOS","Community call","Online"]},{"id":"farmos-monthly-2026-06-10","title":"farmOS Monthly Community Call \u2014 June","start":"2026-06-10T18:00:00Z","end":"2026-06-10T19:00:00Z","location":"Online (Jitsi \u2014 farmos.org/community/monthly-call/join)","url":"https://farmos.org/community/monthly-call/","source":"farmOS","tags":["farmOS","Community call","Online"]},{"id":"dweb-camp-2026","title":"DWeb Camp 2026: Root Systems","start":"2026-07-08T00:00:00Z","end":"2026-07-12T23:59:00Z","location":"Alte H\u00f6lle, Germany (1hr SW of Berlin)","url":"https://dwebcamp.org/","source":"DWeb","tags":["DWeb","Camp","Decentralization","In-person","Europe"]},{"id":"ofc-salon-1-2026-01-29","title":"OFC Salon: From Connection to Coordination \u2014 Social Foundations of Collective Action","start":"2026-01-29T17:00:00Z","end":"2026-01-29T19:00:00Z","location":"Online (Virtual)","url":"https://www.openfuturecoalition.org/events","source":"OFC","tags":["OFC","Salon","Collective action","Online"],"past":true},{"id":"ofc-salon-2-2026-03-26","title":"OFC Salon: Beyond Platforms \u2014 Technical Commons for Collective Action","start":"2026-03-26T15:30:00Z","end":"2026-03-26T17:30:00Z","location":"Online (Virtual)","url":"https://www.openfuturecoalition.org/events","source":"OFC","tags":["OFC","Salon","Collective action","Online"],"past":true}
5066,{"id":"ofc-salon-3-tbd","title":"OFC Salon 3: Common Infrastructure for Collective Action (TBD)","start":"2026-05-01T00:00:00Z","end":"2026-05-01T23:59:00Z","location":"Online (Virtual)","url":"https://www.openfuturecoalition.org/events","source":"OFC","tags":["OFC","Salon","Collective action","Online"]},{"id":"akc-land-steward-s1-2026-02-13","title":"AKC: Land Steward & Cultural Data Preservation \u2014 Session 1","start":"2026-02-13T16:00:00Z","end":"2026-02-13T17:30:00Z","location":"Online","url":"https://agricultural-knowledge-concordance.github.io/Ag-Knowledge-Concordance/","source":"AKC","tags":["AKC","Workshop","Online"],"past":true},{"id":"akc-land-steward-s2-2026-02-14","title":"AKC: Land Steward & Cultural Data Preservation \u2014 Session 2","start":"2026-02-14T16:00:00Z","end":"2026-02-14T17:30:00Z","location":"Online","url":"https://agricultural-knowledge-concordance.github.io/Ag-Knowledge-Concordance/","source":"AKC","tags":["AKC","Workshop","Online"],"past":true},{"id":"giaa-digital-sovereignty-s1","title":"GIAA Digital Sovereignty Curriculum \u2014 Session 1","start":"2026-01-21T17:00:00Z","end":"2026-01-21T19:00:00Z","location":"Online \u00b7 Zoom","url":"https://www.gia-agroecology.org/","source":"GIAA","tags":["GIAA","Digital sovereignty","Online"],"past":true},{"id":"giaa-digital-sovereignty-s2","title":"GIAA Digital Sovereignty Curriculum \u2014 Session 2","start":"2026-02-04T17:00:00Z","end":"2026-02-04T19:00:00Z","location":"Online \u00b7 Zoom","url":"https://www.gia-agroecology.org/","source":"GIAA","tags":["GIAA","Digital sovereignty","Online"],"past":true},{"id":"giaa-digital-sovereignty-s3","title":"GIAA Digital Sovereignty Curriculum \u2014 Session 3","start":"2026-03-04T17:00:00Z","end":"2026-03-04T19:00:00Z","location":"Online \u00b7 Zoom","url":"https://www.gia-agroecology.org/","source":"GIAA","tags":["GIAA","Digital sovereignty","Online"],"past":true},{"id":"uvm-powerup-tataridas-2025-04-29","title":"UVM Power Up: Rethinking Weeds \u2014 Agroecological Weed Management (Tataridas)","start":"2025-04-29T19:00:00Z","end":"2025-04-29T20:30:00Z","location":"Online (UVM Institute for Agroecology)","url":"https://www.uvm.edu/instituteforagroecology/power-seminars","source":"UVM-IFA","tags":["UVM","Agroecology","Seminar","Online"],"past":true},{"id":"uvm-powerup-taherzadeh-2025-03-18","title":"UVM Power Up: Social Movement Ecology & UK Agroecology (Taherzadeh)","start":"2025-03-18T21:30:00Z","end":"2025-03-18T23:00:00Z","location":"Stafford 101, UVM Burlington VT + Online","url":"https://www.uvm.edu/instituteforagroecology/power-seminars","source":"UVM-IFA","tags":["UVM","Agroecology","Seminar","Hybrid"],"past":true},{"id":"uvm-powerup-beznerkerr-2025-09-12","title":"UVM Power Up: Agroecological Transformations (Dr. Rachel Bezner Kerr, Cornell)","start":"2025-09-12T19:00:00Z","end":"2025-09-12T20:30:00Z","location":"Online (UVM Institute for Agroecology)","url":"https://www.uvm.edu/instituteforagroecology/power-seminars","source":"UVM-IFA","tags":["UVM","Agroecology","Seminar","Online"],"past":true},{"id":"uvm-powerup-catacora-2026-02-19","title":"UVM Power Up: Agroecology, Human Rights & Healthy Futures (Catacora-Vargas)","start":"2026-02-19T19:00:00Z","end":"2026-02-19T20:30:00Z","location":"Online (UVM Institute for Agroecology)","url":"https://www.uvm.edu/instituteforagroecology/power-seminars","source":"UVM-IFA","tags":["UVM","Agroecology","Seminar","Online","Latin America"],"past":true},{"id":"uvm-powerup-dorncox-2026-03-18","title":"UVM Power Up: Building Commons Infrastructure for Food Sovereignty (Dorn Cox)","start":"2026-03-18T19:00:00Z","end":"2026-03-18T20:30:00Z","location":"Online (UVM Institute for Agroecology)","url":"https://www.uvm.edu/instituteforagroecology/power-seminars","source":"UVM-IFA","tags":["UVM","Agroecology","Seminar","Online","OpenTEAM","Knowledge commons"],"past":true},{"id":"uvm-powerup-fall2026","title":"UVM Power Up Seminar Series \u2014 Fall 2026 (lineup TBD)","start":"2026-09-01T00:00:00Z","end":"2026-09-01T23:59:00Z","location":"Online (UVM Institute for Agroecology)","url":"https://www.uvm.edu/instituteforagroecology/power-seminars","source":"UVM-IFA","tags":["UVM","Agroecology","Seminar","Online"]}]; 5067 data = Array.isArray(inline) ? inline : (inline.items || []); 5068 buildFilters(); 5069 render(); 5070 // Also try fetching fresh data â only adds NEW events, never removes inline ones 5071 // To update events: edit data/events.json in the repo AND update const inline above. 5072 if (typeof fetch !== 'undefined') { 5073 fetch('data/events.json') 5074 .then(function(r) { return r.ok ? r.json() : null; }) 5075 .then(function(fresh) { 5076 if (!fresh) return; 5077 var freshArr = Array.isArray(fresh) ? fresh : (fresh.items || []); 5078 // Only add events from server that aren't already in inline data (dedup by id) 5079 // Never remove inline events â inline is the authoritative baseline 5080 var existingIds = new Set(data.map(function(e){ return e.id; })); 5081 var added = 0; 5082 freshArr.forEach(function(e){ 5083 if (!existingIds.has(e.id)) { data.push(e); added++; } 5084 }); 5085 if (added > 0) { buildFilters(); render(); } 5086 }) 5087 .catch(function() { /* silently use inline data */ }); 5088 } 5089 })(); 5090})(); 5091 5092</script>
vendor: 1 bytes, line 5092
5092
5093<script> 5094(function(){ 5095 // Toggle "more" on library cards 5096 document.addEventListener("click", function(e){ 5097 var btn = e.target.closest("button[data-action='toggle']"); 5098 if(btn){ 5099 var card = btn.closest(".scard"); 5100 if(!card) return; 5101 var detail = card.querySelector(".detail"); 5102 if(!detail) return; 5103 var open = detail.classList.toggle("open"); 5104 detail.setAttribute("aria-hidden", open ? "false" : "true"); 5105 btn.textContent = open ? "less" : "more"; 5106 } 5107 var arrow = e.target.closest("button.rail-arrow-end"); 5108 if(arrow){ 5109 var railId = arrow.getAttribute("data-rail"); 5110 var dir = parseInt(arrow.getAttribute("data-dir")||"1",10); 5111 var rail = document.getElementById(railId); 5112 if(!rail) return; 5113 var step = Math.max(320, Math.floor(rail.clientWidth * 0.85)); 5114 rail.scrollBy({ left: dir * step, top: 0, behavior: "smooth" }); 5115 } 5116 }); 5117})(); 5118</script>
vendor: 1 bytes, line 5118
5118
5119<script> 5120(function(){ 5121 /* Wire the event-calendar rail scroll arrows (scope="calendar") */ 5122 function wireCalendarRail(){ 5123 document.querySelectorAll('.rail-wrap .rail[data-scope="calendar"]').forEach(function(rail){ 5124 var w = rail.parentElement; 5125 var left = w.querySelector('.rail-arrow--left'); 5126 var right = w.querySelector('.rail-arrow--right'); 5127 var step = function(){ return Math.max(280, Math.floor(rail.clientWidth * 0.85)); }; 5128 if(left) left.addEventListener('click', function(){ rail.scrollBy({left:-step(), behavior:'smooth'}); }); 5129 if(right) right.addEventListener('click', function(){ rail.scrollBy({left: step(), behavior:'smooth'}); }); 5130 function update(){ 5131 var max = rail.scrollWidth - rail.clientWidth - 2; 5132 if(left) left.disabled = rail.scrollLeft <= 2; 5133 if(right) right.disabled = rail.scrollLeft >= max; 5134 } 5135 rail.addEventListener('scroll', update, {passive:true}); 5136 window.addEventListener('resize', update); 5137 update(); 5138 }); 5139 } 5140 document.addEventListener('DOMContentLoaded', wireCalendarRail); 5141})(); 5142</script>
5142 5143<!-- ââââ INDEX PAGE PROJECT DETAIL DRAWER ââââ --> 5144<div id="idxOverlay" onclick="idxCloseDrawer()"></div> 5145<div id="idxDrawer"> 5146 <div class="dr-head"> 5147 <div class="dr-top"> 5148 <button class="dr-close" onclick="idxCloseDrawer()"> 5149 <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"><line x1="3" y1="3" x2="13" y2="13"/><line x1="13" y1="3" x2="3" y2="13"/></svg> 5150 </button> 5151 </div> 5152 <div class="dr-band" id="idxDrBand"> 5153 <div class="dr-icon" id="idxDrIcon"></div> 5154 <div> 5155 <div class="dr-t" id="idxDrTitle"></div> 5156 <div class="dr-sub" id="idxDrSub"></div> 5157 </div> 5158 </div> 5159 <div class="dr-tabs"> 5160 <button class="dtab-idx on" data-dt="about">About</button> 5161 <button class="dtab-idx" data-dt="resources">Resources & Links</button> 5162 <button class="dtab-idx" data-dt="contribute">Contribute</button> 5163 </div> 5164 </div> 5165 <div class="dpanel-idx on" id="idxDp-about"> 5166 <p class="dr-desc" id="idxDrDesc"></p> 5167 <div id="idxDrScreenWrap" style="display:none;margin:16px 0 8px;"> 5168 <div class="dr-sec">Screenshot</div> 5169 <div style="margin-top:8px;border-radius:10px;overflow:hidden;border:1px solid #ddd;background:#f5f5f5;min-height:80px;display:flex;align-items:center;justify-content:center;"> 5170 <img id="idxDrScreen" src="" alt="Tool screenshot" 5171 style="width:100%;display:block;border-radius:0;min-height:120px;" 5172 onload="this.style.opacity=1;document.getElementById('idxScreenFallback').style.display='none';" 5173 onerror="this.style.display='none';document.getElementById('idxScreenFallback').style.display='flex';document.getElementById('idxDrScreenNote').textContent=''"/> 5174 <div id="idxScreenFallback" style="display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:110px;background:#f7f3ec;border-radius:6px;padding:20px;"> 5175 <svg width="28" height="28" viewBox="0 0 28 28" fill="none" stroke="#9c9485" stroke-width="1.6" stroke-linecap="round"><rect x="3" y="5" width="22" height="16" rx="2"/><path d="M10 25h8M14 21v4"/><path d="M8 12h12M8 16h7"/></svg> 5176 <a id="idxScreenFallbackLink" href="#" target="_blank" rel="noopener" 5177 style="font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1e4d2b;text-decoration:none;border:1px solid #1e4d2b;padding:5px 12px;border-radius:20px;"> 5178 Visit site â 5179 </a> 5180 <span id="idxScreenFallbackDomain" style="font-family:'IBM Plex Mono',monospace;font-size:9px;color:#9c9485;letter-spacing:.04em;"></span> 5181 </div> 5182 </div> 5183 <p id="idxDrScreenNote" style="font-size:11px;color:#999;margin:5px 0 0;text-align:right;">Live preview via thum.io · requires internet</p> 5184 </div> 5185 <div class="dr-sec">Focus areas</div> 5186 <div class="dr-chips" id="idxDrChips"></div> 5187 <div class="dr-sec">Lead organization & contributors</div> 5188 <div class="dr-info" id="idxDrContrib"></div> 5189 <div class="dr-sec" style="margin-top:18px;">Status & outputs</div> 5190 <div class="dr-info" id="idxDrStatus"></div> 5191 <div class="dr-sec" style="margin-top:22px;">Express gratitude for this work</div> 5192 <div class="grat-row-idx" id="idxGratRow"></div> 5193 </div> 5194 <div class="dpanel-idx" id="idxDp-resources"> 5195 <p style="font-size:13px;color:#6b6760;margin:0 0 14px;line-height:1.5;">Documentation sites, GitLab repos, static sites, and source materials for this project.</p> 5196 <div class="dr-links" id="idxDrLinks"></div> 5197 <div id="idxPdfWrap" style="display:none;"> 5198 <div class="dr-sec" style="margin-top:22px;">Source document preview</div> 5199 <div class="pdf-wrap"> 5200 <div class="pdf-hd"> 5201 <span id="idxPdfLabel">Document</span> 5202 <a id="idxPdfOpen" href="#" target="_blank">Open in new tab â</a> 5203 </div> 5204 <iframe class="pdf-fr" id="idxPdfFrame" title="Document preview"></iframe> 5205 </div> 5206 </div> 5207 </div> 5208 <div class="dpanel-idx" id="idxDp-contribute"> 5209 <div style="margin:0 0 14px;padding:9px 13px;background:rgba(26,79,122,0.08);border:1px solid rgba(26,79,122,0.22);border-radius:8px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;font-weight:600;letter-spacing:.04em;
5209color:#1a4f7a;line-height:1.5;"> 5210 â These contribution forms are not live yet â they are in development and coming soon. 5211</div> 5212<p style="font-size:13px;color:#6b6760;margin:0 0 18px;line-height:1.5;">Add a document, link, or attribution to this project. Contributions are reviewed by the OpenTEAM stewardship team before publication.</p> 5213 <div class="cf"> 5214 <div class="cr"> 5215 <div class="fg"><label>Your name / org</label><input type="text" placeholder="e.g. Jane â Green Hollow Farm"></div> 5216 <div class="fg"><label>Contribution type</label> 5217 <select> 5218 <option value="">â select â</option> 5219 <option>Add a resource link</option> 5220 <option>Submit a document</option> 5221 <option>Add attribution</option> 5222 <option>Propose update</option> 5223 <option>Report an issue</option> 5224 </select> 5225 </div> 5226 </div> 5227 <div class="fg"><label>URL or resource description</label><input type="text" placeholder="https:// or describe your contributionâ¦"></div> 5228 <div class="fg"><label>Attribution & context</label><textarea placeholder="Who created this? What is it for? Any consent or access notesâ¦"></textarea></div> 5229 <button class="sbtn-idx" onclick="idxDoSubmit(event)"> 5230 <svg viewBox="0 0 14 14" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 7h10M8 3l4 4-4 4"/></svg> 5231 Submit Contribution 5232 </button> 5233 <div class="conf-idx" id="idxSubConf">â Contribution received â the stewardship team will review and follow up. Thank you!</div> 5234 </div> 5235 </div> 5236</div> 5237
5238<script> 5239/* ââââââââââââââââââââââââââââââââââââââââââââââââ 5240 INDEX PAGE â Project rail + detail drawer 5241 All IDs/classes prefixed idx* to avoid conflicts 5242ââââââââââââââââââââââââââââââââââââââââââââââââ */ 5243(function() { 5244 5245const PAL = { 5246 'data-trust': {bg:'#1e4d2b', tag:'#d4edda', tagc:'#1e6b3a'}, 5247 'commons': {bg:'#1a4f7a', tag:'#dbeafe', tagc:'#1a4f7a'}, 5248 'sovereignty': {bg:'#7a4520', tag:'#fde8d0', tagc:'#7a4520'}, 5249 'interop': {bg:'#4c1d95', tag:'#ede9fe', tagc:'#4c1d95'}, 5250 'regen-econ': {bg:'#0f766e', tag:'#ccfbf1', tagc:'#0f766e'}, 5251 'infrastructure':{bg:'#374151',tag:'#f3f4f6',tagc:'#374151'}, 5252}; 5253 5254 5255function icon(id,s='white'){ 5256const I={ 5257'fair-tech':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3l2 4.5h5l-4 3 1.5 5L14 13l-4.5 2.5 1.5-5L7 7.5h5z"/><circle cx="14" cy="20.5" r="5"/><path d="M11.5 20.5l2 2 4-3.5"/></svg>`, 5258'ag-data-wallet':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="8" width="22" height="16" rx="2"/><path d="M3 13h22"/><circle cx="19" cy="18" r="2.5"/><path d="M8 5l4 3 4-3"/><path d="M19 18h.01"/></svg>`, 5259'trac':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3l8 3.5v7.5c0 5-3.5 9-8 10.5C9.5 23 6 19 6 14V6.5z"/><path d="M10 14.5l3 3 5.5-5.5"/></svg>`, 5260'pcsc-farmos':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4v9"/><circle cx="14" cy="5" r="2.5"/><path d="M8 8c-4 .5-5 4-5 6a9 9 0 0 0 11 8.7A9 9 0 0 0 25 14c0-2-1-5.5-5-6"/><path d="M6 19c0 2 2.5 4 4.5 4.5"/></svg>`, 5261'glcdi':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 24c2.5-5 6-8 10-8s7.5 3 10 8"/><path d="M14 3v9"/><path d="M9 7c1.5-3 3-4 5-4s3.5 1 5 4"/><path d="M5.5 16c1-2 2.5-3.5 4-3.5M22.5 16c-1-2-2.5-3.5-4-3.5"/></svg>`, 5262'ag-data-use':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M7 3h14l4 4v18H3V3z"/><path d="M17 3v6h8"/><path d="M8 14h12M8 18h9M8 10h6"/></svg>`, 5263'marketplace':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12h20M5 12V5.5h18V12"/><path d="M4 12l2 14h16l2-14"/><path d="M10.5 12v3a2 2 0 0 0 4 0v-3"/></svg>`, 5264'soil-stack':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="22" height="6" rx="1.5"/><rect x="3" y="12" width="22" height="6" rx="1.5"/><rect x="3" y="20" width="22" height="5" rx="1.5"/><circle cx="22" cy="7" r="2" fill="${s}" stroke="none"/><circle cx="22" cy="15" r="2" fill="${s}" stroke="none"/></svg>`, 5265'ubc-gov':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3L3 9.5v3h22v-3z"/><rect x="5" y="12.5" width="4" height="10"/><rect x="12" y="12.5" width="4" height="10"/><rect x="19" y="12.5" width="4" height="10"/><path d="M3 22.5h22"/></svg>`, 5266'convention':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="14" cy="14" r="11"/><path d="M14 3v11l6.5 4"/><path d="M3 14h22M14 3a11 11 0 0 1 0 22M14 3a11 11 0 0 0 0 22"/></svg>`, 5267'equity':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="9" r="4"/><circle cx="19" cy="9" r="4"/><path d="M2 24c0-3 3-5 7-5s7 2 7 5"/><path d="M14 24c0-3 3-5 7-5"/><path d="M9 13v11"/></svg>`, 5268'pods':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><ellipse cx="14" cy="7" rx="10" ry="4"/><path d="M4 7v7c0 2.2 4.5 4 10 4s10-1.8 10-4V7"/><path d="M4 14v7c0 2.2 4.5 4 10 4s10-1.8 10-4v-7"/></svg>`, 5269'hcd':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3.5"/><circle cx="19" cy="8" r="3.5"/><path d="M9 11.5v3a5 5 0 0 0 10 0v-3"/><path d="M14 17.5V26M10 26h8"/></svg>`, 5270'range-c':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 20c3-8 6-12 11-12s8 4 11 12"/><path d="M8 20c1.5-4 3.5-6 6-6s4.5 2 6 6"/><circle cx="14" cy="6" r="3"/><path d="M14 9v3"/></svg>`, 5271'env-claims':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="22" height="20" rx="2"/><path d="M3 10h22"/><path d="M9 4V10M14 4V10M19 4V10"/><path d="M7 15h14M7 19h9"/></svg>`, 5272'ccd':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="3" width="20" height="22" rx="2"/><path d="M4 9h20"/><path d="M9 3v6M14 3v6M19 3v6"/><path d="M8 15h12M8 19h8"/><circle cx="20" cy="20" r="4"/><path d="M18.5 20l1 1 2-2"/></svg>`, 5273'ne-grazing':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 22c0-6 5-10 11-10s11 4 11 10"/><path d="M14 12V5"/><path d="M10 7c1-2 2.5-3 4-3s3 1 4 3"/><path d="M7 22c0-3 3-5 7-5s7 2 7 5"/></svg>`, 5274'participatory-funding':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="14" cy="8" r="4"/><path d="M5 24c0-5 4-9 9-9s9 4 9 9"/><path d="M14 13v5"/><path d="M10 18h8"/><circle cx="8" cy="17" r="2.5"/><circle cx="20" cy="17" r="2.5"/></svg>`, 5275'usda-coop':`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3l9 4v8c0 5-4 9-9 10C9 24 5 20 5 15V7z"/><path d="M9 14l3.5 3.5L19 11"/></svg>`, 5276}; 5277return I[id]||`<svg viewBox="0 0 28 28" fill="none" stroke="${s}" stroke-width="1.8"><circle cx="14" cy="14" r="9"/><path d="M14 9v5l3 3"/></svg>`; 5278} 5279 5280 5281const LI={ 5282 doc:`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 2h8l3 3v9H1V2z"/><path d="M11 2v4h4"/><path d="M4 9h8M4 12h5"/></svg>`, 5283 gitlab:`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 10L8 14 2 10l2-7 1.5 4h5L12 3z"/></svg>`, 5284 git:`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="5" cy="4" r="2"/><circle cx="11" cy="12" r="2"/><circle cx="11" cy="4" r="2"/><path d="M7 4h2M11 6v4"/></svg>`, 5285 globe:`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="8" r="6"/>
5285<path d="M2 8h12M8 2a9 9 0 0 1 0 12M8 2a9 9 0 0 0 0 12"/></svg>`, 5286 tool:`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2a4 4 0 0 0-4 4l-6 6a1.5 1.5 0 0 0 2 2l6-6a4 4 0 0 0 4-4z"/></svg>`, 5287 std:`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M8 2l1.5 3 3.5.5-2.5 2.5.5 3.5L8 10l-3 1.5.5-3.5L3 5.5 6.5 5z"/></svg>`, 5288 part:`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12c0-2 1.5-3 4-3s4 1 4 3"/><circle cx="8" cy="6" r="2.5"/><circle cx="2.5" cy="8" r="1.5"/><circle cx="13.5" cy="8" r="1.5"/></svg>`, 5289}; 5290window._idxLI = LI; 5291 5292 5293const PROJS = [ 5294{id:'fair-tech',cat:'data-trust', 5295 title:'FAIR Tech Registry', 5296 sub:'Collabathon · Documentation', 5297 tags:['FAIR Principles','Registry','Assessment','Open Standards'], 5298 lead:'OpenTEAM Community',lc:'#1e4d2b', 5299 status:'Active · Static site published', 5300 short:'A community-maintained registry applying FAIR principles (Findable, Accessible, Interoperable, Reusable) to agricultural technologies â enabling farmers and advisors to evaluate tools with trust and transparency.', 5301 long:'The FAIR Tech Registry collabathon mapped the agricultural technology landscape against FAIR principles and produced a filterable, community-maintained registry. It includes the Ethical Technology Assessment (ETA) framework, interoperability scoring, and documentation standards. The collabathon output is published as a static site on GitLab and connects to the broader OpenTEAM ethical infrastructure work. Outputs include the ETA rubric now used in tool cards and dataset cards across the ecosystem.', 5302 contrib:'Lead: OpenTEAM Community\n\nContributors: FarmOS · EPIC · Digital Green · LiteFarm · PASA · UBC · Soil & Water Outcomes Fund · Element 84 · Our Sci', 5303 outputs:'Static site published · FAIR Tech Registry Documentation · ETA framework · Collabathon outputs on GitLab', 5304 grat:{'ð± Grateful':12,'â Valuable':8,'ð Used this':5}, 5305 screenshot:'https://image.thum.io/get/width/800/crop/500/https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', 5306 links:[ 5307 {n:'FAIR Tech Registry Documentation', t:'Static Site', u:'https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', i:'doc'}, 5308 {n:'Fair Tech Registry Collabathon', t:'GitLab Repository', u:'https://gitlab.com/OpenTEAMAg', i:'gitlab'}, 5309 {n:'OpenTEAM GitLab Archive', t:'Repository', u:'https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', i:'git'}, 5310 ]}, 5311 5312{id:'ag-data-wallet',cat:'sovereignty', 5313 title:'Ag Data Wallet UI/UX Collabathon', 5314 sub:'Data Sovereignty · UI/UX Design · Producer Control', 5315 tags:['Data Sovereignty','UI/UX Design','Producer Rights','Collabathon','Human-Centered Design'], 5316 lead:'OpenTEAM · Terran Collective · Purdue Axilab · Tech Matters',lc:'#7a4520', 5317 status:'Collabathon complete · Recommendations published', 5318 short:'A year-long UI/UX collabathon investigating the design of a farmer-controlled Agricultural Data Wallet â producing published UI/UX recommendations covering data input, data management, team permissions, and system architecture.', 5319 long:'Our vision for an Agricultural Data Wallet (ADW) is a digital place where farmers, ranchers, and land stewards can store, access and manage their data â controlling whether, and how, others can see it. This control over data availability and terms is a critical aspect of the vision.\n\nOver the course of the last year, ADW conveners from OpenTEAM, Terran Collective, Purdue Axilab, and Tech Matters investigated the concept of an Agricultural Data Wallet with emphasis on human-centered design. This inquiry yielded a set of UI/UX Design Recommendations â covering data input, data management, team permissions, and system architecture considerations â now published on GitLab.\n\nAn Ag Data Wallet would provide complete autonomy over producer data, making it easy to share chosen data with trusted partners. By standardizing data formats and transfer methods, the ADW could reduce producer paperwork, increase the value of collected data, and provide greater data security and peace of mind. The ADW integrates with farmOS, SurveyStack, and other ecosystem tools via OAuth2/OADA, and builds on the Agriculturalists\' Bill of Data Rights.', 5320 contrib:'Lead: OpenTEAM · Terran Collective · Purdue Axilab (Ankita) · Tech Matters\n\nContributors: UBC · farmOS · SurveyStack · Our Sci · EPIC · Digital Green', 5321 outputs:'UI/UX Design Recommendations (GitLab) · ADW collabathon documentation · System architecture recommendations · Collabathon recordings (YouTube)', 5322 grat:{'ð± Grateful':19,'â Valuable':14,'ð Used this':7}, 5323 screenshot:'https://image.thum.io/get/width/800/crop/500/https://
5323openteamag.gitlab.io/agricultural-data-wallet/', 5324 links:[ 5325 {n:'Ag Data Wallet GitLab Site', t:'Primary Resource', u:'https://openteamag.gitlab.io/agricultural-data-wallet/', i:'globe'}, 5326 {n:'UI/UX Design Recommendations', t:'Full Report (GitLab)', u:'https://openteamag.gitlab.io/agricultural-data-wallet/', i:'doc'}, 5327 {n:'Collabathon Recordings on YouTube', t:'Video Series', u:'https://www.youtube.com/@OpenTEAM', i:'globe'}, 5328 {n:'Ag Data Use Documents', t:'Related Framework', u:'https://openteam-agreements.community/', i:'doc'}, 5329 {n:'Agriculturalists\' Bill of Data Rights', t:'Document', u:'https://openteam-agreements.community/billofrights/', i:'doc'}, 5330 ]}, 5331 5332{id:'trac',cat:'data-trust', 5333 title:'TRAC â Tech Registry for Agricultural Conservation', 5334 sub:'USDA Cooperative Agreement · FAIR Tech Registry · October 2024âSeptember 2025', 5335 tags:['FAIR Tech Registry','NRCS Tools','Assessment','Open Standards'], 5336 lead:'OpenTEAM · EcoData · Meridian · USDA NRCS',lc:'#1e4d2b', 5337 status:'Complete · Proof-of-concept delivered', 5338 short:'A functional FAIR Tech Registry proof-of-concept built under a USDA/NRCS cooperative agreement â enabling NRCS staff to discover, evaluate, and compare agricultural technology tools against FAIR (Findable, Accessible, Interoperable, Reusable) principles.', 5339 long:'TRAC (Tech Registry for Agricultural Conservation) is formalized as a USDA/NRCS cooperative agreement (Oct 2024âSep 2025), co-led by OpenTEAM, EcoData, and Meridian. It delivers a functional proof-of-concept FAIR Tech Registry built specifically for NRCS staff use â assessing USDA tools against the standardized FAIR criteria developed in the prior PODS Soil Health cooperative agreement. From the agreement purpose statement: \"This work is a timely contribution to agency-wide efforts towards a Common Conservation Data Management System that fully integrates key NRCS datasets (field records, soil samples, practice implementation costs) and tools to improve program implementation, track outcomes, and enable data-driven decision making.\"\n\nKey deliverables: User Needs Assessment identifying how NRCS staff discover and use tools; a FAIR Implementation Strategy with resources for evaluating tool alignment; and a functional browser-based prototype with interactive dashboard, tool filtering, commenting, and favoriting. The registry reduces duplicative development, strengthens external partnerships, and positions NRCS as a leader in open conservation technology. The FAIR Self-Assessment survey tool enables NRCS partners to self-evaluate their tools before submission.', 5340 contrib:'Lead: OpenTEAM · EcoData (Melanie Kammerer) · Meridian · USDA NRCS\n\nContacts: Melanie Kammerer â [email protected]', 5341 outputs:'User Needs Assessment · FAIR Implementation Strategy · Functional POC browser app (dashboard, filtering, commenting, favorites) · FAIR Self-Assessment survey tool · FAIR criteria framework (Appendix 10 of PODS report)', 5342 grat:{'ð± Grateful':9,'â Valuable':11,'ð Used this':4}, 5343 screenshot:'https://image.thum.io/get/width/800/crop/500/https://trac-prototype.bubbleapps.io/version-test/home/1746823554759x940046122529325000', 5344 links:[ 5345 {n:'TRAC Prototype (Bubble.io)', t:'Live Proof-of-Concept', u:'https://trac-prototype.bubbleapps.io/version-test/home/1746823554759x940046122529325000', i:'globe'}, 5346 {n:'FAIR Self-Assessment Survey', t:'Assessment Tool', u:'https://www.surveystack.io/survey/66f01dfff56bce40fc7a9c78/start', i:'tool'}, 5347 {n:'USDA Cooperative Agreements Folder', t:'GitLab Repository', u:'https://gitlab.com/OpenTEAMAg/usda-cooperative-agreements', i:'gitlab'}, 5348 {n:'OpenTEAM GitLab Archive', t:'Repository', u:'https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', i:'git'}, 5349 ]}, 5350 5351{id:'pcsc-farmos',cat:'interop', 5352 title:'PCSC farmOS Module', 5353 sub:'Interoperability · USDA Cooperative Agreement', 5354 tags:['farmOS','USDA PCSC','Interoperability','Carbon'], 5355 lead:'farmOS · OpenTEAM',lc:'#4c1d95', 5356 status:'Active · Module in production', 5357 short:'A farmOS module developed under USDA Partnerships for Climate-Smart Commodities (PCSC) to standardize soil carbon and practice data collection across participating farms, using Modus-compliant schemas.', 5358 long:'Developed through the USDA Cooperative Agreements (Modus and CCD) working group, the PCSC farmOS module extends farmOS with standardized data entry forms, Modus-compliant soil data export, and integration with the Conservation Cost Database. The module enables participating farms to contribute verified practice and outcomes data to USDA PCSC reporting pipelines while maintaining local data sovereignty. Connects directly to the PODS (Producer Operational Data System) architecture.', 5359 contrib:'Lead: farmOS (Paul Weidner) · OpenTEAM\n\nContributors: USDA NRCS · Soil & Water Outcomes Fund · ESMC · Element 84', 5360 outputs:'farmOS module released · Modus schema extensions · USDA PCSC data pipeline integration · USDA Cooperative Agreements folder (GitLab)', 5361 grat:{'ð± Grateful':22,'â Valuable':18,'ð Used this':11}, 5362 screenshot:'https://image.thum.io/get/width/800/crop/500/https://farmos.org', 5363 links:[ 5364 {n:'farmOS', t:'Tool', u:'https://farmos.org', i:'tool'},
5365 {n:'USDA Cooperative Agreements (Modus & CCD)', t:'GitLab Folder', u:'https://gitlab.com/OpenTEAMAg', i:'gitlab'}, 5366 {n:'Modus / AgGateway Standard', t:'Standard', u:'https://aggateway.org', i:'std'}, 5367 {n:'OpenTEAM GitLab Archive', t:'Repository', u:'https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', i:'git'}, 5368 ]}, 5369 5370{id:'glcdi',cat:'regen-econ', 5371 title:'GLCDI', 5372 sub:'Grazing Lands Carbon Data Initiative · Documentation', 5373 tags:['Grazing Lands','Soil Carbon','Data Standards','Documentation'], 5374 lead:'OpenTEAM · USDA NRCS',lc:'#0f766e', 5375 status:'Active · Documentation site published', 5376 short:'Standardizing carbon and ecological data collection across grazing land systems â enabling comparable outcomes measurement for regenerative grazing practice transitions at continental scale.', 5377 long:'The Grazing Lands Carbon Data Initiative (GLCDI) builds shared data standards and field protocols for measuring soil carbon, plant diversity, and water dynamics on grazed land. Developed through OpenTEAM collabathons with NRCS, PASA, Point Blue, and Northeast Grazing Network partners. Documentation includes field methods, data dictionaries, Modus schema extensions, and integration with farmOS and SurveyStack field forms.', 5378 contrib:'Lead: OpenTEAM · USDA NRCS\n\nContributors: Point Blue Conservation Science · PASA · Northeast Grazing and Soil Carbon Network · Millpont · Our Sci', 5379 outputs:'GLCDI Documentation site · Field protocols · SurveyStack form templates · Modus schema extensions · Northeast Grazing Network connection', 5380 grat:{'ð± Grateful':17,'â Valuable':13,'ð Used this':9}, 5381 screenshot:'https://image.thum.io/get/width/800/crop/500/https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', 5382 links:[ 5383 {n:'GLCDI Documentation', t:'Static Site', u:'https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', i:'doc'}, 5384 {n:'Northeast Grazing and Soil Carbon Network', t:'Project', u:'https://gitlab.com/OpenTEAMAg', i:'part'}, 5385 {n:'Range C and Crop C', t:'Repository', u:'https://gitlab.com/OpenTEAMAg', i:'git'}, 5386 {n:'Conservation Cost Database (CCD)', t:'Repository', u:'https://gitlab.com/OpenTEAMAg', i:'git'}, 5387 ]}, 5388 5389{id:'ag-data-use',cat:'sovereignty', 5390 title:'Ag Data Use Documents', 5391 sub:'Consent Management · Legal Framework', 5392 tags:['Consent','Legal Framework','Data Rights','Governance'], 5393 lead:'OpenTEAM Tech Working Group',lc:'#7a4520', 5394 status:'Published · Active iteration', 5395 short:'A suite of human-readable, modular consent and data governance documents â Glossary, Oath of Care, Bill of Data Rights, and Hosting Agreement â the foundation for in-app consent management across the ecosystem.', 5396 long:'These four documents â developed by 30+ organizations â establish the shared language and legal foundation for OpenTEAM\'s consent management system. The ultimate goal is icon-based, in-app, conditional data use agreements that keep producers in control. The suite is versioned and publicly iterated at openteam-agreements.community. Each document is linked to icons and definitions from the Ag Data Glossary.', 5397 contrib:'Lead: OpenTEAM Tech Working Group\n\nContributors: Digital Green · IC-Foods · FarmOS · EPIC · Millpont · Terra Genesis · We Are For The Land Foundation · Soil & Water Outcomes Fund · Cool Farm Alliance · LandPKS · Open Rivers · LiteFarm · Open Food Network · Field to Market · Tech Matters · CFA · PASA · UBC · Point Blue · USDA-ARS · Terran Collective · ESMC · Our Sci · ReGrow · Element 84', 5398 outputs:'Ag Data Glossary · Data Fiduciary Oath of Care · Agriculturalists\' Bill of Data Rights · Data Hosting & Storage Agreement · openteam-agreements.community site', 5399 grat:{'ð± Grateful':31,'â Valuable':27,'ð Used this':16}, 5400 screenshot:'https://image.thum.io/get/width/800/crop/500/https://openteam-agreements.community/', 5401 links:[ 5402 {n:'Agricultural Data Use Documents', t:'Static Site', u:'https://openteam-agreements.community/', i:'globe'}, 5403 {n:'Agriculturalists\' Bill of Data Rights', t:'Document', u:'https://openteam-agreements.community/billofrights/', i:'doc'}, 5404 {n:'Data Fiduciary Oath of Care', t:'Document', u:'https://openteam-agreements.community/oathofcare/', i:'doc'}, 5405 {n:'Data Hosting & Storage Agreement', t:'Document', u:'https://openteam-agreements.community/hostingandstorage/', i:'doc'}, 5406 {n:'Ag Data Glossary', t:'Reference Site', u:'https://openteam-agreements.community/TermsandDefinitions/', i:'doc'}, 5407 ]}, 5408 5409{id:'marketplace',cat:'regen-econ', 5410 title:'Marketplace Working Group', 5411 sub:'Charter · Glossary · Regen Economics',
5412 tags:['Market Infrastructure','Economics','Charter','Governance'], 5413 lead:'OpenTEAM Community',lc:'#0f766e', 5414 status:'Active working group', 5415 short:'Developing shared vocabulary, governance patterns, and open infrastructure for transparent, equitable market mechanisms that support regenerative agriculture transitions without vendor lock-in.', 5416 long:'The Marketplace Working Group is developing a charter and glossary for open, interoperable market infrastructure â covering carbon credits, ecosystem services payments, and producer-direct supply chains. The group works on preventing lock-in, enabling producer sovereignty, and connecting to the Environmental Claims Clearinghouse and Claims Engine project. Connects to PODS (Producer Operational Data System) and RegenScore.', 5417 contrib:'Lead: OpenTEAM Community\n\nContributors: Field to Market · Cool Farm Alliance · ESMC · Millpont · RegenScore · Soil & Water Outcomes Fund', 5418 outputs:'Charter document · Glossary · Environmental Claims Clearinghouse framework · Claims Engine spec · Connection to PODS', 5419 grat:{'ð± Grateful':8,'â Valuable':12,'ð Used this':3}, 5420 screenshot:'https://image.thum.io/get/width/800/crop/500/https://gitlab.com/OpenTEAMAg', 5421 links:[ 5422 {n:'Marketplace WG Charter & Glossary', t:'GitLab', u:'https://gitlab.com/OpenTEAMAg', i:'gitlab'}, 5423 {n:'Environmental Claims Clearinghouse', t:'Repository', u:'https://gitlab.com/OpenTEAMAg', i:'git'}, 5424 {n:'Producer Operational Data System', t:'Connected Project', u:'https://gitlab.com/OpenTEAMAg', i:'git'}, 5425 ]}, 5426 5427{id:'soil-stack',cat:'infrastructure', 5428 title:'Soil Health Tech Stack', 5429 sub:'Infrastructure · Interoperability Architecture', 5430 tags:['Infrastructure','Soil Health','Tech Stack','Modus'], 5431 lead:'OpenTEAM · farmOS · TSIP',lc:'#374151', 5432 status:'Active · Architecture documented', 5433 short:'A reference architecture mapping the complete open-source stack for soil health data â from field observation through analysis pipelines to reporting and market integration.', 5434 long:'The Soil Health Tech Stack project documents the end-to-end open-source infrastructure for soil data: field collection (farmOS, SurveyStack, Field Methods), data standards (Modus/AgGateway, OADA), analysis (TSIP Ensemble Explorer, R/Python), and reporting (Cool Farm Tool, PCSC). Includes the Conservation Cost Database and Producer Operational Data System integration patterns. The Field Methods working group feeds directly into this stack.', 5435 contrib:'Lead: farmOS · OpenTEAM · TSIP\n\nContributors: Our Sci · SurveyStack · Element 84 · USDA-ARS · Soil & Water Outcomes Fund', 5436 outputs:'Architecture diagram · Integration guide · Field Methods working group outputs · Modus schema library', 5437 grat:{'ð± Grateful':14,'â Valuable':11,'ð Used this':8}, 5438 screenshot:'https://image.thum.io/get/width/800/crop/500/https://aggateway.org', 5439 links:[ 5440 {n:'Soil Health Tech Stack', t:'Repository', u:'https://gitlab.com/OpenTEAMAg', i:'git'}, 5441 {n:'Field Methods Working Group', t:'Repository', u:'https://gitlab.com/OpenTEAMAg', i:'git'}, 5442 {n:'Modus / AgGateway', t:'Standard', u:'https://aggateway.org', i:'std'}, 5443 {n:'TSIP Ensemble Explorer', t:'Tool', u:'https://tsip.org/tech', i:'tool'}, 5444 ]}, 5445 5446{id:'ubc-gov',cat:'commons', 5447 title:'UBC Ethical Data Governance', 5448 sub:'Research · Commons & Governance', 5449 tags:['Governance','Ethics','Research','Academic Partnership'], 5450 lead:'University of British Columbia',lc:'#1a4f7a', 5451 status:'Active research collaboration', 5452 short:'University of British Columbia research partnership applying ethical data governance frameworks â polycentric governance, consent architecture, and Indigenous data sovereignty â to the OpenTEAM ecosystem.', 5453 long:'The UBC collaboration brings academic rigor to OpenTEAM\'s governance design. Research covers polycentric data governance (building on Ostrom\'s commons theory), consent-forward architectures, Indigenous data sovereignty (OCAP principles), and trust infrastru
5453cture patterns. Outputs inform the Ag Data Wallet, TRAC credentialing system, and AKC Data & Trust framework. The HCD (Human-Centered Design) Working Group is closely connected to this work.', 5454 contrib:'Lead: University of British Columbia\n\nContributors: OpenTEAM Fellows · IndigiDAO · AKC · Metagov · UBC Research teams', 5455 outputs:'Research papers · Governance templates · TRAC framework integration · AKC Data Trust dimensions', 5456 grat:{'ð± Grateful':10,'â Valuable':15,'ð Used this':4}, 5457 screenshot:'https://image.thum.io/get/width/800/crop/500/https://agricultural-knowledge-concordance.github.io/Ag-Knowledge-Concordance/', 5458 links:[ 5459 {n:'Ag Knowledge Concordance', t:'Partner Project', u:'https://agricultural-knowledge-concordance.github.io/Ag-Knowledge-Concordance/', i:'part'}, 5460 {n:'Metagov / KOI Pond', t:'Partner', u:'https://metagov.org/projects/koi-pond', i:'part'}, 5461 {n:'IndigiDAO', t:'Community Partner', u:'https://indigidao.org', i:'part'}, 5462 ]}, 5463 5464{id:'convention',cat:'commons', 5465 title:'OpenTEAM Convention', 5466 sub:'Commons & Governance · Community Charter', 5467 tags:['Governance','Charter','Commons','Community'], 5468 lead:'OpenTEAM Community',lc:'#1a4f7a', 5469 status:'Draft in community review', 5470 short:'A foundational governance document establishing the principles, decision-making processes, and shared agreements that define how OpenTEAM operates as an open commons and evolving ecosystem.', 5471 long:'The OpenTEAM Convention articulates the governance model for the ecosystem â covering how priorities are set, how working groups form and sunset, how conflicts are resolved, and how resources are stewarded. Draws on Sociocracy 3.0, Elinor Ostrom\'s commons design principles, and the Metagov governance pattern library. Connects to the Code of Conduct and License framework. Designed to grow alongside the community.', 5472 contrib:'Lead: OpenTEAM Community\n\nContributors: Metagov · KOI Pond · UBC · Terran Collective', 5473 outputs:'Convention draft · Governance patterns library · Code of Conduct integration · License framework', 5474 grat:{'ð± Grateful':7,'â Valuable':9,'ð Used this':2}, 5475 screenshot:'https://image.thum.io/get/width/800/crop/500/https://gitlab.com/OpenTEAMAg', 5476 links:[ 5477 {n:'OpenTEAM Convention', t:'GitLab Repository', u:'https://gitlab.com/OpenTEAMAg', i:'gitlab'}, 5478 {n:'Code of Conduct', t:'Document', u:'code-of-conduct.html', i:'doc'}, 5479 {n:'OpenTEAM Licenses', t:'Document', u:'licenses.html', i:'doc'}, 5480 ]}, 5481 5482{id:'equity',cat:'sovereignty', 5483 title:'Equity Working Group', 5484 sub:'Data Sovereignty · Inclusion · Justice', 5485 tags:['Equity','Indigenous Sovereignty','Inclusion','Justice','Ethics'], 5486 lead:'OpenTEAM Staff · Terra Ethics',lc:'#7a4520', 5487 status:'Active working group', 5488 short:'Ensuring OpenTEAM technology, governance, and data practices center equity, Indigenous data sovereignty, and underrepresented farming communities at every stage of development.', 5489 long:'The Equity Working Group reviews OpenTEAM projects and tools for equity implications â ensuring that open technology doesn\'t inadvertently replicate existing power imbalances. Focus areas include Indigenous OCAP principles, FPIC processes for data collection, equitable access to tools, and representation in governance. Connects to the AKC Fellows program and the Ag Data Wallet. Resources, frameworks, and working group outputs are available at the OpenTEAM Equity Resource hub.', 5490 contrib:'Lead: OpenTEAM Staff · Terra Ethics · Open Rivers\n\nContributors: We Are For The Land Foundation · AKC · GIAA · Terran Collective', 5491 outputs:'Equity review framework · FPIC templates · Representation guidelines · Connections to AKC Indigenous sovereignty gate · OpenTEAM Equity Resource hub', 5492 grat:{'ð± Grateful':16,'â Valuable':13,'ð Used this':5}, 5493 screenshot:'https://image.thum.io/get/width/800/crop/500/equity-working-group.html', 5494 links:[ 5495 {n:'Equity WG Resource Page', t:'OpenTEAM Site', u:'equity-working-group.html', i:'globe'}, 5496 {n:'OpenTEAM Equity Resource Hub', t:'External Resource', u:'https://openteam-equity-resource.webflow.io/', i:'doc'}, 5497 {n:'Open Rivers', t:'Community Partner', u:'https://openrivers.org', i:'part'}, 5498 {n:'GIAA Agroecology Network', t:'Partner', u:'https://www.gia-agroecology.org', i:'part'}, 5499 {n:'OpenTEAM GitLab Archive', t:'Repository', u:'https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', i:'git'}, 5500 ]}, 5501
5502{id:'pods',cat:'infrastructure', 5503 title:'PODS â Producer Operational Data System', 5504 sub:'USDA Cooperative Agreement · farmOS · Modus · Common Farm Convention', 5505 tags:['PODS','farmOS','USDA NRCS','Modus','Data Interoperability'], 5506 lead:'OpenTEAM · Purdue Axi Lab · Our Sci · farmOS · USDA NRCS',lc:'#374151', 5507 status:'Complete · Report published 2025', 5508 short:'A USDA/NRCS cooperative agreement advancing the interoperability of PODS â NRCSâs farmOS-based producer data system â through the Common Farm Convention data transfer standard, Modus Lab Method Library, and a comprehensive needs assessment of 19 NRCS stakeholders.', 5509 long:'PODS (Producer Operations Data System) is NRCSâs branded instance of farmOS, developed under a cooperative agreement with OpenTEAM, Purdue Axi Lab, Our Sci, and farmOS. The project pursued two core goals: (1) create data interoperability in the NRCS technology ecosystem by standardizing around farmOSâs generalizable data model, and (2) enhance PODS for soil health and farm management data handling.\n\nKey deliverables:\n⢠The Common Farm Convention and Tools â a data transfer standard for farm management data using farmOSâs data model, enabling producers to \u201ccollect data once, use it many times\u201d while seamlessly sharing data between USDA systems.\n⢠The Modus Lab Method Library â a central repository tracking which soil testing labs use which methods, enabling confident cross-lab soil test result comparison via the industry-backed Modus/AgGateway standard.\n⢠Comprehensive Needs Assessment â interviews with 19 NRCS stakeholders mapping data flows between conservation planning, soil testing, and analysis tools.\n⢠Implementation Guidelines and SOPs â Version 1.0 Standard Operating Procedures for data management, quality control, and cross-team software development practices.\n⢠FAIR Tech Registry Framework â a structured approach for evaluating NRCS tools against FAIR principles (continued as the TRAC cooperative agreement).\n\nPODS 2.0 design elements address shortcomings in the 1.0 implementation: adopting the farmOS standard Modules for software interoperability, using the farmOS standard data model, and annotating soil lab results with Modus lab method IDs for cross-lab comparability. The vision: each producer has their own farmOS system for farm operations, management records, and farm plans â with a PODS module enabling opt-in NRCS data sharing.', 5510 contrib:'Lead: OpenTEAM (Dorn Cox) · Purdue Axi Lab · Our Sci · farmOS · USDA NRCS\n\nPartners: SurveyStack · Element 84', 5511 outputs:'Common Farm Convention and Tools · Modus Lab Method Library · Needs Assessment (19 NRCS stakeholders) · Implementation Guidelines + SOPs v1.0 · FAIR Tech Registry Framework · PODS 2.0 design specifications · Recommendations report 2025', 5512 grat:{'ð± Grateful':11,'â Valuable':10,'ð Used this':6}, 5513 screenshot:'https://image.thum.io/get/width/800/crop/500/https://farmos.org', 5514 links:[ 5515 {n:'USDA Cooperative Agreements Folder', t:'GitLab Repository', u:'https://gitlab.com/OpenTEAMAg/usda-cooperative-agreements', i:'gitlab'}, 5516 {n:'Modus / AgGateway Standard', t:'Standard', u:'https://aggateway.org', i:'std'}, 5517 {n:'farmOS', t:'Tool', u:'https://farmos.org', i:'tool'}, 5518 {n:'OpenTEAM GitLab Archive', t:'Repository', u:'https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', i:'git'}, 5519 ]}, 5520 5521{id:'ccd',cat:'interop', 5522 title:'CCD â Conservation Cost Data System', 5523 sub:'USDA Cooperative Agreement · NRCS · Conservation Practice Costing', 5524 tags:['Conservation Costs','NRCS','Data System','FAIR Principles'], 5525 lead:'OpenTEAM · Purdue Axi Lab · Our Sci · USDA NRCS',lc:'#4c1d95', 5526 status:'Complete · Design report published 2025', 5527 short:'A USDA cooperative agreement designing a standardized system for collecting and managing conservation practice cost data â addressing volatile costs that have caused NRCS payment schedules to diverge from actual regional prices since 2020.', 5528 long:'Since 2020, conservation practice costs have become increasingly volatile, creating significant challenges for NRCS in maintaining accurate payment schedules. Producers in some regions are canceling contracts because payment schedules cover less of the actual cost, while in others, payment rates may exceed actual costs, resulting in overpayments. The CCDS addresses this disconnect.\n\nThe Conservation Cost Data System (CCDS) connects field staff, national and state economists, the Cost Data Team, and producers via a shared cost data service. Key deliverables:\n⢠Needs Assessment â stakeholder interviews with NRCS field staff, economists, and producers identifying pain points in cost data workflows\n⢠CCDS Conceptual Design â a modular architecture from field receipt collection through processing, storage, and reporting, including data flow diagrams\n⢠Data Structures, Conventions & Dictionaries â FAIR-aligned schemas and supporting data dictionary for conservation practice cost data\n⢠AI-powered Receipt Collection Tool â proof-of-concept using AI to extract and categorize line items from producer receipts and invoices, reducing administrative burden on field staff\n⢠CEMA Protocols â Conservation Evaluation and Monitoring Activity scoping standardized cost data collection prior to full system development, including PII handling\n\nThe CCDS integrates with PODS, the Payment Schedules App, and farmers.gov. Using FAIR principles, the system ensures regional conservation cost data can be easily discovered, accessed with appropriate permissions, integrated across platforms, and utilized for payment schedule updates, policy analysis, and producer financial planning.', 5529 contrib:'Lead: OpenTEAM (Dorn Cox) · Purdue Axi Lab · Our Sci · USDA NRCS\n\nPartners: Purdue Agroinformatics Lab', 5530 outputs:'Needs Assessment report · CCDS Conceptual Design with architecture diagrams · FAIR-aligned data schemas and data dictionary · AI Receipt Collection Tool proof-of-concept · CEMA data collection protocols · SOPs for cost data management', 5531 grat:{'ð± Grateful':7,'â Valuable':9,'ð Used this':4}, 5532 screenshot:'https://image.thum.io/get/width/800/crop/500/https://gitlab.com/OpenTEAMAg/us
5532da-cooperative-agreements', 5533 links:[ 5534 {n:'USDA Cooperative Agreements Folder', t:'GitLab Repository', u:'https://gitlab.com/OpenTEAMAg/usda-cooperative-agreements', i:'gitlab'}, 5535 {n:'PCSC farmOS Module', t:'Connected Project', u:'https://farmos.org', i:'tool'}, 5536 {n:'Modus / AgGateway Standard', t:'Standard', u:'https://aggateway.org', i:'std'}, 5537 {n:'OpenTEAM GitLab Archive', t:'Repository', u:'https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', i:'git'}, 5538 ]}, 5539 5540{id:'hcd',cat:'commons', 5541 title:'HCD Working Group', 5542 sub:'Human-Centered Design · Accessibility', 5543 tags:['Design','Accessibility','Farmer UX','Community'], 5544 lead:'OpenTEAM Staff · Purdue Axilab · Ankita',lc:'#1a4f7a', 5545 status:'Previous working group · Not currently active', 5546 short:'Applying human-centered design principles to agricultural technology â ensuring that tools, workflows, and data systems are genuinely usable by and useful for the farmers and land stewards they serve.', 5547 long:'The HCD Working Group brought participatory design practices to OpenTEAM tool evaluation and development. The group focused on accessibility, language equity, and context-appropriate design â particularly for tools used in the field. Key outputs fed into the FAIR Tech Registry ETA rubric, the Ag Data Wallet UI/UX Collabathon, and SurveyStack form design. Connected to UBC Ethical Data Governance research. The working group is not currently active; outputs and documentation are archived on GitLab.', 5548 contrib:'Lead: OpenTEAM Staff · Purdue Axilab (Ankita)\n\nContributors: OpenTEAM Community · UBC · SurveyStack · LiteFarm · Digital Green', 5549 outputs:'HCD working group outputs · Accessibility rubric for ETA · Field UX guidelines · Ag Data Wallet UI/UX recommendations', 5550 grat:{'ð± Grateful':6,'â Valuable':8,'ð Used this':3}, 5551 screenshot:'https://image.thum.io/get/width/800/crop/500/https://gitlab.com/OpenTEAMAg/openteam-hcd', 5552 links:[ 5553 {n:'HCD Working Group â GitLab', t:'Repository', u:'https://gitlab.com/OpenTEAMAg/openteam-hcd', i:'gitlab'}, 5554 {n:'FAIR Tech Registry ETA', t:'Connected Project', u:'https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', i:'doc'}, 5555 ]}, 5556 5557{id:'range-c',cat:'regen-econ', 5558 title:'Range C & Crop C', 5559 sub:'Carbon Quantification · Rangeland & Cropland', 5560 tags:['Carbon','Rangeland','Cropland','Quantification'], 5561 lead:'OpenTEAM · NRCS',lc:'#0f766e', 5562 status:'Active · Data integration ongoing', 5563 short:'Developing harmonized carbon quantification methods and datasets for both rangeland and cropland systems â bridging NRCS practice standards with open, farmer-contributed data.', 5564 long:'Range C and Crop C bridges the rangeland and cropland carbon quantification worlds â developing harmonized methods, shared schemas, and integrated datasets that work with both NRCS practice standards and open, farmer-contributed data. Connects to GLCDI, the Soil Health Tech Stack, PODS, and the USDA Cooperative Agreements. Datasets feed into the AKC Soil Carbon Composite.', 5565 contrib:'Lead: OpenTEAM · USDA NRCS\n\nContributors: Millpont · TSIP · ESMC · Soil & Water Outcomes Fund · Point Blue', 5566 outputs:'Carbon quantification schema · Integration with GLCDI and PODS · Feeding AKC Soil Carbon Composite dataset', 5567 grat:{'ð± Grateful':13,'â Valuable':10,'ð Used this':7}, 5568 screenshot:'https://image.thum.io/get/width/800/crop/500/https://gitlab.com/OpenTEAMAg', 5569 links:[ 5570 {n:'Range C and Crop C', t:'Repository', u:'https://gitlab.com/OpenTEAMAg', i:'git'}, 5571 {n:'GLCDI Documentation', t:'Connected Project', u:'https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', i:'doc'}, 5572 {n:'Conservation Cost Database', t:'Repository', u:'https://gitlab.com/OpenTEAMAg', i:'git'}, 5573 ]}, 5574 5575{id:'env-claims',cat:'regen-econ', 5576 title:'Environmental Claims Clearinghouse', 5577 sub:'Claims Engine · Verification Infrastructure', 5578 tags:['Claims','Verification','Market Integrity','Clearinghouse'], 5579 lead:'OpenTEAM Community',lc:'#0f766e', 5580 status:'Architecture phase', 5581 short:'Open infrastructure for verifying and clearing environmental claims â preventing greenwashing and enabling trustworthy, interoperable carbon and ecosystem service market participation.', 5582 long:'The Environmental Claims Clearinghouse and Claims Engine provides open infrastru
5582cture for verifying agricultural environmental claims before they enter markets. Designed to work with multiple carbon standards and market systems, reducing vendor lock-in and greenwashing risk. Connects to the Marketplace Working Group, PODS, RegenScore, and the Cool Farm Tool integration.', 5583 contrib:'Lead: OpenTEAM Community\n\nContributors: Cool Farm Alliance · ESMC · Field to Market · RegenScore · Millpont', 5584 outputs:'Claims clearinghouse architecture · Claims Engine spec · Market integration patterns', 5585 grat:{'ð± Grateful':5,'â Valuable':9,'ð Used this':2}, 5586 screenshot:'https://image.thum.io/get/width/800/crop/500/https://gitlab.com/OpenTEAMAg', 5587 links:[ 5588 {n:'Environmental Claims Clearinghouse', t:'Repository', u:'https://gitlab.com/OpenTEAMAg', i:'git'}, 5589 {n:'Marketplace Working Group', t:'Connected Project', u:'https://gitlab.com/OpenTEAMAg', i:'gitlab'}, 5590 {n:'RegenScore', t:'Partner Tool', u:'https://www.regenscore.org', i:'tool'}, 5591 ]}, 5592 5593{id:'ne-grazing',cat:'regen-econ', 5594 title:'Northeast Grazing & Soil Carbon Network', 5595 sub:'Regional Network · Data Collection · Farmers', 5596 tags:['Grazing','Northeast','Network','Field Data'], 5597 lead:'PASA · OpenTEAM',lc:'#0f766e', 5598 status:'Active · Data collection ongoing', 5599 short:'A regional farmer network collecting longitudinal soil carbon and grazing practice data across Northeast US farms â producing open datasets and reusable field protocols for the OpenTEAM ecosystem.', 5600 long:'The Northeast Grazing and Soil Carbon Network brings together farmers, extension partners, and researchers across the Northeast to collect longitudinal soil health and grazing practice data. The network uses GLCDI field protocols and SurveyStack forms, with data flowing into farmOS and the AKC Soil Carbon Composite. Farmer-contributed data is governed by the OpenTEAM data agreements framework with full consent management.', 5601 contrib:'Lead: PASA Sustainable Agriculture · OpenTEAM\n\nContributors: Cornell Cooperative Extension · University of Vermont Extension · Point Blue · Millpont', 5602 outputs:'Longitudinal soil carbon dataset · GLCDI field protocol testing · SurveyStack form library · Network reports', 5603 grat:{'ð± Grateful':14,'â Valuable':11,'ð Used this':7}, 5604 screenshot:'https://image.thum.io/get/width/800/crop/500/https://pasafarming.org', 5605 links:[ 5606 {n:'Northeast Grazing and Soil Carbon Network', t:'Project', u:'https://gitlab.com/OpenTEAMAg', i:'part'}, 5607 {n:'PASA Sustainable Agriculture', t:'Lead Organization', u:'https://pasafarming.org', i:'part'}, 5608 {n:'GLCDI Documentation', t:'Connected Project', u:'https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', i:'doc'}, 5609 ]}, 5610 5611{id:'usda-coop',cat:'interop', 5612 title:'USDA Cooperative Agreements', 5613 sub:'Modus · CCD · Federal Partnership', 5614 tags:['USDA','Modus','Federal','Partnership'], 5615 lead:'OpenTEAM · USDA',lc:'#4c1d95', 5616 status:'Active · Agreements in place', 5617 short:'Federal cooperative agreements enabling OpenTEAM to develop Modus-compliant soil data standards and the Conservation Cost Database (CCD) in collaboration with USDA agencies.', 5618 long:'The USDA Cooperative Agreements provide formal partnership structure for OpenTEAM\'s work with USDA-ARS, NRCS, and PCSC programs. Key outputs include Modus schema extensions, the Conservation Cost Database, and the PCSC farmOS module. The agreements folder on GitLab documents the governance and outputs of this federal collaboration. Feeds directly into the Soil Health Tech Stack and PODS architecture.', 5619 contrib:'Lead: OpenTEAM · USDA\n\nContributors: USDA-ARS · USDA NRCS · farmOS · Element 84 · Soil & Water Outcomes Fund', 5620 outputs:'Modus schema extensions · Conservation Cost Database (CCD) · PCSC farmOS module · PODS integration · USDA agreements folder (GitLab)', 5621 grat:{'ð± Grateful':18,'â Valuable':15,'ð Used this':10}, 5622 screenshot:'https://image.thum.io/get/width/800/crop/500/https://gitlab.com/OpenTEAMAg/usda-cooperative-agreements', 5623 links:[ 5624 {n:'USDA Cooperative Agreements Folder', t:'GitLab', u:'https://gitlab.com/OpenTEAMAg', i:'gitlab'}, 5625 {n:'Conservation Cost Database (CCD)', t:'Repository', u:'https://gitlab.com/OpenTEAMAg', i:'git'}, 5626 {n:'PCSC farmOS Module', t:'Connected Project', u:'https://farmos.org', i:'tool'},
5627 {n:'Modus / AgGateway', t:'Standard', u:'https://aggateway.org', i:'std'}, 5628 ]}, 5629 5630{id:'participatory-funding',cat:'commons', 5631 title:'Transformational Finance Co-Design', 5632 sub:'Participatory Funding · Commons Governance · Community Capital', 5633 tags:['Participatory Funding','Commons Governance','Open Finance','Community Capital','Collabathon'], 5634 lead:'OpenTEAM · 11th Hour Project · TIFS',lc:'#1a4f7a', 5635 status:'Active · Prototyping and field testing', 5636 short:'A co-design initiative to build democratic, community-led funding mechanisms for open agricultural innovation â replacing extractive VC and grant-cycle models with participatory decision making processes that keep communities in control.', 5637 long:'Conventional ag tech financing â VC exits, charitable-industrial complex grant cycles, and competitive public funding â creates perverse incentives that pull innovation away from community, environmental, and economic wellbeing. This initiative envisions an alternative: a transparent, democratic funding mechanism that decouples capital from its source and empowers land-based communities, open source utilities, and enterprise-level cooperatives to govern their own resources.\n\nThe co-design process unfolded across three events: DWeb (August 2024) for learning and sensemaking; Pie Ranch, Pescadero CA (October 2024) for governance framework co-design across three domains â agricultural knowledge public goods, land-based communities of practice, and enterprise open software; and GOAT (November 2024) for live testing with an active community allocating a real pool of resources together.\n\nOutputs aim to be fully generalizable: templatized process scaffolding, voting criteria frameworks, role and responsibility definitions, and documented case studies adaptable to any community-led innovation context. Anchored in an \"exit to community\" strategy â governance transfers to the networks and communities closest to the work over time.\n\nThe CGO (Commons Governance and Ownership) Working Group, led by IndigiDAO and New Mexico Community Capital, is a key collaborator developing governance frameworks rooted in Indigenous sovereignty and place-based community finance principles. Float.ag serves as a connected resource and platform for participatory agricultural investment.', 5638 contrib:'Lead: OpenTEAM · 11th Hour Project Ag Tech Program · Transformational Investing in Food Systems (TIFS)\n\nCGO Working Group: IndigiDAO · New Mexico Community Capital\n\nConnected platforms: Float.ag · Metagov · Terran Collective', 5639 outputs:'Process scaffolding and framework templates · Voting criteria and role definitions · Pie Ranch co-design outputs · GOAT live funding pilot · CGO governance framework · Exit-to-community governance model', 5640 grat:{'ð± Grateful':11,'â Valuable':14,'ð Used this':4}, 5641 screenshot:'https://image.thum.io/get/width/800/crop/500/https://float.ag', 5642 links:[ 5643 {n:'Float.ag', t:'Participatory Investment Platform', u:'https://float.ag', i:'globe'}, 5644 {n:'11th Hour Project Ag Tech Program', t:'Partner & Co-Convener', u:'https://www.11thhourproject.org/agriculture', i:'part'}, 5645 {n:'TIFS â Transformational Investing in Food Systems', t:'Partner & Co-Convener', u:'https://transformationalinvesting.com', i:'part'}, 5646 {n:'IndigiDAO â CGO Working Group', t:'Community Governance Partner', u:'https://indigidao.org', i:'part'}, 5647 {n:'New Mexico Community Capital â CGO Working Group', t:'Place-Based Finance Partner', u:'https://nmcommunitycapital.org', i:'part'}, 5648 {n:'OpenTEAM GitLab Archive', t:'Documentation', u:'https://gitlab.com/OpenTEAMAg/open-team-1-0-archive', i:'git'}, 5649 ]} 5650]; 5651 5652 /* ââ gratitude state ââ */ 5653 var idxGratState = {}; 5654 PROJS.forEach(function(p) { idxGratState[p.id] = Object.assign({}, p.grat); }); 5655 5656 /* ââ render the rail ââ */ 5657 function renderRailIdx() { 5658 var r = document.getElementById('pRailIdx'); 5659 if (!r) return; 5660 r.innerHTML = PROJS.map(function(p) { 5661 var c = PAL[p.cat] || {bg:'#374151'}; 5662 var org = p.lead.split('\xb7')[0].trim(); 5663 return '<a class="rc-idx" href="#" data-cat="' + p.cat + '" onclick="idxOpenDrawer(\''+p.id+'\');return false;">' 5664 + '<div class="rc-band-idx" style="background:' + c.bg + ';">' + icon(p.id) + '</div>'
5665 + '<div class="rc-body-idx">' 5666 + '<div class="rc-t-idx">' + p.title.replace(/&/g,'&') + '</div>' 5667 + '<div class="rc-org-idx">' + org + '</div>' 5668 + '</div>' 5669 + '<div class="rc-arr-idx">\u2197</div>' 5670 + '</a>'; 5671 }).join(''); 5672 } 5673 5674 /* ââ filter bar ââ */ 5675 function wireRailFilters() { 5676 var bar = document.getElementById('projFbarIdx'); 5677 if (!bar) return; 5678 bar.addEventListener('click', function(e) { 5679 var btn = e.target.closest('.fb-idx'); 5680 if (!btn) return; 5681 bar.querySelectorAll('.fb-idx').forEach(function(b) { b.classList.remove('on'); }); 5682 btn.classList.add('on'); 5683 var f = btn.getAttribute('data-f'); 5684 document.querySelectorAll('#pRailIdx .rc-idx').forEach(function(card) { 5685 card.classList.toggle('rc-hidden', f !== 'all' && card.getAttribute('data-cat') !== f); 5686 }); 5687 }); 5688 } 5689 5690 /* ââ drawer open / close ââ */ 5691 window.idxOpenDrawer = function(id) { 5692 var p = PROJS.find(function(x){ return x.id === id; }); 5693 if (!p) return; 5694 var c = PAL[p.cat] || {bg:'#374151', tag:'#f3f4f6', tagc:'#374151'}; 5695 5696 document.getElementById('idxDrBand').style.background = c.bg; 5697 document.getElementById('idxDrIcon').innerHTML = icon(p.id); 5698 document.getElementById('idxDrTitle').innerHTML = p.title; 5699 document.getElementById('idxDrSub').textContent = p.sub; 5700 document.getElementById('idxDrDesc').textContent = p.long; 5701 5702 // Set screenshot: use p.screenshot if set, else thum.io preview of first link 5703 var screenWrap = document.getElementById('idxDrScreenWrap'); 5704 var screenImg = document.getElementById('idxDrScreen'); 5705 var screenUrl = p.screenshot || (p.links && p.links[0] ? 'https://image.thum.io/get/width/800/crop/500/' + p.links[0].u : ''); 5706 if (screenUrl && screenWrap && screenImg) { 5707 // Reset state before loading new image 5708 screenImg.style.display = 'block'; 5709 screenImg.style.opacity = '0'; 5710 screenImg.style.transition = 'opacity 300ms'; 5711 var fallback = document.getElementById('idxScreenFallback'); 5712 if (fallback) fallback.style.display = 'none'; 5713 screenImg.src = screenUrl; 5714 screenWrap.style.display = 'block'; 5715 // Set fallback link to first link URL 5716 var firstLink = p.links && p.links[0] ? p.links[0].u : ''; 5717 var fbLink = document.getElementById('idxScreenFallbackLink'); 5718 var fbDomain = document.getElementById('idxScreenFallbackDomain'); 5719 if (fbLink && firstLink) { fbLink.href = firstLink; } 5720 if (fbDomain && firstLink) { fbDomain.textContent = firstLink.replace('https://','').split('/')[0]; } 5721 var noteEl = document.getElementById('idxDrScreenNote'); 5722 if (noteEl) noteEl.textContent = 'Live preview via thum.io · requires internet'; 5723 } else if (screenWrap) { 5724 screenWrap.style.display = 'none'; 5725 } 5726 document.getElementById('idxDrChips').innerHTML = p.tags.map(function(t) { 5727 return '<span class="dchip-idx" style="background:' + c.tag + ';color:' + c.tagc + ';">' + t + '</span>'; 5728 }).join(''); 5729 document.getElementById('idxDrContrib').innerHTML = p.contrib.replace(/\n/g,'<br>'); 5730 document.getElementById('idxDrStatus').innerHTML = 5731 '<strong>Status:</strong> ' + p.status + '<br><br><strong>Outputs:</strong> ' + p.outputs; 5732 5733 idxRenderGrat(id); 5734 5735 document.getElementById('idxDrLinks').innerHTML = p.links.map(function(l) { 5736 var icon_svg = LI[l.i] || LI.doc; 5737 var domain = l.u.replace('https://','').split('/')[0]; 5738 return '<a class="dlink-idx" href="' + l.u + '" target="_blank" rel="noopener">' 5739 + '<div class="dlink-i">' + icon_svg + '</div>' 5740 + '<div style="flex:1;"><div class="dlink-n">' + l.n + '</div><div class="dlink-t">' + l.t + '</div></div>' 5741 + '<span class="dlink-u">' + domain + ' \u2197</span>' 5742 + '</a>'; 5743 }).join(''); 5744 5745 var docLink = p.links.find(function(x){ return x.u.includes('agreements.community'); }); 5746 if (docLink) { 5747 document.getElementById('idxPdfWrap').style.display = 'block'; 5748 document.getElementById('idxPdfLabel').textContent = docLink.n; 5749 document.getElementById('idxPdfOpen').href = docLink.u; 5750 document.getElementById('idxPdfFrame').src = docLink.u; 5751 } else { 5752 document.getElementById('idxPdfWrap').style.display = 'none'; 5753 document.getElementById('idxPdfFrame').src = ''; 5754 } 5755 5756 idxSetDTab('about'); 5757 document.getElementById('idxSubConf').style.display = 'none'; 5758 document.getElementById('idxOverlay').classList.add('on'); 5759 document.getElementById('idxDrawer').classList.add('on'); 5760 document.body.style.overflow = 'hidden'; 5761 }; 5762 5763 window.idxCloseDrawer = function() { 5764 document.getElementById('idxOverlay').classList.remove('on'); 5765 document.getElementById('idxDrawer').classList.remove('on'); 5766 document.body.style.overflow = ''; 5767 }; 5768 5769 /* ââ tabs ââ */ 5770 function idxSetDTab(name) { 5771 document.querySelectorAll('#idxDrawer .dtab-idx').forEach(function(b) { 5772 b.classList.toggle('on', b.getAttribute('data-dt') === name); 5773 });
5774 document.querySelectorAll('#idxDrawer .dpanel-idx').forEach(function(panel) { 5775 panel.classList.toggle('on', panel.id === 'idxDp-' + name); 5776 }); 5777 } 5778 window.idxSetDTab = idxSetDTab; 5779 document.addEventListener('DOMContentLoaded', function() { 5780 document.querySelectorAll('#idxDrawer .dtab-idx').forEach(function(b) { 5781 b.addEventListener('click', function() { idxSetDTab(b.getAttribute('data-dt')); }); 5782 }); 5783 }); 5784 5785 /* ââ gratitude ââ */ 5786 function idxRenderGrat(id) { 5787 var row = document.getElementById('idxGratRow'); 5788 var st = idxGratState[id]; 5789 row.innerHTML = Object.entries(st).map(function(entry, i) { 5790 var lbl = entry[0], cnt = entry[1]; 5791 return '<button class="gbt-idx" data-pid="' + id + '" data-lbl="' + lbl + '" onclick="idxAddGrat(this)">' 5792 + lbl + ' <span class="gcnt-idx" id="idxGc-' + id + '-' + i + '">' + cnt + '</span>' 5793 + '</button>'; 5794 }).join(''); 5795 } 5796 window.idxAddGrat = function(btn) { 5797 if (btn.classList.contains('lit')) return; 5798 btn.classList.add('lit'); 5799 var id = btn.getAttribute('data-pid'); 5800 var lbl = btn.getAttribute('data-lbl'); 5801 idxGratState[id][lbl]++; 5802 var i = Object.keys(idxGratState[id]).indexOf(lbl); 5803 var span = document.getElementById('idxGc-' + id + '-' + i); 5804 if (span) { 5805 span.textContent = idxGratState[id][lbl]; 5806 span.classList.remove('pop'); 5807 void span.offsetWidth; 5808 span.classList.add('pop'); 5809 } 5810 }; 5811 5812 /* ââ contribute submit ââ */ 5813 window.idxDoSubmit = function(e) { 5814 e.preventDefault(); 5815 // Get current project title for the email subject 5816 var title = document.getElementById('idxDrTitle') 5817 ? document.getElementById('idxDrTitle').innerHTML : 'OpenTEAM Project'; 5818 // Collect form fields 5819 var form = e.target.closest('.cf'); 5820 var inputs = form ? form.querySelectorAll('input, select, textarea') : []; 5821 var body = 'Contribution for: ' + title + '\n\n';
5822 var labels = ['Name / Org', 'Contribution type', 'URL or description', 'Attribution & context']; 5823 inputs.forEach(function(el, i) { 5824 body += (labels[i] || el.placeholder || 'Field') + ':\n' + (el.value || '(not filled)') + '\n\n'; 5825 }); 5826 body += '---\nSent from the OpenTEAM Living Archive card form.'; 5827 var mailto = 'mailto:[email protected]' 5828 + '?subject=' + encodeURIComponent('Contribution: ' + title) 5829 + '&body=' + encodeURIComponent(body); 5830 window.open(mailto); 5831 document.getElementById('idxSubConf').style.display = 'block'; 5832 document.getElementById('idxSubConf').textContent = 5833 'â Your email client will open with this contribution pre-filled. Thank you!'; 5834 }; 5835 5836 /* ââ keyboard close ââ */ 5837 document.addEventListener('keydown', function(e) { 5838 if (e.key === 'Escape') idxCloseDrawer(); 5839 }); 5840 5841 /* ââ init ââ */ 5842 function initRail() { 5843 try { 5844 renderRailIdx(); 5845 wireRailFilters(); 5846 } catch(e) { 5847 var errDiv = document.getElementById('pRailIdx'); 5848 if (errDiv) errDiv.innerHTML = '<div style="color:red;padding:8px;font-size:11px;">Error: ' + e.message + '</div>'; 5849 console.error('Rail init error:', e); 5850 } 5851 } 5852 if (document.readyState === 'loading') { 5853 document.addEventListener('DOMContentLoaded', initRail); 5854 } else { 5855 initRail(); 5856 } 5857 5858 5859 5860/* ââââââââââââââââââââââââââââââââââââââââ 5861 REGISTRY TOOL RAIL â data + drawer wiring 5862 Reuses #idxDrawer, #idxOverlay from project rail 5863ââââââââââââââââââââââââââââââââââââââââ */ 5864var REG_PROJS = [ 5865 { 5866 id: 'field-recorder', 5867 cat: 'active', 5868 bg: '#1e4d2b', 5869 title: 'Farm Data Field Recorder', 5870 sub: 'Field Tool · v0.2 · In development', 5871 tags: ['Grazing management', 'Offline-capable', 'farmOS-compatible', 'Field data'], 5872 long: 'Mobile-optimised field data entry for grazing and soil observations. Captures event-based grazing records, paddock observations, and soil notes in a structured format compatible with farmOS and Ag Knowledge Concordance schemas. Designed for use in low-connectivity field conditions.', 5873 contrib: 'Lead: OpenTEAM Community\n\nContributors: Open for community contribution', 5874 status: 'In development · v0.2', 5875 outputs: 'Live prototype at GitHub Pages. Structured field record schema.', 5876 screenshot: 'https://image.thum.io/get/width/800/crop/500/https://dornawcox.github.io/Grazing-/field-recorder-v2.html', 5877 links: [ 5878 {n:'Open tool',t:'Live prototype',u:'https://dornawcox.github.io/Grazing-/field-recorder-v2.html',i:'site'}, 5879 {n:'GitHub repository',t:'Source code',u:'https://github.com/dornawcox/Grazing-',i:'git'} 5880 ], 5881 contribute: 'This tool is open for contributions. Add field types, improve the UX for specific crop systems, or help document the schema.', 5882 contributeLinks: [ 5883 {n:'Suggest improvements on Hylo',u:'https://www.hylo.com/groups/openteam',i:'hylo'}, 5884 {n:'View source on GitHub',u:'https://github.com/dornawcox/Grazing-',i:'git'} 5885 ] 5886 }, 5887 { 5888 id: 'grazing-intake', 5889 cat: 'dev', 5890 bg: '#7a4520', 5891 title: 'Talk to the Farm â Grazing Intake System', 5892 sub: 'Intake System · v0.1 · In development', 5893 tags: ['Oral history', 'Grazing', 'Knowledge capture', 'Farm context'], 5894 long: 'Structured intake form for capturing farm and grazing management context before an interview. Links intake data to the oral history record, making farm knowledge searchable and citable within the AKC ecosystem. Part of the Talk to the Land series.', 5895 contrib: 'Lead: OpenTEAM Community\n\nContributors: Open for community contribution', 5896 status: 'In development · v0.1', 5897 outputs: 'Prototype intake form. Linked to Talk to the Land interview kit.', 5898 screenshot: 'https://image.thum.io/get/width/800/crop/500/https://dornawcox.github.io/Grazing-/tuckaway-intake-filled-v2.html', 5899 links: [ 5900 {n:'Open tool',t:'Live prototype',u:'https://dornawcox.github.io/Grazing-/tuckaway-intake-filled-v2.html',i:'site'} 5901 ], 5902 contribute: 'Help extend intake categories for different farm types â livestock, or
5902chard, row crop, or permaculture systems.', 5903 contributeLinks: [ 5904 {n:'Suggest on Hylo',u:'https://www.hylo.com/groups/openteam',i:'hylo'} 5905 ] 5906 }, 5907 { 5908 id: 'git-registry', 5909 cat: 'active', 5910 bg: '#1a4f7a', 5911 title: 'OpenTEAM Git Registry Management Tool', 5912 sub: 'Registry Tool · v1.0 · Active', 5913 tags: ['FAIR', 'Git-native', 'Open metadata', 'Registry admin'], 5914 long: 'Admin interface for managing and publishing entries in the OpenTEAM commons registry. Structures tool metadata for publication as versioned, machine-readable registry entries. Integrates with GitHub to enable decentralised stewardship â any contributor can propose additions via pull request. Supports FAIR principles: Findable, Accessible, Interoperable, Reusable.', 5915 contrib: 'Lead: OpenTEAM Community\n\nBuilt as part of the FAIR Tech Registry Collabathon', 5916 status: 'Active · v1.0', 5917 outputs: 'Live admin tool. Machine-readable registry schema. GitHub-native publishing workflow.', 5918 screenshot: 'https://image.thum.io/get/width/800/crop/500/https://dornawcox.github.io/Test-37/commons-registry-admin-v2', 5919 links: [ 5920 {n:'Open tool',t:'Live tool',u:'https://dornawcox.github.io/Test-37/commons-registry-admin-v2',i:'site'}, 5921 {n:'Local version',t:'In this site',u:'commons-registry-admin-v2.html',i:'doc'}, 5922 {n:'FAIR Tech Registry Collabathon',t:'Background context',u:'https://dornawcox.github.io/Test-37/',i:'doc'} 5923 ], 5924 contribute: 'Add new registry entries, improve the metadata schema, or help document the FAIR alignment process.', 5925 contributeLinks: [ 5926 {n:'Contribute on Hylo',u:'https://www.hylo.com/groups/openteam',i:'hylo'}, 5927 {n:'Submit via GitHub',u:'https://github.com/dornawcox/Test-37',i:'git'} 5928 ] 5929 }, 5930 { 5931 id: 'eta', 5932 cat: 'active', 5933 bg: '#4c1d95', 5934 title: 'Ethical Technology Assessment (ETA)', 5935 sub: 'Assessment Tool · v2.0 · Active', 5936 tags: ['Data sovereignty', 'Ethics', 'Community co-design', 'Farmer values', 'Assessment'], 5937 long: 'A structured assessment process developed collaboratively by the OpenTEAM community. Guides practitioners through dimensions of technology evaluation including data ownership, accessibility, ecological impact, and community benefit. Includes a glossary of shared terms and a scoring rubric. Designed to be used by farmers, advisors, and technology developers alike.', 5938 contrib: 'Lead: OpenTEAM Community\n\nDeveloped collaboratively through multiple collabathons', 5939 status: 'Active · v2.0', 5940 outputs: 'Interactive assessment tool. ETA glossary. Scoring rubric. Community-maintained term definitions.', 5941 screenshot: 'https://image.thum.io/get/width/800/crop/500/https://dornawcox.github.io/TechassesmentV1/eta_unified.html', 5942 links: [ 5943 {n:'Open ETA tool',t:'Interactive assessment',u:'https://dornawcox.github.io/TechassesmentV1/eta_unified.html#',i:'site'}, 5944 {n:'ETA Glossary',t:'Terms and definitions',u:'eta_glossary.html',i:'doc'}, 5945 {n:'OpenTEAM Glossary',t:'Community vocabulary',u:'openteam_glossary.html',i:'doc'} 5946 ], 5947 contribute: 'Help expand assessment criteria, translate into other languages, or test the framework with specific tools.', 5948 contributeLinks: [ 5949 {n:'Contribute on Hylo',u:'https://www.hylo.com/groups/openteam',i:'hylo'} 5950 ] 5951 }, 5952 { 5953 id: 'usda-fair', 5954 cat: 'active', 5955 bg: '#0f766e', 5956 title: 'OpenTEAM Curated USDA FAIR Tech Registry', 5957 sub: 'Curated Registry · v3.0 · Active', 5958 tags: ['USDA-aligned', 'FAIR principles', 'Policy reference', 'Technology landscape'], 5959 long: 'Maps the landscape of USDA-relevant agricultural technology tools against FAIR data principles. Provides a filterable view of tools by data format, API availability, licensing, and community governance. Intended as a reference for farmers, researchers, and policy makers evaluating technology adoption. Updated through community review.', 5960 contrib: 'Lead: OpenTEAM Community\n\nCurated with input from GOAT, GIAA, and Ag Knowledge Concordance communities', 5961 status: 'Active · v3.0', 5962 outputs: 'Filterable registry of 50+ tools. FAIR alignment scores. Downloadable data.', 5963 screenshot: 'https://image.thum.io/get/width/800/crop/500/https://dornawcox.github.io/USDAFAIRV2/USDAFAIRV3.html', 5964 links: [ 5965 {n:'Open registry',t:'Live tool',u:'https://dornawcox.github.io/USDAFAIRV2/USDAFAIRV3.html',i:'site'} 5966 ], 5967 contribute: 'Nominate tools for inclusion, update FAIR scores, or add governance notes for tools you use.', 5968 contributeLinks: [ 5969 {n:'Nominate on Hylo',u:'https://www.hylo.com/groups/openteam',i:'hylo'} 5970 ] 5971 }, 5972 { 5973 id: 'talk-interviewer', 5974 cat: 'active', 5975 bg: '#374151', 5976 title: 'Talk to the Interviewer â Structured Interview Kit', 5977 sub: 'Interview Kit · v1.0 · Active', 5978 tags: ['Oral history', 'Peer interview', 'Knowledge commons', 'Farmer voice'], 5979 long: 'A structured conversational interview protocol with branching prompts for different farm types and contexts. Outputs a timestamped, tagged transcript suitable for ar
5979chiving in the AKC knowledge commons. Designed for use by peer interviewers with no formal research training. Part of the Talk to the Land oral history series.', 5980 contrib: 'Lead: OpenTEAM Community\n\nInspired by Talk to the City, Conservation District Local Working Groups, and Open Science Hardware collaborative oral history projects', 5981 status: 'Active · v1.0', 5982 outputs: 'Interview kit with branching prompts. Structured transcript format. Integration with AKC.', 5983 screenshot: 'https://image.thum.io/get/width/800/crop/500/https://dornawcox.github.io/TalktotheInterviewer/', 5984 links: [ 5985 {n:'Open tool (GitHub)',t:'Live version',u:'https://dornawcox.github.io/TalktotheInterviewer/',i:'site'}, 5986 {n:'Local version',t:'In this site',u:'talk-to-the-interviewer.html',i:'doc'} 5987 ], 5988 contribute: 'Add interview prompts for specific contexts (new farmer, transitioning, Indigenous land steward), or help document the archiving process.', 5989 contributeLinks: [ 5990 {n:'Contribute on Hylo',u:'https://www.hylo.com/groups/openteam',i:'hylo'}, 5991 {n:'Sign up for Talk to the Land',u:'talk-to-the-interviewer.html',i:'doc'} 5992 ] 5993 }, 5994 { 5995 id: 'social-contracts', 5996 cat: 'active', 5997 bg: '#9d174d', 5998 title: 'Social Contracts & Glossary of Terms', 5999 sub: 'Governance · v1.0 · Active', 6000 tags: ['Governance', 'Community norms', 'Living document', 'Agreements', 'Glossary'], 6001 long: 'A community-maintained glossary and set of social contracts that define how OpenTEAM members relate to each other and to the shared commons. Covers data stewardship commitments, attribution norms, participation expectations, and a living vocabulary for regenerative agricultural technology. Updated through community input and consensus.', 6002 contrib: 'Lead: OpenTEAM Community\n\nMaintained by the OpenTEAM Secretariat with community input', 6003 status: 'Active · v1.0 â living document, updated continuously', 6004 outputs: 'Published social contracts. Shared glossary. Attribution norms. Community agreements.', 6005 screenshot: 'https://image.thum.io/get/width/800/crop/500/https://openteam-agreements.community/', 6006 links: [ 6007 {n:'Open agreements',t:'Live document',u:'https://openteam-agreements.community/',i:'site'}, 6008 {n:'OpenTEAM Glossary',t:'In this site',u:'openteam_glossary.html',i:'doc'}, 6009 {n:'ETA Glossary',t:'Assessment terms',u:'eta_glossary.html',i:'doc'} 6010 ], 6011 contribute: 'Propose new terms, suggest amendments to agreements, or help translate community norms for new members.', 6012 contributeLinks: [ 6013 {n:'Contribute on Hylo',u:'https://www.hylo.com/groups/openteam',i:'hylo'} 6014 ] 6015 } 6016]; 6017 6018/* Registry drawer wiring â reuses the same #idxDrawer, #idxOverlay, idxSetDTab */ 6019window.regOpenDrawer = function(id) { 6020 var p = REG_PROJS.find(function(x){ return x.id === id; }); 6021 if (!p) return; 6022 6023 document.getElementById('idxDrBand').style.background = p.bg; 6024 document.getElementById('idxDrIcon').innerHTML = ''; 6025 document.getElementById('idxDrTitle').innerHTML = p.title; 6026 document.getElementById('idxDrSub').textContent = p.sub; 6027 document.getElementById('idxDrDesc').textContent = p.long; 6028 6029 // Tags 6030 document.getElementById('idxDrChips').innerHTML = p.tags.map(function(t) { 6031 return '<span class="dchip-idx" style="background:#f0f0f0;color:#374151;">' + t + '</span>'; 6032 }).join(''); 6033 6034 document.getElementById('idxDrContrib').innerHTML = p.contrib.replace(/\n/g,'<br>'); 6035 document.getElementById('idxDrStatus').innerHTML = 6036 '<strong>Status:</strong> ' + p.status + '<br><br><strong>Outputs:</strong> ' + p.outputs; 6037 6038 // Screenshot 6039 var screenWrap = document.getElementById('idxDrScreenWrap'); 6040 var screenImg = document.getElementById('idxDrScreen'); 6041 if (p.screenshot) { 6042 screenImg.style.display = 'block'; 6043 screenImg.style.opacity = '0'; 6044 screenImg.style.transition = 'opacity 300ms'; 6045 var regFallback = document.getElementById('idxScreenFallback'); 6046 if (regFallback) regFallback.style.display = 'none'; 6047 screenImg.src = p.screenshot; 6048 screenImg.alt = p.title + ' screenshot'; 6049 screenWrap.style.display = 'block'; 6050 var regFirstLink = p.links && p.links[0] ? p.links[0].u : ''; 6051 var regFbLink = document.getElementById('idxScreenFallbackLink'); 6052 var regFbDomain = document.getElementById('idxScreenFallbackDomain'); 6053 if (regFbLink && regFirstLink) { regFbLink.href = regFirstLink; } 6054 if (regFbDomain && regFirstLink) { regFbDomain.textContent = regFirstLink.replace('https://','').split('/')[0]; } 6055 var noteEl = document.getElementById('idxDrScreenNote'); 6056 if (noteEl) noteEl.textContent = 'Live preview via thum.io · requires internet'; 6057 } else { 6058 screenWrap.style.display = 'none'; 6059 } 6060 6061 // Resources tab 6062 var LI = window._idxLI || {}; 6063 document.getElementById('idxDrLinks').innerHTML = p.links.map(function(l) { 6064 var iconSvg = LI[l.i] || LI['doc'] || ''; 6065 var domain = l.u.replace('https://','').split('/')[0]; 6066 return '<a class="dlink-idx" href="' + l.u + '" target="_blank" rel="noopener">' 6067 + '<div class="dlink-i">' + iconSvg + '</div>' 6068 + '<div style="flex:1;"><div class="dlink-n">' + l.n + '</div><div class="dlink-t">' + l.t + '</div></div>' 6069 + '<span class="dlink-u">' + domain + ' \u2197</span>' 6070 + '</a>'; 6071 }).join(''); 6072 6073 // Contribute tab 6074 var contribPanel = document.getElementById('idxDp-contribute'); 6075 if (contribPanel) { 6076 var cfLinks = p.contributeLinks.map(function(l) { 6077 return '<a class="dlink-idx" href="' + l.u + '" target="_blank" rel="noopener" style="margin-bottom:8px;">' 6078 + '<div class="dlink-i">' + (LI[l.i] || '') + '</div>' 6079 + '<div style="flex:1;"><div class="dlink-n">' + l.n + '</div></div>' 6080 + '<span class="dlink-u">\u2197</span></a>'; 6081 }).join(''); 6082 var contribNote = contribPanel.querySelector('.cf'); 6083 if (!contribNote) { 6084 contribPanel.innerHTML = '<p style="font-size:13px;color:#6b6760;margin:0 0 14px;line-height:1.5;">' 6085 + p.contribute + '</p><div class="dr-links">' + cfLinks + '</div>'; 6086 } else { 6087 contribPanel.querySelector('p') && (contribPanel.querySelector('p').textContent = p.contribute); 6088 } 6089 } 6090 6091 // Gratitude row â hide for registry tools (no gratitude system yet) 6092 var gratRow = document.getElementById('idxGratRow'); 6093 if (gratRow) gratRow.innerHTML = '<p style="font-size:12px;color:#999;margin:0;">Gratitude tracking coming soon for registry tools.</p>'; 6094 6095 // Show drawer 6096 document.getElementById('idxOverlay').classList.add('on'); 6097 document.getElementById('idxDrawer').classList.add('on'); 6098 document.body.style.overflow = 'hidden'; 6099 if (window.idxSetDTab) idxSetDTab('about'); 6100}; 6101 6102/* Registry filter buttons */ 6103document.addEventListener('DOMContentLoaded', function() { 6104 var regFbar = document.getElementById('regFbar'); 6105 var regRail = document.getElementById('regRail'); 6106 if (!regFbar || !regRail) return; 6107 regFbar.addEventListener('click', function(e) { 6108 var btn = e.target.closest('[data-rf]'); 6109 if (!btn) return; 6110 regFbar.querySelectorAll('[data-rf]').forEach(function(b){ b.classList.remove('on'); }); 6111 btn.classList.add('on'); 6112 var filter = btn.getAttribute('data-rf'); 6113 regRail.querySelectorAll('.rc-idx').forEach(function(card) { 6114 var cat = card.getAttribute('data-rcat'); 6115 card.style.display = (filter === 'all' || filter === cat) ? '' : 'none'; 6116 }); 6117 }); 6118}); 6119 6120// Generic rail scroll arrows (data-rail-scroll="railId" data-rail-dir="±1") 6121document.addEventListener('click', function(e) { 6122 var btn = e.target.closest('[data-rail-scroll]'); 6123 if (!btn) return; 6124 var railId = btn.getAttribute('data-rail-scroll'); 6125 var dir = parseInt(btn.getAttribute('data-rail-dir') || '1', 10); 6126 var rail = document.getElementById(railId); 6127 if (!rail) return; 6128 var card = rail.querySelector('.rc-idx, .wg-project-card, .ec'); 6129 var step = card ? card.getBoundingClientRect().width + 12 : 220; 6130 rail.scrollBy({ left: dir * step * 2, behavior: 'smooth' }); 6131}); 6132 6133})(); 6134</script>
6134 6135</body> 6136</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.