@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;900&family=JetBrains+Mono:wght@400;600;700&display=swap'); * { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; } .mono-font { font-family: 'JetBrains Mono', 'Consolas', 'Monaco', monospace; } /* Click to Enter Screen */ .click-enter-screen { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.95); backdrop-filter: blur(20px); z-index: 10000; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; transition: opacity 0.5s ease-out; } .click-enter-text { font-size: 3rem; font-weight: 900; color: white; text-shadow: 0 0 30px rgba(255, 255, 255, 0.8); animation: pulse-glow 2s ease-in-out infinite; user-select: none; } .click-subtitle { color: rgba(255, 255, 255, 0.7); font-size: 1.2rem; margin-top: 1rem; animation: fade-pulse 3s ease-in-out infinite; } /* Intro Screen */ .intro-screen { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: #000; z-index: 9999; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; } .flashbang { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #fff; opacity: 0; pointer-events: none; z-index: 10001; } .terminal-container { background: rgba(0, 0, 0, 0.95); border: 1px solid #333; border-radius: 10px; padding: 20px; width: 90%; max-width: 600px; box-shadow: 0 0 50px rgba(255, 68, 68, 0.3); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .terminal-header { display: flex; align-items: center; gap: 8px; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #333; } .terminal-dot { width: 12px; height: 12px; border-radius: 50%; } .dot-red { background: #ff5f56; } .dot-yellow { background: #ffbd2e; } .dot-green { background: #27ca3f; } .terminal-content { color: #00ff00; font-size: 14px; line-height: 1.6; } .typing-text { overflow: hidden; border-right: 2px solid #00ff00; white-space: nowrap; animation: typing 2s steps(40, end), blink-caret 0.75s step-end infinite; } .unlocked-text { font-size: 4rem; font-weight: 900; background: linear-gradient(45deg, #ff4444, #ffaa00, #00ff00, #4444ff); background-size: 400% 400%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: gradient-shift 3s ease infinite; text-shadow: 0 0 30px rgba(255, 68, 68, 0.5); opacity: 0; transform: scale(0.8); transition: all 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55); position: absolute; top: 60%; left: 50%; transform: translate(-50%, -50%) scale(0.8); } .unlocked-text.show { opacity: 1; transform: translate(-50%, -50%) scale(1); animation: gradient-shift 3s ease infinite, wobble-text 0.8s ease-out; } /* Profile Card */ .card-3d { transform-style: preserve-3d; transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1); } .glass-effect { backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); } .gradient-red { background: linear-gradient(135deg, #ff4444 0%, #cc0000 100%); } .avatar-glow { background: radial-gradient(circle at 30% 30%, #ff6b6b, #ff4444, #cc0000, #8b0000); box-shadow: 0 0 30px rgba(255, 68, 68, 0.8); } .rotating-border { position: relative; } .rotating-border::before { content: ''; position: absolute; inset: -3px; border-radius: 50%; background: linear-gradient(45deg, #ff4444, transparent, #ff4444); z-index: -1; animation: rotate 3s linear infinite; } .shine-effect { position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.15) 50%, transparent 70%); transform: translateX(-100%); transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); } .card-container:hover .shine-effect { transform: translateX(100%); } .pulse-location { animation: pulse-custom 2s ease-in-out infinite; } .floating { animation: float 6s ease-in-out infinite; } .ripple-effect { position: relative; overflow: hidden; } .role-badge::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 68, 68, 0.3), transparent); transition: left 0.6s ease; } .role-badge:hover::before { left: 100%; } .cursor-custom { position: absolute; width: 20px; height: 20px; z-index: 1000; pointer-events: none; transition: all 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94); } .cursor-custom::before { content: ''; position: absolute; width: 0; height: 0; border-left: 12px solid white; border-top: 8px solid transparent; border-bottom: 8px solid transparent; filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.8)); } /* Animations */ @keyframes pulse-glow { 0%, 100% { text-shadow: 0 0 30px rgba(255, 255, 255, 0.8), 0 0 60px rgba(255, 255, 255, 0.4); transform: scale(1); } 50% { text-shadow: 0 0 40px rgba(255, 255, 255, 1), 0 0 80px rgba(255, 255, 255, 0.6); transform: scale(1.05); } } @keyframes fade-pulse { 0%, 100% { opacity: 0.7; } 50% { opacity: 1; } } @keyframes flashbang { 0% { opacity: 0; } 5% { opacity: 1; } 100% { opacity: 0; } } @keyframes typing { from { width: 0; } to { width: 100%; } } @keyframes blink-caret { from, to { border-color: transparent; } 50% { border-color: #00ff00; } } @keyframes gradient-shift { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } @keyframes wobble-text { 0%, 100% { transform: translate(-50%, -50%) translateX(0) scale(1); } 15% { transform: translate(-50%, -50%) translateX(-25px) rotate(-5deg) scale(1.1); } 30% { transform: translate(-50%, -50%) translateX(20px) rotate(3deg) scale(0.9); } 45% { transform: translate(-50%, -50%) translateX(-15px) rotate(-3deg) scale(1.05); } 60% { transform: translate(-50%, -50%) translateX(10px) rotate(2deg) scale(0.95); } 75% { transform: translate(-50%, -50%) translateX(-5px) rotate(-1deg) scale(1.02); } } @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes float { 0%, 100% { transform: translateY(0px) rotate(0deg); } 33% { transform: translateY(-12px) rotate(1deg); } 66% { transform: translateY(6px) rotate(-1deg); } } @keyframes pulse-custom { 0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 68, 68, 0.8); } 50% { transform: scale(1.15); box-shadow: 0 0 0 12px rgba(255, 68, 68, 0); } } @keyframes ripple { to { transform: scale(2.5); opacity: 0; } } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .fade-in { animation: fadeIn 0.8s ease-out forwards; } .btn-hover { transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); } .btn-hover:hover { transform: translateY(-6px) scale(1.12); box-shadow: 0 10px 30px rgba(255, 68, 68, 0.6); } .btn-hover:active { transform: translateY(-3px) scale(1.08); } .badge-hover:hover { transform: scale(1.4) rotate(15deg); filter: brightness(1.3); } @media (max-width: 768px) { .card-3d { transform: none !important; } .floating { animation: float 8s ease-in-out infinite; } .unlocked-text { font-size: 2.5rem; } .terminal-container { width: 95%; padding: 15px; } .click-enter-text { font-size: 2rem; } } .will-change-transform { will-change: transform; } .gpu-accelerated { transform: translateZ(0); backface-visibility: hidden; } .hidden { display: none !important; } .opacity-0 { opacity: 0; } .opacity-100 { opacity: 1; }