:root{color:#202b28;font-synthesis:none;text-rendering:optimizelegibility;--ink:#202b28;--muted:#66716b;--line:#dce2db;--paper:#fff;--green:#2d654b;--accent:#d8eea9;--dark:#14201d;--radius:8px;background:#f7f8f5;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:3px}a:hover{color:var(--green)}button,input,textarea,select{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #7faa51}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:20px;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:660;line-height:1.12}h2{letter-spacing:-.025em;font-size:1.25rem;font-weight:650}h3{font-size:1rem;font-weight:650;line-height:1.4}p{line-height:1.65}button,summary{touch-action:manipulation}svg{display:block}main{min-height:65vh}.container{width:calc(100% - 64px);max-width:1180px;margin:0 auto}.narrow{max-width:760px}.muted,.field-hint{color:var(--muted)}.small-copy{font-size:.8125rem}.preserve-lines{white-space:pre-line}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--dark);color:#fff;padding:12px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line);background:#fffffff2}.header-inner{align-items:center;gap:36px;max-width:1280px;min-height:78px;margin:auto;padding:15px 32px;display:flex}.wordmark{letter-spacing:-.055em;white-space:nowrap;align-items:center;gap:0;font-size:1.35rem;font-weight:760;text-decoration:none;display:inline-flex}.wordmark>span:not(.brand-icon){color:var(--green)}.brand-icon{color:var(--accent);background:var(--dark);letter-spacing:-.06em;border-radius:5px;margin-right:10px;padding:7px 6px;font:700 1rem ui-monospace,monospace}.main-nav{align-items:center;gap:26px;margin-right:auto;font-size:.875rem;font-weight:550;display:flex}.main-nav a,.auth-nav a{text-decoration:none}.main-nav a[aria-current]{color:var(--green)}.auth-nav{align-items:center;gap:20px;font-size:.8rem;display:flex}.button{min-height:43px;color:var(--ink);background:#fff;border:1px solid #ccd5ca;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:600;line-height:1.35;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.button:hover{color:var(--ink);background:#eef2e9;border-color:#a9b9a2}.button.primary{background:var(--dark);border-color:var(--dark);color:#fff}.button.primary:hover{background:#2c4539}.button.small{min-height:36px;padding:7px 12px;font-size:.8125rem}.button.selected{color:#2c573f;background:#e3f0d2;border-color:#acc987}.button.danger{color:#9a352a;border-color:#dec3bf}.button.danger:hover{background:#fcece8}.button-subtle{opacity:.8;font-size:.75rem}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.text-link{font-size:.875rem}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;margin-bottom:18px;font:500 .6875rem ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.home-intro{padding-top:43px;padding-bottom:32px}.home-intro h1{max-width:780px;margin-bottom:12px}.lead{color:#56635b;max-width:730px;font-size:1rem;line-height:1.65}.home-intro .lead{margin-bottom:25px}.search-line{align-items:stretch;gap:10px;display:flex}.search-input{background:#fff;border:1px solid #bac7b8;border-radius:6px;flex:1;align-items:center;gap:12px;min-width:0;padding:0 15px;display:flex}.search-input>span[aria-hidden]{color:var(--muted);font-size:1.5rem}.search-input input{background:0 0;border:0;flex:1;width:100%;min-width:0;padding:15px 0;font-size:.9375rem;outline:none!important}.search-input:focus-within{outline-offset:2px;outline:3px solid #aecb8c}.home-search{max-width:780px}.category-pills{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.category-pills a{border:1px solid var(--line);background:#eef1e9;border-radius:5px;padding:7px 11px;font-size:.75rem;text-decoration:none}.category-pills a:hover{background:#e3eddb;border-color:#9caf91}.section-heading{justify-content:space-between;align-items:center;gap:18px;margin:0 0 14px;display:flex}.section-heading h2{margin:0}.section-heading>a{font-size:.8125rem;text-decoration:none}.directory-section{margin-bottom:35px}.project-list{border-top:1px solid var(--line)}.project-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:16px;padding:22px 2px;display:flex}.project-monogram{color:#35533f;letter-spacing:-.04em;background:#eaf0e2;border:1px solid #d6dfcd;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font:500 .875rem ui-monospace,SFMono-Regular,monospace;display:flex}.project-monogram.large{flex-shrink:0;width:76px;height:76px;font-size:1.5rem}.project-main{flex:1;min-width:0}.project-heading{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:7px;display:flex}.project-heading h3,.project-heading h1{margin:0}.project-heading h3 a{text-decoration:none}.project-heading h3 a:hover{text-decoration:underline}.project-summary{color:#5f6b63;overflow-wrap:anywhere;max-width:810px;margin-bottom:10px;font-size:.875rem;line-height:1.6}.project-meta{color:#707a73;flex-wrap:wrap;align-items:center;gap:7px 14px;font-size:.6875rem;line-height:1.5;display:flex}.project-meta>span+span:before{content:"·";color:#b8c0b5;margin-left:-7px;margin-right:7px}.project-meta .help-label{color:var(--green)}.status,.tag{color:#586750;vertical-align:middle;background:#edf0ea;border:1px solid #dce3d6;border-radius:4px;align-items:center;max-width:100%;padding:3px 7px;font-size:.6875rem;font-weight:550;line-height:1.4;display:inline-flex}.status-active{color:#326a4d;background:#edf6e7;border-color:#d6e7ca}.status-paused,.status-unknown{color:#73664e;background:#f4f0e7;border-color:#e8dfcb}.status-archived{color:#7b7470;background:#eeece9;border-color:#dcd7d2}.project-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-actions.compact{flex-shrink:0;max-width:115px;margin-top:2px}.project-actions.compact .button{background:0 0;min-width:56px;min-height:35px;padding:8px 12px;font:500 .8125rem ui-monospace,monospace}.action-message{width:100%;font-size:.75rem}.home-columns{grid-template-columns:1fr 1fr;gap:38px;display:grid}.home-columns .project-row{gap:12px}.home-columns .project-monogram{display:none}.home-columns .project-summary{font-size:.8125rem}.home-columns .project-meta{font-size:.625rem}.contribution-callout{background:#eef2e5;border:1px solid #dbe3cd;border-radius:8px;justify-content:space-between;align-items:center;gap:30px;margin-top:12px;padding:26px 30px;display:flex}.contribution-callout h2{margin-bottom:8px}.contribution-callout p{color:#617057;max-width:650px;margin:0;font-size:.875rem}.contribution-callout .button{flex-shrink:0}.independence-note{color:var(--muted);padding:22px 0;font-size:.75rem}.page-section{padding-top:40px;padding-bottom:64px}.page-heading{margin-bottom:28px}.page-heading h1{margin-bottom:14px}.page-heading>p{max-width:750px;color:var(--muted);margin:0}.search-panel{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:32px;padding:22px}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.filter-grid:has(>.field:nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}.field{flex-direction:column;gap:7px;min-width:0;margin-bottom:20px;font-size:.8125rem;font-weight:550;display:flex}.field input,.field textarea,.field select{color:var(--ink);background:#fff;border:1px solid #ccd5c6;border-radius:5px;width:100%;min-height:43px;padding:10px 11px;font-weight:400}.field textarea{resize:vertical;line-height:1.6}.field select{padding-right:22px}.field-hint{font-size:.75rem;font-weight:400;line-height:1.5}.filter-grid .field{margin:0}.required-mark{color:#7a472d}.advanced-filters{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.advanced-filters summary{cursor:pointer;color:var(--muted);width:max-content;max-width:100%;font-size:.8125rem}.advanced-content{padding-top:18px}.filter-group{border:0;min-width:0;margin:0 0 22px;padding:0}.filter-group legend{margin-bottom:10px;font-size:.8125rem;font-weight:550}.check-grid{flex-wrap:wrap;gap:12px 24px;display:flex}.check{cursor:pointer;align-items:flex-start;gap:8px;font-size:.8125rem;line-height:1.6;display:flex}.check input{accent-color:var(--green);flex-shrink:0;width:16px;height:16px;margin:3px 0 0}.advanced-content>.check-grid{margin-top:20px}.filter-actions{align-items:center;gap:18px;padding-top:16px;display:flex}.results-heading{margin-bottom:16px}.pagination{justify-content:space-between;align-items:center;gap:16px;margin-top:30px;font-size:.8125rem;display:flex}.empty-state{text-align:center;border:1px dashed #c8d1c0;border-radius:8px;padding:40px 24px}.empty-state p{max-width:600px;color:var(--muted);margin-left:auto;margin-right:auto}.empty-state .button-row{justify-content:center}.breadcrumb{color:var(--muted);gap:12px;margin-bottom:30px;font-size:.75rem;display:flex}.breadcrumb a{text-decoration:none}.project-detail-header{gap:24px;display:flex}.project-detail-header>div:last-child{flex:1;min-width:0}.project-detail-header .lead{margin:12px 0 20px}.project-detail-header .project-heading{gap:14px}.project-detail-header h1{overflow-wrap:anywhere;font-size:2.6rem}.project-engagement{border-bottom:1px solid var(--line);margin:4px 0 25px;padding:22px 0}.project-engagement .small-copy{margin:12px 0 0}.detail-grid{grid-template-columns:minmax(0,1fr) 280px;gap:65px;display:grid}.detail-main>section{border-bottom:1px solid var(--line);margin-bottom:24px;padding:5px 0 23px}.detail-main>section>h2{margin-bottom:18px}.detail-main>section>p{font-size:.9375rem}.detail-main .tag-list{margin:12px 0 18px}.tag-list{flex-wrap:wrap;gap:7px;display:flex}.facts,.inline-facts{margin:0}.facts>div{padding:0 0 18px}.facts dt,.inline-facts dt{letter-spacing:.01em;color:var(--muted);margin-bottom:6px;font-size:.6875rem;font-weight:550}.facts dd,.inline-facts dd{overflow-wrap:anywhere;margin:0;font-size:.8125rem;line-height:1.7}.facts dd p,.inline-facts dd p{margin-top:8px}.inline-facts>div{margin:20px 0}.provenance{border-top:1px solid var(--line);margin-top:27px;padding-top:22px}.provenance h2{font-size:1rem}.provenance>.tag{margin-bottom:12px}.link-list{flex-direction:column;gap:12px;margin:0;padding:0;font-size:.8125rem;list-style:none;display:flex}.link-list a{overflow-wrap:anywhere;line-height:1.6}.listing-actions{flex-direction:column;gap:13px;padding-top:25px;font-size:.8125rem;display:flex}.metric{border:1px solid var(--line);border-radius:6px;margin-bottom:12px;padding:20px}.metric h3{font-weight:500}.metric h3 strong{font-weight:650}.metric p{margin-bottom:8px;font-size:.8125rem}.metric .muted{margin:0;font-size:.75rem}.notice{overflow-wrap:anywhere;background:#f0f3e9;border:1px solid #dbe3cc;border-radius:6px;margin:20px 0;padding:16px 18px;font-size:.875rem;line-height:1.65}.notice p:last-child{margin-bottom:0}.notice h2{margin-top:0}.notice.success{background:#edf7e8;border-color:#cce5c1}.form-shell{max-width:760px}.form-shell>p{font-size:.9375rem}.form-shell>form,.form-shell>section{margin-top:24px}.form-section{border-bottom:1px solid var(--line);margin-bottom:26px;padding:0 0 26px}.form-grid{grid-template-columns:1fr 1fr;gap:0 22px;display:grid}.declaration{margin:25px 0}.form-error{color:#a33124;overflow-wrap:anywhere;font-size:.8125rem;line-height:1.5}.auth-panel{padding:28px}.auth-panel .text-link{margin-left:20px;display:inline-block}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin:24px 0;padding-bottom:13px;display:flex}.tabs a,.tabs button{background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:8px;padding:9px 12px;font-size:.8125rem;text-decoration:none;display:inline-flex}.tabs .active{color:#355c40;background:#e6eddd;border-color:#d5dfc9}.tabs span{text-align:center;background:#fff;border-radius:3px;min-width:16px;padding:2px 5px;font-size:.625rem}.notices{margin-bottom:30px;font-size:.875rem}.notices summary{cursor:pointer}.notices time{color:var(--muted);font-size:.75rem}.danger-zone{border:1px solid #dfc5be;border-radius:6px;margin-top:40px;padding:24px}.danger-zone p{color:var(--muted);font-size:.875rem}.review-card{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:20px;padding:24px}.review-card>p{font-size:.875rem}.review-card details{margin:20px 0;font-size:.875rem}.review-card summary{cursor:pointer}.review-card .button-row{margin-top:20px}.review-card h2{font-size:1.125rem}.review-fields{margin-top:20px}.review-fields>div{border-bottom:1px solid var(--line);padding:12px 0}.review-fields dt{color:var(--muted);font-size:.75rem}.review-fields dd{margin:5px 0 0}.review-card pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font:400 .75rem/1.7 ui-monospace,monospace}.comparison section{margin:20px 0}.comparison-columns{grid-template-columns:1fr 1fr;gap:18px;display:grid}.comparison-columns>div{border:1px solid var(--line);background:#f6f7f3;border-radius:5px;min-width:0;padding:15px}.comparison-columns strong{margin-bottom:10px;font-size:.75rem;display:block}.confirmation{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.prose{max-width:800px}.prose>p{margin-bottom:24px;font-size:1rem;line-height:1.85}.site-footer{border-top:1px solid var(--line);background:#f0f3ec;padding:32px max(32px,50% - 590px) 20px}.footer-top{justify-content:space-between;gap:40px;display:flex}.footer-top p{color:var(--muted);margin-top:10px;font-size:.75rem}.footer-nav{flex-wrap:wrap;align-content:start;gap:15px 24px;max-width:470px;font-size:.75rem;display:flex}.footer-nav a{text-decoration:none}.language-menu{border-top:1px solid var(--line);margin-top:18px;padding-top:20px;font-size:.75rem}.language-menu summary{cursor:pointer;max-width:max-content}.language-menu nav{flex-wrap:wrap;gap:12px 20px;margin-top:18px;display:flex}.language-menu nav a[aria-current]{font-weight:700}.copyright{color:var(--muted);margin:24px 0 0;font-size:.6875rem}@media (width>=1400px){.home-intro{padding-top:48px}.project-row{padding:24px 2px}}@media (width<=1000px){.header-inner{gap:25px}.main-nav{gap:18px}.home-columns{grid-template-columns:1fr;gap:0}.home-columns .project-monogram{display:flex}.filter-grid:has(>.field:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid{grid-template-columns:minmax(0,1fr) 240px;gap:35px}.project-detail-header h1{font-size:2.1rem}.site-footer{padding-left:32px;padding-right:32px}}@media (width<=720px){.container{width:calc(100% - 36px)}.header-inner{flex-wrap:wrap;gap:16px;min-height:0;padding:14px 18px}.wordmark{font-size:1.2rem}.brand-icon{font-size:.875rem}.auth-nav{margin-left:auto}.auth-nav>a:not(.button){display:none}.main-nav{border-top:1px solid var(--line);order:3;justify-content:flex-start;gap:25px;width:100%;padding-top:12px;font-size:.8125rem}.header-inner>astro-island{margin-left:auto}.home-intro{padding-top:30px;padding-bottom:27px}.eyebrow{font-size:.625rem}.home-intro h1{max-width:540px;font-size:2rem}.home-intro .lead{font-size:.875rem}.search-line{gap:7px}.search-input{gap:7px;padding:0 10px}.search-input input{padding:13px 0;font-size:.8125rem}.search-line .button{padding:9px 13px;font-size:.8125rem}.category-pills{gap:6px}.category-pills a{padding:6px 8px;font-size:.6875rem}.section-heading h2{font-size:1.0625rem}.section-heading>a{font-size:.6875rem}.project-row{gap:12px;padding:20px 0}.project-monogram{width:34px;height:34px;font-size:.75rem}.project-heading{gap:7px}.project-heading h3{font-size:.9375rem}.project-summary{margin-bottom:9px;font-size:.8125rem}.status{padding:2px 5px;font-size:.625rem}.project-actions.compact{max-width:70px}.project-actions.compact .button{min-width:43px;padding:7px 8px;font-size:.75rem}.project-meta{gap:5px 12px;font-size:.625rem}.contribution-callout{flex-direction:column;align-items:flex-start;gap:15px;padding:23px}.contribution-callout p{font-size:.8125rem}.independence-note{padding:20px 0}.page-section{padding-top:30px;padding-bottom:42px}.page-heading h1{font-size:1.875rem}.page-heading p{font-size:.875rem}.search-panel{padding:16px}.filter-grid,.filter-grid:has(>.field:nth-child(5)){grid-template-columns:1fr 1fr;gap:16px 12px}.field{font-size:.75rem}.field input,.field select,.field textarea{font-size:.875rem}.advanced-filters summary,.check{font-size:.75rem}.check-grid{gap:10px 15px}.pagination{gap:8px;font-size:.75rem}.pagination .button{padding:9px 11px;font-size:.75rem}.project-detail-header{gap:14px}.project-monogram.large{width:49px;height:49px;font-size:1.125rem}.project-detail-header h1{font-size:1.9rem}.project-detail-header .lead{font-size:.875rem}.project-detail-header .button{font-size:.75rem}.detail-grid{flex-direction:column;gap:5px;display:flex}.detail-sidebar{border-top:1px solid var(--line);padding-top:25px}.detail-sidebar>.facts{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.project-detail .breadcrumb{flex-wrap:wrap;margin-bottom:24px}.project-engagement{margin-bottom:20px}.form-grid{grid-template-columns:1fr}.review-card{padding:18px}.review-card .section-heading{align-items:flex-start}.comparison-columns{grid-template-columns:1fr}.form-shell>p{font-size:.875rem}.auth-panel{padding:20px}.auth-panel .text-link{margin:18px 0 0;display:block}.tabs{gap:4px}.tabs a,.tabs button{padding:8px 9px;font-size:.75rem}.site-footer{padding:28px 18px 20px}.footer-top{display:block}.footer-nav{gap:16px 22px;margin:22px 0}.prose>p{font-size:.9375rem}.empty-state{padding:30px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.filter-picker{font-weight:400;position:relative}.filter-picker>summary{cursor:pointer;background:#fff;border:1px solid #ccd5c6;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;min-height:43px;padding:10px 11px;font-size:.8125rem;list-style:none;display:flex}.filter-picker>summary::-webkit-details-marker{display:none}.filter-picker>summary:after{content:"⌄";color:var(--muted);flex-shrink:0}.filter-picker>summary>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.filter-picker[open]>summary{border-color:#90aa7e}.filter-options{z-index:20;border:1px solid var(--line);background:#fff;border-radius:6px;flex-direction:column;gap:11px;width:max-content;min-width:100%;max-width:min(320px,100vw - 64px);max-height:290px;padding:14px;display:flex;position:absolute;top:calc(100% + 5px);left:0;overflow-y:auto;box-shadow:0 6px 20px #1c302114}.active-filters{flex-wrap:wrap;gap:7px;margin:-15px 0 22px;display:flex}.active-filters a{gap:8px;padding:6px 9px;text-decoration:none}.active-filters a:hover{background:#dce8cc}.dashboard .project-actions:not(.compact){justify-content:flex-end;max-width:240px}.dashboard .project-actions:not(.compact) .button{min-height:35px;padding:8px 10px;font-size:.75rem}.dashboard .project-actions:not(.compact) .vote>span:last-child{display:none}@media (width<=720px){.dashboard .project-row{flex-wrap:wrap}.dashboard .project-actions:not(.compact){justify-content:flex-start;max-width:none;margin-left:46px}.filter-options{max-width:min(280px,100vw - 72px)}}.listing-fields fieldset{border-top:0;border-left:0;border-right:0;min-width:0;padding-left:0;padding-right:0}.listing-fields legend{margin-bottom:16px;font-size:.875rem;font-weight:600}.link-editor-row{grid-template-columns:1fr 2fr auto;align-items:start;gap:12px;margin-bottom:20px;display:grid}.link-editor-row .field{margin:0}.link-editor-row>.button{margin-top:25px}.grant-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:12px 0;font-size:.8125rem;display:flex}.grants{padding-top:20px}.moderation-app>.review-card{max-width:1000px}@media (width<=720px){.link-editor-row{grid-template-columns:1fr}.link-editor-row>.button{justify-self:start;margin:0}.grant-row{flex-direction:column;align-items:start}}.field .check input{width:16px;height:16px;min-height:0;padding:0}fieldset.form-contents{border:0;min-inline-size:0;margin:0;padding:0}.ranking-explanation{margin-block:1rem}.notice pre{max-width:100%;max-height:24rem;font-size:.8rem;overflow:auto}
