.contribution-form{display:flex;flex-direction:column;gap:16px;max-width:760px;margin:0 auto;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius);background:rgba(255,250,238,.78);box-shadow:var(--shadow-soft)}.contribution-context{margin:0;color:var(--color-accent-hover);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.contribution-note{margin:-8px 0 0;color:var(--color-text-muted);font-size:14px;line-height:1.55}.contribution-field{display:flex;flex-direction:column;gap:6px;color:var(--color-text);font-size:14px;font-weight:700}.contribution-field input,.contribution-field select,.contribution-field textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;background:rgba(255,255,255,.75);color:var(--color-text);font:inherit;font-weight:400}.contribution-field input[type=number]{appearance:textfield;-moz-appearance:textfield}.contribution-field input[type=number]::-webkit-inner-spin-button,.contribution-field input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.contribution-field textarea{resize:vertical;min-height:96px;line-height:1.5}.contribution-field small{color:var(--color-text-muted);font-weight:400;line-height:1.4}.contribution-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contribution-error{margin:0;color:#9c332d;font-size:14px}.contribution-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.contribution-choice{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;background:rgba(255,250,238,.74)}.contribution-choice:hover{border-color:var(--color-accent);color:var(--color-accent-hover)}.contribution-choice small{color:var(--color-text-muted);font-weight:400}.contribution-submit-button{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-cream);cursor:pointer;font:inherit;font-size:14px;font-weight:750;line-height:1.25;transition:all var(--transition)}.contribution-submit-button:hover:not(:disabled){border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.contribution-submit-button:disabled{cursor:not-allowed;opacity:.55}.contribution-dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(29,37,30,.5)}.contribution-dialog{position:relative;width:min(100%,440px);padding:28px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-cream);box-shadow:var(--shadow-soft)}.contribution-dialog h2{margin:0 32px 10px 0;color:var(--color-text);font-size:22px}.contribution-dialog p{margin:0 0 20px;color:var(--color-text-muted);line-height:1.5}.contribution-dialog-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:28px;line-height:1}.contribution-dialog-close:hover{background:rgba(0,0,0,.06);color:var(--color-text)}@media (max-width:640px){.contribution-form{padding:16px}.contribution-two-columns{grid-template-columns:1fr}.contribution-field input,.contribution-field select,.contribution-field textarea,.contribution-submit-button{min-height:44px}.contribution-submit-button{align-self:stretch}.contribution-choice{min-height:44px}}