:root{--color-bg-primary: #f5f5dc;--color-bg-secondary: #e6e6fa;--color-orange-main: #ff8c00;--color-orange-light: #ffa500;--color-green-accent: #32cd32;--color-text-primary: #333333;--color-border: #cccccc;--color-dark-bg-primary: #2c2c2c;--color-dark-bg-secondary: #3c3c3c;--color-dark-text-primary: #f0f0f0;--color-dark-orange-main: #ff8c00;--color-dark-border: #555555;--font-family-retro: "Courier New", "Lucida Console", monospace;--font-family-modern: "Arial", "Helvetica", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--border-width: 2px;--border-radius: 8px;--box-shadow: 2px 2px 8px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}.campaign-page .campaign-blurb{font-size:1.1rem;margin-bottom:var(--spacing-lg)}.campaign-progress-block{margin:var(--spacing-lg) 0}.campaign-progress{appearance:none;display:block;width:100%;height:1.5rem;border:var(--border-main);background-color:var(--colour-bg-secondary);box-shadow:var(--shadow-main)}.campaign-progress::-webkit-progress-bar{background-color:var(--colour-bg-secondary)}.campaign-progress::-webkit-progress-value{background-color:var(--colour-accent-main);transition:width .4s ease-out}.campaign-progress::-moz-progress-bar{background-color:var(--colour-accent-main)}.campaign-totals{margin:var(--spacing-sm) 0 var(--spacing-xs);font-size:1.05rem}.campaign-totals__received strong{color:var(--colour-accent-dark)}.campaign-totals__pledged{color:var(--colour-text-secondary)}.campaign-legend{list-style:none;padding:0;margin:0;display:flex;gap:var(--spacing-md);font-size:.9rem;color:var(--colour-text-secondary)}.campaign-legend__item:before{content:"";display:inline-block;width:1em;height:1em;margin-right:var(--spacing-xs);vertical-align:-.15em;border:1px solid var(--colour-border-main)}.campaign-legend__item--received:before{background-color:var(--colour-accent-main)}.campaign-legend__item--pledged:before{background:repeating-linear-gradient(45deg,var(--colour-secondary) 0 3px,var(--colour-bg-primary) 3px 6px)}.campaign-confirmation:not(:empty){margin:var(--spacing-lg) 0;padding:var(--spacing-md);border:var(--border-main);background-color:var(--colour-highlight-bg);box-shadow:var(--shadow-main);color:var(--colour-text-primary)}.campaign-confirmation h3{margin-top:0}.campaign-confirmation .etransfer-email{user-select:all;word-break:break-all}.campaign-closed{padding:var(--spacing-md);border:var(--border-main);background-color:var(--colour-bg-secondary)}.pledge-section{margin:var(--spacing-xl) 0}.form-error{color:var(--colour-accent-dark);font-weight:700}.form-error:empty{display:none}.pledge-form{display:grid;gap:var(--spacing-md);max-width:32rem}.pledge-form__field{display:grid;gap:var(--spacing-xs)}.pledge-form__field span{font-weight:700}.pledge-form__field small{font-weight:400;color:var(--colour-text-secondary)}.pledge-form__field input,.pledge-form__field textarea{font:inherit;padding:var(--spacing-sm);border:var(--border-main);background-color:var(--colour-bg-primary);color:var(--colour-text-primary)}.pledge-form__submit{justify-self:start}.stripe-section{margin-top:var(--spacing-lg);color:var(--colour-text-secondary)}.pledge-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--spacing-sm)}.pledge{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:baseline;padding:var(--spacing-sm) var(--spacing-md);border:var(--border-main);background-color:var(--colour-bg-primary);border-left-width:.5rem}.pledge--received{border-left-color:var(--colour-accent-main)}.pledge--pledged{border-left-style:dashed;border-left-color:var(--colour-secondary)}.pledge--empty{border-left-width:2px;color:var(--colour-text-secondary)}.pledge__name{font-weight:700}.pledge__status{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--colour-text-secondary)}.pledge__date{margin-left:auto;font-size:.85rem;color:var(--colour-text-secondary)}.campaign-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--spacing-lg)}.campaign-card{padding:var(--spacing-md);border:var(--border-main);background-color:var(--colour-bg-primary);box-shadow:4px 4px 0 var(--colour-border-main)}.campaign-card__title{margin:0 0 var(--spacing-xs)}.campaign-card--empty{box-shadow:none;color:var(--colour-text-secondary)}[data-theme=dark] .campaign-confirmation:not(:empty){color:var(--colour-bg-primary)}
