:root { --primary: #fe2c55; --secondary: #25f4ee; --text: #ffffff; --background: #121212; --card-bg: #1f1f1f; } body { font-family: 'Roboto', sans-serif; margin: 0; padding: 0; background-color: var(--background); color: var(--text); min-height: 100vh; display: flex; flex-direction: column; } .header { background-color: var(--background); color: var(--text); padding: 1rem; text-align: center; } .hero-container { position: relative; padding: 50px 0; text-align: center; overflow: hidden; } .glitch { font-size: clamp(40px, 10vw, 100px); line-height: 1; display: inline-block; color: #fff; z-index: 2; letter-spacing: 10px; filter: drop-shadow(0 1px 3px); position: relative; } .glitch span { animation: paths 5s step-end infinite; } .glitch::before, .glitch::after { content: attr(data-text); position: absolute; width: 110%; z-index: -1; } .glitch::before { top: 10px; left: 15px; color: var(--primary); animation: paths 5s step-end infinite, opacity 5s step-end infinite, font 8s step-end infinite, movement 10s step-end infinite; } .glitch::after { top: 5px; left: -10px; color: var(--secondary); animation: paths 5s step-end infinite, opacity 5s step-end infinite, font 7s step-end infinite, movement 8s step-end infinite; } .hero-container::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.5; filter: blur(5px); background: url(https://images.unsplash.com/photo-1602136773736-34d445b989cb?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1200&q=80) center no-repeat; background-size: cover; z-index: -1; } @keyframes paths { 0% { clip-path: polygon(0% 43%, 83% 43%, 83% 22%, 23% 22%, 23% 24%, 91% 24%, 91% 26%, 18% 26%, 18% 83%, 29% 83%, 29% 17%, 41% 17%, 41% 39%, 18% 39%, 18% 82%, 54% 82%, 54% 88%, 19% 88%, 19% 4%, 39% 4%, 39% 14%, 76% 14%, 76% 52%, 23% 52%, 23% 35%, 19% 35%, 19% 8%, 36% 8%, 36% 31%, 73% 31%, 73% 16%, 1% 16%, 1% 56%, 50% 56%, 50% 8%); } 5% { clip-path: polygon(0% 29%, 44% 29%, 44% 83%, 94% 83%, 94% 56%, 11% 56%, 11% 64%, 94% 64%, 94% 70%, 88% 70%, 88% 32%, 18% 32%, 18% 96%, 10% 96%, 10% 62%, 9% 62%, 9% 84%, 68% 84%, 68% 50%, 52% 50%, 52% 55%, 35% 55%, 35% 87%, 25% 87%, 25% 39%, 15% 39%, 15% 88%, 52% 88%); } 30% { clip-path: polygon(0% 53%, 93% 53%, 93% 62%, 68% 62%, 68% 37%, 97% 37%, 97% 89%, 13% 89%, 13% 45%, 51% 45%, 51% 88%, 17% 88%, 17% 54%, 81% 54%, 81% 75%, 79% 75%, 79% 76%, 38% 76%, 38% 28%, 61% 28%, 61% 12%, 55% 12%, 55% 62%, 68% 62%, 68% 51%, 0% 51%, 0% 92%, 63% 92%, 63% 4%, 65% 4%); } 45% { clip-path: polygon(0% 33%, 2% 33%, 2% 69%, 58% 69%, 58% 94%, 55% 94%, 55% 25%, 33% 25%, 33% 85%, 16% 85%, 16% 19%, 5% 19%, 5% 20%, 79% 20%, 79% 96%, 93% 96%, 93% 50%, 5% 50%, 5% 74%, 55% 74%, 55% 57%, 96% 57%, 96% 59%, 87% 59%, 87% 65%, 82% 65%, 82% 39%, 63% 39%, 63% 92%, 4% 92%, 4% 36%, 24% 36%, 24% 70%, 1% 70%, 1% 43%, 15% 43%, 15% 28%, 23% 28%, 23% 71%, 90% 71%, 90% 86%, 97% 86%, 97% 1%, 60% 1%, 60% 67%, 71% 67%, 71% 91%, 17% 91%, 17% 14%, 39% 14%, 39% 30%, 58% 30%, 58% 11%, 52% 11%, 52% 83%, 68% 83%); } 76% { clip-path: polygon(0% 26%, 15% 26%, 15% 73%, 72% 73%, 72% 70%, 77% 70%, 77% 75%, 8% 75%, 8% 42%, 4% 42%, 4% 61%, 17% 61%, 17% 12%, 26% 12%, 26% 63%, 73% 63%, 73% 43%, 90% 43%, 90% 67%, 50% 67%, 50% 41%, 42% 41%, 42% 46%, 50% 46%, 50% 84%, 96% 84%, 96% 78%, 49% 78%, 49% 25%, 63% 25%, 63% 14%); } 90% { clip-path: polygon(0% 41%, 13% 41%, 13% 6%, 87% 6%, 87% 93%, 10% 93%, 10% 13%, 89% 13%, 89% 6%, 3% 6%, 3% 8%, 16% 8%, 16% 79%, 0% 79%, 0% 99%, 92% 99%, 92% 90%, 5% 90%, 5% 60%, 0% 60%, 0% 48%, 89% 48%, 89% 13%, 80% 13%, 80% 43%, 95% 43%, 95% 19%, 80% 19%, 80% 85%, 38% 85%, 38% 62%); } 1%, 7%, 33%, 47%, 78%, 93% { clip-path: none; } } @keyframes movement { 0% { top: 0px; left: -20px; } 15% { top: 10px; left: 10px; } 60% { top: 5px; left: -10px; } 75% { top: -5px; left: 20px; } 100% { top: 10px; left: 5px; } } @keyframes opacity { 0% { opacity: 0.1; } 5% { opacity: 0.7; } 30% { opacity: 0.4; } 45% { opacity: 0.6; } 76% { opacity: 0.4; } 90% { opacity: 0.8; } 1%, 7%, 33%, 47%, 78%, 93% { opacity: 0; } } @keyframes font { 0% { font-weight: 100; color: #e0287d; filter: blur(3px); } 20% { font-weight: 500; color: #fff; filter: blur(0); } 50% { font-weight: 300; color: #1bc7fb; filter: blur(2px); } 60% { font-weight: 700; color: #fff; filter: blur(0); } 90% { font-weight: 500; color: #e0287d; filter: blur(6px); } } .search-container { display: flex; justify-content: center; margin: 1rem 0; gap: 0.5rem; } .search-input { width: 60%; padding: 0.75rem; font-size: 1rem; background-color: var(--card-bg); color: var(--text); border: 1px solid var(--primary); border-radius: 4px; } .search-type { padding: 0.75rem; font-size: 1rem; background-color: var(--card-bg); color: var(--text); border: 1px solid var(--primary); border-radius: 4px; } .search-button { padding: 0.75rem 1.5rem; font-size: 1rem; background-color: var(--primary); color: var(--text); border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s ease; } .search-button:hover { background-color: #ff4d79; } .content { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; padding: 1rem; flex-grow: 1; } .video-card, .image-card { width: 300px; background-color: var(--card-bg); border-radius: 8px; overflow: hidden; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .video-cover, .image-cover { width: 100%; height: 200px; object-fit: cover; } .video-info, .image-info { padding: 1rem; } .video-title, .image-title { font-weight: bold; margin-bottom: 0.5rem; } .video-author { color: #888; } .video-actions, .image-actions { display: flex; justify-content: space-between; margin-top: 0.5rem; } .action-button { padding: 0.5rem 1rem; font-size: 1rem; background-color: var(--primary); color: var(--text); border: none; cursor: pointer; border-radius: 4px; transition: background-color 0.3s ease; } .action-button:hover { background-color: #ff4d79; } .floating-video { position: fixed; bottom: 20px; right: 20px; width: 300px; background-color: var(--card-bg); border-radius: 8px; overflow: hidden; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .floating-video video { width: 100%; } .floating-controls { display: flex; justify-content: space-between; padding: 0.5rem; background-color: rgba(0, 0, 0, 0.5); } .floating-button { padding: 0.25rem 0.5rem; font-size: 0.875rem; background-color: var(--secondary); color: var(--text); border: none; cursor: pointer; border-radius: 4px; transition: background-color 0.3s ease; } .floating-button:hover { background-color: #20d8d8; } .footer { background-color: var(--card-bg); color: var(--text); text-align: center; padding: 1rem; margin-top: auto; } .footer a { color: var(--secondary); text-decoration: none; } .footer a:hover { text-decoration: underline; } .modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.8); } .modal-content { margin: 5% auto; padding: 20px; width: 90%; max-width: 1200px; background-color: var(--card-bg); border-radius: 8px; } .close { color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer; } .close:hover, .close:focus { color: #fff; text-decoration: none; cursor: pointer; } .modal-images { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; } .modal-image { max-width: 100%; height: auto; border-radius: 4px; } @media (max-width: 768px) { .search-container { flex-direction: column; align-items: center; } .search-input, .search-type, .search-button { width: 90%; margin-bottom: 0.5rem; } .video-card, .image-card { width: 100%; } } .loader { display: none; border: 5px solid #f3f3f3; border-top: 5px solid var(--primary); border-radius: 50%; width: 50px; height: 50px; animation: spin 1s linear infinite; margin: 20px auto; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #downloadStatus { position: fixed; bottom: 20px; left: 20px; background-color: rgba(0, 0, 0, 0.7); color: white; padding: 10px; border-radius: 5px; z-index: 1000; display: none; } @media (max-width: 768px) { .search-container { flex-direction: column; align-items: center; } .search-input, .search-type, .search-button { width: 90%; margin-bottom: 0.5rem; } .video-card, .image-card { width: 100%; } .floating-video { width: 90%; left: 5%; right: 5%; } }