.promo-form{flex-direction:column;gap:8px;display:flex}.promo-field{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);min-height:52px;color:var(--muted);transition:border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);align-items:center;gap:10px;padding:6px 6px 6px 14px;display:flex}.promo-field:focus-within{border-color:var(--text);box-shadow:0 0 0 3px var(--hover);color:var(--text)}.promo-field.has-error{border-color:var(--danger)}.promo-field input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-family:inherit;font-size:15px;font-weight:400;line-height:1.4}.promo-field input:not(:placeholder-shown){letter-spacing:.06em;font:500 15px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}html:root:root .promo-field input:focus-visible{box-shadow:none}.promo-field input::placeholder{color:var(--muted)}.promo-field .button{flex-shrink:0;min-height:40px;padding:0 16px}html:root:root .promo-field input{height:auto;min-height:40px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}html:root:root .promo-field .button.primary:disabled{background:var(--hover);color:var(--muted);opacity:1;border-color:#0000}.promo-error{color:var(--danger);margin:0;font-size:13px;line-height:1.45}.promo-muted{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.promo-button{gap:7px}.image-packs-promo{justify-content:center;margin-top:6px;display:flex}.promo-grants{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.promo-grants li{align-items:center;gap:12px;padding:12px 16px;display:flex}.promo-grants li+li{border-top:1px solid var(--line)}.promo-grants-icon{border-radius:var(--radius-md);background:var(--text);width:34px;height:34px;color:var(--bg);flex-shrink:0;place-items:center;display:grid}.promo-grants-text{flex-direction:column;gap:2px;min-width:0;display:flex}.promo-grants-text b{font-size:14px;font-weight:550}.promo-grants-text small{color:var(--muted);overflow-wrap:anywhere;font-size:12.5px;line-height:1.4}.promo-success{flex-direction:column;gap:16px;display:flex}.promo-success-dialog{--promo-spring:cubic-bezier(.34, 1.56, .64, 1);--promo-out:cubic-bezier(.16, 1, .3, 1)}.promo-ticket{isolation:isolate;border:1px solid var(--line);border-radius:var(--radius-2xl);background:radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--text) 7%, transparent), transparent 60%), var(--bg);text-align:center;animation:promo-ticket-in .52s var(--promo-spring) both;flex-direction:column;align-items:center;gap:4px;padding:30px 22px 20px;display:flex;position:relative}.promo-ticket-sheen{z-index:-1;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.promo-ticket-sheen:after{content:"";background:linear-gradient(100deg, transparent, color-mix(in srgb, var(--text) 13%, transparent), transparent);width:45%;animation:promo-sheen 1s var(--promo-out) .38s both;position:absolute;inset:-20% auto -20% 0;transform:translate(-120%)skew(-12deg)}.promo-burst{place-items:center;width:76px;height:76px;margin-bottom:14px;display:grid;position:relative}.promo-check{z-index:1;background:var(--text);width:76px;height:76px;color:var(--bg);box-shadow:0 10px 30px -8px color-mix(in srgb, var(--text) 45%, transparent);animation:promo-check-in .56s var(--promo-spring) 40ms both;border-radius:50%;place-items:center;display:grid;position:relative}.promo-check path{stroke-dasharray:24;stroke-dashoffset:24px;animation:promo-draw .38s var(--promo-out) .28s forwards}.promo-check svg{animation:promo-thump .34s var(--promo-spring) .62s both}@keyframes promo-thump{0%,to{transform:none}45%{transform:scale(1.2)}}.promo-ring{border:2px solid var(--text);opacity:0;animation:promo-ring .9s var(--promo-out) .16s both;border-radius:50%;position:absolute;inset:0}.promo-ring-late{border-width:1px;animation-delay:.32s}.promo-spark{background:var(--text);opacity:0;width:8px;height:8px;animation:promo-spark 1s var(--promo-out) var(--t) both;margin:-4px 0 0 -4px;position:absolute;top:50%;left:50%}.promo-spark.is-dot{border-radius:50%}.promo-spark.is-dash{border-radius:2px;width:14px;height:3px;margin:-1.5px 0 0 -7px}.promo-spark.is-star{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:13px;height:13px;margin:-6.5px 0 0 -6.5px}.promo-ticket-code{letter-spacing:.14em;color:var(--muted);overflow-wrap:anywhere;animation:promo-code-in .64s var(--promo-out) .18s both;font:500 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.promo-ticket-title{letter-spacing:-.5px;animation:promo-rise .5s var(--promo-spring) .24s both;font-size:26px;font-weight:650;line-height:1.2}.promo-ticket-when{color:var(--muted);animation:promo-rise .46s var(--promo-out) .3s both;font-size:14px}.promo-ticket-cut{border-top:1px dashed var(--line);align-self:stretch;height:0;margin:16px -22px 12px;position:relative}.promo-ticket-cut:before,.promo-ticket-cut:after{content:"";background:var(--surface);border:1px solid var(--line);border-radius:50%;width:18px;height:18px;position:absolute;top:-9px}.promo-ticket-cut:before{clip-path:inset(0 0 0 50%);left:-10px}.promo-ticket-cut:after{clip-path:inset(0 50% 0 0);right:-10px}.promo-ticket-note{color:var(--text);animation:promo-rise .46s var(--promo-out) .36s both;margin:0;font-size:13.5px;line-height:1.5}.promo-ticket-perks{text-align:left;flex-direction:column;align-self:stretch;gap:7px;margin:10px 0 0;padding:0;list-style:none;display:flex}.promo-ticket-perks li{animation:promo-perk .46s var(--promo-spring) both;align-items:center;gap:9px;font-size:13.5px;display:flex}.promo-ticket-perks .icon{background:var(--text);color:var(--bg);border-radius:50%;flex-shrink:0;padding:2px}.promo-ticket-perks li:first-child{animation-delay:.42s}.promo-ticket-perks li:nth-child(2){animation-delay:.47s}.promo-ticket-perks li:nth-child(3){animation-delay:.52s}.promo-ticket-perks li:nth-child(4){animation-delay:.57s}.promo-ticket-perks li:nth-child(5){animation-delay:.62s}.promo-ticket-perks li:nth-child(n+6){animation-delay:.67s}.promo-success>.button{animation:promo-rise .42s var(--promo-out) .52s both}@keyframes promo-ticket-in{0%{opacity:0;transform:translateY(18px)scale(.94)}to{opacity:1;transform:none}}@keyframes promo-check-in{0%{opacity:0;transform:scale(.4)rotate(-25deg)}to{opacity:1;transform:none}}@keyframes promo-ring{0%{opacity:.55;transform:scale(.9)}to{opacity:0;transform:scale(2.3)}}@keyframes promo-spark{0%{opacity:0;transform:rotate(var(--a)) translateX(20px) rotate(0) scale(var(--s))}12%{opacity:1}60%{opacity:.9}to{opacity:0;transform:rotate(var(--a)) translateX(var(--d)) rotate(120deg) scale(calc(var(--s) * .4))}}@keyframes promo-sheen{to{transform:translate(320%)skew(-12deg)}}@keyframes promo-code-in{0%{opacity:0;letter-spacing:.5em}to{opacity:1;letter-spacing:.14em}}@keyframes promo-perk{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@keyframes promo-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes promo-draw{to{stroke-dashoffset:0}}.promo-field.is-shaking{animation:.42s cubic-bezier(.36,.07,.19,.97) promo-shake}@keyframes promo-shake{15%,85%{transform:translate(-2px)}30%,70%{transform:translate(4px)}45%,55%{transform:translate(-6px)}50%{transform:translate(6px)}}.promo-spin{animation:.8s linear infinite promo-spin}@keyframes promo-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.promo-success *,.promo-ticket,.promo-field.is-shaking{animation:none!important}.promo-ring,.promo-spark,.promo-ticket-sheen{display:none}.promo-check path{stroke-dashoffset:0}}:root[data-motion=reduced] .promo-success *,:root[data-motion=reduced] .promo-ticket,:root[data-motion=reduced] .promo-field.is-shaking{animation:none!important}:root[data-motion=reduced] :is(.promo-ring,.promo-spark,.promo-ticket-sheen){display:none}:root[data-motion=reduced] .promo-check path{stroke-dashoffset:0}.account-promo{margin:18px 0}.account-promo h3{color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:550}.promo-landing{border:1px solid var(--line);border-radius:var(--radius-2xl);background:var(--surface);text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:520px;margin:0 auto;padding:34px 26px;display:flex}.promo-landing-mark{background:var(--text);width:64px;height:64px;color:var(--bg);border-radius:50%;place-items:center;display:grid}.promo-landing-code{border:1px dashed var(--line);border-radius:var(--radius-md);letter-spacing:.1em;overflow-wrap:anywhere;padding:6px 14px;font:600 17px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.promo-landing h2{letter-spacing:-.3px;margin:6px 0 0;font-size:21px;font-weight:600}.promo-landing p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.promo-landing .promo-error{color:var(--danger)}.promo-landing .promo-grants{text-align:left;align-self:stretch}.promo-landing-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.promo-landing-retry{align-self:stretch}.promo-landing-grants{text-align:left;flex-direction:column;align-self:stretch;gap:8px;margin-top:6px;display:flex}.promo-landing-grants h3{color:var(--muted);margin:0;font-size:13px;font-weight:550}.promo-landing-back{align-items:center;min-height:40px;margin:-4px -12px -10px;padding:0 12px;font-size:13.5px;display:inline-flex}@media (max-width:520px){.promo-landing{padding:26px 16px}.promo-landing-actions{flex-direction:column;align-self:stretch}.promo-landing-actions .button{width:100%}.promo-field{padding-left:12px}.promo-field .button{padding:0 12px}.promo-ticket-title{font-size:21px}}
