/* Landing Page Styles */ body, html { margin: 0; padding: 0; height: 100%; overflow: hidden; } .bg-video { position: fixed; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; } .overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; } .overlay-content { text-align: center; } .enter-btn { display: inline-block; text-decoration: none; padding: 1em 2em; font-size: 1.2em; background: rgba(255, 255, 255, 0.9); border: none; border-radius: 8px; cursor: pointer; transition: all 0.3s ease; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; } .enter-btn:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4); } .enter-btn:active { transform: translateY(-1px); } /* Button Group Layout */ .button-group { display: flex; flex-direction: column; gap: 1rem; align-items: center; } /* Administrator Button - Premium Gold/Amber */ .btn-admin { background: linear-gradient(135deg, #f59e0b, #d97706, #b45309); color: white; border: 2px solid #fbbf24; padding: 1.1em 2.2em; font-size: 1.1em; position: relative; overflow: hidden; } .btn-admin::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); transition: left 0.5s ease; } .btn-admin:hover::before { left: 100%; } .btn-admin:hover { background: linear-gradient(135deg, #fbbf24, #f59e0b, #d97706); border-color: #fcd34d; box-shadow: 0 10px 30px rgba(251, 191, 36, 0.4); } /* User Button - Premium Blue/Cyan */ .btn-user { background: linear-gradient(135deg, #3b82f6, #2563eb, #1d4ed8); color: white; border: 2px solid #60a5fa; padding: 1.1em 2.2em; font-size: 1.1em; position: relative; overflow: hidden; } .btn-user::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); transition: left 0.5s ease; } .btn-user:hover::before { left: 100%; } .btn-user:hover { background: linear-gradient(135deg, #60a5fa, #3b82f6, #2563eb); border-color: #93c5fd; box-shadow: 0 10px 30px rgba(59, 130, 246, 0.4); } /* Pulse Animation for Attention */ @keyframes pulse-glow { 0%, 100% { box-shadow: 0 0 5px rgba(59, 130, 246, 0.5); } 50% { box-shadow: 0 0 20px rgba(59, 130, 246, 0.8), 0 0 30px rgba(59, 130, 246, 0.4); } } .btn-user { animation: pulse-glow 2s ease-in-out infinite; } @keyframes pulse-gold { 0%, 100% { box-shadow: 0 0 5px rgba(251, 191, 36, 0.5); } 50% { box-shadow: 0 0 20px rgba(251, 191, 36, 0.8), 0 0 30px rgba(251, 191, 36, 0.4); } } .btn-admin { animation: pulse-gold 2s ease-in-out infinite; } /* AXI Button - Purple/Pink Gradient */ .btn-axi { background: linear-gradient(135deg, #8b5cf6, #a855f7, #ec4899); border: 2px solid #a855f7; font-size: 1.3em; padding: 1.2em 2.5em; color: white; } .btn-axi:hover { background: linear-gradient(135deg, #a855f7, #c026d3, #f472b6); box-shadow: 0 10px 30px rgba(168, 85, 247, 0.5); } /* Classic Demo Button - Softer Blue */ .btn-classic { background: rgba(59, 130, 246, 0.85); font-size: 0.95em; color: white; } .btn-classic:hover { background: rgba(59, 130, 246, 1); } /* Enhanced Button (if used) */ .btn-enhanced { background: linear-gradient(135deg, #3b82f6, #8b5cf6); border: 2px solid #3b82f6; color: white; } /* Text animation for landing page */ @keyframes fadeInOut { 0%, 20%, 100% { opacity: 0; } 40%, 60% { opacity: 1; } } .overlay-text { color: white; font-family: 'Poppins', sans-serif; font-size: 5rem; font-weight: 700; text-transform: uppercase; animation: fadeInOut 5s ease-in-out infinite; margin-bottom: 1rem; } .info-overlay { background: transparent; padding: 1rem 0; margin-top: 2rem; font-family: 'Poppins', sans-serif; color: #000; max-width: 900px; text-align: center; position: relative; } .slides-container { position: relative; width: 100%; height: 4rem; } .slide { position: absolute; top: 50%; left: 50%; width: 100%; transform: translate(-50%, -50%); opacity: 0; transition: opacity 1s ease-in-out; font-size: 2rem; padding: 0 1rem; box-sizing: border-box; color: #000; } .slide.active { opacity: 1; } .info-overlay h2, .info-overlay h3 { margin: 0.5rem 0; } .info-overlay ul { list-style: disc; margin-left: 1.5rem; margin-bottom: 1rem; } .info-overlay strong { color: #fff; } /* Integration Section */ .integration-section { text-align: center; margin: 2rem 0; } .integration-text { font-size: 2rem; font-weight: bold; color: #fff; text-shadow: 0 0 5px #000; } /* SoundCloud Widgets */ .sc-widget-hidden { position: fixed; bottom: 0; right: 0; width: 1px; height: 1px; overflow: hidden; opacity: 0; z-index: -1; } .sc-control-panel { position: fixed; bottom: 20px; left: 20px; z-index: 1000; display: flex; align-items: center; } .sc-btn { background: linear-gradient(135deg, #10b981, #059669, #047857); color: white; border: 2px solid #34d399; border-radius: 8px; padding: 0.6rem 1.2rem; font-size: 1rem; font-weight: 600; margin-right: 0.5rem; cursor: pointer; transition: all 0.3s ease; text-transform: uppercase; letter-spacing: 0.05em; position: relative; overflow: hidden; } .sc-btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); transition: left 0.5s ease; } .sc-btn:hover::before { left: 100%; } .sc-btn:hover { background: linear-gradient(135deg, #34d399, #10b981, #059669); border-color: #6ee7b7; box-shadow: 0 5px 20px rgba(16, 185, 129, 0.4); transform: translateY(-2px); } .sc-btn:active { transform: translateY(0); } .sc-btn:disabled { background: rgba(75, 85, 99, 0.6); border-color: rgba(107, 114, 128, 0.5); cursor: not-allowed; animation: none; } .sc-btn:disabled:hover { transform: none; box-shadow: none; } .sc-btn:disabled::before { display: none; } /* Pause button variation - Red/Pink */ #sc-pause { background: linear-gradient(135deg, #ef4444, #dc2626, #b91c1c); border-color: #f87171; } #sc-pause:hover { background: linear-gradient(135deg, #f87171, #ef4444, #dc2626); border-color: #fca5a5; box-shadow: 0 5px 20px rgba(239, 68, 68, 0.4); } .sc-desc { color: #fff; font-weight: bold; font-size: 1.4rem; max-width: 600px; line-height: 1.3; } /* Additional styles moved from inline */ .sc-desc-styled { font-family: 'Inter', sans-serif; font-weight: 400; letter-spacing: 0.01em; opacity: 0.9; } /* Animated Biometric Scanning Background for HF Spaces */ .bio-scanning-bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at center, #0b1329 0%, #030712 100%); overflow: hidden; z-index: -1; } .scan-line { position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.8), transparent); box-shadow: 0 0 15px rgba(59, 130, 246, 0.9), 0 0 30px rgba(59, 130, 246, 0.4); animation: scan 8s ease-in-out infinite; } @keyframes scan { 0% { top: 0%; } 50% { top: 100%; } 100% { top: 0%; } } .mesh-grid { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(rgba(59, 130, 246, 0.15) 1px, transparent 0), radial-gradient(rgba(59, 130, 246, 0.08) 2px, transparent 0); background-size: 50px 50px, 100px 100px; opacity: 0.7; animation: gridPulse 6s ease-in-out infinite; } @keyframes gridPulse { 0%, 100% { opacity: 0.4; } 50% { opacity: 0.8; } } /* Floating Biometric Nodes / Particles */ .particle { position: absolute; border-radius: 50%; background: rgba(96, 165, 250, 0.6); box-shadow: 0 0 12px rgba(96, 165, 250, 0.8), 0 0 20px rgba(96, 165, 250, 0.4); } .p1 { width: 8px; height: 8px; left: 15%; top: 25%; animation: float1 12s ease-in-out infinite; } .p2 { width: 5px; height: 5px; left: 75%; top: 15%; animation: float2 14s ease-in-out infinite; } .p3 { width: 10px; height: 10px; left: 30%; top: 75%; animation: float3 16s ease-in-out infinite; } .p4 { width: 6px; height: 6px; left: 80%; top: 65%; animation: float1 13s ease-in-out infinite; } .p5 { width: 9px; height: 9px; left: 50%; top: 45%; animation: float2 15s ease-in-out infinite; } .p6 { width: 5px; height: 5px; left: 10%; top: 80%; animation: float3 11s ease-in-out infinite; } @keyframes float1 { 0%, 100% { transform: translateY(0px) translateX(0px); } 50% { transform: translateY(-30px) translateX(15px); } } @keyframes float2 { 0%, 100% { transform: translateY(0px) translateX(0px); } 50% { transform: translateY(25px) translateX(-20px); } } @keyframes float3 { 0%, 100% { transform: translateY(0px) translateX(0px); } 50% { transform: translateY(-15px) translateX(-25px); } } /* Adaptive Contrast for Dark Animated Background on HF Spaces */ .bio-scanning-bg ~ .overlay .slide { color: #f1f5f9 !important; /* light slate color */ text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8), 0 0 15px rgba(59, 130, 246, 0.3); } .bio-scanning-bg ~ .overlay .overlay-text { color: #f8fafc !important; text-shadow: 0 0 20px rgba(59, 130, 246, 0.8), 0 2px 15px rgba(0, 0, 0, 0.9); } .bio-scanning-bg ~ .integration-section .integration-text { color: #93c5fd !important; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9); } .bio-scanning-bg ~ #soundcloud-control .sc-desc { color: #cbd5e1 !important; text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8); } /* Biometric HUD Target Circle */ .bio-target-circle { position: absolute; top: 50%; left: 50%; width: 440px; height: 440px; transform: translate(-50%, -50%); border: 1px double rgba(96, 165, 250, 0.12); border-radius: 50%; pointer-events: none; z-index: 0; animation: spinTarget 25s linear infinite; } @keyframes spinTarget { 0% { transform: translate(-50%, -50%) rotate(0deg); } 100% { transform: translate(-50%, -50%) rotate(360deg); } } /* Biometric HUD Frame */ .hud-scanner { position: absolute; top: 50%; left: 50%; width: 90vw; max-width: 780px; height: 80vh; max-height: 520px; transform: translate(-50%, -50%); border: 1px dashed rgba(59, 130, 246, 0.15); border-radius: 16px; pointer-events: none; z-index: 1; animation: hudGlow 5s ease-in-out infinite; } @keyframes hudGlow { 0%, 100% { border-color: rgba(59, 130, 246, 0.12); box-shadow: inset 0 0 15px rgba(59, 130, 246, 0.02); } 50% { border-color: rgba(59, 130, 246, 0.28); box-shadow: inset 0 0 30px rgba(59, 130, 246, 0.08); } } /* HUD Corners */ .hud-bracket { position: absolute; width: 28px; height: 28px; border-color: rgba(96, 165, 250, 0.8); border-style: solid; } .hud-bracket.tl { top: -2px; left: -2px; border-width: 4px 0 0 4px; border-top-left-radius: 12px; } .hud-bracket.tr { top: -2px; right: -2px; border-width: 4px 4px 0 0; border-top-right-radius: 12px; } .hud-bracket.bl { bottom: -2px; left: -2px; border-width: 0 0 4px 4px; border-bottom-left-radius: 12px; } .hud-bracket.br { bottom: -2px; right: -2px; border-width: 0 4px 4px 0; border-bottom-right-radius: 12px; } /* HUD System Data Overlay */ .hud-data-left, .hud-data-right { position: absolute; font-family: 'Courier New', Courier, monospace; font-size: 0.78rem; font-weight: bold; color: rgba(96, 165, 250, 0.65); text-shadow: 0 0 8px rgba(59, 130, 246, 0.4); letter-spacing: 0.08em; } .hud-data-left { bottom: 20px; left: 24px; text-align: left; } .hud-data-right { bottom: 20px; right: 24px; text-align: right; } .hud-line { margin-bottom: 6px; animation: textFlicker 3s infinite alternate; } .hud-line:nth-child(2) { animation-delay: 0.5s; } .hud-line:nth-child(3) { animation-delay: 1.2s; } @keyframes textFlicker { 0%, 100% { opacity: 0.55; } 45% { opacity: 0.6; } 50% { opacity: 0.95; } 55% { opacity: 0.75; } 85% { opacity: 0.85; } }