:root{--bg: #0a0a0a;--surface: #1e1e1e;--surface-2: #2a2a2a;--border: rgba(255, 255, 255, .08);--island-border: rgba(255, 255, 255, .07);--island-shadow: 0 8px 28px rgba(0, 0, 0, .35);--text: #f2f2f2;--muted: rgba(255, 255, 255, .58);--accent: #e23b3b;--accent-bright: #ff4d4d;--error: #ff6b6b;--font-head: "Oswald", "Inter", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Courier New", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-body)}body{overflow-x:hidden;position:relative}body.loading{overflow:hidden}.admin-bg-stack{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.admin-floating-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:url(https://admin.impala.rest/static/saints/bg.png) center / cover no-repeat;opacity:.92;filter:grayscale(1) contrast(1.18) brightness(.72);animation:floatBg 36s ease-in-out infinite}.admin-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.admin-vignette:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(90% 70% at 50% 38%,transparent 18%,rgba(0,0,0,.55) 72%,rgba(0,0,0,.92) 100%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 28%,transparent 55%,rgba(0,0,0,.88) 100%)}.admin-vignette:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.7;background:radial-gradient(45% 35% at 18% 12%,rgba(255,255,255,.12),transparent 58%),radial-gradient(40% 30% at 82% 78%,rgba(226,59,59,.12),transparent 55%)}@keyframes floatBg{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(0,-10px,0) scale(1.015)}}.login-blur{display:none}@media(min-width:721px){.login-blur{display:block;position:fixed;top:0;left:50%;transform:translate(-50%);width:42rem;max-width:90vw;height:100%;z-index:3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-left:1px solid rgba(255,255,255,.05);border-right:1px solid rgba(255,255,255,.05);pointer-events:none}}.boot-curtain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;background:var(--bg);transition:opacity .65s ease,visibility .65s ease}.boot-curtain--exiting{opacity:0;visibility:hidden;pointer-events:none}.boot-heart-wrap{position:relative;width:min(88vw,320px);height:min(52vw,220px);display:flex;align-items:center;justify-content:center}.boot-heart-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.boot-heart-ascii{position:relative;z-index:1;font-family:var(--font-mono);font-size:9px;line-height:8px;white-space:pre;-webkit-user-select:none;user-select:none;transform-origin:center;animation:heart-beat 1.8s ease-in-out infinite}@keyframes heart-beat{0%,40%,to{transform:scale(1)}8%{transform:scale(1.06)}16%{transform:scale(1)}24%{transform:scale(1.035)}}.boot-curtain__bar{position:relative;font-family:var(--font-mono);font-size:.82rem;letter-spacing:.22em;color:#ffffff29;white-space:nowrap;-webkit-user-select:none;user-select:none}.boot-curtain__bar-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:0%;overflow:hidden;color:var(--accent-bright);white-space:nowrap;text-shadow:0 0 12px rgba(226,59,59,.55);transition:width .12s linear}.boot-curtain__pct{margin:0;font-family:var(--font-mono);color:var(--muted);font-size:.78rem;letter-spacing:.3em;font-variant-numeric:tabular-nums}.boot-curtain__hint{margin:0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#ffffff52}.page{position:relative;z-index:4;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 14px;opacity:0;transform:translateY(10px);transition:opacity .55s ease .1s,transform .55s ease .1s}body.ready .page{opacity:1;transform:none}.panel{width:100%;max-width:28rem;position:relative;background:transparent;border:none;border-radius:0;padding:12px 16px;box-shadow:none;overflow:visible;animation:panelIn .45s ease both}.panel-wide{max-width:28rem}@keyframes panelIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.panel-inner{position:relative;z-index:1}.login-hero{display:block;width:100%;max-width:11rem;height:auto;margin:0 auto 18px;object-fit:contain;animation:loader-glitch 2.4s steps(1,end) infinite}@keyframes loader-glitch{0%,86%,to{filter:none;transform:none}88%{filter:drop-shadow(-3px 0 rgba(255,40,80,.85)) drop-shadow(3px 0 rgba(0,220,255,.85));transform:translate(2px)}91%{filter:drop-shadow(3px 0 rgba(255,40,80,.85)) drop-shadow(-3px 0 rgba(0,220,255,.85));transform:translate(-2px)}94%{filter:none;transform:none}}.brand-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}.brand-logo{width:36px;height:36px;object-fit:contain}.brand-text{font-family:var(--font-head);font-size:1rem;font-weight:500;color:#fff;letter-spacing:.04em}.title{font-family:var(--font-head);font-size:clamp(1.35rem,4vw,1.75rem);font-weight:500;margin:0 0 8px;text-align:center;color:#fff;letter-spacing:.04em}.title.accent{color:var(--accent-bright)}.muted{color:var(--muted);font-size:.92rem;margin:0 0 18px;text-align:center;line-height:1.5}.muted.small{font-size:.8rem;margin-top:12px}.center{text-align:center}.store-pitch{margin:0 0 16px;text-align:center;color:var(--muted);font-size:.92rem;line-height:1.5}.reveal-up{opacity:0;animation:revealUp .55s cubic-bezier(.22,1,.36,1) both}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}@keyframes revealUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.price-tag{text-align:center;margin:4px 0 18px;padding:14px 10px;border-radius:16px;border:1px solid var(--island-border);background:var(--surface);box-shadow:var(--island-shadow)}.price-usd{display:block;font-family:var(--font-head);font-size:2.2rem;font-weight:500;color:#fff;line-height:1.1}.price-label{display:block;margin-top:4px;font-family:var(--font-mono);font-size:.72rem;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}.feature-list{list-style:none;margin:0 0 20px;padding:12px 12px 4px;display:grid;gap:7px;max-height:280px;overflow-y:auto;border-radius:14px;border:1px solid var(--island-border);background:var(--surface);box-shadow:var(--island-shadow);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.feature-list li{display:flex;align-items:center;gap:10px;font-size:.88rem;color:#ffffffc7}.feature-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px #e23b3b73;flex-shrink:0}.asset-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.asset-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 10px;border-radius:12px;border:1px solid var(--island-border);background:var(--surface);color:var(--muted);font-weight:600;cursor:pointer;transition:transform .2s ease,border-color .2s ease,color .2s ease}.asset-btn:hover{transform:translateY(-1px);color:#fff}.asset-btn.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--island-border));color:#fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.checkout-block--instant,.checkout-block--instant .checkout-pay,.checkout-block--instant .asset-toggle,.checkout-block--instant .muted{animation:none!important;opacity:1!important;transform:none!important}.checkout-pay{margin-top:0}.checkout-block--settling .btn-main:hover:not(:disabled),.checkout-block--settling .btn-main:hover:not(:disabled) .btn-label,.checkout-block--settling .btn-main:hover:not(:disabled):before,.checkout-block--settling .btn-main:hover:not(:disabled):after{animation:none!important;transform:none!important;text-shadow:none!important}.asset-icon-img{width:22px;height:22px;object-fit:contain;flex-shrink:0;background:transparent}.btn-main:hover:not(:disabled){animation:button-glitch-shake 3.2s ease-in-out infinite}.btn-main:hover:not(:disabled) .btn-label{animation:button-glitch-text 3.2s ease-in-out infinite}.btn{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:0 16px;border:none;border-radius:0;background:transparent;color:#fff;text-decoration:none;font-size:1.02rem;font-weight:500;letter-spacing:.04em;cursor:pointer;overflow:visible;box-sizing:border-box}.btn-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none}.btn-label{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-main:before,.btn-main:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(https://admin.impala.rest/static/saints/button.png) center / 100% 100% no-repeat;opacity:0;pointer-events:none;mix-blend-mode:screen;z-index:1}.btn-main:before{filter:hue-rotate(-15deg) saturate(3.5) brightness(1.4)}.btn-main:after{filter:hue-rotate(175deg) saturate(3.5) brightness(1.4)}.btn-main:hover:not(:disabled):before{animation:button-glitch-ghost-a 3.2s ease-in-out infinite}.btn-main:hover:not(:disabled):after{animation:button-glitch-ghost-b 3.2s ease-in-out infinite;animation-delay:.05s}@keyframes button-glitch-shake{0%{transform:translate(-1px,1px)}4%{transform:translate(1px,-1px)}8%,45%{transform:translate(0)}48%{transform:translate(1px)}52%,to{transform:translate(0)}}@keyframes button-glitch-text{0%{text-shadow:-1px 0 rgba(255,40,80,.6),1px 0 rgba(0,220,255,.6)}4%{text-shadow:1px 0 rgba(255,40,80,.6),-1px 0 rgba(0,220,255,.6)}8%,45%{text-shadow:none}48%{text-shadow:-1px 0 rgba(255,40,80,.5),1px 0 rgba(0,220,255,.5)}52%,to{text-shadow:none}}@keyframes button-glitch-ghost-a{0%{opacity:.5;transform:translate(-2px)}4%{opacity:.35;transform:translate(-1px)}8%,45%{opacity:0;transform:translate(0)}48%{opacity:.4;transform:translate(-2px)}52%,to{opacity:0;transform:translate(0)}}@keyframes button-glitch-ghost-b{0%{opacity:.5;transform:translate(2px)}4%{opacity:.35;transform:translate(1px)}8%,45%{opacity:0;transform:translate(0)}48%{opacity:.4;transform:translate(2px)}52%,to{opacity:0;transform:translate(0)}}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{min-height:44px;background:var(--surface);border:1px solid var(--island-border);border-radius:12px;box-shadow:var(--island-shadow);color:var(--muted);font-size:.92rem}.btn.ghost:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--island-border));color:#fff;transform:translateY(-1px)}.stack{display:flex;flex-direction:column;gap:10px}.payment-box{border-radius:16px;border:1px solid var(--island-border);background:var(--surface);box-shadow:var(--island-shadow);padding:14px}.waiting-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.pay-title{margin:0;font-family:var(--font-head);font-size:1.05rem;color:#fff}.spinner-ring{width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.12);border-top-color:var(--accent);animation:spin .9s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.copy-field{margin-bottom:10px}.copy-label{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px}.copy-value{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--island-border);background:var(--surface-2);color:#fff;font-size:.82rem;cursor:pointer;text-align:left;transition:border-color .2s,transform .15s}.copy-value:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--island-border));transform:translateY(-1px)}.copy-value.mono span:first-child{font-family:var(--font-mono);word-break:break-all}.copy-badge{flex-shrink:0;font-size:.68rem;font-weight:700;color:var(--accent-bright);text-transform:uppercase}.scan-line{height:2px;margin:14px 0 10px;background:linear-gradient(90deg,transparent,rgba(226,59,59,.75),transparent);animation:scan 2.2s ease-in-out infinite}@keyframes scan{0%{transform:translate(-120%);opacity:0}40%{opacity:1}to{transform:translate(120%);opacity:0}}.payment-actions{display:flex;flex-direction:column;gap:10px;margin-top:10px}.open-wallet,.no-margin{margin:0}.inline-link{color:var(--accent-bright);text-decoration:none;border-bottom:1px solid rgba(226,59,59,.35)}.inline-link:hover{color:#fff}.success-burst{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;pointer-events:none;background:radial-gradient(circle at 30% 20%,rgba(226,59,59,.18),transparent 35%),radial-gradient(circle at 70% 80%,rgba(255,255,255,.08),transparent 40%);animation:burst 1.8s ease-out both}@keyframes burst{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.register-form{margin-top:4px}.field-label{display:block;margin:0 0 6px;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--island-border);background:var(--surface);color:#fff;font-size:15px;margin-bottom:14px;outline:none;transition:border-color .2s,box-shadow .2s}.input::placeholder{color:#ffffff47}.input:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--island-border));box-shadow:0 0 0 3px #e23b3b26}.err{color:var(--error);font-size:.88rem;margin:0 0 12px;text-align:center}.code{display:block;margin-top:8px;padding:12px;background:var(--surface);border-radius:10px;border:1px solid var(--island-border);word-break:break-all;font-family:var(--font-mono);font-size:13px;color:var(--accent-bright)}@media(prefers-reduced-motion:reduce){.btn-main:hover:not(:disabled),.btn-main:hover:not(:disabled) .btn-label,.btn-main:hover:not(:disabled):before,.btn-main:hover:not(:disabled):after{animation:none}}
