/* Reset and base styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(135deg, var(--bg1, #1a1a2e) 0%, var(--bg2, #16213e) 50%, var(--bg3, #0f3460) 100%); color: white; overflow: hidden; height: 100vh; position: relative; } /* Global custom scrollbar */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.3); border-radius: 10px; } ::-webkit-scrollbar-thumb { background: linear-gradient(145deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1)); border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.1); transition: all 0.3s ease; } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(145deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.3)); border-color: rgba(255, 255, 255, 0.2); } ::-webkit-scrollbar-corner { background: transparent; } /* Firefox scrollbar */ html { scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.3) rgba(0, 0, 0, 0.3); } /* ===== VÁNOČNÍ TÉMA ===== */ body.christmas-theme { background: linear-gradient(135deg, #be2a37 0%, #ac3187 25%, #c22f36be 50%, #8a2f5c 75%, #0f1419 100%); } body.christmas-theme .background-overlay::after { background: linear-gradient(135deg, rgba(15, 20, 25, 0.9) 0%, rgba(26, 35, 50, 0.85) 25%, rgba(45, 74, 34, 0.9) 50%, rgba(26, 35, 50, 0.85) 75%, rgba(15, 20, 25, 0.9) 100%); } /* Krásný vánoční progress bar */ body.christmas-theme .progress-bar-bg { height: 20px !important; background: linear-gradient(135deg, rgba(139, 69, 19, 0.8), rgba(160, 82, 45, 0.9), rgba(139, 69, 19, 0.8)); border: 2px solid rgba(255, 215, 0, 0.6); border-radius: 25px !important; box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.6), 0 0 25px rgba(255, 215, 0, 0.4), 0 4px 15px rgba(0, 0, 0, 0.3); position: relative; overflow: visible; } body.christmas-theme .progress-bar-fill { background: linear-gradient(90deg, #dc143c 0%, #ff6b6b 15%, #ffd700 30%, #32cd32 45%, #ffd700 60%, #ff6b6b 75%, #dc143c 90%, #dc143c 100%) !important; background-size: 300% 100% !important; box-shadow: 0 0 20px rgba(220, 20, 60, 0.7), 0 0 30px rgba(255, 215, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.4), inset 0 2px 6px rgba(255, 255, 255, 0.5) !important; border-radius: 18px !important; position: relative; animation: christmasFlow 2s linear infinite !important; } /* Vánoční Santa v progressbaru */ body.christmas-theme .progress-bar-fill::after { content: '🎅'; position: absolute; right: -12px; top: 50%; transform: translateY(-50%); font-size: 24px; animation: santaBounce 1.5s ease-in-out infinite; filter: drop-shadow(0 0 10px rgba(255, 255, 255, 1)) drop-shadow(0 0 20px rgba(220, 20, 60, 0.8)); z-index: 10; } /* Sněhové vločky na progressbaru */ body.christmas-theme .progress-bar-bg::before { content: '❄ ❅ ❄ ❅ ❄ ❄ ❅ ❄ ❅ ❄'; position: absolute; top: 0px; left: 0; right: 0; text-align: center; font-size: 12px; color: rgba(255, 255, 255, 0.6); animation: snowFloat 2s ease-in-out infinite; pointer-events: none; } /* Krásný lesklý efekt */ body.christmas-theme .progress-bar-fill::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.4) 45%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0.4) 55%, transparent 100%); border-radius: 25px; animation: smoothShine 2s ease-in-out infinite; } @keyframes christmasFlow { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } } @keyframes santaBounce { 0%, 100% { transform: translateY(-50%) scale(1) rotate(-5deg); } 50% { transform: translateY(-60%) scale(1.1) rotate(5deg); } } @keyframes snowFloat { 0%, 100% { transform: translateY(0px); opacity: 0.6; } 50% { transform: translateY(-3px); opacity: 1; } } @keyframes bounce { 0%, 100% { transform: translateY(-50%) scale(1); } 50% { transform: translateY(-60%) scale(1.1); } } @keyframes christmasTextGlow { 0%, 100% { filter: drop-shadow(0 0 10px rgba(255, 107, 107, 0.6)); } 33% { filter: drop-shadow(0 0 15px rgba(255, 217, 61, 0.8)); } 66% { filter: drop-shadow(0 0 12px rgba(108, 207, 127, 0.7)); } } /* Krásné loading percentage */ body.christmas-theme .loading-percentage { color: #ffffff !important; background: linear-gradient(135deg, #ff6b6b, #ffd93d, #6bcf7f); -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important; background-clip: text !important; text-shadow: none !important; font-size: 1.3rem !important; font-weight: 800 !important; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)); } /* Vánoční postavy */ body.christmas-theme .character-left, body.christmas-theme .character-right { width: 600px; } body.christmas-theme .character-left img { content: url('img/chars/chchar.png'); transform: scale(0.9); } body.christmas-theme .character-right img { content: url('img/chars/chchar2.png'); transform: scale(0.8); } body.christmas-theme .character-right { right: -20px; } /* Halloween téma */ body.halloween-theme { background: linear-gradient(135deg, rgba(20, 10, 5, 0.95), rgba(40, 20, 10, 0.9), rgba(60, 30, 15, 0.85)); } body.halloween-theme .card { border: 2px solid rgba(255, 140, 0, 0.4); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(255, 140, 0, 0.3); animation: halloweenCardPulse 3s ease-in-out infinite; } /* Halloween postavy */ body.halloween-theme .character-left, body.halloween-theme .character-right { filter: drop-shadow(0 0 20px rgba(255, 140, 0, 0.6)) drop-shadow(0 0 40px rgba(255, 69, 0, 0.4)); animation: halloweenCharacterPulse 4s ease-in-out infinite; } /* Halloween progressbar */ body.halloween-theme .progress-bar-bg { height: 25px !important; background: linear-gradient(135deg, rgba(40, 20, 10, 0.95), rgba(60, 30, 15, 0.9), rgba(40, 20, 10, 0.95)); border: 2px solid rgba(255, 140, 0, 0.5); border-radius: 25px !important; box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.7), 0 0 25px rgba(255, 140, 0, 0.4), 0 4px 15px rgba(0, 0, 0, 0.4); position: relative; overflow: clip; } body.halloween-theme .progress-bar-fill { background: linear-gradient(90deg, #ff8c00 0%, #ff4500 20%, #ffa500 40%, #ff6347 60%, #ff4500 80%, #ff8c00 100%) !important; background-size: 300% 100% !important; box-shadow: 0 0 20px rgba(255, 140, 0, 0.8), 0 0 30px rgba(255, 69, 0, 0.6), inset 0 2px 6px rgba(0, 0, 0, 0.4) !important; border-radius: 23px !important; position: relative; animation: halloweenFlow 2s linear infinite !important; } /* Halloween dýně v progressbaru */ body.halloween-theme .progress-bar-fill::after { content: '🎃'; position: absolute; right: -12px; top: 50%; transform: translateY(-50%); font-size: 22px; animation: pumpkinBounce 1.5s ease-in-out infinite; filter: drop-shadow(0 0 10px rgba(255, 140, 0, 1)); z-index: 20; } /* Halloween pavučiny na progressbaru */ body.halloween-theme .progress-bar-bg::before { content: '🎃 🕷️ 🎃 🕷️ 🎃 🕸️ 🕷️ 🕸️ 🕷️ 🕸️'; position: absolute; top: 5px; left: 0; right: 0; text-align: center; font-size: 10px; color: rgba(255, 140, 0, 0.6); animation: spiderFloat 3s ease-in-out infinite; pointer-events: none; } body.christmas-theme .character-left { left: -10px; } /* Vánoční světla nahoře */ body.christmas-theme::after { content: ''; position: fixed; top: -500px; left: 50%; transform: translateX(-50%); width: 1920px; height: 1080px; background-image: url('img/christmas/lights.png'); background-size: contain; background-repeat: no-repeat; background-position: center top; z-index: -1; filter: blur(8px); pointer-events: none; } /* Vánoční music player */ body.christmas-theme .music-player { background: linear-gradient(145deg, rgba(196, 30, 58, 0.15), rgba(34, 139, 34, 0.1)); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 15px rgba(196, 30, 58, 0.2); } /* Halloween music player */ body.halloween-theme .music-player { background: linear-gradient(145deg, rgba(255, 140, 0, 0.15), rgba(255, 69, 0, 0.1)); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(255, 140, 0, 0.4), 0 0 40px rgba(255, 69, 0, 0.3); border: 1px solid rgba(255, 140, 0, 0.4); animation: halloweenMusicPulse 4s ease-in-out infinite; } body.halloween-theme .music-player:hover { box-shadow: 0 12px 40px rgba(0, 0, 0, 0.7), 0 0 30px rgba(255, 140, 0, 0.6), 0 0 60px rgba(255, 69, 0, 0.4), 0 0 80px rgba(255, 140, 0, 0.3); } /* Halloween music player controls */ body.halloween-theme .control-btn { background: linear-gradient(145deg, rgba(255, 140, 0, 0.3), rgba(255, 69, 0, 0.2)); border: 1px solid rgba(255, 140, 0, 0.4); color: rgba(255, 140, 0, 0.9); } body.halloween-theme .control-btn:hover { background: linear-gradient(145deg, rgba(255, 140, 0, 0.5), rgba(255, 69, 0, 0.4)); box-shadow: 0 0 15px rgba(255, 140, 0, 0.6); } body.halloween-theme #musicPlayer .progress-bar { background: linear-gradient(90deg, #ff8c00 0%, #ff4500 50%, #ff8c00 100%); box-shadow: 0 0 10px rgba(255, 140, 0, 0.6); } body.halloween-theme #musicPlayer .progress-bar::after { background: #ff8c00; box-shadow: 0 0 8px rgba(255, 140, 0, 0.8); } /* ===== VALENTÝNSKÝ MUSIC PLAYER ===== */ body.valentine-theme .music-player { background: linear-gradient(145deg, rgba(255, 20, 147, 0.15), rgba(255, 105, 180, 0.1)); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(255, 20, 147, 0.4), 0 0 40px rgba(255, 105, 180, 0.3); border: 1px solid rgba(255, 20, 147, 0.4); animation: valentineMusicPulse 4s ease-in-out infinite; } body.valentine-theme .music-player:hover { box-shadow: 0 12px 40px rgba(0, 0, 0, 0.7), 0 0 30px rgba(255, 20, 147, 0.6), 0 0 60px rgba(255, 105, 180, 0.4), 0 0 80px rgba(255, 20, 147, 0.3); } /* Valentýnské ovládací prvky */ body.valentine-theme .control-btn { background: linear-gradient(145deg, rgba(255, 20, 147, 0.3), rgba(255, 105, 180, 0.2)); border: 1px solid rgba(255, 20, 147, 0.4); color: rgba(255, 20, 147, 0.9); } body.valentine-theme .control-btn:hover { background: linear-gradient(145deg, rgba(255, 20, 147, 0.5), rgba(255, 105, 180, 0.4)); box-shadow: 0 0 15px rgba(255, 20, 147, 0.6); } body.valentine-theme #musicPlayer .progress-bar { background: linear-gradient(90deg, #ff1493 0%, #ff69b4 50%, #ff1493 100%); box-shadow: 0 0 10px rgba(255, 20, 147, 0.6); } body.valentine-theme #musicPlayer .progress-bar::after { background: #ff1493; box-shadow: 0 0 8px rgba(255, 20, 147, 0.8); } /* ===== VELIKONOČNÍ MUSIC PLAYER ===== */ body.easter-theme .music-player { background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 218, 185, 0.1)); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(255, 182, 193, 0.4), 0 0 40px rgba(255, 218, 185, 0.3); border: 1px solid rgba(255, 182, 193, 0.4); animation: easterMusicPulse 4s ease-in-out infinite; } body.easter-theme .music-player:hover { box-shadow: 0 12px 40px rgba(0, 0, 0, 0.7), 0 0 30px rgba(255, 182, 193, 0.6), 0 0 60px rgba(255, 218, 185, 0.4), 0 0 80px rgba(255, 182, 193, 0.3); } /* Velikonoční ovládací prvky */ body.easter-theme .control-btn { background: linear-gradient(145deg, rgba(255, 182, 193, 0.3), rgba(255, 218, 185, 0.2)); border: 1px solid rgba(255, 182, 193, 0.4); color: rgba(255, 182, 193, 0.9); } body.easter-theme .control-btn:hover { background: linear-gradient(145deg, rgba(255, 182, 193, 0.5), rgba(255, 218, 185, 0.4)); box-shadow: 0 0 15px rgba(255, 182, 193, 0.6); } body.easter-theme #musicPlayer .progress-bar { background: linear-gradient(90deg, #ffb6c1 0%, #ffdab9 50%, #ffb6c1 100%); box-shadow: 0 0 10px rgba(255, 182, 193, 0.6); } body.easter-theme #musicPlayer .progress-bar::after { background: #ffb6c1; box-shadow: 0 0 8px rgba(255, 182, 193, 0.8); } /* Vánoční karty - zasnežené podle obrázku */ body.christmas-theme .card { border: none; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4), 0 0 20px rgba(255, 255, 255, 0.1); position: relative; overflow: visible; background: linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06)); } /* Zasnežený efekt pomocí obrázků */ body.christmas-theme .card::before { content: ''; position: absolute; top: -10px; left: -5px; right: -5px; height: 30px; background-image: url('img/christmas/ch1.png'); background-size: 100% 100%; background-repeat: no-repeat; z-index: 0; } /* Prostřední karta (Discord) používá ch2.png */ body.christmas-theme .card-discord::before { background-image: url('img/christmas/ch2.png'); } /* První karta (devlogs) a poslední karta (footages) používají ch1.png */ body.christmas-theme .card-devlogs::before, body.christmas-theme .card-footages::before { background-image: url('img/christmas/ch1.png'); } /* Odstraníme ::after protože používáme obrázky */ body.christmas-theme .card::after { display: none; } /* unified hover: see override */ /* Vánoční loading text */ body.christmas-theme .loading-text { color: #ffd700; text-shadow: 0 0 10px rgba(255, 215, 0, 0.6), 0 2px 4px rgba(0, 0, 0, 0.3); } /* Vánoční světélka animace */ @keyframes christmasLightsBlink { 0%, 100% { opacity: 0.3; transform: scale(1); box-shadow: 0 0 5px currentColor; } 50% { opacity: 0.9; transform: scale(1.3); box-shadow: 0 0 15px currentColor, 0 0 25px currentColor; } } /* Sněhové vločky jsou nyní řízené čistě JavaScriptem */ .christmas-lights { pointer-events: none; } /* Vánoční logo efekt */ body.christmas-theme .logo-section h1 { text-shadow: 0 0 10px rgba(196, 30, 58, 0.4), 0 0 20px rgba(34, 139, 34, 0.3), 0 2px 4px rgba(0, 0, 0, 0.3); } /* Background overlay */ .background-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: url('img/wallpapersden.com_maneater-game-4k-city_3840x2160.jpg') center/cover; opacity: 0.4; z-index: -1; } .background-overlay::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, var(--ov1, rgba(26, 26, 46, 0.9)) 0%, var(--ov2, rgba(22, 33, 62, 0.8)) 50%, var(--ov3, rgba(15, 52, 96, 0.9)) 100%); } /* Container */ .container { height: 100vh; display: flex; flex-direction: column; position: relative; z-index: 1; } /* Logo section */ .logo-section { position: absolute; top: 70px; left: 50%; transform: translateX(-50%); text-align: center; z-index: 10; display: inline-block; } .logo-section .logo-img { height: 80px; width: auto; filter: brightness(1.1); margin-bottom: 10px; } .logo-section h1 { font-size: 3rem; font-weight: 300; letter-spacing: 3px; margin: 0; text-shadow: 0 0 20px rgba(255, 255, 255, 0.3); } .logo-section .subtitle { font-size: 1rem; letter-spacing: 8px; opacity: 0.8; display: block; text-align: center; margin-top: 5px; } /* Social Links */ #socialLinksContainer { border-radius: 10px; padding: 15px; position: fixed; top: 20px; left: 20px; transform: none; z-index: 80; display: flex; justify-content: center; align-items: center; cursor: pointer; } #socialLinks { display: flex; justify-content: center; align-items: center; gap: 8px; } .socialLink { display: flex; justify-content: center; align-items: center; width: 30px; height: 20px; } .socialLink img { width: 18px; height: auto; transition: transform 0.3s ease; } .socialLink:hover img { transform: scale(1.1); } /* Top right controls */ .top-controls { position: absolute; top: 20px; /* align with social links */ right: 20px; /* align with social links */ transform: none; z-index: 80; display: flex; gap: 3px; } .control-btn { width: 45px; height: 45px; border-radius: 8px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; } .control-btn:hover { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.3); transform: translateY(-2px); } .control-btn svg { width: 20px; height: 20px; fill: #ffffff; opacity: 0.8; } .control-btn:hover svg { opacity: 1; } /* Main content */ .main-content { flex: 1; display: flex; justify-content: center; align-items: center; padding: 0; position: relative; min-height: calc(100vh - 200px); } /* Characters */ .character-left, .character-right { width: 800px; height: auto; position: relative; } .character-left { position: absolute; left: -250px; top: 280px; z-index: 1; pointer-events: none; } .character-right { position: absolute; right: -90px; top: 330px; z-index: 1; pointer-events: none; } .character-left img, .character-right img { width: 100%; height: 100%; object-fit: contain; filter: brightness(1) contrast(1.1); } /* Content cards */ /* Content cards */ .content-cards { display: flex; gap: 40px; flex: 1; justify-content: center; align-items: center; max-width: 1000px; margin: 0 auto; position: relative; } .card { background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 20px; padding: 40px 25px; text-align: center; width: 290px; height: 450px; position: relative; transition: all 0.3s ease; cursor: pointer; z-index: 0; pointer-events: auto; } .card:hover { transform: translateY(-15px) scale(1.05); box-shadow: 0 30px 60px rgba(0, 212, 255, 0.4); border-color: rgba(255, 255, 255, 0.2); } .card-devlogs:hover { transform: perspective(1000px) rotateY(15deg) rotateX(5deg) scale(1.05) translateY(-10px); } .card-discord:hover { transform: perspective(1000px) rotateX(8deg) scaleY(0.95) scale(1.05) translateY(-10px); } .card-footages:hover { transform: perspective(1000px) rotateY(-15deg) rotateX(5deg) scale(1.05) translateY(-10px); } /* Vypnutí particle efektů když jsou zakázané */ body:not(.particle-effects-enabled) .falling-effect, body:not(.particle-effects-enabled) .cursor-particle { display: none !important; } /* Vypnutí glow efektů když jsou zakázané */ body:not(.glow-effects-enabled) .cursor-glow { display: none !important; } /* Vypnutí glow efektů u karet a postav když jsou glow efekty zakázané */ body:not(.glow-effects-enabled) .card { box-shadow: none !important; text-shadow: none !important; } body:not(.glow-effects-enabled) .card:hover { box-shadow: none !important; text-shadow: none !important; } body:not(.glow-effects-enabled) .character-left, body:not(.glow-effects-enabled) .character-right { box-shadow: none !important; text-shadow: none !important; filter: none !important; } /* Vypnutí tématických glow efektů */ body:not(.glow-effects-enabled).halloween-theme .card, body:not(.glow-effects-enabled).halloween-theme .character-left, body:not(.glow-effects-enabled).halloween-theme .character-right { box-shadow: none !important; text-shadow: none !important; filter: none !important; } body:not(.glow-effects-enabled).christmas-theme .card, body:not(.glow-effects-enabled).christmas-theme .character-left, body:not(.glow-effects-enabled).christmas-theme .character-right { box-shadow: none !important; text-shadow: none !important; filter: none !important; } body:not(.glow-effects-enabled).valentine-theme .card, body:not(.glow-effects-enabled).valentine-theme .character-left, body:not(.glow-effects-enabled).valentine-theme .character-right { box-shadow: none !important; text-shadow: none !important; filter: none !important; } body:not(.glow-effects-enabled).easter-theme .card, body:not(.glow-effects-enabled).easter-theme .character-left, body:not(.glow-effects-enabled).easter-theme .character-right { box-shadow: none !important; text-shadow: none !important; filter: none !important; } .card-devlogs { background: linear-gradient(145deg, #f8bb0250, rgba(255, 153, 0, 0.315)); transform: perspective(1000px) rotateY(15deg) rotateX(5deg); } .card-discord { background: linear-gradient(145deg, rgba(88, 101, 242, 0.2), rgba(114, 137, 218, 0.1)); z-index: 2; transform: perspective(1000px) rotateX(8deg) scaleY(0.95); } .card-footages { background: linear-gradient(145deg, rgba(186, 30, 233, 0.15), rgba(176, 18, 204, 0.1)); transform: perspective(1000px) rotateY(-15deg) rotateX(5deg); } .card-icon { position: absolute; top: -30px; left: 50%; transform: translateX(-50%); background: rgba(255, 255, 255, 0.15); border-radius: 50%; width: 70px; height: 70px; display: flex; justify-content: center; align-items: center; backdrop-filter: blur(10px); box-shadow: 0 12px 35px rgba(0, 0, 0, 0.3); border: 2px solid rgba(255, 255, 255, 0.2); } .card-icon-img { width: 40px; height: 40px; filter: brightness(1.3) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)); } .card h2 { font-size: 1.9rem; font-weight: 600; margin-bottom: 20px; margin-top: 50px; line-height: 1.2; } .card p { font-size: 0.98rem; opacity: 0.8; margin-bottom: 40px; line-height: 1.5; } /* Buttons */ .btn { padding: 12px 24px; border: none; border-radius: 12px; font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; color: white; position: absolute; justify-content: center; letter-spacing: 0.5px; overflow: hidden; } .card-devlogs .btn { bottom: 30px; left: 50%; transform: translateX(-50%); width: calc(100% - 50px); } .card-discord .btn { bottom: 35px; left: 50%; transform: translateX(-50%); width: calc(100% - 50px); } .card-footages .btn { bottom: 30px; left: 50%; transform: translateX(-50%); width: calc(100% - 50px); } .btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: left 0.5s; } .btn:hover::before { left: 100%; } .btn:hover { transform: translateX(-50%) translateY(-3px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); } .btn-orange { background: linear-gradient(45deg, #ff9800, #ff5722); } .btn-orange:hover { background: linear-gradient(45deg, #ff5722, #ff9800); } .btn-purple { background: linear-gradient(45deg, #5865f2, #7289da); } .btn-purple:hover { background: linear-gradient(45deg, #7289da, #5865f2); } .btn-pink { background: linear-gradient(45deg, #e91e63, #9c27b0); } .btn-pink:hover { background: linear-gradient(45deg, #9c27b0, #e91e63); } .arrow { font-size: 1.1rem; transition: transform 0.3s ease; } .btn:hover .arrow { transform: translate(3px, -3px); } .discord-btn-icon { transition: transform 0.3s ease; } .btn:hover .discord-btn-icon { transform: scale(1.1); } /* Cursor effects */ .cursor-particle { position: fixed; width: 3px; height: 3px; background: rgba(0, 212, 255, 0.9); pointer-events: none; z-index: 9999; border-radius: 50%; opacity: 0; animation: particleFade 2s ease-out forwards; } .cursor-particle.enhanced { background: rgba(255, 255, 255, 1); box-shadow: 0 0 8px rgba(0, 212, 255, 0.8); width: 4px; height: 4px; } .cursor-glow { position: fixed; width: 30px; height: 30px; background: radial-gradient(circle, rgba(0, 212, 255, 0.2) 0%, transparent 70%); pointer-events: none; z-index: 9998; border-radius: 50%; opacity: 0; animation: glowPulse 1.5s ease-out forwards; } .cursor-glow.enhanced { background: radial-gradient(circle, rgba(255, 255, 255, 0.3) 0%, rgba(0, 212, 255, 0.1) 50%, transparent 70%); width: 40px; height: 40px; } @keyframes particleFade { 0% { opacity: 1; transform: scale(0.5); } 20% { opacity: 0.8; transform: scale(1); } 100% { opacity: 0; transform: scale(0.2); } } @keyframes glowPulse { 0% { opacity: 1; transform: scale(0.3); } 30% { opacity: 0.6; transform: scale(1); } 100% { opacity: 0; transform: scale(1.5); } } /* Loading section */ .loading-section { position: absolute; bottom: 60px; left: 50%; transform: translateX(-50%); width: 450px; } .loading-container { display: flex; flex-direction: column; align-items: center; gap: 20px; } .loading-text { font-size: 1.3rem; font-weight: 700; color: #ffffff; text-align: center; text-transform: uppercase; letter-spacing: 3px; text-shadow: 0 0 10px rgba(255, 255, 255, 0.8), 0 2px 4px rgba(0, 0, 0, 0.8); margin-bottom: 15px; font-family: 'Arial Black', Arial, sans-serif; } /* Vánoční loading text */ body.christmas-theme .loading-text { color: #ffffff !important; text-shadow: 0 0 15px rgba(255, 255, 255, 0.8), 0 0 25px rgba(220, 20, 60, 0.6), 0 2px 4px rgba(0, 0, 0, 0.8) !important; font-weight: 800 !important; } body.christmas-theme .loading-percentage { color: #ffd700 !important; text-shadow: 0 0 20px rgba(255, 215, 0, 1), 0 0 35px rgba(255, 215, 0, 0.6), 0 2px 4px rgba(0, 0, 0, 0.8) !important; } .progress-container { width: 100%; position: relative; } .progress-bar-bg { width: 100%; height: 8px; background: rgba(0, 0, 0, 0.6); border-radius: 6px; overflow: hidden; position: relative; border: 2px solid rgba(255, 255, 255, 0.1); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.5), 0 1px 2px rgba(255, 255, 255, 0.1); } /* Odstranění borderu pro valentýnské a velikonoční téma */ body.valentine-theme .progress-bar-bg, body.easter-theme .progress-bar-bg { border: none !important; } /* Oprava zaoblení progress baru pro valentýnské a velikonoční téma */ body.valentine-theme .progress-bar-fill, body.easter-theme .progress-bar-fill { border-radius: 6px !important; } .progress-bar-fill { height: 100%; background: linear-gradient(45deg, #00d4ff 0%, #0099cc 25%, #0066ff 50%, #0099cc 75%, #00d4ff 100%); background-size: 40px 40px; border-radius: 4px; transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1); position: relative; box-shadow: 0 0 20px rgba(0, 212, 255, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); animation: progressMove 3s linear infinite; } .progress-bar-fill::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.4) 30%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0.4) 70%, transparent 100%); animation: progressShimmer 2.5s ease-in-out infinite; } .progress-info { display: flex; justify-content: center; align-items: center; margin-top: 15px; } .loading-percentage { font-weight: 900; color: #00d4ff; font-size: 1.4rem; font-family: 'Arial Black', Arial, sans-serif; text-shadow: 0 0 15px rgba(0, 212, 255, 1), 0 0 30px rgba(0, 212, 255, 0.6), 0 2px 4px rgba(0, 0, 0, 0.8); letter-spacing: 2px; } @keyframes progressMove { 0% { background-position: 0 0; } 100% { background-position: 40px 0; } } @keyframes progressShimmer { 0% { transform: translateX(-100%); opacity: 0; } 30% { opacity: 1; } 70% { opacity: 1; } 100% { transform: translateX(100%); opacity: 0; } } .loading-dots { display: inline-block; } .loading-dots::after { content: ''; animation: fivemDots 1.5s infinite; } @keyframes fivemDots { 0%, 20% { content: ''; } 25% { content: '.'; } 50% { content: '..'; } 75% { content: '...'; } 100% { content: ''; } } /* Responsive design */ @media (max-width: 1200px) { .character-left, .character-right { width: 350px; height: 550px; } .content-cards { gap: 20px; } .card { width: 240px; height: 320px; padding: 25px 20px; } .loading-section { width: 90%; max-width: 500px; padding: 20px 25px; } } @media (max-width: 900px) { .main-content { flex-direction: column; gap: 30px; } .character-left, .character-right { display: none; } .content-cards { flex-direction: row; flex-wrap: wrap; justify-content: center; } } @media (max-width: 600px) { .content-cards { flex-direction: column; } .card { width: 90vw; max-width: 300px; } .logo-section { top: 30px; } .logo-section h1 { font-size: 2.5rem; } .main-content { padding: 0 20px; } .loading-section { width: 95%; max-width: 400px; padding: 15px 20px; bottom: 40px; } #socialLinksContainer { left: 20px; top: 20px; transform: none; padding: 10px; } #socialLinks { gap: 10px; } .socialLink { width: 25px; height: 18px; } .socialLink img { width: 16px; } } /* Settings Modal */ .settings-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 0, 0, 0.95), rgba(10, 10, 30, 0.9), rgba(0, 0, 0, 0.95)); backdrop-filter: blur(30px); display: flex; justify-content: center; align-items: center; z-index: 10000; animation: modalSlideIn 0.5s cubic-bezier(0.4, 0, 0.2, 1); padding: 40px 20px; pointer-events: auto; } .settings-content { background: linear-gradient(145deg, rgba(8, 8, 20, 0.98), rgba(12, 12, 30, 0.96), rgba(16, 16, 40, 0.94)); border-radius: 25px; width: 92%; max-width: 1300px; height: 85%; max-height: 750px; border: 3px solid transparent; background-clip: padding-box; box-shadow: 0 50px 150px rgba(0, 0, 0, 0.8), 0 0 120px rgba(0, 212, 255, 0.3), 0 0 60px rgba(0, 150, 255, 0.2), inset 0 3px 0 rgba(255, 255, 255, 0.15), inset 0 -1px 0 rgba(0, 212, 255, 0.3); display: flex; overflow: visible; position: relative; animation: contentSlideIn 0.6s cubic-bezier(0.4, 0, 0.2, 1); margin: 0 auto; backdrop-filter: blur(40px); } .settings-content::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 20% 30%, rgba(0, 212, 255, 0.08) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(0, 212, 255, 0.06) 0%, transparent 50%), linear-gradient(45deg, transparent 0%, rgba(0, 212, 255, 0.03) 25%, transparent 50%, rgba(0, 212, 255, 0.03) 75%, transparent 100%); pointer-events: none; z-index: 1; } .settings-sidebar { width: 340px; background: linear-gradient(180deg, rgba(3, 3, 15, 0.98), rgba(6, 6, 25, 0.96), rgba(10, 10, 35, 0.94)); border-right: 3px solid rgba(0, 212, 255, 0.5); padding: 35px 0; flex-shrink: 0; position: relative; z-index: 2; overflow: visible; max-width: 340px; box-shadow: inset -8px 0 20px rgba(0, 0, 0, 0.4), inset 0 0 30px rgba(0, 212, 255, 0.1); } .sidebar-btn { width: calc(100% - 30px); margin: 10px 15px; padding: 18px 25px; background: linear-gradient(145deg, rgba(20, 20, 40, 0.9), rgba(15, 15, 35, 0.95)); border: 2px solid rgba(0, 212, 255, 0.3); border-radius: 15px; color: rgba(255, 255, 255, 0.95); text-align: left; font-size: 16px; font-weight: 700; cursor: pointer; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; pointer-events: auto; user-select: none; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 212, 255, 0.1), inset 0 2px 0 rgba(255, 255, 255, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.2); } .sidebar-btn::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(45deg, transparent 0%, rgba(0, 212, 255, 0.1) 50%, transparent 100%); opacity: 0; transition: opacity 0.3s ease; } .sidebar-btn:hover { background: linear-gradient(145deg, rgba(0, 212, 255, 0.2), rgba(0, 150, 200, 0.3)); border-color: rgba(0, 212, 255, 0.8); color: #ffffff; transform: translateY(-3px) scale(1.02); box-shadow: 0 12px 35px rgba(0, 212, 255, 0.4), 0 4px 15px rgba(0, 0, 0, 0.3), inset 0 2px 0 rgba(255, 255, 255, 0.3), inset 0 0 20px rgba(0, 212, 255, 0.1); } .sidebar-btn:hover::before { opacity: 1; } .sidebar-btn.active { background: linear-gradient(145deg, rgba(0, 212, 255, 0.3), rgba(0, 150, 200, 0.4)); border-color: #00d4ff; color: #00d4ff; box-shadow: 0 0 25px rgba(0, 212, 255, 0.5), 0 4px 15px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3); text-shadow: 0 0 10px rgba(0, 212, 255, 0.8); transform: translateY(-1px); } .settings-main { flex: 1; padding: 50px 60px; overflow-y: auto; position: relative; z-index: 2; } .settings-section { display: none; animation: fadeInUp 0.3s ease; } .settings-section.active { display: block; } .settings-section h2 { color: #ffffff; font-size: 32px; margin-bottom: 40px; border-bottom: 4px solid rgba(0, 212, 255, 0.5); padding-bottom: 20px; text-shadow: 0 0 15px rgba(0, 212, 255, 0.4); position: relative; font-weight: 800; } .settings-section h2::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 80px; height: 4px; background: linear-gradient(90deg, #00d4ff, #0099cc, #00d4ff); border-radius: 2px; animation: glow 2s ease-in-out infinite alternate; } .color-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 30px; margin-bottom: 40px; } .color-section { background: linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06)); border-radius: 20px; padding: 30px; border: 2px solid rgba(255, 255, 255, 0.15); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; backdrop-filter: blur(10px); } .color-section::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent 0%, rgba(0, 212, 255, 0.08) 50%, transparent 100%); transition: left 0.8s ease; } .color-section:hover { border-color: rgba(0, 212, 255, 0.4); transform: translateY(-5px) scale(1.02); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(0, 212, 255, 0.3); } .color-section:hover::before { left: 0; } .color-section h3 { color: #00d4ff; font-size: 18px; margin-bottom: 20px; font-weight: 700; text-shadow: 0 0 8px rgba(0, 212, 255, 0.4); } .theme-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 25px; margin-bottom: 40px; } .theme-btn { padding: 22px 30px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.08)); border: 3px solid rgba(255, 255, 255, 0.25); border-radius: 18px; color: #ffffff; font-size: 16px; font-weight: 800; cursor: pointer; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); backdrop-filter: blur(10px); } .theme-btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.15) 50%, transparent 100%); transition: left 0.6s ease; } .theme-btn:hover { background: linear-gradient(145deg, rgba(0, 212, 255, 0.3), rgba(0, 212, 255, 0.2)); border-color: rgba(0, 212, 255, 0.7); transform: translateY(-5px) scale(1.05); box-shadow: 0 12px 35px rgba(0, 0, 0, 0.4), 0 0 25px rgba(0, 212, 255, 0.5); text-shadow: 0 0 10px rgba(0, 212, 255, 0.8); } .theme-btn:hover::before { left: 0; } .theme-btn.active { background: linear-gradient(145deg, rgba(0, 212, 255, 0.4), rgba(0, 212, 255, 0.3)); border-color: #00d4ff; box-shadow: 0 0 40px rgba(0, 212, 255, 0.8), inset 0 2px 0 rgba(255, 255, 255, 0.25); transform: scale(1.08); text-shadow: 0 0 15px rgba(0, 212, 255, 1); } .preset-btn { padding: 16px 22px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06)); border: 2px solid rgba(255, 255, 255, 0.2); border-radius: 12px; color: #ffffff; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; pointer-events: auto; } .preset-btn:hover { background: linear-gradient(145deg, rgba(0, 212, 255, 0.2), rgba(0, 212, 255, 0.1)); border-color: rgba(0, 212, 255, 0.5); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); } .settings-footer { display: flex; justify-content: center; gap: 30px; margin-top: 50px; padding-top: 30px; border-top: 3px solid rgba(0, 212, 255, 0.3); } .settings-footer .btn { padding: 18px 40px; font-size: 17px; font-weight: 800; border-radius: 15px; transition: all 0.3s ease; position: relative; overflow: hidden; min-width: 180px; pointer-events: auto; user-select: none; cursor: pointer; } .btn-primary { background: linear-gradient(145deg, #00d4ff, #0099cc); border: 3px solid #00d4ff; color: white; box-shadow: 0 8px 25px rgba(0, 212, 255, 0.4); } .btn-primary:hover { background: linear-gradient(145deg, #00b8e6, #0088bb); transform: translateY(-2px) scale(1.02); box-shadow: 0 12px 30px rgba(0, 212, 255, 0.5); } .btn-primary:active { transform: translateY(0px) scale(0.98); box-shadow: 0 5px 15px rgba(0, 212, 255, 0.3); } .btn-secondary { background: linear-gradient(145deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.08)); border: 3px solid rgba(255, 255, 255, 0.4); color: white; } .btn-secondary:hover { background: linear-gradient(145deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.12)); border-color: rgba(255, 255, 255, 0.6); transform: translateY(-3px) scale(1.05); } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes slideIn { from { opacity: 0; transform: scale(0.9) translateY(20px); } to { opacity: 1; transform: scale(1) translateY(0); } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes glow { from { box-shadow: 0 0 5px rgba(0, 212, 255, 0.5); } to { box-shadow: 0 0 20px rgba(0, 212, 255, 0.8); } } /* Music Player */ .music-player { position: fixed; top: 80px; right: 20px; width: 320px; height: 85px; background: linear-gradient(145deg, rgba(20, 25, 40, 0.95), rgba(30, 35, 50, 0.9)); backdrop-filter: blur(20px); border-radius: 16px; overflow: hidden; z-index: 1000; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); cursor: pointer; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.15); } .music-player:hover { width: 420px; height: 100px; transform: translateY(-2px); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.15); } .album-art { position: absolute; top: 15px; left: 15px; width: 55px; height: 55px; border-radius: 12px; overflow: hidden; z-index: 2; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); border: 2px solid rgba(255, 255, 255, 0.1); } .album-art img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .music-player:hover .album-art img { transform: scale(1.05); } .track-info { position: absolute; top: 18px; left: 85px; right: 25px; opacity: 1; transform: translateX(0); transition: all 0.4s ease; } .music-player:hover .track-info { right: 140px; } .track-title { font-size: 14px; font-weight: 600; color: white; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 4px; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5); } .track-artist { font-size: 12px; color: rgba(255, 255, 255, 0.7); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } .player-controls { position: absolute; top: 18px; right: 18px; display: flex; align-items: center; gap: 8px; opacity: 0; transform: translateX(30px); transition: all 0.4s ease; } .music-player:hover .player-controls { opacity: 1; transform: translateX(0); } .control-btn { width: 32px; height: 32px; border: none; background: linear-gradient(145deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.05)); border-radius: 8px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); } .control-btn:hover { background: linear-gradient(145deg, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.15)); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); } .control-btn svg { width: 16px; height: 16px; fill: white; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3)); } .play-btn { background: linear-gradient(145deg, rgba(0, 212, 255, 0.3), rgba(0, 153, 204, 0.2)); border-color: rgba(0, 212, 255, 0.3); } .play-btn:hover { background: linear-gradient(145deg, rgba(0, 212, 255, 0.4), rgba(0, 153, 204, 0.3)); } #musicPlayer .progress-container { position: absolute; bottom: 0; left: 0; right: 0; height: 6px; background: rgba(0, 0, 0, 0.4); cursor: pointer; transition: height 0.2s ease; z-index: 10; } #musicPlayer:hover .progress-container { height: 8px; } #musicPlayer .progress-bar { height: 100%; background: linear-gradient(90deg, #00d4ff 0%, #0099cc 50%, #00d4ff 100%); width: 0%; transition: width 0.1s ease; border-radius: 0 0 16px 16px; position: relative; pointer-events: none; box-shadow: 0 0 10px rgba(0, 212, 255, 0.5); } #musicPlayer .progress-container:hover { background: rgba(0, 0, 0, 0.6); } #musicPlayer .progress-bar::after { content: ''; position: absolute; right: -3px; top: 50%; transform: translateY(-50%); width: 6px; height: 6px; background: white; border-radius: 50%; opacity: 0; transition: opacity 0.2s ease; box-shadow: 0 0 8px rgba(0, 212, 255, 0.8); } #musicPlayer:hover .progress-bar::after { opacity: 1; } .time-info { position: absolute; bottom: 12px; left: 85px; right: 25px; display: flex; justify-content: space-between; font-size: 11px; color: rgba(255, 255, 255, 0.8); opacity: 1; transform: translateY(0); transition: all 0.4s ease; font-weight: 500; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5); } .music-player:hover .time-info { right: 140px; bottom: 16px; } .volume-control { position: absolute; bottom: 12px; right: 18px; display: flex; align-items: center; gap: 10px; opacity: 0; transform: translateY(10px); transition: all 0.4s ease; } .music-player:hover .volume-control { opacity: 1; transform: translateY(0); } .volume-icon { width: 16px; height: 16px; fill: rgba(255, 255, 255, 0.8); filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3)); } .volume-slider { -webkit-appearance: none; appearance: none; width: 60px; height: 4px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.1) 100%); border-radius: 2px; outline: none; cursor: pointer; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); } .volume-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 12px; height: 12px; background: linear-gradient(145deg, #00d4ff, #0099cc); border-radius: 50%; cursor: pointer; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4); border: 1px solid rgba(255, 255, 255, 0.2); } .volume-slider::-webkit-slider-thumb:hover { transform: scale(1.1); box-shadow: 0 3px 8px rgba(0, 0, 0, 0.5); } /* Responsive */ @media (max-width: 600px) { .music-player { width: calc(100vw - 40px); left: 20px; right: 20px; } .music-player:hover { width: calc(100vw - 40px); } .volume-control { display: none; } } /* Nastavení modal - opravený design */ .settings-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(10px); display: none; justify-content: center; align-items: center; z-index: 10000; } .settings-content { background: linear-gradient(145deg, rgba(26, 26, 46, 0.95), rgba(22, 33, 62, 0.9)); border-radius: 20px; width: 95%; max-width: 1400px; height: 85%; max-height: 800px; border: 2px solid rgba(255, 255, 255, 0.1); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); display: flex; overflow: hidden; position: relative; } .settings-sidebar { width: 280px; background: linear-gradient(180deg, rgba(15, 15, 30, 0.9), rgba(20, 20, 40, 0.8)); border-right: 2px solid rgba(255, 255, 255, 0.1); padding: 20px 0; flex-shrink: 0; } .settings-main { flex: 1; padding: 40px; overflow-y: auto; position: relative; pointer-events: auto; } .color-picker-group { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; } .color-picker-group label { color: rgba(255, 255, 255, 0.8); font-size: 14px; min-width: 80px; } .color-picker-group input[type="color"] { width: 40px; height: 30px; border: none; border-radius: 6px; cursor: pointer; position: relative; z-index: 2; pointer-events: auto; } .color-preview { width: 30px; height: 30px; border-radius: 6px; border: 1px solid rgba(255, 255, 255, 0.2); display: inline-block; cursor: pointer; position: relative; z-index: 1; } .button-color-row { display: flex; align-items: center; gap: 10px; } .preset-btn { padding: 12px 18px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); border: 2px solid rgba(255, 255, 255, 0.2); border-radius: 12px; color: #ffffff; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; } .preset-btn:hover { background: linear-gradient(145deg, rgba(0, 212, 255, 0.2), rgba(0, 212, 255, 0.1)); border-color: rgba(0, 212, 255, 0.5); transform: translateY(-2px); } .settings-footer { display: flex; justify-content: space-between; gap: 15px; margin-top: 30px; padding-top: 20px; border-top: 2px solid rgba(255, 255, 255, 0.1); } .settings-footer .btn { flex: 1; padding: 12px 24px; font-size: 14px; font-weight: 600; } /* Vánoční vločky v kartách - napevno v HTML */ .christmas-snowflake { position: absolute; top: 10px; right: 15px; font-size: 14px; color: rgba(255, 255, 255, 0.3); pointer-events: none; z-index: 0; display: none; } .christmas-snowflake-2 { position: absolute; bottom: 10px; left: 15px; font-size: 12px; color: rgba(173, 216, 230, 0.4); pointer-events: none; z-index: 0; display: none; } .christmas-snowflake-3 { position: absolute; top: 30px; left: 20px; font-size: 10px; color: rgba(255, 255, 255, 0.25); pointer-events: none; z-index: 0; display: none; } .christmas-snowflake-4 { position: absolute; top: 50px; right: 40px; font-size: 11px; color: rgba(173, 216, 230, 0.3); pointer-events: none; z-index: 0; display: none; } .christmas-snowflake-5 { position: absolute; bottom: 40px; right: 20px; font-size: 9px; color: rgba(255, 255, 255, 0.2); pointer-events: none; z-index: 0; display: none; } .christmas-snowflake-6 { position: absolute; bottom: 30px; right: 50px; font-size: 8px; color: rgba(173, 216, 230, 0.25); pointer-events: none; z-index: 0; display: none; } .christmas-snowflake-7 { position: absolute; top: 20px; left: 50px; font-size: 13px; color: rgba(255, 255, 255, 0.35); pointer-events: none; z-index: 0; display: none; } .christmas-snowflake-8 { position: absolute; bottom: 50px; left: 40px; font-size: 10px; color: rgba(173, 216, 230, 0.3); pointer-events: none; z-index: 0; display: none; } .christmas-snowflake-9 { position: absolute; top: 40px; left: 30px; font-size: 12px; color: rgba(255, 255, 255, 0.28); pointer-events: none; z-index: 0; display: none; } .christmas-snowflake-10 { position: absolute; bottom: 20px; right: 30px; font-size: 9px; color: rgba(173, 216, 230, 0.35); pointer-events: none; z-index: 0; display: none; } body.christmas-theme .christmas-snowflake, body.christmas-theme .christmas-snowflake-2, body.christmas-theme .christmas-snowflake-3, body.christmas-theme .christmas-snowflake-4, body.christmas-theme .christmas-snowflake-5, body.christmas-theme .christmas-snowflake-6, body.christmas-theme .christmas-snowflake-7, body.christmas-theme .christmas-snowflake-8, body.christmas-theme .christmas-snowflake-9, body.christmas-theme .christmas-snowflake-10 { display: block; } /* Mouse trail animace - rychlejší */ @keyframes mouseTrail { 0% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.2); } } @keyframes mouseSnowTrail { 0% { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0deg); } 30% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.3) rotate(120deg); } 70% { opacity: 0.4; transform: translate(-50%, -50%) scale(0.8) rotate(240deg); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.3) rotate(360deg); } } @keyframes mouseHalloweenTrail { 0% { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0deg); filter: brightness(1); } 25% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.3) rotate(-90deg); filter: brightness(1.2); } 50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.1) rotate(-180deg); filter: brightness(1.1); } 75% { opacity: 0.4; transform: translate(-50%, -50%) scale(0.8) rotate(-270deg); filter: brightness(0.9); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.3) rotate(-360deg); filter: brightness(0.5); } } @keyframes halloweenFlow { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } } @keyframes pumpkinBounce { 0%, 100% { transform: translateY(-50%) scale(1) rotate(-10deg); } 50% { transform: translateY(-60%) scale(1.1) rotate(10deg); } } @keyframes spiderFloat { 0%, 100% { transform: translateY(0px); opacity: 0.6; } 50% { transform: translateY(-2px); opacity: 1; } } /* Halloween dekorace v kartách */ .halloween-decoration, .halloween-decoration-2, .halloween-decoration-3, .halloween-decoration-4, .halloween-decoration-5, .halloween-decoration-6, .halloween-decoration-7, .halloween-decoration-8, .halloween-decoration-9, .halloween-decoration-10, .halloween-decoration-11, .halloween-decoration-12 { position: absolute; pointer-events: none; z-index: 0; display: none; color: rgba(255, 140, 0, 0.4); text-shadow: 0 0 5px rgba(255, 140, 0, 0.6); } .halloween-decoration { top: 10px; right: 15px; font-size: 14px; } .halloween-decoration-2 { bottom: 10px; left: 15px; font-size: 12px; } .halloween-decoration-3 { top: 30px; left: 20px; font-size: 10px; } .halloween-decoration-4 { top: 50px; right: 40px; font-size: 11px; } .halloween-decoration-5 { bottom: 40px; right: 20px; font-size: 9px; } .halloween-decoration-6 { bottom: 30px; right: 50px; font-size: 8px; } .halloween-decoration-7 { top: 20px; left: 50px; font-size: 13px; } .halloween-decoration-8 { bottom: 50px; left: 40px; font-size: 10px; } .halloween-decoration-9 { top: 40px; left: 30px; font-size: 12px; } .halloween-decoration-10 { bottom: 20px; right: 30px; font-size: 9px; } .halloween-decoration-11 { top: 60px; left: 60px; font-size: 11px; } .halloween-decoration-12 { bottom: 60px; right: 60px; font-size: 8px; } body.halloween-theme .halloween-decoration, body.halloween-theme .halloween-decoration-2, body.halloween-theme .halloween-decoration-3, body.halloween-theme .halloween-decoration-4, body.halloween-theme .halloween-decoration-5, body.halloween-theme .halloween-decoration-6, body.halloween-theme .halloween-decoration-7, body.halloween-theme .halloween-decoration-8, body.halloween-theme .halloween-decoration-9, body.halloween-theme .halloween-decoration-10, body.halloween-theme .halloween-decoration-11, body.halloween-theme .halloween-decoration-12 { display: block; } /* Valentýnské dekorace v kartách */ .valentine-decoration, .valentine-decoration-2, .valentine-decoration-3, .valentine-decoration-4, .valentine-decoration-5, .valentine-decoration-6 { position: absolute; pointer-events: none; z-index: 5; display: none; color: rgba(255, 20, 147, 0.8); text-shadow: 0 0 10px rgba(255, 20, 147, 0.9), 0 0 20px rgba(255, 105, 180, 0.7), 0 0 30px rgba(255, 20, 147, 0.5), 2px 2px 4px rgba(0, 0, 0, 0.3); filter: drop-shadow(0 0 8px rgba(255, 20, 147, 0.6)); } .valentine-decoration { top: 10px; right: 15px; font-size: 14px; } .valentine-decoration-2 { bottom: 10px; left: 15px; font-size: 12px; } .valentine-decoration-3 { top: 30px; left: 20px; font-size: 10px; } .valentine-decoration-4 { top: 50px; right: 40px; font-size: 11px; } .valentine-decoration-5 { bottom: 40px; right: 20px; font-size: 9px; } .valentine-decoration-6 { bottom: 30px; right: 50px; font-size: 8px; } body.valentine-theme .valentine-decoration, body.valentine-theme .valentine-decoration-2, body.valentine-theme .valentine-decoration-3, body.valentine-theme .valentine-decoration-4, body.valentine-theme .valentine-decoration-5, body.valentine-theme .valentine-decoration-6 { display: block; } /* Velikonoční dekorace v kartách */ .easter-decoration, .easter-decoration-2, .easter-decoration-3, .easter-decoration-4, .easter-decoration-5, .easter-decoration-6 { position: absolute; pointer-events: none; z-index: 5; display: none; color: rgba(152, 251, 152, 0.8); text-shadow: 0 0 10px rgba(152, 251, 152, 0.9), 0 0 20px rgba(135, 206, 235, 0.7), 0 0 30px rgba(152, 251, 152, 0.5), 2px 2px 4px rgba(0, 0, 0, 0.3); filter: drop-shadow(0 0 8px rgba(152, 251, 152, 0.6)); } .easter-decoration { top: 10px; right: 15px; font-size: 14px; } .easter-decoration-2 { bottom: 10px; left: 15px; font-size: 12px; } .easter-decoration-3 { top: 30px; left: 20px; font-size: 10px; } .easter-decoration-4 { top: 50px; right: 40px; font-size: 11px; } .easter-decoration-5 { bottom: 40px; right: 20px; font-size: 9px; } .easter-decoration-6 { bottom: 30px; right: 50px; font-size: 8px; } body.easter-theme .easter-decoration, body.easter-theme .easter-decoration-2, body.easter-theme .easter-decoration-3, body.easter-theme .easter-decoration-4, body.easter-theme .easter-decoration-5, body.easter-theme .easter-decoration-6 { display: block; } /* Pulzující animace pro Halloween */ @keyframes halloweenCardPulse { 0%, 100% { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(255, 140, 0, 0.3); border-color: rgba(255, 140, 0, 0.4); } 50% { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 35px rgba(255, 140, 0, 0.6), 0 0 50px rgba(255, 69, 0, 0.4); border-color: rgba(255, 140, 0, 0.7); } } @keyframes halloweenCharacterPulse { 0%, 100% { filter: drop-shadow(0 0 20px rgba(255, 140, 0, 0.6)) drop-shadow(0 0 40px rgba(255, 69, 0, 0.4)); } 50% { filter: drop-shadow(0 0 30px rgba(255, 140, 0, 0.8)) drop-shadow(0 0 60px rgba(255, 69, 0, 0.6)) drop-shadow(0 0 80px rgba(255, 140, 0, 0.4)); } } @keyframes halloweenMusicPulse { 0%, 100% { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(255, 140, 0, 0.4), 0 0 40px rgba(255, 69, 0, 0.3); border-color: rgba(255, 140, 0, 0.4); } 50% { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 30px rgba(255, 140, 0, 0.7), 0 0 60px rgba(255, 69, 0, 0.5), 0 0 80px rgba(255, 140, 0, 0.3); border-color: rgba(255, 140, 0, 0.7); } } /* ===== VALENTÝNSKÉ TÉMA ===== */ body.valentine-theme { background: linear-gradient(135deg, #ff1493 0%, #ff69b4 25%, #ffb6c1 50%, #ff69b4 75%, #ff1493 100%); } /* Valentýnské karty */ body.valentine-theme .card { border: 2px solid rgba(255, 20, 147, 0.4); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(255, 20, 147, 0.3); animation: valentineCardPulse 3s ease-in-out infinite; } body.valentine-theme .background-overlay::after { background: linear-gradient(135deg, rgba(255, 20, 147, 0.8) 0%, rgba(255, 105, 180, 0.7) 25%, rgba(255, 182, 193, 0.8) 50%, rgba(255, 105, 180, 0.7) 75%, rgba(255, 20, 147, 0.8) 100%); } body.valentine-theme .progress-bar-bg { height: 20px !important; background: linear-gradient(135deg, rgba(255, 20, 147, 0.8), rgba(255, 105, 180, 0.9), rgba(255, 20, 147, 0.8)); border: none !important; border-radius: 25px !important; overflow: visible !important; box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.6), 0 0 25px rgba(255, 182, 193, 0.4), 0 4px 15px rgba(0, 0, 0, 0.3); } body.valentine-theme .progress-bar-fill { background: linear-gradient(90deg, #ff1493 0%, #ff69b4 25%, #ffb6c1 50%, #ff69b4 75%, #ff1493 100%) !important; background-size: 300% 100% !important; box-shadow: 0 0 20px rgba(255, 20, 147, 0.8), 0 0 40px rgba(255, 105, 180, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); animation: valentineFlow 3s ease-in-out infinite; position: relative; } /* Valentýnské srdíčko v progressbaru */ body.valentine-theme .progress-bar-fill::after { content: '💖'; position: absolute; right: -20px; top: 50%; transform: translateY(-50%); font-size: 26px; animation: heartBounce 1.5s ease-in-out infinite; z-index: 20; text-shadow: 0 0 20px rgba(255, 20, 147, 0.8); filter: drop-shadow(0 0 15px rgba(255, 20, 147, 1)) drop-shadow(0 0 30px rgba(255, 105, 180, 0.9)) drop-shadow(0 0 45px rgba(255, 20, 147, 0.7)) drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3)); } /* Odstranění overflow: hidden pro valentýnské téma */ body.valentine-theme .progress-container { overflow: visible !important; } body.valentine-theme .progress-bar-fill { overflow: visible !important; } @keyframes valentineFlow { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } @keyframes mouseValentineTrail { 0% { transform: translate(-50%, -50%) scale(0.5); opacity: 0; } 20% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(0.8) translateY(-30px); opacity: 0; } } /* ===== VELIKONOČNÍ TÉMA ===== */ body.easter-theme { background: linear-gradient(135deg, #98fb98 0%, #90ee90 25%, #87ceeb 50%, #dda0dd 75%, #f0e68c 100%); } /* Velikonoční karty */ body.easter-theme .card { border: 2px solid rgba(152, 251, 152, 0.4); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(152, 251, 152, 0.3); animation: easterCardPulse 3s ease-in-out infinite; } body.easter-theme .background-overlay::after { background: linear-gradient(135deg, rgba(152, 251, 152, 0.8) 0%, rgba(144, 238, 144, 0.7) 25%, rgba(135, 206, 235, 0.8) 50%, rgba(221, 160, 221, 0.7) 75%, rgba(240, 230, 140, 0.8) 100%); } body.easter-theme .progress-bar-bg { height: 20px !important; background: linear-gradient(135deg, rgba(152, 251, 152, 0.8), rgba(135, 206, 235, 0.9), rgba(152, 251, 152, 0.8)); border: none !important; border-radius: 25px !important; overflow: visible !important; box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.6), 0 0 25px rgba(240, 230, 140, 0.4), 0 4px 15px rgba(0, 0, 0, 0.3); } body.easter-theme .progress-bar-fill { background: linear-gradient(90deg, #98fb98 0%, #87ceeb 25%, #dda0dd 50%, #f0e68c 75%, #98fb98 100%) !important; background-size: 300% 100% !important; box-shadow: 0 0 20px rgba(152, 251, 152, 0.8), 0 0 40px rgba(135, 206, 235, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); animation: easterFlow 3s ease-in-out infinite; position: relative; } /* Velikonoční vajíčko v progressbaru */ body.easter-theme .progress-bar-fill::after { content: ''; position: absolute; right: -20px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; background-image: url('img/easter/2.png'); background-size: contain; background-repeat: no-repeat; background-position: center; animation: eggBounce 1.5s ease-in-out infinite; z-index: 20; filter: drop-shadow(0 0 15px rgba(152, 251, 152, 1)) drop-shadow(0 0 30px rgba(135, 206, 235, 0.9)) drop-shadow(0 0 45px rgba(152, 251, 152, 0.7)) drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3)); } /* Odstranění overflow: hidden pro velikonoční téma */ body.easter-theme .progress-container { overflow: visible !important; } body.easter-theme .progress-bar-fill { overflow: visible !important; } @keyframes easterFlow { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } @keyframes mouseEasterTrail { 0% { transform: translate(-50%, -50%) scale(0.5) rotate(0deg); opacity: 0; } 20% { transform: translate(-50%, -50%) scale(1.1) rotate(90deg); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(0.9) rotate(360deg) translateY(-40px); opacity: 0; } } /* Animace pro srdíčko a vajíčko v progressbaru */ @keyframes heartBounce { 0%, 100% { transform: translateY(-50%) scale(1) rotate(-5deg); } 50% { transform: translateY(-60%) scale(1.1) rotate(5deg); } } @keyframes eggBounce { 0%, 100% { transform: translateY(-50%) scale(1) rotate(-3deg); } 50% { transform: translateY(-60%) scale(1.1) rotate(3deg); } } /* Pulzující animace pro Valentýnské karty */ @keyframes valentineCardPulse { 0%, 100% { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(255, 20, 147, 0.3); border-color: rgba(255, 20, 147, 0.4); } 50% { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 35px rgba(255, 20, 147, 0.6), 0 0 50px rgba(255, 105, 180, 0.4); border-color: rgba(255, 20, 147, 0.7); } } /* Pulzující animace pro Velikonoční karty */ @keyframes easterCardPulse { 0%, 100% { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(152, 251, 152, 0.3); border-color: rgba(152, 251, 152, 0.4); } 50% { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 35px rgba(152, 251, 152, 0.6), 0 0 50px rgba(135, 206, 235, 0.4); border-color: rgba(152, 251, 152, 0.7); } } /* ===== ANIMACE PRO MUSIC PLAYER ===== */ @keyframes valentineMusicPulse { 0%, 100% { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(255, 20, 147, 0.4), 0 0 40px rgba(255, 105, 180, 0.3); border-color: rgba(255, 20, 147, 0.4); } 50% { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 30px rgba(255, 20, 147, 0.7), 0 0 60px rgba(255, 105, 180, 0.5), 0 0 80px rgba(255, 20, 147, 0.3); border-color: rgba(255, 20, 147, 0.7); } } @keyframes easterMusicPulse { 0%, 100% { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(255, 182, 193, 0.4), 0 0 40px rgba(255, 218, 185, 0.3); border-color: rgba(255, 182, 193, 0.4); } 50% { box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 30px rgba(255, 182, 193, 0.7), 0 0 60px rgba(255, 218, 185, 0.5), 0 0 80px rgba(255, 182, 193, 0.3); border-color: rgba(255, 182, 193, 0.7); } } /* ===== VYLEPŠENÉ UX NASTAVENÍ ===== */ /* Section descriptions */ .section-description { color: rgba(255, 255, 255, 0.7); font-size: 16px; margin-bottom: 30px; font-weight: 400; line-height: 1.5; } /* Enhanced theme buttons */ .theme-btn { display: flex; align-items: center; gap: 20px; padding: 25px 30px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.08)); border: 3px solid rgba(255, 255, 255, 0.25); border-radius: 18px; color: #ffffff; font-size: 16px; font-weight: 800; cursor: pointer; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); backdrop-filter: blur(10px); text-align: left; width: 100%; } .theme-icon { font-size: 32px; min-width: 40px; text-align: center; } .theme-info h3 { margin: 0 0 5px 0; font-size: 18px; font-weight: 700; color: #ffffff; } .theme-info p { margin: 0; font-size: 14px; color: rgba(255, 255, 255, 0.7); font-weight: 400; } /* Effects Grid */ .effects-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: 25px; margin-bottom: 40px; } .effect-section { background: linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06)); border-radius: 20px; padding: 25px; border: 2px solid rgba(255, 255, 255, 0.15); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; backdrop-filter: blur(10px); } .effect-section:hover { border-color: rgba(0, 212, 255, 0.4); transform: translateY(-3px) scale(1.02); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(0, 212, 255, 0.3); } .effect-section h3 { color: #00d4ff; font-size: 18px; margin-bottom: 20px; font-weight: 700; text-shadow: 0 0 8px rgba(0, 212, 255, 0.4); } /* Toggle Switches */ .toggle-group { margin-bottom: 15px; } .toggle-label { display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: 14px; color: rgba(255, 255, 255, 0.9); font-weight: 500; } .toggle-label input[type="checkbox"] { display: none; } .toggle-slider { position: relative; width: 50px; height: 26px; background: rgba(255, 255, 255, 0.2); border-radius: 13px; transition: all 0.3s ease; border: 2px solid rgba(255, 255, 255, 0.3); } .toggle-slider::before { content: ''; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; background: #ffffff; border-radius: 50%; transition: all 0.3s ease; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } .toggle-label input[type="checkbox"]:checked + .toggle-slider { background: linear-gradient(145deg, #00d4ff, #0099cc); border-color: #00d4ff; } .toggle-label input[type="checkbox"]:checked + .toggle-slider::before { transform: translateX(24px); background: #ffffff; box-shadow: 0 2px 8px rgba(0, 212, 255, 0.4); } /* Slider Groups */ .slider-group { margin-bottom: 15px; } .slider-group label { display: block; color: rgba(255, 255, 255, 0.8); font-size: 14px; margin-bottom: 8px; font-weight: 500; } .slider-group input[type="range"] { width: 100%; height: 6px; background: rgba(255, 255, 255, 0.2); border-radius: 3px; outline: none; -webkit-appearance: none; margin-bottom: 5px; } .slider-group input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; background: linear-gradient(145deg, #00d4ff, #0099cc); border-radius: 50%; cursor: pointer; border: 2px solid #ffffff; box-shadow: 0 2px 8px rgba(0, 212, 255, 0.4); transition: all 0.3s ease; } .slider-group input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.1); box-shadow: 0 4px 12px rgba(0, 212, 255, 0.6); } .slider-value { color: #00d4ff; font-size: 12px; font-weight: 600; text-shadow: 0 0 5px rgba(0, 212, 255, 0.4); } /* Music Settings Grid */ .music-settings-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 25px; margin-bottom: 40px; } .music-section { background: linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06)); border-radius: 20px; padding: 25px; border: 2px solid rgba(255, 255, 255, 0.15); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; backdrop-filter: blur(10px); } .music-section:hover { border-color: rgba(0, 212, 255, 0.4); transform: translateY(-3px) scale(1.02); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(0, 212, 255, 0.3); } .music-section h3 { color: #00d4ff; font-size: 18px; margin-bottom: 20px; font-weight: 700; text-shadow: 0 0 8px rgba(0, 212, 255, 0.4); } /* Playlist Selector */ .playlist-selector { margin-bottom: 15px; } .playlist-selector label { display: block; color: rgba(255, 255, 255, 0.8); font-size: 14px; margin-bottom: 8px; font-weight: 500; } /* Interface Grid */ .interface-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 25px; margin-bottom: 40px; } .interface-section { background: linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06)); border-radius: 20px; padding: 25px; border: 2px solid rgba(255, 255, 255, 0.15); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; backdrop-filter: blur(10px); } .interface-section:hover { border-color: rgba(0, 212, 255, 0.4); transform: translateY(-3px) scale(1.02); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(0, 212, 255, 0.3); } .interface-section h3 { color: #00d4ff; font-size: 18px; margin-bottom: 20px; font-weight: 700; text-shadow: 0 0 8px rgba(0, 212, 255, 0.4); } /* Position Controls */ .position-controls { display: flex; flex-direction: row; gap: 50px; align-items: center; } .position-group { display: flex; flex-direction: column; gap: 8px; } .position-group label { color: rgba(255, 255, 255, 0.8); font-size: 14px; font-weight: 500; } /* Enhanced Preset Grid */ .preset-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-bottom: 40px; } .preset-btn { display: flex; align-items: center; gap: 15px; padding: 20px 25px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06)); border: 2px solid rgba(255, 255, 255, 0.2); border-radius: 15px; color: #ffffff; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; text-align: left; width: 100%; } .preset-icon { font-size: 24px; min-width: 30px; text-align: center; } .preset-info h3 { margin: 0 0 3px 0; font-size: 16px; font-weight: 700; color: #ffffff; } .preset-info p { margin: 0; font-size: 12px; color: rgba(255, 255, 255, 0.7); font-weight: 400; } .preset-btn:hover { background: linear-gradient(145deg, rgba(0, 212, 255, 0.2), rgba(0, 212, 255, 0.1)); border-color: rgba(0, 212, 255, 0.5); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); } /* Advanced Grid */ .advanced-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 25px; margin-bottom: 40px; } .advanced-section { background: linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06)); border-radius: 20px; padding: 25px; border: 2px solid rgba(255, 255, 255, 0.15); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; backdrop-filter: blur(10px); } .advanced-section:hover { border-color: rgba(0, 212, 255, 0.4); transform: translateY(-3px) scale(1.02); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(0, 212, 255, 0.3); } .advanced-section h3 { color: #00d4ff; font-size: 18px; margin-bottom: 20px; font-weight: 700; text-shadow: 0 0 8px rgba(0, 212, 255, 0.4); } /* Position Section Styles */ .position-grid { display: grid; grid-template-columns: 1fr; gap: 25px; margin-top: 20px; } .position-section { background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 15px; padding: 25px; transition: all 0.3s ease; backdrop-filter: blur(10px); position: relative; } .position-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 50%, rgba(255, 255, 255, 0.05) 100%); border-radius: 15px; z-index: -1; opacity: 0; transition: opacity 0.3s ease; } .position-section:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, 0.2); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2); } .position-section:hover::before { opacity: 1; } .position-section h3 { color: rgba(255, 255, 255, 0.9); font-size: 1.1rem; font-weight: 600; margin-bottom: 20px; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } /* Reset Section Styles */ .reset-grid { display: grid; grid-template-columns: 1fr; gap: 25px; margin-top: 20px; } .reset-section { background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 15px; padding: 25px; transition: all 0.3s ease; backdrop-filter: blur(10px); position: relative; } .reset-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 50%, rgba(255, 255, 255, 0.05) 100%); border-radius: 15px; z-index: -1; opacity: 0; transition: opacity 0.3s ease; } .reset-section:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, 0.2); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2); } .reset-section:hover::before { opacity: 1; } .reset-section h3 { color: rgba(255, 255, 255, 0.9); font-size: 1.1rem; font-weight: 600; margin-bottom: 20px; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } .reset-buttons { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; } .reset-btn { background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 12px 16px; color: rgba(255, 255, 255, 0.8); cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; backdrop-filter: blur(5px); } .reset-btn:hover { background: linear-gradient(145deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.08)); border-color: rgba(255, 255, 255, 0.25); color: rgba(255, 255, 255, 0.95); transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); } .reset-btn:active { transform: translateY(0); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); } .reset-btn.reset-all { background: linear-gradient(145deg, rgba(255, 107, 107, 0.2), rgba(255, 107, 107, 0.1)); border-color: rgba(255, 107, 107, 0.3); color: rgba(255, 255, 255, 0.9); font-weight: 600; grid-column: 1 / -1; justify-content: center; } .reset-btn.reset-all:hover { background: linear-gradient(145deg, rgba(255, 107, 107, 0.3), rgba(255, 107, 107, 0.15)); border-color: rgba(255, 107, 107, 0.4); color: rgba(255, 255, 255, 1); } .reset-icon { font-size: 16px; transition: transform 0.3s ease; font-weight: bold; } .reset-btn:hover .reset-icon { transform: rotate(-180deg); } .reset-btn.reset-all .reset-icon { font-size: 18px; } /* Button Groups */ .button-group { display: flex; gap: 10px; flex-wrap: wrap; } .button-group .btn { flex: 1; min-width: 120px; padding: 10px 15px; font-size: 13px; } /* Enhanced Footer */ .settings-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 50px; padding-top: 30px; border-top: 3px solid rgba(0, 212, 255, 0.3); } .footer-left { display: flex; gap: 15px; } .footer-right { display: flex; gap: 15px; } .settings-footer .btn { padding: 15px 30px; font-size: 15px; font-weight: 700; border-radius: 12px; transition: all 0.3s ease; position: relative; overflow: hidden; min-width: 140px; pointer-events: auto; user-select: none; cursor: pointer; } /* Responsive Design */ @media (max-width: 768px) { .effects-grid, .music-settings-grid, .interface-grid, .advanced-grid { grid-template-columns: 1fr; } .preset-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); } .settings-footer { flex-direction: column; gap: 15px; } .footer-left, .footer-right { width: 100%; justify-content: center; } .theme-btn, .preset-btn { flex-direction: column; text-align: center; gap: 10px; } .theme-icon, .preset-icon { font-size: 28px; } } /* Animation for new elements */ @keyframes slideInFromRight { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } } .settings-section.active { animation: slideInFromRight 0.4s ease-out; } /* Enhanced scrollbar for settings */ .settings-main::-webkit-scrollbar { width: 8px; } .settings-main::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.1); border-radius: 4px; } .settings-main::-webkit-scrollbar-thumb { background: linear-gradient(145deg, #00d4ff, #0099cc); border-radius: 4px; border: 1px solid rgba(255, 255, 255, 0.2); } .settings-main::-webkit-scrollbar-thumb:hover { background: linear-gradient(145deg, #00b8e6, #0088bb); } /* ===== SKRYTÍ PŮVODNÍCH SELECT ELEMENTŮ ===== */ .settings-modal select { display: none !important; } /* Responsivní styly pro vlastní dropdowny */ @media (max-width: 768px) { .custom-dropdown-selected { padding: 10px 14px; font-size: 13px; } .custom-dropdown-option { padding: 10px 14px; font-size: 13px; } .dropdown-arrow { width: 14px; height: 14px; } } /* ===== VLASTNÍ DROPDOWN KOMPONENTA ===== */ .custom-dropdown { position: relative; width: 100%; user-select: none; } .custom-dropdown-selected { width: 100%; padding: 12px 16px; background: linear-gradient(145deg, rgba(20, 20, 30, 0.9), rgba(15, 15, 25, 0.95)); border: 2px solid rgba(255, 255, 255, 0.15); border-radius: 12px; color: #ffffff; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); backdrop-filter: blur(15px); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3), 0 4px 15px rgba(0, 0, 0, 0.2); display: flex; justify-content: space-between; align-items: center; position: relative; } .custom-dropdown-selected:hover { border-color: rgba(0, 212, 255, 0.6); background: linear-gradient(145deg, rgba(25, 25, 35, 0.95), rgba(20, 20, 30, 1)); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3), 0 6px 20px rgba(0, 0, 0, 0.3), 0 0 20px rgba(0, 212, 255, 0.2); transform: translateY(-1px); } .custom-dropdown-selected.open { border-color: #00d4ff; background: linear-gradient(145deg, rgba(30, 30, 40, 1), rgba(25, 25, 35, 1)); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3), 0 8px 25px rgba(0, 0, 0, 0.4), 0 0 25px rgba(0, 212, 255, 0.4); transform: translateY(-2px); } .selected-text { flex: 1; color: #ffffff; font-weight: 500; } .dropdown-arrow { color: #ffffff; flex-shrink: 0; margin-left: 8px; } .custom-dropdown.open .dropdown-arrow { transform: rotate(180deg); } .custom-dropdown-options { position: absolute; top: 100%; left: 0; right: 0; background: linear-gradient(145deg, rgba(20, 20, 30, 0.98), rgba(15, 15, 25, 0.98)); border: 2px solid rgba(255, 255, 255, 0.15); border-top: none; border-radius: 0 0 12px 12px; max-height: 0; overflow: hidden; backdrop-filter: blur(15px); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4), 0 4px 15px rgba(0, 0, 0, 0.3); z-index: 10001; opacity: 0; /* Zajistí, že se zobrazí nad všemi ostatními prvky */ pointer-events: auto; } .custom-dropdown.open .custom-dropdown-options { max-height: 300px; opacity: 1; overflow: visible; } .custom-dropdown-option { padding: 12px 16px; color: #ffffff; font-size: 14px; font-weight: 500; cursor: pointer; border-bottom: 1px solid rgba(255, 255, 255, 0.1); position: relative; } .custom-dropdown-option:last-child { border-bottom: none; } .custom-dropdown-option:hover { background: linear-gradient(145deg, rgba(0, 212, 255, 0.2), rgba(0, 212, 255, 0.1)); color: #ffffff; } .custom-dropdown-option.selected { background: linear-gradient(145deg, rgba(0, 212, 255, 0.3), rgba(0, 212, 255, 0.2)); color: #ffffff; font-weight: 600; } .custom-dropdown-option.selected::before { content: '✓'; position: absolute; right: 16px; color: #00d4ff; font-weight: bold; } /* Drag and Drop Styles */ .drag-button { display: flex; align-items: center; gap: 8px; padding: 12px 16px; background: linear-gradient(145deg, rgba(30, 30, 40, 1), rgba(25, 25, 35, 1)); border: 2px solid rgba(255, 255, 255, 0.15); border-radius: 12px; color: #ffffff; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.3s ease; backdrop-filter: blur(15px); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3), 0 2px 8px rgba(0, 0, 0, 0.2); } .drag-button:hover { background: linear-gradient(145deg, rgba(40, 40, 50, 1), rgba(35, 35, 45, 1)); border-color: rgba(0, 212, 255, 0.5); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3), 0 0 20px rgba(0, 212, 255, 0.3); transform: translateY(-2px); } .drag-button:active { transform: translateY(0); } .drag-icon { font-size: 16px; } /* Drag Mode Styles */ .drag-mode-active { cursor: grab !important; } .drag-mode-active:active { cursor: grabbing !important; } .drag-mode-active #socialLinksContainer, .drag-mode-active #musicPlayer, .drag-mode-active #serverLogo, .drag-mode-active #loadingSection { cursor: grabbing !important; user-select: none; z-index: 100000 !important; transition: none !important; pointer-events: auto !important; } /* Save Position Button */ .save-position-btn { position: fixed; top: 20px; right: 20px; z-index: 100001; padding: 12px 20px; background: linear-gradient(145deg, rgba(0, 150, 0, 0.9), rgba(0, 120, 0, 0.9)); border: 2px solid rgba(255, 255, 255, 0.2); border-radius: 12px; color: #ffffff; font-size: 14px; font-weight: 600; cursor: pointer; backdrop-filter: blur(15px); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4), 0 4px 15px rgba(0, 0, 0, 0.3); transition: all 0.3s ease; } .save-position-btn:hover { background: linear-gradient(145deg, rgba(0, 180, 0, 0.9), rgba(0, 150, 0, 0.9)); transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 0 6px 20px rgba(0, 0, 0, 0.4); } .save-position-btn:active { transform: translateY(0); } /* Drag Mode Overlay */ .drag-mode-overlay.active { pointer-events: none; } /* Highlight draggable elements in drag mode - strong cyan aura like MP3 player */ .drag-highlight { position: relative; outline: 3px dashed #00eaff; box-shadow: 0 0 0 3px rgba(0, 234, 255, 0.75), 0 0 34px rgba(0, 234, 255, 1); animation: dragGlow 1.2s ease-in-out infinite alternate; } /* Make draggable elements have light background like MP3 player */ .drag-highlight { background: rgba(255, 255, 255, 0.5) !important; color: #000 !important; border-radius: 8px; padding: 8px; } /* Darken all non-draggable elements when drag mode is active */ body.drag-mode-active .card, body.drag-mode-active .background-overlay, body.drag-mode-active .character-left, body.drag-mode-active .character-right { filter: brightness(0.75) contrast(0.95) !important; opacity: 0.85; } /* Extra internal glow layer to hard-boost brightness on any content */ .drag-glow-layer { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at center, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0.18) 45%, rgba(255,255,255,0.08) 80%, rgba(255,255,255,0) 100%); mix-blend-mode: screen; z-index: 100003; border-radius: inherit; } .drag-highlight::after { content: 'Drag'; position: absolute; top: 6px; left: 6px; background: #00eaff; color: #001018; font-size: 12px; font-weight: 800; padding: 2px 8px; border-radius: 6px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 12px rgba(0, 234, 255, 0.8); z-index: 100002; letter-spacing: 0.4px; } @keyframes dragPulse { from { box-shadow: 0 0 20px rgba(0, 234, 255, 0.6), 0 0 40px rgba(0, 234, 255, 0.4), 0 0 60px rgba(0, 234, 255, 0.2); } to { box-shadow: 0 0 25px rgba(0, 234, 255, 0.9), 0 0 50px rgba(0, 234, 255, 0.7), 0 0 75px rgba(0, 234, 255, 0.5); } } /* Removed forced unification; per-card default hover behavior now applies across themes */ /* ===== UPDATES MODAL ===== */ .updates-modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(10px); z-index: 10000; animation: fadeIn 0.3s ease; } .updates-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 1200px; height: 80%; max-height: 800px; background: linear-gradient(145deg, rgba(26, 26, 46, 0.95), rgba(22, 33, 62, 0.95)); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 20px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 40px rgba(0, 212, 255, 0.1); overflow: hidden; animation: fadeIn 0.3s ease; } .updates-content::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 50%, rgba(255, 255, 255, 0.05) 100%); border-radius: 20px; z-index: -1; } .updates-header { display: flex; justify-content: space-between; align-items: center; padding: 25px 30px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); background: linear-gradient(90deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02)); } .updates-header h2 { color: rgba(255, 255, 255, 0.9); font-size: 1.5rem; font-weight: 600; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); margin: 0; } .updates-header .close-btn { background: none; border: none; color: rgba(255, 255, 255, 0.7); cursor: pointer; padding: 8px; border-radius: 8px; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; } .updates-header .close-btn:hover { background: rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.9); transform: scale(1.1); } .updates-header .close-btn svg { width: 20px; height: 20px; fill: currentColor; } .updates-body { display: flex; height: calc(100% - 80px); } .updates-sidebar { width: 300px; background: rgba(0, 0, 0, 0.2); border-right: 1px solid rgba(255, 255, 255, 0.1); overflow-y: auto; } .updates-list { padding: 20px; } .update-btn { display: block; width: 100%; padding: 15px 20px; margin-bottom: 10px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; color: rgba(255, 255, 255, 0.8); text-align: left; cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; } .update-btn::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0.1) 100%); border-radius: 12px; z-index: -1; opacity: 0; transition: opacity 0.3s ease; } .update-btn:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, 0.2); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2); color: rgba(255, 255, 255, 0.95); } .update-btn:hover::before { opacity: 1; } .update-btn.active { background: linear-gradient(145deg, rgba(0, 212, 255, 0.2), rgba(0, 212, 255, 0.1)); border-color: rgba(0, 212, 255, 0.3); color: rgba(255, 255, 255, 0.95); box-shadow: 0 0 20px rgba(0, 212, 255, 0.2); } .update-btn.active::before { background: linear-gradient(135deg, rgba(0, 212, 255, 0.15) 0%, rgba(0, 212, 255, 0.05) 50%, rgba(0, 212, 255, 0.15) 100%); opacity: 1; } .update-btn .version { font-size: 1.1rem; font-weight: 600; margin-bottom: 5px; display: block; } .update-btn .date { font-size: 0.85rem; color: rgba(255, 255, 255, 0.6); display: block; } .updates-main { flex: 1; padding: 30px; overflow-y: auto; } .update-details { max-width: 800px; } .welcome-message { text-align: center; padding: 60px 20px; color: rgba(255, 255, 255, 0.8); } .welcome-message h3 { font-size: 2rem; margin-bottom: 20px; color: rgba(255, 255, 255, 0.9); text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } .welcome-message p { font-size: 1.1rem; line-height: 1.6; } .update-content { animation: fadeInUp 0.4s ease; } .update-content h3 { font-size: 1.8rem; color: rgba(255, 255, 255, 0.9); margin-bottom: 15px; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } .update-content .date { font-size: 1rem; color: rgba(255, 255, 255, 0.6); margin-bottom: 30px; display: block; } .changes-list { list-style: none; padding: 0; } .changes-list li { padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); font-size: 1rem; line-height: 1.5; color: rgba(255, 255, 255, 0.8); transition: all 0.3s ease; } .changes-list li:last-child { border-bottom: none; } .changes-list li:hover { color: rgba(255, 255, 255, 0.95); padding-left: 10px; background: rgba(255, 255, 255, 0.05); border-radius: 8px; margin: 0 -10px; padding-left: 20px; padding-right: 10px; } /* Scrollbar styling for updates modal */ .updates-sidebar::-webkit-scrollbar, .updates-main::-webkit-scrollbar { width: 8px; } .updates-sidebar::-webkit-scrollbar-track, .updates-main::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.2); border-radius: 4px; } .updates-sidebar::-webkit-scrollbar-thumb, .updates-main::-webkit-scrollbar-thumb { background: linear-gradient(145deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1)); border-radius: 4px; border: 1px solid rgba(255, 255, 255, 0.1); } .updates-sidebar::-webkit-scrollbar-thumb:hover, .updates-main::-webkit-scrollbar-thumb:hover { background: linear-gradient(145deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.3)); } /* Responsive design for updates modal */ @media (max-width: 768px) { .updates-content { width: 95%; height: 90%; max-height: none; } .updates-body { flex-direction: column; } .updates-sidebar { width: 100%; height: 200px; border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .updates-main { flex: 1; padding: 20px; } .update-btn { padding: 12px 15px; margin-bottom: 8px; } .update-btn .version { font-size: 1rem; } .update-btn .date { font-size: 0.8rem; } } /* UX Menu Styles */ #uxMenuModal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); z-index: 10000; justify-content: center; align-items: center; } #uxMenuModal[style*="block"] { display: flex !important; } .ux-menu-container { background: linear-gradient(135deg, rgba(30, 35, 50, 0.95), rgba(20, 25, 40, 0.95)); border-radius: 20px; backdrop-filter: blur(20px); border: 1px solid rgba(0, 212, 255, 0.3); max-width: 1400px; width: 95%; max-height: 95vh; height: auto; overflow: hidden; position: relative; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3); } .ux-menu-header { background: linear-gradient(90deg, rgba(0, 212, 255, 0.1), rgba(0, 150, 255, 0.1)); padding: 20px 30px; border-bottom: 1px solid rgba(0, 212, 255, 0.2); display: flex; justify-content: space-between; align-items: center; } .ux-menu-header h2 { color: #00d4ff; margin: 0; font-size: 28px; font-weight: 600; text-shadow: 0 0 10px rgba(0, 212, 255, 0.5); } .ux-close-btn { position: absolute; top: 20px; right: 20px; background: linear-gradient(145deg, rgba(255, 50, 50, 0.8), rgba(200, 30, 30, 0.9)); border: 2px solid rgba(255, 100, 100, 0.6); border-radius: 50%; width: 40px; height: 40px; color: #fff; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 50, 50, 0.3), inset 0 1px 2px rgba(255, 255, 255, 0.2); backdrop-filter: blur(10px); } .ux-close-btn:hover { background: linear-gradient(145deg, rgba(255, 80, 80, 0.9), rgba(220, 50, 50, 1)); border-color: rgba(255, 150, 150, 0.8); transform: scale(1.1) rotate(90deg); box-shadow: 0 6px 20px rgba(255, 50, 50, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.3); } .ux-close-btn:active { transform: scale(0.95) rotate(90deg); } .close-icon { font-size: 22px; font-weight: bold; line-height: 1; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } .ux-menu-nav { display: flex; background: rgba(15, 20, 30, 0.8); border-bottom: 1px solid rgba(0, 212, 255, 0.2); } .ux-nav-btn { flex: 1; background: transparent; border: none; padding: 15px 20px; color: rgba(255, 255, 255, 0.7); font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 8px; border-right: 1px solid rgba(0, 212, 255, 0.1); } .ux-nav-btn:last-child { border-right: none; } .ux-nav-btn:hover { background: rgba(0, 212, 255, 0.1); color: #00d4ff; } .ux-nav-btn.active { background: linear-gradient(180deg, rgba(0, 212, 255, 0.2), rgba(0, 150, 255, 0.1)); color: #00d4ff; text-shadow: 0 0 5px rgba(0, 212, 255, 0.5); } .ux-nav-icon { font-size: 16px; } .ux-menu-content { padding: 20px; max-height: 75vh; overflow-y: auto; } .ux-section { display: none; } .ux-section.active { display: block; } /* INFO Section Styles */ .info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 20px; } .info-card { background: linear-gradient(135deg, rgba(0, 212, 255, 0.1), rgba(0, 150, 255, 0.05)); border: 1px solid rgba(0, 212, 255, 0.3); border-radius: 15px; padding: 25px; text-align: center; transition: all 0.3s ease; } .info-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 212, 255, 0.2); border-color: rgba(0, 212, 255, 0.5); } .info-icon { font-size: 48px; margin-bottom: 15px; } .info-card h3 { color: #00d4ff; margin: 0 0 15px 0; font-size: 20px; text-shadow: 0 0 5px rgba(0, 212, 255, 0.3); } .info-card p { color: rgba(255, 255, 255, 0.8); margin: 8px 0; line-height: 1.5; } .info-card strong { color: #00d4ff; } /* RULES Section Styles */ .rules-container { max-width: 1000px; margin: 0 auto; } .rule-category { background: linear-gradient(135deg, rgba(0, 212, 255, 0.08), rgba(0, 150, 255, 0.04)); border: 1px solid rgba(0, 212, 255, 0.2); border-radius: 15px; padding: 25px; margin-bottom: 20px; } .rule-category h3 { color: #00d4ff; margin: 0 0 15px 0; font-size: 22px; text-shadow: 0 0 5px rgba(0, 212, 255, 0.3); } .rule-category ul { list-style: none; padding: 0; margin: 0; } .rule-category li { color: rgba(255, 255, 255, 0.85); padding: 8px 0; padding-left: 20px; position: relative; line-height: 1.5; } .rule-category li:before { content: "•"; color: #00d4ff; font-size: 18px; position: absolute; left: 0; } .rules-footer { background: linear-gradient(135deg, rgba(255, 100, 100, 0.1), rgba(255, 50, 50, 0.05)); border: 1px solid rgba(255, 100, 100, 0.3); border-radius: 15px; padding: 20px; text-align: center; margin-top: 30px; } .rules-footer p { color: rgba(255, 255, 255, 0.9); margin: 10px 0; line-height: 1.5; } /* KEYBOARD Section Styles */ .keyboard-container { max-width: 1100px; margin: 0 auto; } .keyboard-container h3 { color: #00d4ff; text-align: center; margin-bottom: 30px; font-size: 24px; text-shadow: 0 0 5px rgba(0, 212, 255, 0.3); } .keyboard-layout { background: linear-gradient(135deg, rgba(30, 35, 50, 0.8), rgba(20, 25, 40, 0.8)); border: 2px solid rgba(0, 212, 255, 0.3); border-radius: 20px; padding: 20px; margin-bottom: 30px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); } .keyboard-row { display: flex; justify-content: center; gap: 4px; margin-bottom: 6px; } .key { background: linear-gradient(145deg, rgba(50, 60, 80, 0.9), rgba(30, 40, 60, 0.9)); border: 1px solid rgba(0, 212, 255, 0.4); border-radius: 6px; padding: 6px 10px; color: rgba(255, 255, 255, 0.9); font-size: 11px; font-weight: 500; text-align: center; min-width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); cursor: default; } /* Hover efekt se nyní aplikuje pouze na .key-clickable klávesy */ .key.function-key { background: linear-gradient(145deg, rgba(0, 212, 255, 0.2), rgba(0, 150, 255, 0.1)); border-color: rgba(0, 212, 255, 0.5); } .key.small { min-width: 35px; padding: 6px 8px; font-size: 10px; } .key.wide { min-width: 60px; } .key.extra-wide { min-width: 80px; } .key.spacebar { min-width: 160px; } .key-clickable { cursor: pointer !important; } .key-clickable:hover { background: linear-gradient(145deg, rgba(0, 212, 255, 0.3), rgba(0, 150, 255, 0.2)) !important; box-shadow: 0 0 10px rgba(0, 212, 255, 0.4) !important; transform: translateY(-1px) !important; } .key-active { background: linear-gradient(145deg, rgba(0, 212, 255, 0.4), rgba(0, 150, 255, 0.3)) !important; border-color: rgba(0, 212, 255, 0.8) !important; box-shadow: 0 0 15px rgba(0, 212, 255, 0.6) !important; color: #fff !important; } .key-inactive { background: linear-gradient(145deg, rgba(100, 100, 50, 0.3), rgba(80, 80, 40, 0.4)) !important; border-color: rgba(150, 150, 50, 0.4) !important; color: rgba(255, 255, 255, 0.5) !important; cursor: not-allowed !important; } .key-no-function { background: linear-gradient(145deg, rgba(40, 40, 40, 0.6), rgba(20, 20, 20, 0.7)) !important; border-color: rgba(80, 80, 80, 0.3) !important; color: rgba(255, 255, 255, 0.3) !important; cursor: not-allowed !important; } .key-selected { background: linear-gradient(145deg, rgba(0, 255, 100, 0.4), rgba(0, 200, 80, 0.3)) !important; border-color: rgba(0, 255, 100, 0.8) !important; box-shadow: 0 0 20px rgba(0, 255, 100, 0.8) !important; transform: translateY(-2px) !important; } .key-description { background: linear-gradient(135deg, rgba(0, 212, 255, 0.1), rgba(0, 150, 255, 0.05)); border: 1px solid rgba(0, 212, 255, 0.3); border-radius: 10px; padding: 15px; min-height: 60px; text-align: center; } .key-info h4 { color: #00d4ff; margin: 0 0 8px 0; font-size: 16px; text-shadow: 0 0 5px rgba(0, 212, 255, 0.3); } .key-info p { color: rgba(255, 255, 255, 0.8); margin: 0; line-height: 1.4; font-size: 14px; } .key-info.inactive h4 { color: rgba(255, 255, 255, 0.5); } .key-info.inactive p { color: rgba(255, 255, 255, 0.4); } .key-info.no-function h4 { color: rgba(255, 255, 255, 0.3); } .key-info.no-function p { color: rgba(255, 255, 255, 0.2); } .key-info kbd { background: linear-gradient(145deg, rgba(0, 212, 255, 0.3), rgba(0, 150, 255, 0.2)); border: 1px solid rgba(0, 212, 255, 0.5); border-radius: 6px; padding: 6px 12px; margin-right: 10px; font-family: 'Courier New', monospace; font-weight: bold; color: #fff; text-shadow: 0 0 3px rgba(0, 212, 255, 0.5); font-size: 16px; } .keyboard-info { background: linear-gradient(135deg, rgba(0, 212, 255, 0.1), rgba(0, 150, 255, 0.05)); border: 1px solid rgba(0, 212, 255, 0.3); border-radius: 15px; padding: 20px; } .keyboard-info p { color: #00d4ff; margin: 0 0 15px 0; font-size: 18px; text-align: center; text-shadow: 0 0 5px rgba(0, 212, 255, 0.3); } .controls-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; } .control-item { background: rgba(0, 212, 255, 0.1); border: 1px solid rgba(0, 212, 255, 0.2); border-radius: 8px; padding: 10px 15px; color: rgba(255, 255, 255, 0.9); text-align: center; transition: all 0.2s ease; } .control-item:hover { background: rgba(0, 212, 255, 0.2); transform: translateY(-2px); } .control-item kbd { background: linear-gradient(145deg, rgba(0, 212, 255, 0.3), rgba(0, 150, 255, 0.2)); border: 1px solid rgba(0, 212, 255, 0.5); border-radius: 4px; padding: 4px 8px; margin-right: 8px; font-family: 'Courier New', monospace; font-weight: bold; color: #fff; text-shadow: 0 0 3px rgba(0, 212, 255, 0.5); } /* Responsive Design */ @media (max-width: 768px) { .ux-menu-container { width: 95%; max-height: 90vh; } .ux-menu-header { padding: 15px 20px; } .ux-menu-header h2 { font-size: 22px; } .ux-menu-content { padding: 20px; } .info-grid { grid-template-columns: 1fr; } .keyboard-layout { padding: 15px; } .key { min-width: 30px; height: 35px; font-size: 10px; padding: 6px 8px; } .key.spacebar { min-width: 150px; } .controls-grid { grid-template-columns: 1fr; } } /* Dynamic content styles for INFO and RULES sections */ .info-card small { color: rgba(255, 255, 255, 0.6); font-size: 12px; line-height: 1.3; display: block; margin-top: 8px; } .server-details { margin-top: 30px; padding: 20px; background: linear-gradient(135deg, rgba(0, 212, 255, 0.05), rgba(0, 150, 255, 0.02)); border: 1px solid rgba(0, 212, 255, 0.2); border-radius: 15px; } .server-details h3 { color: #00d4ff; margin-bottom: 15px; text-shadow: 0 0 5px rgba(0, 212, 255, 0.3); } .server-details h4 { color: #00d4ff; margin: 20px 0 10px 0; font-size: 16px; } .server-details ul { list-style: none; padding-left: 0; } .server-details li { color: rgba(255, 255, 255, 0.8); margin: 8px 0; padding-left: 20px; position: relative; } .server-details li:before { content: "▶"; color: #00d4ff; position: absolute; left: 0; } .contact-section { margin-top: 30px; padding: 20px; background: linear-gradient(135deg, rgba(0, 212, 255, 0.05), rgba(0, 150, 255, 0.02)); border: 1px solid rgba(0, 212, 255, 0.2); border-radius: 15px; } .contact-methods { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin-top: 15px; } .contact-method { display: flex; align-items: center; gap: 12px; padding: 12px; background: rgba(0, 212, 255, 0.1); border-radius: 10px; border: 1px solid rgba(0, 212, 255, 0.2); } .contact-icon { font-size: 20px; min-width: 24px; text-align: center; } .contact-details { flex: 1; color: rgba(255, 255, 255, 0.9); font-size: 14px; line-height: 1.4; } /* Rules section styles */ .rules-header { text-align: center; margin-bottom: 30px; padding: 20px; background: linear-gradient(135deg, rgba(0, 212, 255, 0.1), rgba(0, 150, 255, 0.05)); border: 1px solid rgba(0, 212, 255, 0.3); border-radius: 15px; } .rules-header h2 { color: #00d4ff; margin-bottom: 10px; text-shadow: 0 0 10px rgba(0, 212, 255, 0.5); } .rules-subtitle { color: rgba(255, 255, 255, 0.8); margin-bottom: 15px; font-size: 16px; } .rules-meta { display: flex; justify-content: center; gap: 20px; font-size: 14px; color: rgba(255, 255, 255, 0.6); } .rule-category { margin-bottom: 25px; padding: 20px; background: linear-gradient(135deg, rgba(40, 50, 70, 0.6), rgba(30, 40, 60, 0.7)); border: 1px solid rgba(0, 212, 255, 0.2); border-left: 4px solid #00d4ff; border-radius: 12px; } .rule-category h3 { color: #00d4ff; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; text-shadow: 0 0 5px rgba(0, 212, 255, 0.3); } .category-icon { font-size: 24px; } .rules-list { display: flex; flex-direction: column; gap: 15px; } .rule-item { display: flex; gap: 15px; padding: 15px; background: rgba(0, 212, 255, 0.05); border: 1px solid rgba(0, 212, 255, 0.1); border-radius: 10px; } .rule-number { background: linear-gradient(145deg, rgba(0, 212, 255, 0.3), rgba(0, 150, 255, 0.2)); color: #fff; padding: 8px 12px; border-radius: 8px; font-weight: bold; font-size: 14px; min-width: 50px; text-align: center; box-shadow: 0 2px 5px rgba(0, 212, 255, 0.2); } .rule-content h4 { color: #00d4ff; margin: 0 0 8px 0; font-size: 16px; } .rule-content p { color: rgba(255, 255, 255, 0.8); margin: 0; line-height: 1.5; font-size: 14px; } .sanctions-section, .reporting-section { margin-top: 30px; padding: 20px; background: linear-gradient(135deg, rgba(255, 100, 100, 0.1), rgba(200, 50, 50, 0.05)); border: 1px solid rgba(255, 100, 100, 0.3); border-radius: 15px; } .sanctions-section h3, .reporting-section h3 { color: #ff6b6b; margin-bottom: 20px; text-shadow: 0 0 5px rgba(255, 107, 107, 0.3); } .sanctions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin-top: 15px; } .sanction-item { padding: 15px; background: rgba(255, 100, 100, 0.1); border: 1px solid rgba(255, 100, 100, 0.2); border-radius: 10px; text-align: center; } .sanction-icon { font-size: 24px; margin-bottom: 8px; display: block; } .sanction-item h4 { color: #ff6b6b; margin: 8px 0; font-size: 16px; } .sanction-item p { color: rgba(255, 255, 255, 0.8); font-size: 14px; margin: 8px 0; } .sanction-item small { color: rgba(255, 255, 255, 0.6); font-size: 12px; } .reporting-section ul { list-style: none; padding: 0; } .reporting-section li { color: rgba(255, 255, 255, 0.8); margin: 10px 0; padding: 8px 0; border-bottom: 1px solid rgba(255, 100, 100, 0.2); } .rules-footer { margin-top: 30px; padding: 20px; background: linear-gradient(135deg, rgba(0, 212, 255, 0.1), rgba(0, 150, 255, 0.05)); border: 1px solid rgba(0, 212, 255, 0.3); border-radius: 15px; text-align: center; } .rules-footer p { color: rgba(255, 255, 255, 0.8); margin: 10px 0; }