@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;800;900&family=Playfair+Display:ital,wght@0,700;1,700&display=swap";:root{--bg-dark:#07080f;--bg-card:#ffffff0a;--bg-card-hover:#ffffff14;--accent-gold:gold;--accent-gold-dim:#ffd70026;--accent-purple:#8b5cf6;--accent-purple-dim:#8b5cf633;--accent-green:#10b981;--accent-red:#ef4444;--text-primary:#fff;--text-secondary:#ffffff8c;--glass-border:#ffffff1a;--glass-border-active:#ffd70066;--font-main:"Outfit", sans-serif;--font-serif:"Playfair Display", serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-main);-webkit-user-select:none;user-select:none;min-height:100vh;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-ring{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes success-pop{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes aurora-terminal{0%{transform:translate(0)scale(1)rotate(0)}33%{transform:translate(5%,-3%)scale(1.05)rotate(2deg)}66%{transform:translate(-3%,5%)scale(.97)rotate(-1deg)}to{transform:translate(0)scale(1)rotate(0)}}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:20px}.glass-card.active{border-color:var(--glass-border-active);background:#ffd7000f;box-shadow:0 0 0 1px #ffd7001a,0 8px 32px #ffd7001a}.aurora-bg{z-index:-1;filter:blur(60px);background:radial-gradient(at 20%,#8b5cf62e 0%,#0000 55%),radial-gradient(at 80% 20%,#ffd7001f 0%,#0000 50%),radial-gradient(at 50% 90%,#10b98114 0%,#0000 50%);animation:25s ease-in-out infinite aurora-terminal;position:fixed;inset:0}.terminal-app{flex-direction:column;align-items:center;gap:0;min-height:100vh;padding:24px 16px 40px;display:flex;position:relative}.terminal-header{text-align:center;margin-bottom:32px;animation:.6s both fadeInUp}.terminal-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:4px;display:flex}.terminal-logo .logo-icon{background:linear-gradient(135deg, var(--accent-gold), #ff8c00);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex;box-shadow:0 0 20px #ffd7004d}.terminal-logo h1{font-family:var(--font-serif);background:linear-gradient(135deg, #fff 0%, var(--accent-gold) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:26px}.terminal-tagline{color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase;font-size:13px}.step-indicator{justify-content:center;align-items:center;gap:0;margin-bottom:28px;animation:.5s .2s both fadeIn;display:flex}.step-dot{border:2px solid var(--glass-border);width:32px;height:32px;color:var(--text-secondary);background:var(--bg-card);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:all .4s;display:flex;position:relative}.step-dot.active{border-color:var(--accent-gold);color:var(--accent-gold);background:var(--accent-gold-dim);box-shadow:0 0 16px #ffd7004d}.step-dot.done{border-color:var(--accent-green);color:var(--accent-green);background:#10b98126}.step-dot.done:before{content:"✓";font-size:14px}.step-dot.done span{display:none}.step-line{background:var(--glass-border);width:40px;height:2px;transition:background .4s}.step-line.done{background:var(--accent-green)}.screen{width:100%;max-width:480px;animation:.5s both fadeInUp}.screen-title{font-family:var(--font-serif);text-align:center;margin-bottom:6px;font-size:22px}.screen-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:24px;font-size:14px}.form-group{margin-bottom:16px}.form-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.form-input{background:var(--bg-card);border:1px solid var(--glass-border);width:100%;font-family:var(--font-main);color:var(--text-primary);border-radius:12px;outline:none;padding:14px 16px;font-size:16px;transition:border-color .2s,box-shadow .2s}.form-input::placeholder{color:#ffffff40}.form-input:focus{border-color:var(--accent-purple);box-shadow:0 0 0 3px #8b5cf626}.booster-carousel{-webkit-user-select:none;user-select:none;touch-action:pan-y;width:100%;position:relative}.carousel-track{justify-content:center;align-items:center;gap:10px;padding:12px 4px;display:flex}.carousel-card{border:2px solid var(--glass-border);background:var(--bg-card);cursor:pointer;border-radius:18px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.carousel-card.side{opacity:.45;width:90px;min-height:90px;padding:12px 8px;transform:scale(.88)}.carousel-card.side:hover{opacity:.7;transform:scale(.93)}.carousel-card.active{border-color:var(--accent-gold);background:var(--accent-gold-dim);width:148px;min-height:130px;padding:16px 12px;transform:scale(1);box-shadow:0 0 28px #ffd70040,0 0 0 1px #ffd70026}.carousel-icon{font-size:26px;line-height:1;transition:font-size .3s}.carousel-icon.main{font-size:44px}.carousel-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:700;transition:color .3s}.carousel-label.main{color:var(--accent-gold);letter-spacing:1px;font-size:16px}.carousel-desc{color:var(--text-secondary);text-align:center;margin-top:2px;font-size:10px;line-height:1.4}.carousel-arrow{border:1px solid var(--glass-border);color:#fff;cursor:pointer;z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-60%)}.carousel-arrow:hover{border-color:var(--accent-gold);color:var(--accent-gold);background:#ffd70026}.carousel-arrow.left{left:-6px}.carousel-arrow.right{right:-6px}.carousel-dots{justify-content:center;gap:6px;padding-top:4px;display:flex}.carousel-dot{background:var(--glass-border);cursor:pointer;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:all .2s}.carousel-dot.active{background:var(--accent-gold);border-radius:3px;width:18px;box-shadow:0 0 8px #ffd70080}.amount-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px;display:grid}.amount-btn{border:1px solid var(--glass-border);background:var(--bg-card);cursor:pointer;text-align:center;border-radius:16px;padding:20px 12px;transition:all .25s;position:relative}.amount-btn:hover{border-color:#ffd7004d;transform:translateY(-2px)}.amount-btn.selected{border-color:var(--accent-gold);background:var(--accent-gold-dim);transform:translateY(-2px)scale(1.02);box-shadow:0 0 24px #ffd70026}.amount-value{font-family:var(--font-serif);color:#fff;font-size:22px;display:block}.amount-btn.selected .amount-value{color:var(--accent-gold)}.amount-label{color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase;margin-top:4px;font-size:11px;display:block}.amount-popular{background:linear-gradient(135deg, var(--accent-gold), #ff8c00);color:#000;letter-spacing:1px;text-transform:uppercase;border-radius:20px;padding:2px 8px;font-size:9px;font-weight:800;position:absolute;top:-10px;right:10px}.custom-amount-wrapper{position:relative}.custom-amount-wrapper .currency-prefix{color:var(--text-secondary);pointer-events:none;font-weight:600;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.custom-amount-wrapper .form-input{padding-left:42px}.camera-area{aspect-ratio:3/4;border:1px solid var(--glass-border);background:#0a0a14;border-radius:20px;width:100%;max-height:420px;margin-bottom:16px;position:relative;overflow:hidden}.camera-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.camera-overlay{pointer-events:none;background:linear-gradient(#00000080 0%,#0000 30% 70%,#00000080 100%);position:absolute;inset:0}.camera-guide{pointer-events:none;border:2px dashed #ffd70066;border-radius:100px;width:180px;height:220px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.camera-canvas{display:none}.camera-placeholder{height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.camera-placeholder .cam-icon{opacity:.4;font-size:48px}.captured-preview{aspect-ratio:3/4;border:2px solid var(--accent-green);border-radius:20px;width:100%;max-height:420px;margin-bottom:16px;position:relative;overflow:hidden}.captured-preview img{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.preview-badge{color:#fff;letter-spacing:1px;background:#10b981e6;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700;position:absolute;top:12px;left:12px}.payment-card{text-align:center;margin-bottom:16px;padding:28px 24px}.payment-amount-display{font-family:var(--font-serif);color:var(--accent-gold);margin:12px 0;font-size:52px;line-height:1}.payment-amount-label{color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase;margin-bottom:24px;font-size:14px}.payment-methods{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:20px;display:flex}.payment-method-pill{border:1px solid var(--glass-border);background:var(--bg-card);color:#fff;cursor:pointer;border-radius:100px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.payment-method-pill:hover,.payment-method-pill.selected{border-color:var(--accent-gold);background:var(--accent-gold-dim);color:var(--accent-gold)}.payment-method-pill .method-icon{font-size:18px}.payment-instruction{color:#fffc;text-align:left;background:#8b5cf61a;border:1px solid #8b5cf64d;border-radius:12px;margin-bottom:16px;padding:14px 16px;font-size:14px}.payment-instruction strong{color:var(--accent-purple)}.payment-loading{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:40px;display:flex}.loader-ring{border:3px solid #ffd70033;border-top-color:var(--accent-gold);border-radius:50%;width:64px;height:64px;animation:1s linear infinite spin}.success-screen{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:40px 24px;animation:.6s both fadeInUp;display:flex}.success-icon-wrapper{width:100px;height:100px;position:relative}.success-icon{background:linear-gradient(135deg, var(--accent-green), #059669);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;font-size:40px;animation:.6s cubic-bezier(.175,.885,.32,1.275) both success-pop;display:flex;box-shadow:0 0 40px #10b98166}.success-ring{border:2px solid var(--accent-green);border-radius:50%;animation:1.5s ease-out infinite pulse-ring;position:absolute;inset:-10px}.success-title{font-family:var(--font-serif);background:linear-gradient(135deg, #fff, var(--accent-gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:30px}.success-subtitle{color:var(--text-secondary);max-width:320px;font-size:15px;line-height:1.6}.success-donor-card{align-items:center;gap:16px;width:100%;padding:16px 24px;display:flex}.success-photo{object-fit:cover;border:2px solid var(--accent-gold);border-radius:50%;width:64px;height:64px;transform:scaleX(-1)}.success-donor-info{text-align:left}.success-donor-name{font-size:17px;font-weight:700}.success-donor-booster{color:var(--accent-gold);margin-top:2px;font-size:13px}.success-donor-amount{color:var(--text-secondary);font-size:13px}.btn-primary{background:linear-gradient(135deg, var(--accent-gold) 0%, #ff8c00 100%);color:#000;width:100%;font-family:var(--font-main);letter-spacing:.5px;cursor:pointer;border:none;border-radius:14px;padding:16px 24px;font-size:16px;font-weight:800;transition:all .2s;box-shadow:0 4px 24px #ffd70040}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 32px #ffd70059}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{border:1px solid var(--glass-border);width:100%;color:var(--text-secondary);font-family:var(--font-main);cursor:pointer;background:0 0;border-radius:14px;margin-top:8px;padding:14px 24px;font-size:15px;font-weight:600;transition:all .2s}.btn-secondary:hover{border-color:var(--glass-border-active);color:#fff}.btn-danger{color:var(--accent-red);background:#ef444426;border-color:#ef444466}.btn-danger:hover{background:#ef444440}.btn-capture{cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 16px;transition:all .2s;display:flex;box-shadow:0 0 20px #ffffff1a}.btn-capture:hover{background:#ffffff4d;transform:scale(1.05)}.btn-capture .capture-inner{background:#fff;border-radius:50%;width:52px;height:52px}.btns-row{gap:10px;margin-top:8px;display:flex}.btns-row .btn-secondary{margin-top:0}.progress-bar{background:var(--glass-border);border-radius:3px;width:100%;max-width:480px;height:3px;margin-bottom:28px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent-purple), var(--accent-gold));border-radius:3px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}@keyframes count-flash{0%{opacity:0;transform:scale(1.5)}20%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:.6;transform:scale(.95)}}
