/* Categories Page Styles */ .page-container { width: 780px; margin: 0 auto; position: relative; } .page-header { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; margin: 24px 0; position: relative; padding: 40px 20px; } .page-title { font-family: 'SweetFairy', sans-serif; font-size: 32px; margin: 0; position: relative; display: inline-block; } .title-glitch { color: #FFF1AE; position: relative; animation: glitch 1.8s infinite; } .title-glitch::before, .title-glitch::after { content: attr(data-text); position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent; } .title-glitch::before { animation: glitch-1 1.8s infinite; color: #9F60E7; text-shadow: 0 0 3px #9F60E7; z-index: -1; } .title-glitch::after { animation: glitch-2 1.8s infinite; color: #4ECDC4; text-shadow: 0 0 3px #4ECDC4; z-index: -2; } .page-subtitle { color: #4ECDC4; font-size: 14px; margin-top: 10px; text-shadow: 0 0 5px rgba(154, 228, 241, 0.5); } .content-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 24px; width: 100%; } .content-card { position: relative; background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 8px; overflow: hidden; transition: all 0.3s ease; cursor: pointer; text-decoration: none; display: block; color: inherit; } .content-card:hover { text-decoration: none; } .content-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: inherit; background-size: inherit; background-position: inherit; background-repeat: inherit; transition: transform 0.3s ease; z-index: 0; } .content-card:hover::before { transform: scale(1.1); } .card-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(30, 20, 50, 0.5) 0%, rgba(15, 10, 35, 0.5) 100%); border-radius: 8px; z-index: 1; transition: all 0.3s ease; } .content-card:hover .card-overlay { background: linear-gradient(45deg, rgba(40, 35, 25, 0.75), rgba(45, 25, 50, 0.8), rgba(25, 45, 45, 0.75), rgba(50, 25, 45, 0.8)); background-size: 400% 400%; animation: gradient-shift 2s ease infinite; } @keyframes gradient-shift { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } .card-inner { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 24px; height: 180px; width: 100%; position: relative; z-index: 2; } .card-info { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; width: 100%; position: relative; z-index: 2; } .card-title { color: #fff !important; font-size: 18px; font-weight: bold; margin: 0 0 12px 0; text-shadow: 0 0 10px rgba(0, 0, 0, 0.9), 2px 2px 4px rgba(0, 0, 0, 1); } .content-card:hover .card-title { color: #FFF1AE !important; text-shadow: 0 0 15px rgba(159, 96, 231, 0.8), 2px 2px 6px rgba(0, 0, 0, 0.7); } .card-meta { color: #FFFFFF !important; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 8px rgba(0, 0, 0, 0.9); } .content-card:hover .card-meta { color: #9F60E7 !important; text-shadow: 0 0 10px rgba(255, 241, 174, 0.6), 1px 1px 3px rgba(0, 0, 0, 0.5); } .item-count { background: rgba(0, 0, 0, 0.4); padding: 4px 8px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.5); color: #FFFFFF !important; text-shadow: 0 0 5px rgba(0, 0, 0, 0.9); } .content-card:hover .item-count { background: rgba(159, 96, 231, 0.4); border: 1px solid rgba(255, 241, 174, 0.8); color: #FFF1AE !important; text-shadow: 0 0 8px rgba(159, 96, 231, 0.6), 1px 1px 2px rgba(0, 0, 0, 0.6); } .empty-state { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; width: 100%; } .empty-state h3 { color: #fff; margin: 0 0 8px 0; } /* Background Elements */ .page-header .bg-elements { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; } .bg-grid { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(rgba(173, 140, 255, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(173, 140, 255, 0.1) 1px, transparent 1px); background-size: 40px 40px; } .floating-shapes { position: absolute; width: 100%; height: 100%; } .bg-shape { position: absolute; border-radius: 50%; background: linear-gradient(45deg, rgba(173, 140, 255, 0.1), rgba(84, 242, 242, 0.1)); animation: float 6s ease-in-out infinite; } .bg-shape-1 { width: 80px; height: 80px; top: 10%; left: 80%; animation-delay: 0s; } .bg-shape-2 { width: 60px; height: 60px; top: 60%; left: 10%; animation-delay: 2s; } .bg-shape-3 { width: 40px; height: 40px; top: 80%; left: 70%; animation-delay: 4s; } @keyframes float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-20px) rotate(180deg); } } @keyframes glitch { 0%, 85%, 100% { transform: translate(0); filter: hue-rotate(0deg) saturate(1); } 86% { transform: translate(-5px, 1px); filter: hue-rotate(45deg) saturate(1.3); } 87% { transform: translate(7px, -1px); filter: hue-rotate(90deg) saturate(1.5); } 88% { transform: translate(-3px, 2px); filter: hue-rotate(135deg) saturate(1.2); } 89% { transform: translate(6px, 0); filter: hue-rotate(180deg) saturate(1.4); } 90% { transform: translate(-8px, -1px); filter: hue-rotate(225deg) saturate(1.6); } 91% { transform: translate(4px, 1px); filter: hue-rotate(270deg) saturate(1.3); } 92% { transform: translate(-2px, -2px); filter: hue-rotate(315deg) saturate(1.1); } 93% { transform: translate(5px, 0); filter: hue-rotate(360deg) saturate(1.4); } 94% { transform: translate(-1px, 1px); filter: hue-rotate(45deg) saturate(1.2); } } @keyframes glitch-1 { 0%, 83%, 100% { transform: translate(0); } 84% { transform: translate(-12px, 2px); } 85% { transform: translate(15px, -1px); } 86% { transform: translate(-8px, 1px); } 87% { transform: translate(11px, -2px); } 88% { transform: translate(-18px, 0); } 89% { transform: translate(9px, 1px); } 90% { transform: translate(-13px, -1px); } 91% { transform: translate(7px, 2px); } 92% { transform: translate(-5px, -1px); } 93% { transform: translate(12px, 0); } 94% { transform: translate(-6px, 1px); } } @keyframes glitch-2 { 0%, 83%, 100% { transform: translate(0); } 84% { transform: translate(14px, -2px); } 85% { transform: translate(-17px, 1px); } 86% { transform: translate(10px, -1px); } 87% { transform: translate(-13px, 2px); } 88% { transform: translate(16px, 0); } 89% { transform: translate(-11px, -1px); } 90% { transform: translate(15px, 1px); } 91% { transform: translate(-6px, -2px); } 92% { transform: translate(8px, 1px); } 93% { transform: translate(-14px, 0); } 94% { transform: translate(9px, -1px); } }