.faceswap-container{width:100%;max-width:600px;position:relative;z-index:100;height:100%;display:flex;flex-direction:column}.faceswap-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:30px;box-shadow:0 10px 40px #0000004d;border:6px solid #00d845;height:100%;display:flex;flex-direction:column}.faceswap-title{font-size:2rem;text-align:center;margin-bottom:30px;color:#000;font-weight:700}.upload-form{display:flex;flex-direction:column;gap:20px}.upload-area{min-height:300px;display:flex;align-items:center;justify-content:center;border:3px dashed rgba(0,216,69,.5);border-radius:15px;padding:20px;transition:all .3s ease}.upload-area:hover{border-color:#00d845;background:#00d8451a}.upload-label{display:flex;flex-direction:column;align-items:center;gap:15px;cursor:pointer;text-align:center;width:100%}.upload-icon{font-size:4rem}.upload-hint{font-size:.9rem;color:#000;opacity:.6}.upload-label p{color:#000}.file-input{display:none}.image-preview img,.result-image{max-width:100%;max-height:400px;border-radius:10px;box-shadow:0 4px 16px #0000004d}.result-container{display:flex;flex-direction:column;align-items:center;gap:15px;width:100%}.result-label{font-size:1.2rem;font-weight:600;color:#000;text-align:center}.button-group{display:flex;gap:15px;justify-content:center}.submit-btn,.reset-btn,.cancel-btn{padding:12px 30px;font-size:1.1rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.submit-btn{background:#00d845;color:#fff;box-shadow:0 4px 15px #00d84566}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #00d84599;background:#00c03d}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.reset-btn,.cancel-btn{background:#fff;color:#000;border:2px solid #00d845}.reset-btn:hover,.cancel-btn:hover:not(:disabled){background:#00d845;color:#fff;transform:translateY(-2px)}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.error-message{background:#f003;border:1px solid rgba(255,0,0,.5);color:#fcc;padding:15px;border-radius:10px;text-align:center}@media (max-width: 768px){.faceswap-container{max-width:100%}.faceswap-card{padding:20px 15px}.faceswap-title{font-size:1.5rem}.button-group{flex-direction:column}.submit-btn,.reset-btn,.cancel-btn{width:100%}}.voting-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease;padding:20px}.voting-modal-content{position:relative;width:95%;max-width:1400px;max-height:90vh;background:#fffffffa;border-radius:20px;padding:40px;border:6px solid #00d845;box-shadow:0 10px 50px #00d84580;overflow-y:auto}.voting-modal-close{position:absolute;top:10px;right:10px;background:red;color:#fff;border:none;border-radius:50%;width:50px;height:50px;font-size:2.5rem;line-height:1;cursor:pointer;font-weight:700;transition:all .3s ease;box-shadow:0 4px 12px #0000004d;z-index:10}.voting-modal-close:hover{background:#c00;transform:scale(1.1)}.vote-toast{position:fixed;top:80px;right:20px;background:#00d845;color:#000;padding:16px 24px;border-radius:8px;font-weight:700;font-size:1rem;box-shadow:0 4px 16px #00d84580;z-index:20000;animation:slideIn .3s ease}.voting-modal-header{text-align:center;margin-bottom:40px}.voting-modal-header h2{font-family:Bangers,cursive;font-size:3rem;color:#000;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,216,69,.3)}.voting-modal-header p{font-size:1.2rem;color:#00d845;font-weight:600}.voting-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:30px}.voting-gallery-item{background:#fff;border-radius:15px;overflow:visible;border:4px solid #00d845;transition:all .3s ease;box-shadow:0 4px 12px #0003;position:relative;z-index:1}.voting-gallery-item:hover{transform:scale(1.3);box-shadow:0 20px 60px #000c;z-index:100}.voting-image-container{position:relative;width:100%;padding-top:100%;overflow:hidden;background:#f0f0f0}.voting-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:all .3s ease}.voting-gallery-item:hover .voting-image{object-fit:contain}.voting-score{position:absolute;top:10px;right:10px;background:#000c;color:#00d845;padding:8px 12px;border-radius:8px;font-weight:700;font-size:1rem;border:2px solid #00d845}.voting-controls{display:flex;gap:10px;padding:15px;background:#00d8451a}.vote-btn{flex:1;padding:12px;border:2px solid #ddd;border-radius:8px;background:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.vote-btn.upvote{border-color:#00d845;color:#00d845}.vote-btn.upvote:hover{background:#00d845;color:#fff;transform:translateY(-2px)}.vote-btn.upvote.active{background:#00d845;color:#fff;box-shadow:0 0 15px #00d84599}.vote-btn.downvote{border-color:#f33;color:#f33}.vote-btn.downvote:hover{background:#f33;color:#fff;transform:translateY(-2px)}.vote-btn.downvote.active{background:#f33;color:#fff;box-shadow:0 0 15px #f339}@media (max-width: 1024px){.voting-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.voting-modal-content{padding:20px;max-height:95vh}.voting-modal-header h2{font-size:2rem}.voting-modal-header p{font-size:1rem}.voting-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.vote-btn{font-size:.9rem;padding:10px}.voting-modal-close{width:40px;height:40px;font-size:2rem}.vote-toast{top:70px;right:10px;font-size:.9rem;padding:12px 16px}}.gallery-container{width:100%;background:#fffffff2;border:6px solid #00d845;border-radius:20px;padding:30px;box-shadow:0 10px 40px #0000004d;position:relative;z-index:100;height:100%;display:flex;flex-direction:column}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;gap:20px}.gallery-header-left{text-align:left;flex:1}.gallery-title{font-size:2.5rem;font-weight:800;color:#000;text-shadow:2px 2px 4px rgba(0,216,69,.3);margin-bottom:10px}.gallery-subtitle{font-size:1.2rem;color:#000;margin-bottom:5px;text-shadow:1px 1px 2px rgba(0,216,69,.2)}.gallery-count{font-size:1rem;color:#00d845;font-style:italic;opacity:.9;font-weight:600}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;padding:20px 0;flex:1;overflow:hidden}.gallery-item{background:#fff;border-radius:20px;overflow:visible;border:6px solid #00d845;transition:all .3s ease;animation:fadeIn .5s ease-in;box-shadow:0 10px 25px #0006;padding:12px;display:flex;flex-direction:column;height:100%}.gallery-item:hover{transform:translateY(-8px) rotate(2deg);box-shadow:0 15px 35px #00d84599,0 0 0 6px #00d84566;border-color:#00d845}.gallery-image-container{position:relative;width:100%;padding-top:100%;overflow:hidden;background:#f0f0f0;border-radius:12px;border:2px solid #e0e0e0;flex-shrink:0}.gallery-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:hover .gallery-image{transform:scale(1.05)}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.gallery-item:hover .image-overlay{opacity:1}.view-full{color:#00d845;background:transparent;padding:10px 20px;border:2px solid #00d845;border-radius:8px;font-weight:600;transition:all .3s ease;cursor:pointer;font-size:1rem}.view-full:hover{background:#00d845;color:#000;transform:scale(1.05)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{position:relative;background:#fff;border-radius:15px;padding:15px;border:3px solid #00d845;box-shadow:0 10px 40px #00d84580;display:flex;align-items:center;justify-content:center}.modal-image{max-width:85vw;max-height:85vh;min-width:600px;min-height:600px;width:auto;height:auto;display:block;border-radius:10px;object-fit:contain}.modal-close{position:absolute;top:-15px;right:-15px;background:#00d845;color:#000;border:none;border-radius:50%;width:40px;height:40px;font-size:2rem;line-height:1;cursor:pointer;font-weight:700;transition:all .3s ease;box-shadow:0 4px 12px #0000004d}.modal-close:hover{background:#00c03d;transform:scale(1.1)}.gallery-item-quote{padding:12px;text-align:center;background:#00d8451a;font-size:.9rem;color:#000;font-style:italic;font-weight:600;border-top:2px solid #00d845;height:80px;display:flex;align-items:center;justify-content:center;margin-top:auto}.loading,.error,.empty-gallery{text-align:center;padding:60px 20px;font-size:1.2rem;color:#000}.error{color:#c00;background:#ffffffe6;border:2px solid #cc0000;border-radius:10px}.empty-gallery{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;border:2px solid #00d845}.empty-gallery p{margin:10px 0}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;padding:20px 0;margin-top:auto}.pagination-btn{background:#00d845;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.pagination-btn:hover:not(:disabled){background:#00c03d;transform:translateY(-2px)}.pagination-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.pagination-info{font-size:1rem;font-weight:600;color:#000}.vote-modal-btn{background:#00d845;color:#000;border:none;padding:16px 24px;border-radius:12px;font-family:Righteous,cursive;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;box-shadow:0 4px 12px #00d84566}.vote-modal-btn:hover{background:#00ff4d;transform:translateY(-3px);box-shadow:0 6px 20px #00d84599}.gallery-item-votes{display:flex;justify-content:space-around;padding:10px;background:#fffc;border-top:2px solid #00d845}.vote-count{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:5px}.vote-count.upvote{color:#00d845}.vote-count.downvote{color:#f33}.gallery-item-voting{display:flex;gap:10px;padding:10px;background:#00d8451a;border-top:2px solid #00d845;margin-top:auto}.gallery-vote-btn{flex:1;padding:10px;border:2px solid #ddd;border-radius:8px;background:#fff;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:6px}.gallery-vote-btn.upvote{border-color:#00d845;color:#00d845}.gallery-vote-btn.upvote:hover{background:#00d845;color:#fff;transform:translateY(-2px)}.gallery-vote-btn.upvote.active{background:#00d845;color:#fff;box-shadow:0 0 15px #00d84599}.gallery-vote-btn.downvote{border-color:#f33;color:#f33}.gallery-vote-btn.downvote:hover{background:#f33;color:#fff;transform:translateY(-2px)}.gallery-vote-btn.downvote.active{background:#f33;color:#fff;box-shadow:0 0 15px #f339}.gallery-toast{position:fixed;top:80px;right:20px;background:#00d845;color:#000;padding:16px 24px;border-radius:8px;font-weight:700;font-size:1rem;box-shadow:0 4px 16px #00d84580;z-index:20000;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.gallery-container{padding:20px 15px}.gallery-header{flex-direction:column;align-items:flex-start;margin-bottom:20px}.gallery-header-left{text-align:center;width:100%}.vote-modal-btn{width:100%;font-size:.9rem;padding:12px 16px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.gallery-title{font-size:2rem}.gallery-subtitle{font-size:1rem}}.scattered-memes{position:relative;width:100%;min-height:800px;z-index:0;margin-top:40px}.meme-item{position:absolute;opacity:1;transition:all .3s ease}.meme-item:hover{z-index:10}.meme-item:hover img{transform:scale(1.15)}.meme-item img{border-radius:15px;object-fit:contain;box-shadow:0 8px 24px #00000080;border:3px solid #00d845;display:block;transition:transform .3s ease;max-width:350px;max-height:350px;width:auto;height:auto}.scattered-quote{position:absolute;background:#000000e6;color:#00d845;padding:16px 20px;border-radius:10px;font-size:1.1rem;font-weight:600;border:2px solid #00d845;box-shadow:0 4px 12px #00d84566;font-style:italic;max-width:280px;text-align:center;z-index:1;transition:all .3s ease;cursor:pointer}.scattered-quote:hover{transform:scale(1.15);z-index:10;box-shadow:0 8px 20px #00d84599}@media (max-width: 1200px){.meme-item img{max-width:200px;max-height:200px}}@media (max-width: 768px){.meme-item img{max-width:150px;max-height:150px}.meme-quote{font-size:.7rem;max-width:150px}}.App{width:100%;max-width:95%;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:20px 10px;position:relative;z-index:1;margin:0 auto}.scrolling-text-container{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:-1;pointer-events:none;display:flex;flex-direction:column;justify-content:space-evenly;opacity:.35}.scrolling-text{white-space:nowrap;font-size:3rem;font-weight:900;color:#fff;text-shadow:0 0 15px rgba(0,216,69,.6),0 0 5px rgba(0,216,69,.4);letter-spacing:8px}.scrolling-text-1{animation:scrollLeft 30s linear infinite}.scrolling-text-2{animation:scrollRight 35s linear infinite}.scrolling-text-3{animation:scrollLeft 40s linear infinite}.scrolling-text-4{animation:scrollRight 32s linear infinite}.scrolling-text-5{animation:scrollLeft 38s linear infinite}@keyframes scrollLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scrollRight{0%{transform:translate(-50%)}to{transform:translate(0)}}.header{text-align:center;margin-bottom:40px;animation:fadeInDown 1s ease-in}.title{font-family:Bangers,cursive;font-size:5rem;font-weight:400;color:#fff;text-shadow:3px 3px 6px rgba(0,0,0,.8),0 0 20px rgba(0,216,69,.5);margin-bottom:10px;letter-spacing:5px;position:relative}.title:before,.title:after{content:"PASTERDICK";position:absolute;left:0;top:0;width:100%;height:100%;mix-blend-mode:screen}.title:before{color:#f0f;animation:glitchBefore 2s infinite}.title:after{color:#0ff;animation:glitchAfter 2.5s infinite}@keyframes glitchBefore{0%,to{transform:translate(0);opacity:0}5%{transform:translate(-8px,4px);opacity:1}10%{transform:translate(6px,-3px);opacity:.9}15%{transform:translate(-5px,2px);opacity:.8}20%{transform:translate(0);opacity:0}25%{transform:translate(7px,-4px);opacity:.95}30%{transform:translate(-6px,3px);opacity:.85}35%,90%{transform:translate(0);opacity:0}}@keyframes glitchAfter{0%,to{transform:translate(0);opacity:0}8%{transform:translate(9px,-5px);opacity:1}13%{transform:translate(-7px,4px);opacity:.9}18%{transform:translate(5px,-2px);opacity:.8}23%{transform:translate(0);opacity:0}28%{transform:translate(-8px,5px);opacity:.95}33%{transform:translate(6px,-3px);opacity:.85}38%,95%{transform:translate(0);opacity:0}}.subtitle{font-family:Righteous,cursive;font-size:1.5rem;color:#fff;margin-bottom:5px;font-weight:400;text-shadow:2px 2px 4px rgba(0,0,0,.7);letter-spacing:1px}.tagline{font-family:Righteous,cursive;font-size:1.1rem;color:#fff;font-style:normal;font-weight:400;text-shadow:1px 1px 3px rgba(0,0,0,.7);margin-bottom:10px;letter-spacing:.5px}.ca-social-container{display:flex;align-items:stretch;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:10px}.contract-address-container{display:inline-flex;align-items:center;gap:10px;background:#0006;border:3px solid rgba(255,255,255,.3);border-radius:12px;padding:12px 16px;transition:all .3s ease}.contract-address-container:hover{border-color:#00d84599;background:#00000080}.contract-address{font-size:1.1rem;color:#fff;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.8);font-family:monospace;letter-spacing:.5px;word-break:break-all;cursor:pointer;transition:color .2s ease}.contract-address:hover{color:#00d845}.copy-btn{background:#00d845;color:#000;border:none;padding:8px 16px;border-radius:6px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .3s ease;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.copy-btn:hover{background:#00ff4d;transform:translateY(-2px);box-shadow:0 4px 12px #00d84580}.copy-btn:active{transform:translateY(0)}.x-logo-link{display:flex;align-items:center;justify-content:center;min-width:60px;padding:12px 16px;background:#0006;border:3px solid rgba(255,255,255,.3);border-radius:12px;transition:all .3s ease;text-decoration:none}.x-logo-link:hover{border-color:#00d84599;background:#00000080;transform:translateY(-2px);box-shadow:0 4px 12px #00d84580}.x-logo{width:28px;height:28px;color:#fff;transition:color .3s ease}.x-logo-link:hover .x-logo{color:#00d845}.toast{position:fixed;top:20px;right:20px;background:#00d845;color:#000;padding:16px 24px;border-radius:8px;font-weight:700;font-size:1rem;box-shadow:0 4px 16px #00d84580;z-index:10000;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.main-content{width:100%;max-width:98vw;display:flex;flex-direction:column;gap:60px;align-items:center;position:relative;z-index:2}.top-section{width:100%;display:grid;grid-template-columns:400px 1fr;gap:30px;align-items:stretch}.footer{margin-top:auto;padding:20px;text-align:center;font-size:.9rem;color:#fff;opacity:.8;text-shadow:1px 1px 2px rgba(0,0,0,.7);position:relative;z-index:2}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.top-section{grid-template-columns:1fr}.main-content{max-width:100vw;padding:0 10px}.App{padding:20px 5px}}@media (max-width: 768px){.title{font-size:2.5rem}.subtitle{font-size:1rem;padding:0 10px}.tagline{font-size:.9rem;padding:0 10px}.contract-address-container{flex-direction:column;gap:8px;padding:10px 12px}.contract-address{font-size:.9rem}.copy-btn{width:100%;font-size:.85rem}.header{margin-bottom:30px}.main-content{max-width:100vw}.App{padding:10px 5px}.top-section{gap:20px}}@media (max-width: 480px){.title{font-size:1.8rem}.subtitle{font-size:.9rem}.tagline{font-size:.85rem}.contract-address{font-size:.75rem}.copy-btn{font-size:.8rem;padding:6px 12px}.toast{top:10px;right:10px;font-size:.9rem;padding:12px 16px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#00d845,#fff);min-height:100vh;color:#000}#root{width:100%;min-height:100vh}
