Spaces:
Sleeping
Sleeping
| :root { | |
| /* Hyper-Premium Palette - Light Theme */ | |
| --bg-core: #f8fafc; | |
| --bg-panel: rgba(255, 255, 255, 0.7); | |
| --glass-bg: rgba(255, 255, 255, 0.6); | |
| --glass-border: rgba(255, 255, 255, 0.4); | |
| /* Sophisticated Text Colors */ | |
| --accent-primary: #1e293b; | |
| --accent-secondary: #475569; | |
| --accent-tertiary: #94a3b8; | |
| /* Premium Accent Gradients - Including Sleek Pink Accent */ | |
| --gradient-primary: linear-gradient(135deg, #6366f1 0%, #d946ef 100%); | |
| /* Indigo to Pink-Magenta */ | |
| --gradient-surface: linear-gradient(135deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.1) 100%); | |
| --gradient-glow: radial-gradient(circle at center, rgba(99, 102, 241, 0.15) 0%, transparent 70%); | |
| /* Status Colors */ | |
| --success: #10b981; | |
| --active: #6366f1; | |
| --warning: #f59e0b; | |
| --error: #ef4444; | |
| /* Spacing & Radius */ | |
| --radius-lg: 32px; | |
| --radius-md: 20px; | |
| --radius-sm: 12px; | |
| /* Shadows & Depth */ | |
| --shadow-premium: 0 25px 50px -12px rgba(0, 0, 0, 0.1); | |
| --inner-glow: inset 0 1px 1px rgba(255, 255, 255, 0.8); | |
| } | |
| /* Dark Mode Theme */ | |
| [data-theme="dark"] { | |
| --bg-core: #0f172a; | |
| --bg-panel: rgba(15, 23, 42, 0.8); | |
| --glass-bg: rgba(30, 41, 59, 0.7); | |
| --glass-border: rgba(71, 85, 105, 0.3); | |
| --accent-primary: #f1f5f9; | |
| --accent-secondary: #cbd5e1; | |
| --accent-tertiary: #64748b; | |
| --gradient-surface: linear-gradient(135deg, rgba(30, 41, 59, 0.6) 0%, rgba(15, 23, 42, 0.4) 100%); | |
| --gradient-glow: radial-gradient(circle at center, rgba(99, 102, 241, 0.25) 0%, transparent 70%); | |
| --shadow-premium: 0 25px 50px -12px rgba(0, 0, 0, 0.5); | |
| --inner-glow: inset 0 1px 1px rgba(255, 255, 255, 0.05); | |
| } | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| font-family: 'Outfit', 'Inter', sans-serif; | |
| } | |
| body { | |
| background: var(--bg-core); | |
| color: var(--accent-primary); | |
| height: 100vh; | |
| overflow: hidden; | |
| position: relative; | |
| background-image: | |
| radial-gradient(at 0% 0%, rgba(99, 102, 241, 0.08) 0, transparent 50%), | |
| radial-gradient(at 100% 0%, rgba(217, 70, 239, 0.07) 0, transparent 50%), | |
| /* Subtle Pink Glow */ | |
| radial-gradient(at 50% 100%, rgba(79, 70, 229, 0.08) 0, transparent 50%); | |
| background-size: 200% 200%; | |
| animation: aurora-shift 15s ease infinite alternate; | |
| } | |
| /* Edge Shadowing / Inner Glow Effect */ | |
| body::after { | |
| content: ''; | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| pointer-events: none; | |
| /* Four-layered "Cyber Glow" - Deep Blue with a Pink Undertone */ | |
| box-shadow: | |
| inset 0 0 15px rgba(59, 130, 246, 0.95), | |
| /* Sharp blue ledge */ | |
| inset 0 0 100px rgba(59, 130, 246, 0.7), | |
| /* Deep blue immersion */ | |
| inset 0 0 130px rgba(217, 70, 239, 0.25), | |
| /* VIBRANT PINK GLOW */ | |
| inset 0 0 60px rgba(59, 130, 246, 0.4); | |
| /* Transition blue */ | |
| z-index: 9999; | |
| } | |
| @keyframes aurora-shift { | |
| 0% { | |
| background-position: 0% 0%; | |
| } | |
| 100% { | |
| background-position: 100% 100%; | |
| } | |
| } | |
| .dashboard { | |
| display: flex; | |
| height: 100vh; | |
| padding: 1.5rem; | |
| gap: 1.5rem; | |
| background: radial-gradient(circle at center, transparent 0%, rgba(255, 255, 255, 0.2) 100%); | |
| } | |
| /* Glass Panels with improved depth */ | |
| /* Hyper-Premium Glass Morphism */ | |
| .glass-panel { | |
| background: var(--glass-bg); | |
| backdrop-filter: blur(24px) saturate(180%); | |
| -webkit-backdrop-filter: blur(24px) saturate(180%); | |
| border-radius: var(--radius-lg); | |
| border: 1px solid var(--glass-border); | |
| box-shadow: var(--shadow-premium), var(--inner-glow); | |
| transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1); | |
| } | |
| .main-header { | |
| display: flex; | |
| align-items: center; | |
| padding: 1rem 3.5rem; | |
| background: rgba(255, 255, 255, 0.4); | |
| backdrop-filter: blur(40px) saturate(180%); | |
| -webkit-backdrop-filter: blur(40px) saturate(180%); | |
| border: 1px solid rgba(255, 255, 255, 0.6); | |
| box-shadow: | |
| 0 20px 40px rgba(0, 0, 0, 0.05), | |
| inset 0 1px 1px rgba(255, 255, 255, 0.8); | |
| border-radius: 100px; | |
| margin: 0 auto 1rem; | |
| width: fit-content; | |
| min-width: 80%; | |
| position: relative; | |
| z-index: 20; | |
| } | |
| /* Animation Removed for Stability */ | |
| .logo-circle-container { | |
| width: 55px; | |
| /* Smaller logo container */ | |
| height: 55px; | |
| background: white; | |
| border-radius: 50%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| margin-right: 1rem; | |
| box-shadow: | |
| var(--shadow-md), | |
| 0 0 0 3px rgba(255, 255, 255, 0.4); | |
| border: 1px solid rgba(255, 255, 255, 0.8); | |
| overflow: hidden; | |
| flex-shrink: 0; | |
| transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); | |
| } | |
| .logo-circle-container:hover { | |
| transform: scale(1.1) rotate(-5deg); | |
| } | |
| .uni-logo { | |
| width: 35px; | |
| /* Smaller logo */ | |
| height: auto; | |
| } | |
| /* Layout Updates for 3-Column Dashboard */ | |
| .container { | |
| width: 100%; | |
| height: 100vh; | |
| display: flex; | |
| flex-direction: column; | |
| padding: 0.5rem 1.5rem 1.5rem; | |
| /* Reduced top padding */ | |
| box-sizing: border-box; | |
| overflow: hidden; | |
| background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 80%); | |
| } | |
| .content-row { | |
| display: grid; | |
| grid-template-columns: 280px 1fr 300px; | |
| /* Slightly narrower sidebars */ | |
| gap: 2rem; | |
| flex: 1; | |
| min-height: 0; | |
| align-items: stretch; | |
| /* Make both sidebars equal height */ | |
| } | |
| /* Sidebars - Integrated & Floating */ | |
| .sidebar { | |
| background: var(--glass-bg); | |
| backdrop-filter: blur(32px) saturate(200%); | |
| -webkit-backdrop-filter: blur(32px) saturate(200%); | |
| border: 1px solid var(--glass-border); | |
| padding: 2rem; | |
| /* Reduced padding */ | |
| display: flex; | |
| flex-direction: column; | |
| gap: 2rem; | |
| width: 100%; | |
| height: 100%; | |
| max-height: calc(100vh - 120px); | |
| overflow-y: auto; | |
| scrollbar-width: thin; | |
| scrollbar-color: var(--active) transparent; | |
| z-index: 10; | |
| box-shadow: var(--shadow-premium), var(--inner-glow); | |
| border-radius: var(--radius-lg); | |
| transition: transform 0.4s ease, border-color 0.4s ease; | |
| } | |
| .sidebar:hover { | |
| transform: translateY(-4px); | |
| border-color: rgba(255, 255, 255, 0.2); | |
| } | |
| .logo { | |
| display: flex; | |
| align-items: center; | |
| gap: 0.75rem; | |
| color: var(--accent-primary); | |
| padding: 1.25rem 2rem; | |
| /* Reduced logo padding */ | |
| margin: -2rem -2rem 1rem; | |
| /* Adjust negative margin */ | |
| background: rgba(255, 255, 255, 0.5); | |
| border-bottom: 1px solid rgba(0, 0, 0, 0.05); | |
| border-radius: var(--radius-lg) var(--radius-lg) 0 0; | |
| } | |
| .logo span { | |
| font-size: 0.75rem; | |
| font-weight: 800; | |
| text-transform: uppercase; | |
| letter-spacing: 0.2em; | |
| color: var(--accent-secondary); | |
| } | |
| .logo i { | |
| font-size: 0.8rem; | |
| } | |
| /* Main View - Transparent to show animations */ | |
| .main-view { | |
| position: relative; | |
| background: transparent ; | |
| border: none ; | |
| box-shadow: none ; | |
| padding: 0 ; | |
| padding-top: 0; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| /* Center vertically */ | |
| } | |
| .video-feed { | |
| border-radius: 20px; | |
| box-shadow: 0 30px 100px rgba(0, 0, 0, 0.12); | |
| width: 100%; | |
| max-width: 900px; | |
| height: auto; | |
| object-fit: cover; | |
| /* Changed from fill to cover for better quality while removing bars */ | |
| border: 4px solid #fff; | |
| position: relative; | |
| } | |
| .video-container { | |
| position: relative; | |
| padding: 1.25rem; | |
| background: rgba(255, 255, 255, 0.4); | |
| backdrop-filter: blur(20px); | |
| border-radius: 40px; | |
| border: 1px solid rgba(255, 255, 255, 0.8); | |
| box-shadow: var(--shadow-premium); | |
| margin: 0 auto; | |
| width: fit-content; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .video-feed.active { | |
| box-shadow: 0 0 60px rgba(99, 102, 241, 0.2), 0 30px 100px rgba(0, 0, 0, 0.2); | |
| border-color: #fff; | |
| } | |
| /* Futuristic HUD Pill */ | |
| .hud-pill { | |
| position: relative; | |
| margin: 0 auto 1.5rem; | |
| background: rgba(255, 255, 255, 0.85); | |
| backdrop-filter: blur(40px) saturate(180%); | |
| -webkit-backdrop-filter: blur(40px) saturate(180%); | |
| padding: 0.8rem 3.5rem; | |
| /* Reduced padding from 1.25rem 5rem */ | |
| border-radius: 24px; | |
| border: 1px solid rgba(255, 255, 255, 0.8); | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| gap: 4px; | |
| box-shadow: | |
| 0 15px 35px rgba(0, 0, 0, 0.05), | |
| inset 0 0 0 1px rgba(255, 255, 255, 1); | |
| z-index: 100; | |
| transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1); | |
| width: fit-content; | |
| min-width: 280px; | |
| /* Reduced min-width from 340px */ | |
| } | |
| .hud-pill.pulse { | |
| transform: translateY(-5px) scale(1.05); | |
| border-color: var(--active); | |
| box-shadow: 0 30px 60px rgba(99, 102, 241, 0.25); | |
| } | |
| @keyframes breathe { | |
| 0%, | |
| 100% { | |
| box-shadow: var(--shadow-lg), 0 0 0 1px rgba(255, 255, 255, 0.8) inset; | |
| } | |
| 50% { | |
| box-shadow: var(--shadow-xl), 0 0 0 1px rgba(255, 255, 255, 0.9) inset; | |
| } | |
| } | |
| .hud-label { | |
| font-size: 0.65rem; | |
| font-weight: 700; | |
| letter-spacing: 0.15em; | |
| color: var(--accent-secondary); | |
| margin-bottom: 0.2rem; | |
| } | |
| .hud-value { | |
| font-size: 1.75rem; | |
| font-weight: 800; | |
| background: var(--gradient-primary); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| letter-spacing: -0.02em; | |
| white-space: nowrap; | |
| filter: drop-shadow(0 2px 4px rgba(102, 126, 234, 0.2)); | |
| } | |
| .hud-translation { | |
| font-size: 0.95rem; | |
| font-weight: 600; | |
| color: var(--accent-secondary); | |
| margin-top: 0.25rem; | |
| letter-spacing: 0.02em; | |
| } | |
| @media (max-width: 900px) { | |
| .container { | |
| grid-template-columns: 1fr; | |
| grid-template-rows: 1fr auto; | |
| } | |
| .sidebar { | |
| margin: 0; | |
| border-radius: 0; | |
| border-left: none; | |
| border-top: 1px solid var(--nav-border); | |
| } | |
| } | |
| /* Top Predictions */ | |
| .top-predictions { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.5rem; | |
| margin-top: 0.5rem; | |
| } | |
| .pred-item { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| font-size: 0.85rem; | |
| color: var(--accent-secondary); | |
| } | |
| .pred-bar-bg { | |
| width: 4px; | |
| height: 4px; | |
| background: var(--nav-border); | |
| border-radius: 50%; | |
| margin-left: 0.5rem; | |
| } | |
| /* History - Clean List */ | |
| /* History - Clean List */ | |
| .history-log { | |
| flex-grow: 1; | |
| overflow-y: auto; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.5rem; | |
| padding-right: 0.5rem; | |
| min-height: 100px; | |
| /* Ensure it doesn't collapse too much */ | |
| max-height: 40vh; | |
| /* Limit height so it doesn't push other elements too far if flex breaks */ | |
| } | |
| .history-item { | |
| font-size: 0.9rem; | |
| display: flex; | |
| justify-content: space-between; | |
| padding: 1rem 1.5rem; | |
| background: rgba(255, 255, 255, 0.03); | |
| border: 1px solid rgba(255, 255, 255, 0.05); | |
| border-radius: var(--radius-md); | |
| color: var(--accent-secondary); | |
| transition: all 0.3s ease; | |
| animation: historyEntry 0.6s cubic-bezier(0.16, 1, 0.3, 1) both; | |
| } | |
| @keyframes historyEntry { | |
| 0% { | |
| opacity: 0; | |
| transform: translateY(10px) scale(0.98); | |
| filter: blur(5px); | |
| } | |
| 100% { | |
| opacity: 1; | |
| transform: translateY(0) scale(1); | |
| filter: blur(0); | |
| } | |
| } | |
| .video-container { | |
| padding: 1rem; | |
| background: rgba(255, 255, 255, 0.5); | |
| border-radius: var(--radius-lg); | |
| /* Fixed radius */ | |
| border: 1px solid rgba(255, 255, 255, 1); | |
| box-shadow: 0 20px 50px rgba(0, 51, 153, 0.05); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .video-container::after { | |
| content: ''; | |
| position: absolute; | |
| top: -50%; | |
| left: -50%; | |
| width: 200%; | |
| height: 200%; | |
| background: radial-gradient(circle, rgba(74, 144, 226, 0.05) 0%, transparent 70%); | |
| pointer-events: none; | |
| } | |
| @keyframes slideIn { | |
| from { | |
| opacity: 0; | |
| transform: translateX(-10px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| .history-item:hover { | |
| box-shadow: var(--shadow-md); | |
| transform: translateX(4px); | |
| border-color: rgba(102, 126, 234, 0.3); | |
| } | |
| .history-item span:first-child { | |
| color: var(--accent-primary); | |
| font-weight: 600; | |
| } | |
| /* Controls - Modern Buttons */ | |
| .control-area { | |
| margin-top: auto; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.75rem; | |
| padding-top: 1rem; | |
| border-top: 1px solid var(--nav-border); | |
| } | |
| .input-group-label { | |
| letter-spacing: 0.05em; | |
| font-weight: 600; | |
| color: var(--accent-secondary) ; | |
| /* Force override inline style if needed */ | |
| } | |
| .btn-elegant { | |
| width: 100%; | |
| padding: 1rem; | |
| /* Reduced padding from 1.25rem */ | |
| border-radius: var(--radius-md); | |
| border: 1px solid var(--glass-border); | |
| background: var(--glass-bg); | |
| color: var(--accent-primary); | |
| font-weight: 600; | |
| /* Reduced font-weight from 700 */ | |
| font-size: 0.9rem; | |
| /* Slightly smaller font */ | |
| cursor: pointer; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 0.75rem; | |
| transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .btn-elegant:hover { | |
| background: rgba(255, 255, 255, 0.1); | |
| transform: translateY(-2px); | |
| border-color: var(--active); | |
| box-shadow: 0 0 30px rgba(99, 102, 241, 0.2); | |
| } | |
| .btn-elegant i { | |
| font-size: 1.1rem; | |
| color: var(--active); | |
| } | |
| .btn-elegant::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: var(--gradient-primary); | |
| opacity: 0; | |
| transition: opacity 0.3s ease; | |
| z-index: -1; | |
| } | |
| .btn-elegant:hover { | |
| border-color: transparent; | |
| color: white; | |
| transform: translateY(-2px); | |
| box-shadow: var(--shadow-md), 0 0 20px rgba(102, 126, 234, 0.3); | |
| } | |
| .btn-elegant:hover::before { | |
| opacity: 1; | |
| } | |
| .btn-elegant:active { | |
| transform: translateY(0); | |
| } | |
| .btn-elegant i { | |
| width: 20px; | |
| text-align: center; | |
| transition: transform 0.3s ease; | |
| } | |
| /* Radial Gauge */ | |
| .radial-gauge { | |
| position: relative; | |
| width: 120px; | |
| height: 120px; | |
| margin: 0 auto; | |
| } | |
| .radial-gauge svg { | |
| width: 100%; | |
| height: 100%; | |
| transform: rotate(-90deg); | |
| } | |
| .gauge-bg { | |
| fill: none; | |
| stroke: var(--nav-border); | |
| stroke-width: 8; | |
| } | |
| .gauge-progress { | |
| fill: none; | |
| stroke: var(--active); | |
| stroke-width: 8; | |
| stroke-linecap: round; | |
| stroke-dasharray: 283; | |
| stroke-dashoffset: 283; | |
| transition: stroke-dashoffset 0.5s ease; | |
| } | |
| .gauge-value { | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%); | |
| font-size: 1.25rem; | |
| font-weight: 700; | |
| color: var(--accent-primary); | |
| } | |
| /* Log Controls */ | |
| .log-control-btn { | |
| background: none; | |
| border: none; | |
| color: var(--accent-secondary); | |
| cursor: pointer; | |
| font-size: 0.9rem; | |
| padding: 4px; | |
| transition: all 0.2s ease; | |
| } | |
| .log-control-btn:hover { | |
| color: var(--active); | |
| transform: scale(1.1); | |
| } | |
| /* Modal */ | |
| .modal { | |
| display: none; | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: rgba(0, 0, 0, 0.4); | |
| backdrop-filter: blur(8px); | |
| z-index: 1000; | |
| justify-content: center; | |
| align-items: center; | |
| } | |
| /* Cloud-Morph Modal */ | |
| .modal-content { | |
| background: rgba(255, 255, 255, 0.6); | |
| backdrop-filter: blur(60px) saturate(210%); | |
| -webkit-backdrop-filter: blur(60px) saturate(210%); | |
| border-radius: 40px; | |
| width: 95%; | |
| max-width: 650px; | |
| padding: 4rem; | |
| position: relative; | |
| box-shadow: 0 50px 100px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.6); | |
| border: 1px solid rgba(255, 255, 255, 0.4); | |
| max-height: 85vh; | |
| overflow-y: auto; | |
| animation: modalPop 0.6s cubic-bezier(0.16, 1, 0.3, 1); | |
| } | |
| @keyframes modalPop { | |
| 0% { | |
| opacity: 0; | |
| transform: scale(0.9) translateY(20px); | |
| filter: blur(10px); | |
| } | |
| 100% { | |
| opacity: 1; | |
| transform: scale(1) translateY(0); | |
| filter: blur(0); | |
| } | |
| } | |
| .modal-title { | |
| font-size: 2.25rem; | |
| font-weight: 800; | |
| margin-bottom: 2rem; | |
| color: var(--accent-primary); | |
| letter-spacing: -0.02em; | |
| } | |
| .overlay-status { | |
| position: absolute; | |
| top: 2rem; | |
| right: 2rem; | |
| background: rgba(15, 23, 42, 0.4); | |
| /* Darkened from 0.1 for better visibility */ | |
| backdrop-filter: blur(12px); | |
| padding: 0.6rem 1.25rem; | |
| border-radius: 100px; | |
| display: flex; | |
| align-items: center; | |
| gap: 0.75rem; | |
| border: 1px solid rgba(255, 255, 255, 0.3); | |
| z-index: 10; | |
| } | |
| .status-dot { | |
| width: 10px; | |
| height: 10px; | |
| background: var(--active); | |
| border-radius: 50%; | |
| box-shadow: 0 0 15px var(--active); | |
| animation: heartBeat 2s infinite ease-in-out; | |
| } | |
| @keyframes heartBeat { | |
| 0%, | |
| 100% { | |
| transform: scale(1); | |
| opacity: 1; | |
| } | |
| 50% { | |
| transform: scale(1.3); | |
| opacity: 0.6; | |
| box-shadow: 0 0 25px var(--active); | |
| } | |
| } | |
| .metric-group { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 1.25rem; | |
| } | |
| .label { | |
| font-size: 0.7rem; | |
| font-weight: 800; | |
| text-transform: uppercase; | |
| letter-spacing: 0.2em; | |
| color: var(--accent-secondary); | |
| display: block; | |
| margin-bottom: 0.25rem; | |
| } | |
| /* --- Practice Mode Styles --- */ | |
| .switch { | |
| position: relative; | |
| display: inline-block; | |
| width: 44px; | |
| height: 24px; | |
| } | |
| .switch input { | |
| opacity: 0; | |
| width: 0; | |
| height: 0; | |
| } | |
| .slider { | |
| position: absolute; | |
| cursor: pointer; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background-color: #cbd5e1; | |
| /* slate-300 */ | |
| -webkit-transition: .4s; | |
| transition: .4s; | |
| } | |
| .slider:before { | |
| position: absolute; | |
| content: ""; | |
| height: 18px; | |
| width: 18px; | |
| left: 3px; | |
| bottom: 3px; | |
| background-color: white; | |
| -webkit-transition: .4s; | |
| transition: .4s; | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); | |
| } | |
| input:checked+.slider { | |
| background-color: var(--active); | |
| } | |
| input:focus+.slider { | |
| box-shadow: 0 0 1px var(--active); | |
| } | |
| input:checked+.slider:before { | |
| -webkit-transform: translateX(20px); | |
| -ms-transform: translateX(20px); | |
| transform: translateX(20px); | |
| } | |
| .slider.round { | |
| border-radius: 34px; | |
| } | |
| .slider.round:before { | |
| border-radius: 50%; | |
| } | |
| .elegant-select { | |
| width: 100%; | |
| padding: 0.8rem 1rem; | |
| border-radius: var(--radius-sm); | |
| border: 1px solid var(--glass-border); | |
| background: rgba(255, 255, 255, 0.7); | |
| color: var(--accent-secondary); | |
| font-size: 0.9rem; | |
| font-weight: 500; | |
| outline: none; | |
| transition: all 0.3s ease; | |
| cursor: pointer; | |
| appearance: none; | |
| background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e"); | |
| background-repeat: no-repeat; | |
| background-position: right 1rem center; | |
| background-size: 1em; | |
| } | |
| /* Practice Feedback Overlay */ | |
| .practice-feedback { | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%) scale(0.9); | |
| pointer-events: none; | |
| text-align: center; | |
| opacity: 0; | |
| transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); | |
| z-index: 100; | |
| filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.2)); | |
| } | |
| .practice-feedback.show { | |
| opacity: 1; | |
| transform: translate(-50%, -50%) scale(1.1); | |
| animation: successPop 0.6s ease-out; | |
| } | |
| .practice-feedback .emoji { | |
| font-size: 5rem; | |
| display: block; | |
| margin-bottom: 0.5rem; | |
| animation: bounce 1s infinite alternate; | |
| } | |
| .practice-feedback .text { | |
| font-size: 2.5rem; | |
| font-weight: 800; | |
| color: white; | |
| text-transform: uppercase; | |
| background: linear-gradient(135deg, #10b981 0%, #3b82f6 100%); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| text-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); | |
| } | |
| @keyframes successPop { | |
| 0% { | |
| transform: translate(-50%, -50%) scale(0.5); | |
| opacity: 0; | |
| } | |
| 60% { | |
| transform: translate(-50%, -50%) scale(1.2); | |
| opacity: 1; | |
| } | |
| 100% { | |
| transform: translate(-50%, -50%) scale(1.1); | |
| } | |
| } | |
| @keyframes bounce { | |
| from { | |
| transform: translateY(0); | |
| } | |
| to { | |
| transform: translateY(-10px); | |
| } | |
| } | |
| /* Attention Badges */ | |
| .attention-badge { | |
| display: flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| padding: 0.6rem 1rem; | |
| background: rgba(16, 185, 129, 0.15); | |
| backdrop-filter: blur(12px); | |
| border: 1px solid rgba(16, 185, 129, 0.4); | |
| border-radius: 100px; | |
| color: #10b981; | |
| font-size: 0.75rem; | |
| font-weight: 700; | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| animation: slideInLeft 0.3s ease-out; | |
| box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2); | |
| } | |
| .attention-badge i { | |
| font-size: 0.9rem; | |
| } | |
| @keyframes slideInLeft { | |
| from { | |
| opacity: 0; | |
| transform: translateX(-20px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| /* Theme Toggle Button Hover */ | |
| #theme-toggle:hover { | |
| transform: scale(1.1); | |
| background: var(--glass-border); | |
| box-shadow: 0 4px 12px rgba(99, 102, 241, 0.2); | |
| } | |
| /* Dark mode adjustments */ | |
| [data-theme="dark"] body::after { | |
| box-shadow: | |
| inset 0 0 15px rgba(99, 102, 241, 0.4), | |
| inset 0 0 100px rgba(99, 102, 241, 0.3), | |
| inset 0 0 130px rgba(217, 70, 239, 0.15), | |
| inset 0 0 60px rgba(99, 102, 241, 0.2); | |
| } | |
| [data-theme="dark"] .logo-circle-container { | |
| background: rgba(255, 255, 255, 0.1); | |
| border-color: rgba(255, 255, 255, 0.2); | |
| } | |
| [data-theme="dark"] .video-feed { | |
| border-color: rgba(255, 255, 255, 0.1); | |
| } | |
| /* Practice Mode Enhanced Design */ | |
| .practice-card { | |
| margin-top: 1.5rem; | |
| padding: 1.25rem; | |
| border-radius: var(--radius-md); | |
| background: var(--glass-bg); | |
| border: 1px solid var(--glass-border); | |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| } | |
| .practice-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 0.5rem; | |
| } | |
| .practice-title { | |
| display: flex; | |
| align-items: center; | |
| gap: 0.75rem; | |
| font-size: 0.85rem; | |
| font-weight: 700; | |
| color: var(--accent-primary); | |
| text-transform: uppercase; | |
| letter-spacing: 0.05em; | |
| } | |
| .practice-title i { | |
| color: var(--active); | |
| font-size: 1.1rem; | |
| } | |
| .practice-content { | |
| margin-top: 1rem; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 1rem; | |
| animation: fadeInSlide 0.4s ease-out; | |
| } | |
| .practice-hint { | |
| font-size: 0.75rem; | |
| color: var(--accent-tertiary); | |
| line-height: 1.4; | |
| margin: 0; | |
| } | |
| .target-box { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 1rem; | |
| background: rgba(99, 102, 241, 0.05); | |
| border: 1px dashed var(--active); | |
| border-radius: var(--radius-sm); | |
| text-align: center; | |
| transition: all 0.3s ease; | |
| } | |
| .target-box.active { | |
| background: rgba(99, 102, 241, 0.1); | |
| border-style: solid; | |
| box-shadow: 0 0 20px rgba(99, 102, 241, 0.15); | |
| } | |
| .target-label { | |
| font-size: 0.65rem; | |
| font-weight: 800; | |
| color: var(--accent-tertiary); | |
| text-transform: uppercase; | |
| letter-spacing: 0.1em; | |
| margin-bottom: 0.25rem; | |
| } | |
| .target-value { | |
| font-size: 1.25rem; | |
| font-weight: 800; | |
| color: var(--active); | |
| text-transform: uppercase; | |
| letter-spacing: 0.02em; | |
| } | |
| /* Success Celebration Animation */ | |
| @keyframes successPulse { | |
| 0% { | |
| transform: scale(1); | |
| box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4); | |
| } | |
| 50% { | |
| transform: scale(1.05); | |
| box-shadow: 0 0 30px 10px rgba(16, 185, 129, 0.2); | |
| } | |
| 100% { | |
| transform: scale(1); | |
| box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); | |
| } | |
| } | |
| .practice-success { | |
| animation: successPulse 0.8s ease-out; | |
| border-color: var(--success) ; | |
| background: rgba(16, 185, 129, 0.1) ; | |
| } | |
| .practice-success .target-value { | |
| color: var(--success) ; | |
| } | |
| @keyframes fadeInSlide { | |
| from { | |
| opacity: 0; | |
| transform: translateY(-10px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| /* Premium Practice Feedback Overlay */ | |
| .practice-feedback { | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%) scale(0.9); | |
| background: rgba(255, 255, 255, 0.95); | |
| backdrop-filter: blur(15px); | |
| padding: 2.5rem 4rem; | |
| border-radius: var(--radius-lg); | |
| display: none; | |
| flex-direction: column; | |
| align-items: center; | |
| gap: 1.5rem; | |
| z-index: 1000; | |
| box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); | |
| border: 1px solid rgba(255, 255, 255, 0.4); | |
| opacity: 0; | |
| transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); | |
| } | |
| [data-theme="dark"] .practice-feedback { | |
| background: rgba(30, 41, 59, 0.9); | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| } | |
| .practice-feedback.show { | |
| display: flex; | |
| opacity: 1; | |
| transform: translate(-50%, -50%) scale(1); | |
| } | |
| .practice-feedback .emoji { | |
| font-size: 4rem; | |
| filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.1)); | |
| animation: bounce 1s infinite alternate; | |
| } | |
| .practice-feedback .text { | |
| font-size: 1.75rem; | |
| font-weight: 800; | |
| color: var(--accent-primary); | |
| text-transform: uppercase; | |
| letter-spacing: 0.1em; | |
| } | |
| @keyframes bounce { | |
| from { | |
| transform: translateY(0); | |
| } | |
| to { | |
| transform: translateY(-15px); | |
| } | |
| } |