:root{--primary: #6c5ce7;--primary-light: #a29bfe;--accent: #fd79a8;--accent-2: #00cec9;--accent-3: #fdcb6e;--bg-dark: #0c0c1d;--bg-card: rgba(255, 255, 255, .08);--bg-card-solid: #1a1a2e;--text: #ffffff;--text-dim: rgba(255, 255, 255, .6);--danger: #ff6b6b;--success: #00b894;--radius: 16px;--radius-sm: 10px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-dark);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer;border:none;outline:none;-webkit-tap-highlight-color:transparent}input,textarea{font-family:inherit;outline:none;border:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;overflow:hidden;transition:opacity .8s ease}.celebration-overlay.active{opacity:1}.celebration-overlay.fading{opacity:0}.particle{position:absolute;will-change:transform,opacity;animation-timing-function:ease-in-out;animation-fill-mode:both;animation-iteration-count:infinite;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}.particle.falling{top:-10%;animation-name:particleFall}.particle.rising{bottom:-10%;animation-name:particleRise}@keyframes particleFall{0%{transform:translateY(0) rotate(0) scale(.5);opacity:0}8%{opacity:1;transform:translateY(8vh) rotate(15deg) scale(1)}50%{transform:translateY(55vh) rotate(var(--wobble, 20deg)) scale(1);opacity:1}85%{opacity:.7}to{transform:translateY(115vh) rotate(calc(var(--wobble, 20deg) * 2)) scale(.6);opacity:0}}@keyframes particleRise{0%{transform:translateY(0) rotate(0) scale(.5);opacity:0}8%{opacity:1;transform:translateY(-8vh) rotate(-10deg) scale(1)}50%{transform:translateY(-55vh) rotate(var(--wobble, -20deg)) scale(1.1);opacity:1}85%{opacity:.7}to{transform:translateY(-115vh) rotate(calc(var(--wobble, -20deg) * 2)) scale(.6);opacity:0}}.fx-wasted{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;animation:wastedShake .6s ease both}.wasted-tint{position:absolute;top:0;right:0;bottom:0;left:0;background:#640a0a80;animation:wastedTintIn .8s ease both}@keyframes wastedTintIn{0%{opacity:0;-webkit-backdrop-filter:grayscale(0) blur(0);backdrop-filter:grayscale(0) blur(0)}30%{opacity:1}to{opacity:1;-webkit-backdrop-filter:grayscale(.85) blur(1px);backdrop-filter:grayscale(.85) blur(1px)}}.wasted-text{position:relative;z-index:1;font-size:clamp(48px,12vw,96px);font-weight:900;color:#c41e1e;letter-spacing:12px;text-transform:uppercase;text-shadow:0 0 20px rgba(200,0,0,.8),0 0 60px rgba(200,0,0,.4),0 4px 0 #1a0000;animation:wastedTextIn .5s ease .3s both;font-family:Inter,Impact,sans-serif}@keyframes wastedTextIn{0%{opacity:0;transform:scale(3);filter:blur(20px)}60%{opacity:1;transform:scale(.95);filter:blur(0)}to{opacity:1;transform:scale(1)}}.wasted-sub{position:relative;z-index:1;font-size:14px;color:#ffffff80;letter-spacing:2px;animation:fadeIn .5s ease .8s both}@keyframes wastedShake{0%{transform:rotate(0)}15%{transform:rotate(-2deg) translate(-4px)}30%{transform:rotate(1.5deg) translate(3px)}45%{transform:rotate(-1deg) translate(-2px)}60%{transform:rotate(.5deg)}to{transform:rotate(-1deg)}}.fx-levelup{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:radial-gradient(circle at center,rgba(255,215,0,.1) 0%,transparent 70%)}.levelup-pixel{position:absolute;bottom:-5%;border-radius:2px;animation:pixelRise linear infinite;will-change:transform;image-rendering:pixelated}@keyframes pixelRise{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:1}50%{transform:translateY(-50vh) scale(1);opacity:1}to{transform:translateY(-110vh) scale(.5);opacity:0}}.levelup-text{position:relative;z-index:1;font-size:clamp(40px,10vw,72px);font-weight:900;color:gold;letter-spacing:6px;text-shadow:0 0 20px rgba(255,215,0,.6),0 0 40px rgba(255,215,0,.3),0 3px 0 #b8860b,0 6px 0 #8b6914;animation:levelupTextIn .6s cubic-bezier(.34,1.56,.64,1) both;font-family:Inter,sans-serif}@keyframes levelupTextIn{0%{opacity:0;transform:scale(.3) translateY(40px)}to{opacity:1;transform:scale(1) translateY(0)}}.levelup-bar-track{position:relative;z-index:1;width:clamp(180px,50vw,280px);height:14px;background:#00000080;border-radius:7px;border:2px solid rgba(255,215,0,.4);overflow:hidden;animation:fadeIn .3s ease .4s both}.levelup-bar-fill{height:100%;background:linear-gradient(90deg,#4ade80,#22d3ee,#a78bfa,#fbbf24);background-size:300% 100%;border-radius:5px;animation:xpFill 1.5s ease .5s both,shimmer 2s linear 2s infinite}@keyframes xpFill{0%{width:0%}to{width:100%}}.levelup-stars{position:relative;z-index:1;font-size:28px;color:gold;letter-spacing:12px;animation:levelupStars .5s ease 1.8s both;text-shadow:0 0 12px rgba(255,215,0,.6)}@keyframes levelupStars{0%{opacity:0;transform:scale(0) rotate(-20deg)}70%{transform:scale(1.2) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.fx-criticalhit{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;animation:critShake .4s ease both}@keyframes critShake{0%{transform:translate(0)}10%{transform:translate(-15px,10px)}20%{transform:translate(12px,-8px)}30%{transform:translate(-10px,6px)}40%{transform:translate(8px,-4px)}50%{transform:translate(-4px,2px)}60%{transform:translate(0)}}.crit-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;animation:critFlash .5s ease both}@keyframes critFlash{0%{opacity:.9}20%{opacity:.7}40%{opacity:0}to{opacity:0}}.crit-ring{position:absolute;width:80px;height:80px;top:50%;left:50%;margin-top:-40px;margin-left:-40px;border-radius:50%;border:3px solid rgba(255,100,50,.8);animation:critRingExpand 1.5s ease-out forwards;box-shadow:0 0 15px #ff643266,inset 0 0 15px #ff643233}@keyframes critRingExpand{0%{transform:scale(.5);opacity:1;border-width:4px}to{transform:scale(12);opacity:0;border-width:1px}}.crit-text{position:relative;z-index:2;font-size:clamp(36px,9vw,64px);font-weight:900;color:#f44;letter-spacing:4px;text-shadow:0 0 20px rgba(255,68,68,.8),0 0 60px rgba(255,68,68,.4),2px 2px 0 #440000;animation:critTextIn .3s ease .2s both;font-family:Inter,sans-serif}@keyframes critTextIn{0%{opacity:0;transform:scale(4) rotate(-5deg);filter:blur(10px)}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}.crit-damage{position:relative;z-index:2;font-size:clamp(56px,14vw,100px);font-weight:900;color:#fc0;text-shadow:0 0 30px rgba(255,204,0,.6),3px 3px 0 #664400;animation:critDamage .8s cubic-bezier(.34,1.56,.64,1) .4s both;font-family:Inter,sans-serif}@keyframes critDamage{0%{opacity:0;transform:scale(.2) translateY(30px)}60%{opacity:1;transform:scale(1.15) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.fx-nuke{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:15%}.nuke-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;animation:nukeFlash 1.2s ease both}@keyframes nukeFlash{0%{opacity:1}15%{opacity:1}40%{opacity:0}to{opacity:0}}.nuke-cloud{position:absolute;bottom:20%;display:flex;flex-direction:column;align-items:center;animation:nukeCloudRise 2s ease .5s both;filter:drop-shadow(0 0 40px rgba(255,100,0,.5))}@keyframes nukeCloudRise{0%{opacity:0;transform:translateY(100px) scale(.3)}40%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}.nuke-cap{width:clamp(120px,30vw,200px);height:clamp(60px,15vw,100px);background:radial-gradient(ellipse at 50% 80%,#f60,#c30 30%,#910,#520 70%,#3108);border-radius:50%;position:relative;z-index:2;animation:nukeCapPulse 2s ease-in-out 1.5s infinite}@keyframes nukeCapPulse{0%,to{transform:scaleX(1)}50%{transform:scaleX(1.05)}}.nuke-stem{width:clamp(30px,8vw,50px);height:clamp(60px,15vw,100px);background:linear-gradient(180deg,#c30,#930,#630 60%,#3208);margin-top:-10px;position:relative;z-index:1}.nuke-base{width:clamp(80px,20vw,130px);height:clamp(20px,5vw,35px);background:radial-gradient(ellipse,#ff880088 0%,#cc440044 50%,transparent 100%);border-radius:50%;margin-top:-8px}.nuke-text{position:relative;z-index:3;font-size:clamp(32px,8vw,56px);font-weight:900;color:#f40;letter-spacing:6px;text-shadow:0 0 30px rgba(255,68,0,.8),0 0 80px rgba(255,68,0,.4),0 4px 0 #330000;animation:nukeTextIn .5s ease 1.5s both;margin-bottom:20px;font-family:Inter,sans-serif}@keyframes nukeTextIn{0%{opacity:0;transform:scale(.5);filter:blur(10px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.nuke-shockwave{position:absolute;bottom:20%;left:50%;width:20px;height:10px;margin-left:-10px;border-radius:50%;border:2px solid rgba(255,150,50,.6);animation:nukeShockwave 2s ease-out .8s both}@keyframes nukeShockwave{0%{transform:scale(1);opacity:.8}to{transform:scale(60);opacity:0}}.phone-screen{height:100%;display:flex;flex-direction:column;align-items:center;padding:16px 20px}.phone-back-btn{align-self:flex-start;background:none;color:var(--primary-light);font-size:14px;font-weight:600;padding:8px 0;margin-bottom:4px}.phone-input-area{display:flex;align-items:center;margin-bottom:8px;min-height:56px;position:relative}.phone-input{flex:1;min-width:0;background:transparent;border:none;border-bottom:2px solid rgba(255,255,255,.1);padding:12px 36px;font-size:28px;font-weight:300;color:var(--text);text-align:center;letter-spacing:2px;caret-color:var(--primary-light);transition:border-color .2s}.phone-input:focus{border-color:var(--primary-light)}.phone-input::placeholder{color:var(--text-dim);font-weight:300;letter-spacing:1px;font-size:18px}.phone-backspace{position:absolute;right:0;top:50%;transform:translateY(-50%);background:none;color:var(--text-dim);font-size:22px;padding:6px;transition:color .15s,transform .1s}.phone-backspace:hover{color:var(--text)}.phone-backspace:active{transform:translateY(-50%) scale(.9);color:var(--danger)}.phone-hint{display:flex;align-items:center;gap:8px;padding:6px 14px;background:#6c5ce726;border:1px solid rgba(108,92,231,.25);border-radius:20px;cursor:pointer;margin-bottom:8px;animation:fadeIn .3s ease;transition:background .15s}.phone-hint:hover{background:#6c5ce740}.hint-label{font-size:11px;color:var(--text-dim)}.hint-number{font-size:13px;font-weight:700;color:var(--primary-light)}.dial-pad{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;animation:fadeIn .25s ease}.dial-row{display:flex;gap:14px;justify-content:center}.dial-key{width:72px;height:72px;border-radius:50%;background:#ffffff12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:all .12s ease;border:1px solid rgba(255,255,255,.06)}.dial-key:hover{background:#ffffff24;transform:scale(1.06)}.dial-key:active,.dial-key.pressed{transform:scale(.93);background:#6c5ce759;border-color:#6c5ce766}.dial-key-main{font-size:26px;font-weight:400;color:var(--text);line-height:1}.dial-key-sub{font-size:9px;font-weight:600;color:var(--text-dim);letter-spacing:1.5px}.call-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:200px;padding:14px;border-radius:30px;background:linear-gradient(135deg,var(--success),#00d2a0);color:#fff;font-size:16px;font-weight:700;letter-spacing:.5px;transition:all .2s ease;box-shadow:0 4px 15px #00b89466}.call-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #00b89480}.call-btn:active:not(:disabled){transform:translateY(0) scale(.97)}.call-btn:disabled{opacity:.35;cursor:not-allowed}.call-btn-icon{font-size:18px}.phone-dialing{justify-content:center;gap:20px;background:linear-gradient(180deg,rgba(108,92,231,.2) 0%,transparent 100%);animation:fadeIn .3s ease}.dialing-animation{position:relative;width:130px;height:130px;display:flex;align-items:center;justify-content:center}.pulse-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid var(--primary-light);animation:pulseRing 2s ease-out infinite}.pulse-ring.delay-1{animation-delay:.6s}.pulse-ring.delay-2{animation-delay:1.2s}@keyframes pulseRing{0%{transform:scale(.8);opacity:.8}to{transform:scale(2.2);opacity:0}}.caller-avatar{font-size:52px;animation:float 2s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(108,92,231,.4))}.dialing-number{font-size:24px;font-weight:600;letter-spacing:2px;animation:fadeIn .5s ease}.dialing-status{font-size:15px;color:var(--text-dim);animation:fadeIn .5s ease .2s both}.dialing-dots .dot{animation:dotBlink 1.4s ease-in-out infinite}.dot-1{animation-delay:0s}.dot-2{animation-delay:.2s}.dot-3{animation-delay:.4s}@keyframes dotBlink{0%,60%,to{opacity:0}30%{opacity:1}}.phone-connected{justify-content:center;gap:12px;background:linear-gradient(180deg,rgba(0,184,148,.15) 0%,transparent 100%);animation:fadeIn .4s ease}.connected-top{display:flex;flex-direction:column;align-items:center;gap:6px}.connected-indicator{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--success);font-weight:600;animation:fadeIn .4s ease}.connected-dot{width:8px;height:8px;border-radius:50%;background:var(--success);animation:connectedPulse 1.5s ease-in-out infinite;box-shadow:0 0 8px #00b89499}@keyframes connectedPulse{0%,to{opacity:1;box-shadow:0 0 8px #00b89499}50%{opacity:.3;box-shadow:0 0 2px #00b89433}}.connected-number{font-size:13px;color:var(--text-dim);letter-spacing:1px;animation:fadeIn .5s ease .2s both}.connected-message{font-size:36px;font-weight:900;text-align:center;max-width:320px;line-height:1.15;padding:8px 0;background:linear-gradient(135deg,var(--accent),var(--accent-3),var(--accent-2),var(--accent));background-size:300% 300%;animation:gradientShift 3s ease infinite,messageReveal .6s ease both;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 12px rgba(253,121,168,.3))}@keyframes messageReveal{0%{opacity:0;transform:scale(.7) translateY(10px);filter:blur(8px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}.connected-image-wrap{display:flex;align-items:center;justify-content:center;border-radius:16px;overflow:hidden;max-width:280px;width:100%;animation:messageReveal .6s ease .1s both}.connected-image{max-width:100%;max-height:200px;object-fit:contain;border-radius:16px;display:block}.call-timer{font-size:18px;color:var(--text-dim);font-variant-numeric:tabular-nums;animation:fadeIn .5s ease .3s both}.phone-failed{justify-content:center;gap:16px;background:linear-gradient(180deg,rgba(255,107,107,.1) 0%,transparent 100%);animation:fadeIn .3s ease}.failed-icon{font-size:72px;animation:shake .5s ease,failedPulse 2s ease-in-out .5s infinite}@keyframes shake{0%,to{transform:translate(0) rotate(0)}15%{transform:translate(-12px) rotate(-5deg)}30%{transform:translate(10px) rotate(4deg)}45%{transform:translate(-8px) rotate(-3deg)}60%{transform:translate(6px) rotate(2deg)}75%{transform:translate(-3px) rotate(-1deg)}}@keyframes failedPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.failed-message{font-size:16px;color:var(--text-dim);text-align:center;line-height:1.6;animation:fadeIn .4s ease .2s both}.failed-number{font-size:22px;font-weight:700;color:var(--danger);letter-spacing:1px;animation:fadeIn .4s ease .3s both}.failed-countdown{width:200px;height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-top:4px;animation:fadeIn .3s ease .4s both}.failed-countdown-bar{height:100%;background:linear-gradient(90deg,var(--danger),var(--accent));border-radius:2px;animation:countdownShrink 4s linear forwards}@keyframes countdownShrink{0%{width:100%}to{width:0%}}.end-call-btn{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--danger),#ff4757);color:#fff;font-size:14px;font-weight:700;margin-top:24px;transition:all .2s ease;box-shadow:0 4px 20px #ff6b6b80;display:flex;align-items:center;justify-content:center}.end-call-btn:hover{transform:scale(1.08);box-shadow:0 6px 25px #ff6b6b99}.end-call-btn:active{transform:scale(.95)}.end-call-icon{font-size:22px;font-weight:400}.end-call-btn-connected{width:72px;height:72px;animation:fadeIn .4s ease .4s both}@media (max-height: 700px){.dial-key{width:62px;height:62px}.dial-key-main{font-size:22px}.dial-pad{gap:8px}.dial-row{gap:12px}.connected-message{font-size:28px}}.contacts-screen{height:100%;display:flex;flex-direction:column;padding:16px}.contacts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-shrink:0}.contacts-header h2{font-size:18px;font-weight:700}.contacts-back{background:none;color:var(--primary-light);font-size:14px;font-weight:600;padding:4px 0}.contacts-add-btn{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:20px;font-weight:300;display:flex;align-items:center;justify-content:center;transition:transform .15s}.contacts-add-btn:active{transform:scale(.9)}.contacts-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;animation:fadeIn .5s ease}.empty-icon{font-size:48px;animation:float 3s ease-in-out infinite}.contacts-empty p{font-size:16px;font-weight:600}.empty-hint{font-size:14px!important;font-weight:400!important;color:var(--text-dim)}.add-first-btn{margin-top:8px;padding:10px 24px;border-radius:20px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:14px;font-weight:600;transition:transform .15s}.add-first-btn:active{transform:scale(.95)}.contact-items{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.contact-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.05);animation:staggerFadeIn .4s ease both;transition:background .15s,transform .15s;cursor:pointer}@keyframes staggerFadeIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.contact-item:hover{background:#ffffff1a}.contact-item:active{transform:scale(.98)}.contact-info{flex:1;min-width:0}.contact-number{font-size:16px;font-weight:700;margin-bottom:2px}.contact-message{font-size:13px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.contact-anim{font-size:20px}.contact-delete{width:28px;height:28px;border-radius:50%;background:#ff6b6b26;color:var(--danger);font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s}.contact-delete:hover{background:#ff6b6b4d}.delete-confirm{display:flex;gap:6px;animation:scaleIn .2s ease}.delete-confirm-yes{padding:4px 10px;border-radius:6px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;transition:opacity .15s}.delete-confirm-yes:active{opacity:.8}.delete-confirm-no{padding:4px 10px;border-radius:6px;background:#ffffff1a;color:var(--text-dim);font-size:11px;font-weight:600;transition:background .15s}.delete-confirm-no:hover{background:#ffffff26}.add-form{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:20px;animation:fadeIn .3s ease}.form-label{display:flex;flex-direction:column;gap:6px}.form-label>span:first-child{font-size:13px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.form-input{padding:12px 14px;background:var(--bg-card);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--text);font-size:15px;transition:border-color .2s}.form-input:focus{border-color:var(--primary-light)}.form-input::placeholder{color:#ffffff40}.form-textarea{resize:none;height:80px}.char-count{font-size:11px;color:var(--text-dim);text-align:right}.animation-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.anim-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:var(--bg-card);border-radius:var(--radius-sm);border:2px solid transparent;color:var(--text);transition:all .2s;position:relative;overflow:hidden}.anim-option:hover{background:#ffffff1a}.anim-option.selected{border-color:var(--primary-light);background:#6c5ce733}.anim-icon{font-size:24px;transition:transform .3s ease}.anim-option.selected .anim-icon{transform:scale(1.2)}.anim-label{font-size:10px;font-weight:500;color:var(--text-dim)}.anim-preview{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.anim-preview-particle{position:absolute;left:var(--px, 50%);bottom:10%;font-size:14px;animation:previewFloat 1s ease-out forwards}@keyframes previewFloat{0%{opacity:1;transform:translateY(0) scale(1)}60%{opacity:1}to{opacity:0;transform:translateY(-50px) scale(.5) rotate(20deg)}}.form-optional{font-size:10px;font-weight:400;color:var(--text-dim);text-transform:none;letter-spacing:0}.image-preview-wrap{margin-top:4px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-card);display:flex;align-items:center;justify-content:center;min-height:60px;border:1px solid rgba(255,255,255,.08)}.image-preview{max-width:100%;max-height:180px;object-fit:contain;display:none;border-radius:var(--radius-sm)}.contact-img-badge{margin-right:4px;font-size:12px}.save-btn{padding:14px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 15px #6c5ce766;margin-top:auto;margin-bottom:8px}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6c5ce780}.save-btn:disabled{opacity:.4;cursor:not-allowed}.share-screen{height:100%;display:flex;flex-direction:column;padding:16px}.share-back-btn{align-self:flex-start;background:none;color:var(--primary-light);font-size:14px;font-weight:600;padding:8px 0;margin-bottom:8px}.share-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;animation:fadeIn .5s ease;overflow-y:auto}.share-icon-big{font-size:56px;animation:float 3s ease-in-out infinite}.share-title{font-size:24px;font-weight:800;background:linear-gradient(135deg,var(--primary-light),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.share-desc{text-align:center;color:var(--text-dim);font-size:14px;max-width:280px;line-height:1.5}.share-stats{display:flex;gap:12px}.stat{display:flex;flex-direction:column;align-items:center;padding:10px 20px;background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.05)}.stat-number{font-size:24px;font-weight:800;color:var(--primary-light)}.stat-number.stat-warn{color:var(--accent-3)}.stat-label{font-size:11px;color:var(--text-dim)}.share-dial-picker{width:100%;max-width:340px;display:flex;flex-direction:column;gap:8px;animation:fadeIn .3s ease}.share-dial-label{font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;text-align:center}.share-dial-options{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.share-dial-option{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;background:var(--bg-card);border:2px solid transparent;color:var(--text);font-size:13px;transition:all .2s}.share-dial-option:hover{background:#ffffff1a}.share-dial-option.selected{border-color:var(--primary-light);background:#6c5ce733}.share-dial-icon{font-size:16px}.share-dial-number{font-weight:700}.share-warning{padding:8px 14px;background:#fdcb6e1f;border:1px solid rgba(253,203,110,.25);border-radius:10px;font-size:12px;color:var(--accent-3);text-align:center;max-width:300px;line-height:1.4;animation:fadeIn .3s ease}.share-empty{text-align:center}.share-empty p{color:var(--text-dim);font-size:14px;margin-bottom:12px}.share-add-btn{padding:10px 24px;border-radius:20px;background:var(--bg-card);border:1px solid rgba(255,255,255,.1);color:var(--primary-light);font-size:14px;font-weight:600;transition:all .15s}.share-add-btn:hover{background:#ffffff1a}.share-preview{width:100%;max-width:340px;background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);overflow:hidden;animation:scaleIn .25s ease}.share-preview-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.06)}.share-preview-close{background:none;color:var(--text-dim);font-size:14px;padding:2px 6px}.share-preview-list{max-height:180px;overflow-y:auto}.share-preview-item{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.04)}.share-preview-item:last-child{border-bottom:none}.share-preview-icon{font-size:18px;flex-shrink:0}.share-preview-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.share-preview-number{font-size:13px;font-weight:700}.share-preview-msg{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-actions{display:flex;gap:10px;align-items:center;margin-top:4px}.share-preview-toggle{padding:12px 20px;border-radius:30px;background:var(--bg-card);border:1px solid rgba(255,255,255,.1);color:var(--text-dim);font-size:14px;font-weight:600;transition:all .15s}.share-preview-toggle:hover{background:#ffffff1a;color:var(--text)}.share-copy-btn{padding:12px 28px;border-radius:30px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:15px;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px #6c5ce766;display:flex;align-items:center;gap:6px}.share-copy-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6c5ce780}.share-copy-btn:active{transform:translateY(0) scale(.97)}.share-copy-btn.copied{background:linear-gradient(135deg,var(--success),#00d2a0);box-shadow:0 4px 15px #00b89466}.copy-check{display:inline-flex;animation:copyPop .4s ease}@keyframes copyPop{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}.bg-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.bg-particle{position:absolute;background:#fff;animation:bgFloat linear infinite;will-change:transform}.bg-particle-circle{border-radius:50%}.bg-particle-square{border-radius:2px}.bg-particle-triangle{background:transparent;width:0!important;height:0!important;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:8px solid rgba(255,255,255,.5)}@keyframes bgFloat{0%{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(-30vh) translate(15px) rotate(90deg)}50%{transform:translateY(-10vh) translate(-10px) rotate(180deg)}75%{transform:translateY(-40vh) translate(20px) rotate(270deg)}to{transform:translateY(0) translate(0) rotate(360deg)}}.desktop-shell{width:100%;height:100%;position:relative;overflow:hidden;display:flex;flex-direction:column}.desktop-wallpaper{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0c0c1d,#1a1a3e,#2d1b69 50%,#0c0c1d);background-size:400% 400%;animation:gradientShift 15s ease infinite;z-index:0}.desktop-wallpaper:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 80%,rgba(108,92,231,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(253,121,168,.2) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(0,206,201,.1) 0%,transparent 60%)}.desktop-shell.party-mode .desktop-wallpaper{animation:gradientShift 2s ease infinite}.desktop-menubar{position:relative;z-index:10;height:32px;background:#0009;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:13px;font-weight:500}.menubar-logo{font-weight:700;background:linear-gradient(90deg,var(--accent),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer;transition:filter .2s}.menubar-logo:hover{filter:brightness(1.3)}.menubar-time{color:var(--text-dim);font-variant-numeric:tabular-nums}.desktop-home{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:60px}.desktop-greeting{text-align:center;animation:fadeIn .8s ease}.desktop-greeting h1{font-size:56px;font-weight:900;margin-bottom:8px;letter-spacing:-1px}.title-shimmer{background:linear-gradient(135deg,#fff 0%,var(--primary-light) 25%,var(--accent) 50%,var(--accent-3) 75%,#fff 100%);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:titleShimmer 6s ease infinite}@keyframes titleShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.desktop-greeting p{font-size:18px;color:var(--text-dim);animation:fadeIn .8s ease .2s both}.desktop-dock{display:flex;gap:8px;padding:12px 16px;background:#ffffff14;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.1)}.dock-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 20px;background:transparent;border-radius:14px;color:var(--text);transition:all .25s cubic-bezier(.34,1.56,.64,1);animation:dockBounceIn .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes dockBounceIn{0%{opacity:0;transform:translateY(30px) scale(.5)}to{opacity:1;transform:translateY(0) scale(1)}}.dock-item:hover{background:#ffffff1f;transform:translateY(-8px) scale(1.1)}.dock-item:active{transform:translateY(0) scale(.95)}.dock-icon{font-size:36px;line-height:1;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));position:relative}.dock-badge{position:absolute;top:-6px;right:-10px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #ff6b6b80;animation:badgePop .3s cubic-bezier(.34,1.56,.64,1)}.dock-label{font-size:11px;font-weight:500;color:var(--text-dim)}.desktop-window{position:relative;z-index:1;margin:40px auto;width:min(460px,calc(100% - 40px));height:calc(100% - 120px);background:#141428d9;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border-radius:12px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0d inset;overflow:hidden;display:flex;flex-direction:column;animation:windowOpen .35s cubic-bezier(.34,1.56,.64,1)}@keyframes windowOpen{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.window-titlebar{height:40px;background:#0000004d;display:flex;align-items:center;padding:0 14px;gap:8px;flex-shrink:0}.window-controls{display:flex;gap:8px}.window-btn{width:12px;height:12px;border-radius:50%;border:none;cursor:pointer;transition:filter .15s}.window-btn:hover{filter:brightness(1.3)}.window-btn.close{background:var(--accent)}.window-btn.minimize{background:var(--primary-light)}.window-btn.maximize{background:var(--accent-2)}.window-title{flex:1;text-align:center;font-size:13px;font-weight:600;color:var(--text-dim);margin-right:52px}.window-body{flex:1;overflow-y:auto;overflow-x:hidden}.mobile-shell{width:100%;height:100%;position:relative;overflow:hidden;display:flex;flex-direction:column}.mobile-wallpaper{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#0c0c1d,#1a1a3e,#2d1b69 60%,#1a0a2e);background-size:400% 400%;animation:gradientShift 15s ease infinite;z-index:0}.mobile-wallpaper:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 70%,rgba(108,92,231,.4) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(253,121,168,.25) 0%,transparent 50%)}.mobile-shell.party-mode .mobile-wallpaper{animation:gradientShift 2s ease infinite}.mobile-status-bar{position:relative;z-index:10;height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:14px;font-weight:600}.status-time{min-width:50px;font-variant-numeric:tabular-nums}.status-notch{width:120px;height:28px;background:#000;border-radius:0 0 20px 20px}.status-icons{display:flex;gap:4px;font-size:12px;min-width:50px;justify-content:flex-end}.mobile-home{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;padding:40px 20px;gap:50px}.mobile-greeting{cursor:pointer}.mobile-greeting h1{font-size:36px;font-weight:900;text-align:center;animation:fadeIn .6s ease}.mobile-app-grid{display:flex;gap:24px}.mobile-app-icon{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;color:var(--text);transition:transform .25s cubic-bezier(.34,1.56,.64,1);animation:appIconIn .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes appIconIn{0%{opacity:0;transform:scale(.3) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.mobile-app-icon:active{transform:scale(.85)}.app-icon-bg{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#6c5ce799,#fd79a866);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 4px 15px #0000004d;transition:all .2s ease;position:relative}.mobile-app-icon:active .app-icon-bg{box-shadow:0 2px 8px #0003}.app-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #ff6b6b80;animation:badgePop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes badgePop{0%{transform:scale(0)}to{transform:scale(1)}}.app-icon-label{font-size:12px;font-weight:500;color:var(--text-dim)}.mobile-app-view{position:relative;z-index:1;flex:1;overflow-y:auto;overflow-x:hidden;animation:mobileSlideIn .3s cubic-bezier(.25,.46,.45,.94)}@keyframes mobileSlideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.mobile-home-indicator{position:relative;z-index:10;height:24px;display:flex;align-items:center;justify-content:center}.mobile-home-indicator:after{content:"";width:134px;height:5px;background:#ffffff4d;border-radius:3px}.app-root{width:100%;height:100%;position:relative}.import-toast{position:fixed;bottom:40px;left:50%;transform:translate(-50%);z-index:10001;display:flex;align-items:center;gap:10px;padding:12px 20px;background:#141428e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(108,92,231,.3);border-radius:14px;color:var(--text);font-size:14px;font-weight:600;box-shadow:0 8px 30px #0006;cursor:pointer;animation:toastSlideUp .4s ease,toastFadeOut .4s ease 3.5s forwards;white-space:nowrap}.import-toast-icon{font-size:20px}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastFadeOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(10px)}}
