Spaces:
Running
Running
| /* 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 ; /* 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 ; | |
| 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 ; | |
| text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9); | |
| } | |
| .bio-scanning-bg ~ #soundcloud-control .sc-desc { | |
| color: #cbd5e1 ; | |
| 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; } | |
| } | |