.needs-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;margin-bottom:.4rem;display:flex}.needs-top .eyebrow{margin:0}.needs-lang{border:1.5px solid var(--banner-outline-border);background:color-mix(in srgb, var(--surface) 55%, transparent);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.needs-lang a{font-family:var(--font-head);color:var(--banner-fg);border-radius:999px;padding:.3rem .85rem;font-size:.85rem;font-weight:700;text-decoration:none}.needs-lang a[aria-current=true]{background:var(--primary);color:var(--on-primary)}.needs-lang a:not([aria-current=true]):hover{background:color-mix(in srgb, var(--brand) 9%, transparent)}.needs-back{font-family:var(--font-head);color:var(--banner-accent);align-items:center;gap:.3rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.needs-back:hover{text-decoration:underline}.need-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px;margin-top:1.4rem;display:grid}.need-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);flex-direction:column;gap:.75rem;padding:22px 22px 20px;scroll-margin-top:96px;display:flex}.need-card:target{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 25%, transparent), var(--shadow)}.need-card__head{flex-wrap:wrap;align-items:center;gap:.4rem .5rem;display:flex}.need-card__title{margin:0;font-size:1.22rem}.need-card__title a{color:var(--ink);text-decoration:none}.need-card__title a:hover{color:var(--accent);text-decoration:underline}.need-card__foot{flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin-top:auto;padding-top:.3rem;display:flex}.need-card__more{font-family:var(--font-head);color:var(--accent);font-size:.9rem;font-weight:700}.need-meta{color:var(--muted);flex-wrap:wrap;gap:.1rem .9rem;margin:-.35rem 0 0;font-size:.9rem;font-weight:600;display:flex}.need-summary{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.95rem;display:-webkit-box;overflow:hidden}.need-badge{font-family:var(--font-head);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.22rem .6rem;font-size:.7rem;font-weight:800}.need-badge--open{background:var(--c1-tint);color:var(--c1-ink)}.need-badge--almost{background:var(--c3-tint);color:var(--c3-ink)}.need-badge--filled{color:#1f6b35;background:#dff3e3}:root[data-theme=dark] .need-badge--filled{color:#8fd8a3;background:#16301d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .need-badge--filled{color:#8fd8a3;background:#16301d}}.need-types{margin:0;padding:0;list-style:none;display:contents}.need-type{color:var(--muted);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .55rem;font-size:.8rem;font-weight:600;display:inline-flex}.need-type svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.need-facts{gap:.3rem;margin:0;font-size:.94rem;display:grid}.need-facts div{align-items:baseline;gap:.45rem;display:flex}.need-facts dt{font-family:var(--font-head);color:var(--muted);font-weight:700}.need-facts dd{color:var(--ink);margin:0;font-weight:600}.need-facts .is-soon{color:var(--muted);font-style:italic;font-weight:500}.need-progress{gap:.35rem;display:grid}.need-bar{background:color-mix(in srgb, var(--brand) 14%, var(--line));border-radius:999px;height:10px;overflow:hidden}.need-bar>span{border-radius:inherit;background:var(--brand);height:100%;transition:width .5s;display:block}.need-card--filled .need-bar>span{background:#2f9e52}.need-bar--thin{height:6px}.need-progress__text{font-family:var(--font-head);color:var(--brand-ink);font-size:.86rem;font-weight:700}.need-part{gap:.4rem;display:grid}.need-part h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.82rem;font-family:var(--font-head);margin:0}.need-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.need-list li{border-bottom:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.1rem .8rem;padding-bottom:.45rem;display:flex}.need-list li:last-child{border-bottom:0;padding-bottom:0}.need-list__name{color:var(--ink);flex:12ch;min-width:0;font-weight:600}.need-list__count{color:var(--muted);text-align:right;flex:0 auto;margin-left:auto;font-size:.84rem}.need-list .need-bar{flex:1 0 100%;margin-top:.2rem}.need-list .is-met .need-list__count{color:#1f6b35;font-weight:700}.need-soon{color:var(--muted);margin:0;font-size:.94rem;font-style:italic}.need-notes{color:var(--muted);margin:0;font-size:.95rem}.need-give{color:var(--muted);border-top:1px solid var(--line);margin:0;padding-top:.75rem;font-size:.9rem}.need-give strong{color:var(--ink)}.needs-how{gap:.6rem;margin-top:2rem;display:grid}.needs-how h2,.needs-how h3{margin:0;font-size:1.15rem}.needs-how p{margin:0}.needs-nomoney{color:var(--muted);font-size:.9rem}.need-grid--filled .need-card{box-shadow:none;gap:.5rem;padding:16px 18px}.need-grid--filled .need-card__title{font-size:1.05rem}.need-narrow{max-width:780px}.need-detail-section{padding-top:clamp(28px,4vw,44px)}.need-detail{gap:18px;display:grid}.need-card--detail{gap:1.1rem}.need-draft{margin-bottom:1.4rem}.need-share{cursor:pointer;font-family:var(--font-head);color:var(--accent);background:0 0;border:0;margin:1.4rem auto 0;padding:0;font-size:.9rem;font-weight:700;display:block}.need-share:hover{text-decoration:underline}.pledge{gap:18px;scroll-margin-top:90px;display:grid}.pledge-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:.8rem;padding:clamp(20px,3.5vw,28px);display:grid}.pledge-step__title{align-items:center;gap:.65rem;margin:0 0 .2rem;font-size:1.2rem;display:flex}.pledge-step__n{background:var(--accent-tint);width:1.8rem;height:1.8rem;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:800;display:grid}.pledge__sub{margin-top:.6rem}.pledge__submit{justify-items:start;gap:.7rem;margin-top:.4rem;display:grid}.pledge fieldset{border:0;gap:.55rem;min-width:0;margin:0;padding:0;display:grid}.pledge legend{font-family:var(--font-head);color:var(--ink);margin-bottom:.55rem;padding:0;font-size:1.05rem;font-weight:800}.pledge legend .req,.pledge legend .opt{font-size:.76rem;font-weight:600}.pledge legend .req{color:var(--brand-ink)}.pledge legend .opt{color:var(--muted)}.pledge__hint{color:var(--muted);margin:-.2rem 0 0;font-size:.9rem}.pledge__warn{background:var(--c3-tint);border-left:3px solid var(--playground);color:var(--ink);border-radius:8px;margin:0;padding:.65rem .85rem;font-size:.92rem}.pledge__warn .btn{margin-top:.6rem}.pledge__note{color:var(--muted);margin:0;font-size:.9rem}.pledge__note a{color:var(--accent);white-space:nowrap;font-weight:700}.pledge-option{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem .75rem;padding:.7rem .85rem;transition:border-color .15s,background .15s;display:grid}.pledge-option:hover{border-color:color-mix(in srgb, var(--brand) 50%, var(--line))}.pledge-option.is-on{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 6%, var(--card))}.pledge-option.is-off{opacity:.55;cursor:default}.pledge-option input[type=checkbox],.pledge-option input[type=radio]{width:1.15rem;height:1.15rem;accent-color:var(--brand);margin:0}.pledge-option__main{gap:.1rem;min-width:0;display:grid}.pledge-option__name{color:var(--ink);font-weight:600}.pledge-option__sub{color:var(--muted);font-size:.84rem}.pledge-qty{color:var(--muted);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.vol-form .pledge-qty input{text-align:center;width:4.6rem;padding:.45rem .55rem}.pledge-option:has(.pledge-option__pick){cursor:default;grid-template-columns:minmax(0,1fr) auto}.pledge-option__pick{cursor:pointer;min-width:0;font:inherit;align-items:center;gap:.75rem;display:flex}.pledge-option.is-off .pledge-option__pick{cursor:default}.pledge legend.pledge__sublegend{margin-bottom:.45rem;font-size:.92rem;font-weight:600}.pledge-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:.5rem;display:grid}.pledge-inline{flex-wrap:wrap;gap:.5rem 1.2rem;display:flex}.pledge-inline label{font-family:var(--font-body);cursor:pointer;align-items:center;gap:.45rem;font-size:.98rem;font-weight:500;display:inline-flex}.pledge-inline--stack{flex-direction:column;align-items:flex-start}.pledge-inline--stack label{align-items:flex-start}.pledge-inline--stack label input{margin-top:.2rem}.pledge-inline small{color:var(--muted);font-size:.84rem;display:block}.pledge-inline input{accent-color:var(--brand);width:1.05rem;height:1.05rem}.vol-form select,.vol-form input[type=date]{font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:.65rem .8rem}.pledge-row2{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;display:grid}.pledge-check{cursor:pointer;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;display:inline-flex}.pledge-check input{accent-color:var(--brand);width:1.05rem;height:1.05rem;margin:0}.pledge__consent{color:var(--muted);margin:0;font-size:.88rem}.pledge .form-error{margin:0}.pledge-done{max-width:none;font-family:var(--font-body);color:var(--ink);gap:.6rem;font-weight:400;display:grid}.pledge-done h2{color:var(--ink);margin:0}.pledge-done p{margin:0}.pledge-done ul{margin:0;padding-left:1.2rem}.pledge-done .btn-row{margin-top:.4rem}
