/* Geburtstagskarten-Webseite für Julian - Enhanced Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', sans-serif; background: radial-gradient(circle at 20% 80%, rgba(120, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(255, 119, 198, 0.3) 0%, transparent 50%), radial-gradient(circle at 40% 40%, rgba(120, 198, 119, 0.2) 0%, transparent 50%), linear-gradient(135deg, #0f0f23 0%, #1a1a2e 35%, #16213e 70%, #0f3460 100%); color: #ffffff; overflow-x: hidden; min-height: 100vh; position: relative; } .fog-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(ellipse at center, transparent 0%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.3) 100%); pointer-events: none; z-index: 1; animation: fogDrift 30s ease-in-out infinite; } @keyframes fogDrift { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.6; } } /* Sternen-Hintergrund */ .stars { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(2px 2px at 20px 30px, #fff, transparent), radial-gradient(2px 2px at 40px 70px, rgba(255,255,255,0.8), transparent), radial-gradient(1px 1px at 90px 40px, #fff, transparent), radial-gradient(1px 1px at 130px 80px, rgba(255,255,255,0.6), transparent), radial-gradient(2px 2px at 160px 30px, #fff, transparent); background-repeat: repeat; background-size: 200px 100px; animation: twinkle 20s linear infinite; z-index: -1; } @keyframes twinkle { 0% { transform: translateY(0); } 100% { transform: translateY(-100px); } } .container { max-width: 1200px; margin: 0 auto; padding: 20px; position: relative; z-index: 1; } /* Header Styles */ .birthday-header { text-align: center; margin-bottom: 50px; padding: 40px 0; } .glitch-effect { position: relative; } .main-title, .name-title { font-family: 'Orbitron', monospace; font-weight: 900; text-transform: uppercase; position: relative; display: inline-block; } .main-title { font-size: clamp(2rem, 5vw, 4rem); color: #00ffff; text-shadow: 0 0 10px #00ffff, 0 0 20px #00ffff, 0 0 30px #00ffff; animation: glow 2s ease-in-out infinite alternate; margin-bottom: 10px; } .name-title { font-size: clamp(3rem, 8vw, 6rem); color: #ff6b6b; text-shadow: 0 0 15px #ff6b6b, 0 0 30px #ff6b6b, 0 0 45px #ff6b6b; animation: glow-red 2s ease-in-out infinite alternate; } @keyframes glow { from { text-shadow: 0 0 10px #00ffff, 0 0 20px #00ffff, 0 0 30px #00ffff; } to { text-shadow: 0 0 20px #00ffff, 0 0 30px #00ffff, 0 0 40px #00ffff; } } @keyframes glow-red { from { text-shadow: 0 0 15px #ff6b6b, 0 0 30px #ff6b6b, 0 0 45px #ff6b6b; } to { text-shadow: 0 0 25px #ff6b6b, 0 0 40px #ff6b6b, 0 0 55px #ff6b6b; } } .date { font-size: 1.5rem; color: #ffd700; margin-top: 20px; font-weight: 600; text-shadow: 0 0 10px #ffd700; } .from-signature { font-size: 1.2rem; color: #ff6b6b; margin-top: 15px; font-style: italic; text-shadow: 0 0 8px #ff6b6b; } /* Minigame Section */ .minigame-section { text-align: center; margin: 50px 0; padding: 40px 20px; background: rgba(0, 20, 40, 0.6); border-radius: 20px; backdrop-filter: blur(10px); border: 2px solid rgba(0, 255, 255, 0.3); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3); } .minigame-intro h2 { font-family: 'Orbitron', monospace; color: #00ffff; text-shadow: 0 0 20px #00ffff; margin-bottom: 20px; font-size: 2rem; } .minigame-intro p { font-size: 1.3rem; margin-bottom: 30px; color: #e0e0e0; } .start-game-btn { font-family: 'Orbitron', monospace; font-size: 1.4rem; font-weight: bold; padding: 15px 40px; background: linear-gradient(45deg, #ff6b6b, #ff8e8e); color: white; border: none; border-radius: 50px; cursor: pointer; text-transform: uppercase; box-shadow: 0 10px 30px rgba(255, 107, 107, 0.4); transition: all 0.3s ease; position: relative; overflow: hidden; } .start-game-btn:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(255, 107, 107, 0.6); } .start-game-btn:before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); transition: left 0.5s; } .start-game-btn:hover:before { left: 100%; } .game-container { margin-top: 30px; } .game-ui { display: flex; justify-content: space-around; margin-bottom: 20px; font-family: 'Orbitron', monospace; font-size: 1.2rem; } .game-ui > div { background: rgba(0, 0, 0, 0.5); padding: 10px 20px; border-radius: 10px; border: 1px solid #00ffff; } #gameCanvas { border: 3px solid #00ffff; border-radius: 15px; background: radial-gradient(ellipse at center, #001122 0%, #000511 100%); box-shadow: 0 0 30px #00ffff; } .game-controls { margin-top: 20px; font-size: 1.1rem; color: #cccccc; } /* Intro Text */ .intro-text { text-align: center; max-width: 600px; margin: 0 auto 50px; font-size: 1.2rem; line-height: 1.6; color: #e0e0e0; } /* Games Grid */ .games-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 30px; margin-bottom: 50px; } .game-card { background: rgba(255, 255, 255, 0.05); border-radius: 20px; overflow: hidden; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3); transition: all 0.3s ease; backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); position: relative; } .game-card:hover { transform: translateY(-10px); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4); } .game-card.special-gift { border: 2px solid #ffd700; box-shadow: 0 15px 35px rgba(255, 215, 0, 0.3); } .game-card.special-gift:hover { box-shadow: 0 25px 50px rgba(255, 215, 0, 0.5); } .special-badge { position: absolute; top: -10px; right: -10px; background: linear-gradient(45deg, #ffd700, #ffed4e); color: #000; padding: 8px 16px; border-radius: 20px; font-weight: bold; font-size: 0.9rem; z-index: 10; box-shadow: 0 5px 15px rgba(255, 215, 0, 0.4); animation: pulse 2s infinite; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } .game-image { position: relative; overflow: hidden; height: 250px; } .image-stack { position: relative; width: 100%; height: 100%; } .game-cover, .game-screenshot { position: absolute; width: 100%; height: 100%; object-fit: cover; transition: all 0.5s ease; } .game-cover { z-index: 2; opacity: 1; transform: scale(0.95); /* Leicht rausgezoomt für bessere Sicht */ } .game-screenshot { z-index: 1; opacity: 0; transform: scale(1.05); /* Weniger Zoom beim Hover */ } .game-card:hover .game-cover { opacity: 0; transform: scale(0.85); /* Mehr rauszoomen beim Hover */ } .game-card:hover .game-screenshot { opacity: 1; transform: scale(0.95); /* Auch Screenshots weniger gezoomt */ } /* Spezielle Anpassungen für Atomic Heart und Prey */ .atomic-heart .game-cover, .prey .game-cover { transform: scale(0.9); /* Steam Cover leicht rausgezoomt */ object-fit: cover; /* Normal für Steam-Bilder */ } /* Hover-Bilder (deine neuen Bilder) anders behandeln */ .atomic-heart .game-screenshot, .prey .game-screenshot { object-fit: contain; /* Bessere Darstellung für deine PNG-Bilder */ background: linear-gradient(135deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2)); transform: scale(1.1); } .atomic-heart:hover .game-cover, .prey:hover .game-cover { transform: scale(0.8); /* Steam Cover beim Hover */ } .atomic-heart:hover .game-screenshot, .prey:hover .game-screenshot { transform: scale(0.9); /* Deine Bilder beim Hover optimal anzeigen */ } /* Elden Ring bleibt unverändert */ .elden-ring .game-cover, .elden-ring .game-screenshot { object-fit: cover; } /* Elden Ring Golden Particles */ .golden-particles { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; } .elden-ring .golden-particles::before, .elden-ring .golden-particles::after { content: ''; position: absolute; width: 4px; height: 4px; background: radial-gradient(circle, #ffd700, #ffed4e); border-radius: 50%; animation: goldenFloat 8s ease-in-out infinite; } .elden-ring .golden-particles::before { top: 20%; left: 15%; animation-delay: 0s; } .elden-ring .golden-particles::after { top: 70%; right: 20%; animation-delay: 4s; } @keyframes goldenFloat { 0%, 100% { transform: translateY(0) scale(1); opacity: 0.6; } 50% { transform: translateY(-20px) scale(1.5); opacity: 1; } } .game-overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(0, 0, 0, 0.8)); padding: 20px; color: white; opacity: 0; transition: opacity 0.3s ease; } .game-card:hover .game-overlay { opacity: 1; } .game-overlay .game-title { font-family: 'Orbitron', monospace; font-weight: bold; font-size: 1.2rem; margin-bottom: 5px; } .game-overlay .game-description { font-size: 0.9rem; opacity: 0.9; } .game-info { padding: 25px; } .game-info h3 { font-family: 'Orbitron', monospace; font-size: 1.4rem; margin-bottom: 10px; color: #00ffff; } .game-info p { line-height: 1.6; margin-bottom: 20px; color: #e0e0e0; } /* Advanced Scratch Card Styles */ .scratch-card { position: relative; margin: 25px 0; border-radius: 15px; overflow: hidden; background: linear-gradient(135deg, #2c3e50, #34495e, #4a6741); border: 2px solid #3498db; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); } .scratch-card.advanced-scratch { background: linear-gradient(135deg, #1e3c72, #2a5298, #3d5aa1); border: 3px solid #00d4ff; box-shadow: 0 8px 32px rgba(0, 212, 255, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1); } .scratch-card.special-scratch { background: linear-gradient(135deg, #d4af37, #ffd700, #ffed4e); border: 3px solid #ffed4e; box-shadow: 0 8px 32px rgba(255, 215, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); } .scratch-canvas { display: block; cursor: crosshair; background: linear-gradient(135deg, #34495e, #4a6741); transition: box-shadow 0.3s ease; } .scratch-card.advanced-scratch .scratch-canvas { background: linear-gradient(135deg, #2a5298, #3d5aa1); } .scratch-card.special-scratch .scratch-canvas { background: linear-gradient(135deg, #ffd700, #ffed4e); } .scratch-canvas:hover { box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.1); } .hidden-key { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-family: 'Orbitron', monospace; font-weight: bold; font-size: 1.3rem; color: #00ffff; text-shadow: 0 0 15px #00ffff; z-index: -1; letter-spacing: 2px; } .special-scratch .hidden-key { color: #2c3e50; text-shadow: 0 0 15px #2c3e50; font-size: 1.4rem; } .scratch-instruction { text-align: center; padding: 12px; background: rgba(0, 0, 0, 0.4); color: #ffffff; font-size: 1rem; font-weight: 600; backdrop-filter: blur(5px); } .scratch-progress { padding: 15px; background: rgba(0, 0, 0, 0.3); backdrop-filter: blur(5px); } .progress-bar { width: 100%; height: 8px; background: rgba(255, 255, 255, 0.2); border-radius: 10px; overflow: hidden; margin-bottom: 8px; } .progress-bar.golden { background: rgba(255, 215, 0, 0.3); } .progress-fill { height: 100%; background: linear-gradient(90deg, #00ffff, #0099cc); border-radius: 10px; width: 0%; transition: width 0.3s ease; } .progress-bar.golden .progress-fill { background: linear-gradient(90deg, #ffd700, #ffed4e); } .progress-text { font-family: 'Orbitron', monospace; font-size: 0.9rem; color: #ffffff; font-weight: 600; } /* Steam Links */ .steam-link { display: inline-block; background: linear-gradient(45deg, #171a21, #2a475e); color: #66c0f4; padding: 12px 24px; border-radius: 25px; text-decoration: none; font-weight: 600; transition: all 0.3s ease; border: 2px solid #66c0f4; } .steam-link:hover { background: linear-gradient(45deg, #66c0f4, #4a90e2); color: #ffffff; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(102, 192, 244, 0.4); } .special-steam-link { background: linear-gradient(45deg, #ffd700, #ffed4e); color: #2c3e50; border-color: #ffd700; } .special-steam-link:hover { background: linear-gradient(45deg, #ffed4e, #fff59d); color: #1a1a1a; box-shadow: 0 5px 15px rgba(255, 215, 0, 0.4); } /* Birthday Message */ .birthday-message { text-align: center; margin: 60px 0; } .message-box { background: rgba(255, 255, 255, 0.05); padding: 40px; border-radius: 20px; max-width: 600px; margin: 0 auto; backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); } .message-box h3 { font-size: 2rem; margin-bottom: 20px; color: #ffd700; text-shadow: 0 0 10px #ffd700; } .message-box p { line-height: 1.8; margin-bottom: 20px; font-size: 1.1rem; color: #e0e0e0; } .signature { margin-top: 30px; font-style: italic; font-size: 1.2rem; color: #ff6b6b; font-weight: 600; } /* Footer */ footer { text-align: center; padding: 40px 0; } .floating-icons { font-size: 2rem; animation: float 6s ease-in-out infinite; } @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-20px); } } /* Responsive Design */ @media (max-width: 768px) { .container { padding: 10px; } .games-grid { grid-template-columns: 1fr; gap: 20px; } .main-title { font-size: 2rem; } .name-title { font-size: 3rem; } .game-info { padding: 20px; } .message-box { padding: 30px 20px; } } /* Enhanced Gaming Themes */ .atomic-heart { border-left: 6px solid #ff4757; background: linear-gradient(135deg, rgba(255, 71, 87, 0.05), rgba(0, 0, 0, 0.05)); } .atomic-heart .game-info h3 { color: #ff4757; text-shadow: 0 0 15px #ff4757; } .prey { border-left: 6px solid #5352ed; background: linear-gradient(135deg, rgba(83, 82, 237, 0.05), rgba(0, 0, 0, 0.05)); } .prey .game-info h3 { color: #5352ed; text-shadow: 0 0 15px #5352ed; } .elden-ring { border-left: 6px solid #ffd700; background: linear-gradient(135deg, rgba(255, 215, 0, 0.08), rgba(255, 237, 78, 0.03)); } .elden-ring .game-info h3 { font-family: 'Cinzel', serif; color: #ffd700; text-shadow: 0 0 20px #ffd700; font-size: 1.6rem; } .elden-ring .game-info p { font-size: 1.05rem; line-height: 1.7; } .signature { margin-top: 40px; text-align: center; } .signature-text { font-style: italic; font-size: 1.1rem; color: #e0e0e0; margin-bottom: 10px; } .signature-name { font-size: 1.4rem; color: #ff6b6b; font-weight: bold; text-shadow: 0 0 10px #ff6b6b; font-family: 'Orbitron', monospace; } /* Loading Animation */ @keyframes fadeIn { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .game-card { animation: fadeIn 0.8s ease forwards; } .game-card:nth-child(1) { animation-delay: 0.2s; } .game-card:nth-child(2) { animation-delay: 0.4s; } .game-card:nth-child(3) { animation-delay: 0.6s; }