:root{--bg:#060814;--card-bg:#0b0d1a;--border:#181d33;--text:#f1f5f9;--text-muted:#64748b;--accent:#00f0ff;--accent-glow:#00f0ff26;--success:#39ff14;--success-glow:#39ff1426;--error:#ff073a;--error-glow:#ff073a26;--font-cyber:"Space Grotesk", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-cyber);background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}.grid-bg{z-index:0;pointer-events:none;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.15;background-size:40px 40px;width:100%;height:100%;position:fixed;inset:0}.radial-overlay{z-index:1;pointer-events:none;background:radial-gradient(circle,#0000 20%,#030409 100%);width:100%;height:100%;position:fixed;inset:0}.card{background:var(--card-bg);border:1px solid var(--border);border-top:4px solid var(--accent);box-sizing:border-box;z-index:10;border-radius:12px;width:100%;max-width:420px;padding:40px 30px;transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 25px 50px -12px #000000b3,0 0 25px #00f0ff0a}.card:before,.card:after{content:"";border:1px solid var(--accent);pointer-events:none;width:8px;height:8px;transition:border-color .5s;position:absolute}.card:before{border-top:none;border-right:none;bottom:-1px;left:-1px}.card:after{border-top:none;border-left:none;bottom:-1px;right:-1px}.spinner-container{justify-content:center;align-items:center;width:96px;height:96px;margin:1.5rem auto 2rem;display:flex;position:relative}.spinner{border:2px solid #00f0ff1a;border-radius:50%;width:100%;height:100%;transition:border-color .5s,box-shadow .5s;animation:1.2s cubic-bezier(.5,.12,.5,.88) infinite spin;position:absolute;border-top:2px solid var(--accent)!important;box-shadow:0 0 15px var(--accent-glow)!important}.spinner-inner{border:2px solid #ffffff05;border-left-color:#f0f;border-radius:50%;width:78%;height:78%;transition:border-color .5s;animation:.9s linear infinite spin-reverse;position:absolute}.spinner-center{border:1px solid var(--border);background:#0b0d1ae6;border-radius:50%;justify-content:center;align-items:center;width:50%;height:50%;display:flex;position:absolute}.spinner-icon{width:20px;height:20px;color:var(--accent);filter:drop-shadow(0 0 5px var(--accent-glow));transition:color .5s,filter .5s;animation:2s ease-in-out infinite pulse-icon}@keyframes pulse-icon{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.pulse-ring{animation:2s cubic-bezier(.215,.61,.355,1) infinite pulseRing}@keyframes pulseRing{0%{opacity:.8;transform:scale(.8)}80%,to{opacity:0;transform:scale(1.3)}}.status-badge-container{justify-content:center;margin-bottom:24px;display:flex}.status-badge{color:var(--accent);text-transform:uppercase;letter-spacing:1.5px;background:#00f0ff05;border:1px solid #00f0ff26;border-radius:4px;align-items:center;gap:8px;padding:6px 16px;font-size:11px;font-weight:700;transition:all .5s;display:inline-flex;box-shadow:inset 0 0 10px #00f0ff0d}.status-badge:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;transition:all .5s;animation:1.5s ease-in-out infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:.4}50%{opacity:1}}.download-btn{border:1px solid var(--success);width:100%;color:var(--success);text-transform:uppercase;letter-spacing:2px;cursor:pointer;background:#39ff1408;border-radius:4px;outline:none;justify-content:center;align-items:center;gap:.75rem;padding:14px 28px;font-size:13px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 0 15px #39ff141a}.download-btn:before{content:"";background:linear-gradient(90deg,#0000,#39ff1433,#0000);width:100%;height:100%;animation:3s infinite button-shimmer;position:absolute;top:0;left:-100%}@keyframes button-shimmer{0%{left:-100%}to{left:100%}}.download-btn:hover{background:#39ff1414;transform:translateY(-2px);box-shadow:0 0 25px #39ff1440}.download-btn:active{transform:translateY(0)scale(.98)}.progress-container{background:var(--border);border-radius:9999px;width:100%;height:4px;margin-top:1.5rem;overflow:hidden;box-shadow:inset 0 1px 3px #00000080}.progress-bar{background:linear-gradient(to right, var(--accent), #f0f);height:100%;box-shadow:0 0 10px var(--accent-glow);border-radius:9999px;transition:width .1s linear,background .5s}.warning-card{background:#ff073a05;border:1px solid #ff073a26;border-radius:8px;box-shadow:inset 0 0 15px #ff073a05}.info-card{background:#00f0ff05;border:1px solid #00f0ff26;border-radius:8px;box-shadow:inset 0 0 15px #00f0ff05}.separator{border-top:1px solid var(--border);margin:2rem 0}.tag{color:var(--accent);text-transform:uppercase;letter-spacing:1.5px;background:#00f0ff05;border:1px solid #00f0ff26;border-radius:4px;align-items:center;gap:6px;padding:5px 12px;font-size:10px;font-weight:700;display:inline-flex;box-shadow:inset 0 0 8px #00f0ff08}.fade-out{animation:.5s forwards fadeOut}.fade-in{animation:.6s forwards fadeIn}.slide-up{animation:.6s cubic-bezier(.16,1,.3,1) forwards slideUp}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.countdown-text{font-variant-numeric:tabular-nums}.card.state-processing{--accent:#f0f;--accent-glow:#ff00ff26;border-top-color:#f0f;box-shadow:0 25px 50px -12px #000000b3,0 0 25px #ff00ff0d}.card.state-processing:before,.card.state-processing:after{border-color:#f0f}.card.state-processing .spinner-inner{border-left-color:#00f0ff}.card.state-success{--accent:var(--success);--accent-glow:var(--success-glow);border-top-color:var(--success);box-shadow:0 25px 50px -12px #000000b3,0 0 25px #39ff140d}.card.state-success:before,.card.state-success:after{border-color:var(--success)}
