.campaign-banner{background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-family:var(--font-body);padding-inline:var(--page-gutter,24px);font-size:14px;line-height:1.5}.campaign-banner-accent:after{content:"";background:var(--achievement-progress-gradient);height:2px;position:absolute;inset:auto 0 0}.banner-copy{justify-content:space-between;align-items:center;gap:24px;width:100%;min-width:0;display:flex}.banner-message{align-items:baseline;gap:8px;min-width:0;display:flex}.banner-support{opacity:.8}@media (width>=768px){.banner-message{white-space:nowrap}}@media (width<=767px){.banner-message{flex-wrap:wrap;gap:0 8px}}.banner-preview-mobile .banner-message{white-space:normal;flex-wrap:wrap;gap:0 8px}.banner-countdown{font-variant-numeric:tabular-nums;flex-shrink:0}.banner-countdown>span{align-items:center;display:flex}.banner-countdown>span>span{padding-inline:8px}.banner-countdown>span>span+span{border-left:1px solid;border-color:hsl(var(--primary-foreground) / .25)}.banner-time-unit{opacity:.65;margin-left:2px}.banner-cta{white-space:nowrap;text-underline-offset:4px;align-items:center;min-height:44px;font-weight:500;text-decoration:underline;display:inline-flex}.campaign-banner .banner-close{width:44px;height:44px;color:inherit;background:0 0}@media (width>=768px){.campaign-banner{padding-block:0}.campaign-banner .banner-cta{min-height:36px}.campaign-banner .banner-close{height:36px}}.campaign-banner .banner-close:hover{background:hsl(var(--primary-foreground) / .1);color:inherit}.campaign-banner :is(a,button):focus-visible{outline-offset:2px;outline-color:currentColor}.banner-preview{border:1px solid hsl(var(--border));border-radius:var(--radius-item);overflow:hidden}.banner-preview-mobile{width:360px;max-width:100%;margin-inline:auto}@media (width<=767px){.campaign-banner .banner-inner{-moz-column-gap:8px;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;display:grid}.campaign-banner .banner-body{grid-column:1}.campaign-banner .banner-action{grid-area:2/1}.campaign-banner .banner-close{grid-area:1/2/3}.banner-copy{flex-wrap:wrap;justify-content:flex-start;gap:4px 12px}.banner-countdown>span>span{padding-inline:5px}.banner-countdown>span>span:first-child{padding-left:0}}.banner-preview-mobile .banner-inner{grid-template-columns:minmax(0,1fr) auto;gap:0 8px;display:grid}.banner-preview-mobile .banner-body{grid-column:1}.banner-preview-mobile .banner-action{grid-area:2/1}.banner-preview-mobile .banner-close{grid-area:1/2/3}.banner-preview-mobile .banner-copy{flex-wrap:wrap;justify-content:flex-start;gap:4px 12px}
