.dev-contact-btn{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#6b7280,#4b5563);border:none;color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(75,85,99,.4);transition:all .3s ease;z-index:999}.dev-contact-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(75,85,99,.6)}.dev-contact-btn:active{transform:scale(.95)}.dev-contact-btn svg{width:24px;height:24px}.dev-contact-btn.dev-contact-inline{position:static;width:auto;height:auto;padding:10px 16px;border-radius:8px;background:linear-gradient(135deg,#6b7280,#4b5563);color:white;font-weight:600;font-size:14px;gap:8px;box-shadow:0 2px 8px rgba(75,85,99,.3)}.dev-contact-btn.dev-contact-inline:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(75,85,99,.4)}.dev-contact-btn.dev-contact-inline svg{width:18px;height:18px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:white;border-radius:16px;padding:32px;max-width:400px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .3s ease;position:relative}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;cursor:pointer;color:#666;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.modal-close:hover{color:#000}.developer-info{text-align:center}.developer-info h2{font-size:24px;font-weight:700;margin:0 0 16px;color:#000}.developer-info .dev-name{font-size:14px;color:#666;margin:0 0 8px}.developer-info h3{font-size:28px;font-weight:700;margin:0 0 32px;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-links{display:flex;flex-direction:column;gap:12px}.contact-link{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;text-decoration:none;color:#000;transition:all .2s ease;border:2px solid #e5e7eb}.contact-link:hover{background:#f3f4f6;border-color:#6366f1;color:#6366f1}.contact-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-icon svg{width:100%;height:100%}.contact-name{font-weight:600;font-size:14px}@media (max-width:480px){.dev-contact-btn.dev-contact-inline{padding:8px 12px;font-size:12px;border-radius:8px;gap:6px}.dev-contact-btn.dev-contact-inline svg{width:16px;height:16px}.dev-contact-btn{bottom:16px;right:16px;width:48px;height:48px}.modal-content{padding:24px;max-width:100%}.developer-info h2{font-size:20px}.developer-info h3{font-size:24px}}.snackbar{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(16px);background:#1f2937;color:#fff;padding:16px 22px;border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.25);display:inline-flex;align-items:center;gap:14px;opacity:0;pointer-events:none;z-index:1000;transition:opacity .22s ease,transform .22s ease;min-width:320px;max-width:90vw}.snackbar-show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}.snackbar-loader{width:18px;height:18px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:9999px;animation:spin .9s linear infinite}.snackbar-message{font-size:16px;font-weight:600}@keyframes spin{to{transform:rotate(1turn)}}.loader-wrapper{position:fixed;inset:0;display:grid;place-items:center;background:#ffffff;z-index:2000}.loader{--duration:2s;--primary:rgba(39,94,254,1);--primary-light:#2f71ff;--primary-rgba:rgba(39,94,254,0);width:200px;height:320px;position:relative;transform-style:preserve-3d}.loader-caption{margin-top:18px;font-size:18px;font-weight:700;letter-spacing:.8px;color:#111827}@media (max-width:480px){.loader{zoom:.54}}.loader:after,.loader:before{--r:20.5deg;content:"";width:320px;height:140px;position:absolute;right:32%;bottom:-11px;background:#e8e8e8;transform:translateZ(200px) rotate(var(--r));animation:mask var(--duration) linear forwards infinite}.loader:after{--r:-20.5deg;right:auto;left:32%}.loader .ground{position:absolute;left:-50px;bottom:-120px;transform-style:preserve-3d;transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(1)}.loader .ground div{transform:rotateX(90deg) rotateY(0deg) translate(-48px,-120px) translateZ(100px) scale(0);width:200px;height:200px;background:linear-gradient(45deg,var(--primary) 0,var(--primary) 50%,var(--primary-light) 50%,var(--primary-light) 100%);transform-style:preserve-3d;animation:ground var(--duration) linear forwards infinite}.loader .ground div:after,.loader .ground div:before{--rx:90deg;--ry:0deg;--x:44px;--y:162px;--z:-50px;content:"";width:156px;height:300px;opacity:0;background:linear-gradient(var(--primary),var(--primary-rgba));position:absolute;transform:rotateX(var(--rx)) rotateY(var(--ry)) translate(var(--x),var(--y)) translateZ(var(--z));animation:ground-shine var(--duration) linear forwards infinite}.loader .ground div:after{--rx:90deg;--ry:90deg;--x:0;--y:177px;--z:150px}.loader .box{--x:0;--y:0;position:absolute;animation:var(--duration) linear forwards infinite;transform:translate(var(--x),var(--y))}.loader .box div{background-color:var(--primary);width:48px;height:48px;position:relative;transform-style:preserve-3d;animation:var(--duration) ease forwards infinite;transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(0)}.loader .box div:after,.loader .box div:before{--rx:90deg;--ry:0deg;--z:24px;--y:-24px;--x:0;content:"";position:absolute;background-color:inherit;width:inherit;height:inherit;transform:rotateX(var(--rx)) rotateY(var(--ry)) translate(var(--x),var(--y)) translateZ(var(--z));filter:brightness(var(--b,1.2))}.loader .box div:after{--rx:0deg;--ry:90deg;--x:24px;--y:0;--b:1.4}.loader .box.box0{--x:-220px;--y:-120px;left:58px;top:108px}.loader .box.box1{--x:-260px;--y:120px;left:25px;top:120px}.loader .box.box2{--x:120px;--y:-190px;left:58px;top:64px}.loader .box.box3{--x:280px;--y:-40px;left:91px;top:120px}.loader .box.box4{--x:60px;--y:200px;left:58px;top:132px}.loader .box.box5{--x:-220px;--y:-120px;left:25px;top:76px}.loader .box.box6{--x:-260px;--y:120px;left:91px;top:76px}.loader .box.box7{--x:-240px;--y:200px;left:58px;top:87px}.loader .box0{animation-name:box-move0}.loader .box0 div{animation-name:box-scale0}.loader .box1{animation-name:box-move1}.loader .box1 div{animation-name:box-scale1}.loader .box2{animation-name:box-move2}.loader .box2 div{animation-name:box-scale2}.loader .box3{animation-name:box-move3}.loader .box3 div{animation-name:box-scale3}.loader .box4{animation-name:box-move4}.loader .box4 div{animation-name:box-scale4}.loader .box5{animation-name:box-move5}.loader .box5 div{animation-name:box-scale5}.loader .box6{animation-name:box-move6}.loader .box6 div{animation-name:box-scale6}.loader .box7{animation-name:box-move7}.loader .box7 div{animation-name:box-scale7}@keyframes box-move0{12%{transform:translate(var(--x),var(--y))}25%,52%{transform:translate(0)}80%{transform:translateY(-32px)}90%,to{transform:translateY(188px)}}@keyframes box-scale0{6%{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(0)}14%,to{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(1)}}@keyframes box-move1{16%{transform:translate(var(--x),var(--y))}29%,52%{transform:translate(0)}80%{transform:translateY(-32px)}90%,to{transform:translateY(188px)}}@keyframes box-scale1{10%{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(0)}18%,to{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(1)}}@keyframes box-move2{20%{transform:translate(var(--x),var(--y))}33%,52%{transform:translate(0)}80%{transform:translateY(-32px)}90%,to{transform:translateY(188px)}}@keyframes box-scale2{14%{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(0)}22%,to{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(1)}}@keyframes box-move3{24%{transform:translate(var(--x),var(--y))}37%,52%{transform:translate(0)}80%{transform:translateY(-32px)}90%,to{transform:translateY(188px)}}@keyframes box-scale3{18%{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(0)}26%,to{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(1)}}@keyframes box-move4{28%{transform:translate(var(--x),var(--y))}41%,52%{transform:translate(0)}80%{transform:translateY(-32px)}90%,to{transform:translateY(188px)}}@keyframes box-scale4{22%{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(0)}30%,to{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(1)}}@keyframes box-move5{32%{transform:translate(var(--x),var(--y))}45%,52%{transform:translate(0)}80%{transform:translateY(-32px)}90%,to{transform:translateY(188px)}}@keyframes box-scale5{26%{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(0)}34%,to{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(1)}}@keyframes box-move6{36%{transform:translate(var(--x),var(--y))}49%,52%{transform:translate(0)}80%{transform:translateY(-32px)}90%,to{transform:translateY(188px)}}@keyframes box-scale6{30%{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(0)}38%,to{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(1)}}@keyframes box-move7{40%{transform:translate(var(--x),var(--y))}52%,53%{transform:translate(0)}80%{transform:translateY(-32px)}90%,to{transform:translateY(188px)}}@keyframes box-scale7{34%{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(0)}42%,to{transform:rotateY(-47deg) rotateX(-15deg) rotate(15deg) scale(1)}}@keyframes ground{0%,65%{transform:rotateX(90deg) rotateY(0deg) translate(-48px,-120px) translateZ(100px) scale(0)}75%,90%{transform:rotateX(90deg) rotateY(0deg) translate(-48px,-120px) translateZ(100px) scale(1)}to{transform:rotateX(90deg) rotateY(0deg) translate(-48px,-120px) translateZ(100px) scale(0)}}@keyframes ground-shine{0%,70%{opacity:0}75%,87%{opacity:.2}to{opacity:0}}@keyframes mask{0%,65%{opacity:0}66%,to{opacity:1}}