Spaces:
Running
Running
Komalpreet Kaur
style: set theme toggle to absolute position on mobile to scroll with page content
d09d169 Download frontend/src/components/AuthScreen.css from komalsohal/Soma: direct link, hf CLI and curl.
- Browser
- Download file 14.1 kB
-
https://huggingface.co/spaces/komalsohal/Soma/resolve/main/frontend/src/components/AuthScreen.css
- Command line
-
hf download hf://spaces/komalsohal/Soma/frontend/src/components/AuthScreen.css
-
curl -L -o AuthScreen.css https://huggingface.co/spaces/komalsohal/Soma/resolve/main/frontend/src/components/AuthScreen.css
14.1 kB
| /* βββββββββββββββββββββββββββββββββββββββββββββββ | |
| AuthScreen (Neural Gloss & Soma Orange) | |
| βββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .landing { | |
| position: fixed; | |
| inset: 0; | |
| background: #f3f4f6; /* Premium soft, warm workspace backdrop */ | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| z-index: 1000; | |
| overflow: hidden; | |
| font-family: 'Inter', system-ui, -apple-system, sans-serif; | |
| } | |
| /* ββ Background Neural Glows ββ */ | |
| .landing-bg { | |
| position: absolute; | |
| inset: 0; | |
| z-index: 0; | |
| } | |
| .bg-orb { | |
| position: absolute; | |
| border-radius: 50%; | |
| filter: blur(120px); | |
| opacity: 0.5; | |
| animation: drift 20s infinite alternate ease-in-out; | |
| } | |
| /* Unified Soma Orange Palette Glow Orbs */ | |
| .orb-1 { | |
| width: 600px; | |
| height: 600px; | |
| background: rgba(255, 107, 53, 0.15); /* Soma Orange Glow */ | |
| top: -10%; | |
| left: -10%; | |
| } | |
| .orb-2 { | |
| width: 500px; | |
| height: 500px; | |
| background: rgba(255, 139, 84, 0.12); /* Soft Axon Glow */ | |
| bottom: -5%; | |
| right: -5%; | |
| } | |
| .orb-3 { | |
| width: 400px; | |
| height: 400px; | |
| background: rgba(255, 235, 227, 0.2); /* Soft Warm Radial */ | |
| top: 30%; | |
| right: 20%; | |
| } | |
| .bg-grid { | |
| position: absolute; | |
| inset: 0; | |
| background-image: radial-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px); | |
| background-size: 30px 30px; | |
| opacity: 0.8; | |
| } | |
| @keyframes drift { | |
| from { transform: translate(0, 0) scale(1); } | |
| to { transform: translate(40px, 40px) scale(1.15); } | |
| } | |
| /* ββ Frosted Glass Console Panel ββ */ | |
| .splash-content, .name-content { | |
| position: relative; | |
| z-index: 10; | |
| width: 100%; | |
| max-width: 480px; | |
| text-align: center; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| background: rgba(255, 255, 255, 0.45); | |
| backdrop-filter: blur(35px); | |
| -webkit-backdrop-filter: blur(35px); | |
| border: 1px solid rgba(255, 255, 255, 0.8); | |
| border-radius: 32px; | |
| padding: 48px 40px; | |
| box-shadow: 0 24px 60px rgba(0, 0, 0, 0.04), inset 0 0 20px rgba(255, 255, 255, 0.2); | |
| animation: slide-up 0.8s cubic-bezier(0.16, 1, 0.3, 1); | |
| box-sizing: border-box; | |
| } | |
| @keyframes slide-up { | |
| from { opacity: 0; transform: translateY(30px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| /* ββ Hero Orb (Floating Core) ββ */ | |
| .hero-orb { | |
| width: 80px; | |
| height: 80px; | |
| margin-bottom: 32px; | |
| position: relative; | |
| } | |
| .hero-core { | |
| position: absolute; | |
| inset: 22%; | |
| background: #ff6b35; /* Soma Orange Core */ | |
| border-radius: 50%; | |
| box-shadow: 0 0 30px rgba(255, 107, 53, 0.6); | |
| animation: heartbeat 2s infinite ease-in-out; | |
| } | |
| .hero-ring { | |
| position: absolute; | |
| inset: 0; | |
| border: 1px solid rgba(255, 107, 53, 0.2); | |
| border-radius: 50%; | |
| animation: rotate 12s linear infinite; | |
| } | |
| .r2 { transform: rotate(45deg); inset: -8px; border-color: rgba(255, 107, 53, 0.15); } | |
| .r3 { transform: rotate(-45deg); inset: -16px; border-color: rgba(255, 107, 53, 0.1); } | |
| @keyframes rotate { | |
| from { transform: rotate(0deg); } | |
| to { transform: rotate(360deg); } | |
| } | |
| @keyframes heartbeat { | |
| 0% { transform: scale(0.95); opacity: 0.8; } | |
| 50% { transform: scale(1.05); opacity: 1; box-shadow: 0 0 45px rgba(255, 107, 53, 0.85); } | |
| 100% { transform: scale(0.95); opacity: 0.8; } | |
| } | |
| /* ββ Premium Typography ββ */ | |
| .hero-title { | |
| font-size: 4rem; | |
| font-weight: 900; | |
| letter-spacing: -0.06em; | |
| color: #1e293b; | |
| margin: 0 0 6px 0; | |
| line-height: 1; | |
| } | |
| .hero-tagline { | |
| font-size: 0.65rem; | |
| color: #ff6b35; /* Brand accent color */ | |
| text-transform: uppercase; | |
| letter-spacing: 0.4em; | |
| font-weight: 800; | |
| margin: 0 0 24px 0; | |
| font-family: monospace; | |
| } | |
| .hero-desc { | |
| font-size: 0.88rem; | |
| color: #64748b; | |
| line-height: 1.6; | |
| margin: 0 0 32px 0; | |
| max-width: 380px; | |
| } | |
| /* ββ Dynamic Badges (Features List) ββ */ | |
| .splash-features { | |
| display: flex; | |
| gap: 10px; | |
| margin-bottom: 36px; | |
| justify-content: center; | |
| flex-wrap: wrap; | |
| } | |
| .splash-feature { | |
| background: rgba(255, 255, 255, 0.65); | |
| border: 1px solid rgba(255, 255, 255, 0.9); | |
| padding: 6px 12px; | |
| border-radius: 100px; | |
| font-size: 0.68rem; | |
| font-weight: 800; | |
| color: #334155; | |
| display: flex; | |
| align-items: center; | |
| gap: 6px; | |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02); | |
| text-transform: uppercase; | |
| letter-spacing: 0.03em; | |
| } | |
| .sf-dot { | |
| width: 5px; | |
| height: 5px; | |
| border-radius: 50%; | |
| background-color: #ff6b35; | |
| box-shadow: 0 0 6px #ff6b35; | |
| } | |
| /* ββ Premium Orange Action Buttons ββ */ | |
| .enter-btn, .name-submit { | |
| background: #ff6b35 ; | |
| color: #fff ; | |
| padding: 12px 32px ; | |
| border-radius: 100px ; | |
| border: none ; | |
| font-size: 0.85rem ; | |
| font-weight: 700 ; | |
| letter-spacing: 0.05em ; | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| cursor: pointer; | |
| transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) ; | |
| box-shadow: 0 6px 20px rgba(255, 107, 53, 0.25) ; | |
| } | |
| .enter-btn:hover, .name-submit:hover:not(:disabled) { | |
| transform: translateY(-2px) ; | |
| background: #e0531f ; | |
| box-shadow: 0 10px 25px rgba(255, 107, 53, 0.4) ; | |
| } | |
| .enter-btn:active, .name-submit:active:not(:disabled) { | |
| transform: translateY(0) ; | |
| } | |
| .splash-hint { | |
| font-size: 0.68rem; | |
| color: #94a3b8; | |
| margin-top: 16px; | |
| font-weight: 500; | |
| } | |
| /* ββ Name Form Stage ββ */ | |
| .name-orb { | |
| width: 60px; | |
| height: 60px; | |
| margin-bottom: 24px; | |
| position: relative; | |
| } | |
| .name-orb .hero-core { | |
| background: #ff6b35; | |
| box-shadow: 0 0 20px rgba(255, 107, 53, 0.5); | |
| } | |
| .name-heading { | |
| font-size: 2rem; | |
| font-weight: 900; | |
| color: #1e293b; | |
| margin: 0 0 6px 0; | |
| letter-spacing: -0.03em; | |
| } | |
| .name-sub { | |
| font-size: 0.8rem; | |
| color: #64748b; | |
| line-height: 1.5; | |
| margin: 0 0 24px 0; | |
| max-width: 340px; | |
| } | |
| .name-form { | |
| width: 100%; | |
| } | |
| .name-input-wrap { | |
| position: relative; | |
| margin-bottom: 20px; | |
| } | |
| .name-input { | |
| width: 100%; | |
| background: rgba(255, 255, 255, 0.8) ; | |
| border: 1px solid rgba(0, 0, 0, 0.08) ; | |
| border-radius: 16px ; | |
| padding: 16px 20px ; | |
| font-size: 1rem ; | |
| font-weight: 600 ; | |
| color: #1e293b ; | |
| outline: none ; | |
| text-align: center ; | |
| transition: all 0.3s ease ; | |
| box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.01) ; | |
| } | |
| .name-input:focus { | |
| border-color: #ff6b35 ; | |
| background: #fff ; | |
| box-shadow: 0 0 16px rgba(255, 107, 53, 0.12) ; | |
| } | |
| .name-submit { | |
| width: 100%; | |
| justify-content: center; | |
| } | |
| .name-submit:disabled { | |
| opacity: 0.5; | |
| cursor: not-allowed; | |
| transform: none ; | |
| box-shadow: none ; | |
| } | |
| /* Loading dots animation inside Initialize button */ | |
| .loading-dots { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 6px; | |
| height: 20px; | |
| } | |
| .loading-dots span { | |
| width: 7px; | |
| height: 7px; | |
| border-radius: 50%; | |
| background: rgba(255, 255, 255, 0.9); | |
| animation: dot-bounce 1.2s infinite ease-in-out; | |
| } | |
| .loading-dots span:nth-child(2) { | |
| animation-delay: 0.15s; | |
| } | |
| .loading-dots span:nth-child(3) { | |
| animation-delay: 0.3s; | |
| } | |
| @keyframes dot-bounce { | |
| 0%, 80%, 100% { transform: scale(0.4); opacity: 0.4; } | |
| 40% { transform: scale(1); opacity: 1; } | |
| } | |
| .back-link { | |
| background: none; | |
| border: none; | |
| color: #64748b; | |
| font-size: 0.75rem; | |
| font-weight: 700; | |
| display: flex; | |
| align-items: center; | |
| gap: 6px; | |
| margin-top: 24px; | |
| cursor: pointer; | |
| transition: color 0.2s; | |
| } | |
| .back-link:hover { | |
| color: #ff6b35; | |
| } | |
| .auth-error { | |
| color: #ef4444; | |
| font-size: 0.72rem; | |
| font-weight: 600; | |
| margin: -10px 0 16px 0; | |
| text-align: center; | |
| } | |
| /* ββ Footer ββ */ | |
| .landing-footer { | |
| position: absolute; | |
| bottom: 30px; | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| color: #94a3b8; | |
| font-family: monospace; | |
| font-size: 0.65rem; | |
| font-weight: 600; | |
| letter-spacing: 0.05em; | |
| text-transform: uppercase; | |
| } | |
| .footer-dot { | |
| width: 4px; | |
| height: 4px; | |
| border-radius: 50%; | |
| background-color: #ff6b35; | |
| } | |
| /* ββ Page Transitions ββ */ | |
| .transitioning { | |
| opacity: 0.8; | |
| filter: blur(10px); | |
| transition: all 0.5s ease-in-out; | |
| } | |
| /* ββ Mobile Responsive Overrides ββ */ | |
| @media (max-width: 768px) { | |
| .landing { | |
| flex-direction: column ; | |
| align-items: center ; | |
| justify-content: flex-start ; | |
| padding: 24px 16px ; | |
| overflow-y: auto ; | |
| overflow-x: hidden ; | |
| } | |
| .splash-content, .name-content { | |
| margin: 48px 0 30px 0 ; | |
| padding: 40px 24px ; | |
| width: 100% ; | |
| max-width: 100% ; | |
| border-radius: 28px ; | |
| flex-shrink: 0; | |
| } | |
| .landing-theme-toggle { | |
| position: absolute ; | |
| top: 16px ; | |
| right: 16px ; | |
| width: 40px ; | |
| height: 40px ; | |
| border-radius: 12px ; | |
| } | |
| .hero-orb { | |
| width: 64px ; | |
| height: 64px ; | |
| margin-bottom: 24px ; | |
| } | |
| .hero-title { | |
| font-size: 3.2rem ; | |
| } | |
| .hero-tagline { | |
| font-size: 0.6rem ; | |
| letter-spacing: 0.2em ; | |
| margin-bottom: 20px ; | |
| line-height: 1.4 ; | |
| } | |
| .hero-desc { | |
| font-size: 0.9rem ; | |
| margin-bottom: 32px ; | |
| } | |
| .splash-features { | |
| flex-direction: column ; | |
| align-items: center ; | |
| gap: 12px ; | |
| margin-bottom: 32px ; | |
| width: 100%; | |
| } | |
| .splash-feature { | |
| width: 100%; | |
| justify-content: center; | |
| padding: 10px 16px ; | |
| font-size: 0.75rem ; | |
| } | |
| .enter-btn, .name-submit { | |
| width: 100%; | |
| justify-content: center; | |
| padding: 14px 24px ; | |
| font-size: 0.9rem ; | |
| } | |
| .landing-footer { | |
| position: relative ; | |
| bottom: auto ; | |
| margin: auto auto 20px auto ; | |
| justify-content: center ; | |
| flex-shrink: 0; | |
| } | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββ | |
| Dark Mode Toggle Button (Top-Right) | |
| βββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .landing-theme-toggle { | |
| position: absolute; | |
| top: 24px; | |
| right: 24px; | |
| z-index: 100; | |
| width: 44px; | |
| height: 44px; | |
| border-radius: 14px; | |
| border: 1px solid rgba(0, 0, 0, 0.06); | |
| background: rgba(255, 255, 255, 0.5); | |
| backdrop-filter: blur(20px); | |
| -webkit-backdrop-filter: blur(20px); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| cursor: pointer; | |
| transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); | |
| box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04); | |
| } | |
| .landing-theme-toggle .material-icons { | |
| font-size: 20px; | |
| color: #64748b; | |
| transition: color 0.3s; | |
| } | |
| .landing-theme-toggle:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); | |
| border-color: rgba(255, 107, 53, 0.3); | |
| } | |
| .landing-theme-toggle:hover .material-icons { | |
| color: #ff6b35; | |
| } | |
| .landing-theme-toggle:active { | |
| transform: translateY(0); | |
| } | |
| /* βββββββββββββββββββββββββββββββββββββββββββββββ | |
| Dark Theme Overrides (.landing.dark) | |
| βββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .landing.dark { | |
| background: #000000; | |
| } | |
| /* Background orbs β deeper, richer glows */ | |
| .landing.dark .orb-1 { | |
| background: rgba(255, 107, 53, 0.08); | |
| } | |
| .landing.dark .orb-2 { | |
| background: rgba(255, 139, 84, 0.06); | |
| } | |
| .landing.dark .orb-3 { | |
| background: rgba(255, 107, 53, 0.04); | |
| } | |
| .landing.dark .bg-grid { | |
| background-image: radial-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px); | |
| } | |
| /* Glass panel β dark frosted glass */ | |
| .landing.dark .splash-content, | |
| .landing.dark .name-content { | |
| background: rgba(18, 18, 18, 0.75); | |
| border-color: rgba(255, 255, 255, 0.06); | |
| box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3), inset 0 0 20px rgba(255, 255, 255, 0.02); | |
| } | |
| /* Typography */ | |
| .landing.dark .hero-title { | |
| color: #f1f5f9; | |
| } | |
| .landing.dark .hero-desc { | |
| color: #94a3b8; | |
| } | |
| .landing.dark .name-heading { | |
| color: #f1f5f9; | |
| } | |
| .landing.dark .name-sub { | |
| color: #94a3b8; | |
| } | |
| /* Feature badges */ | |
| .landing.dark .splash-feature { | |
| background: rgba(255, 255, 255, 0.04); | |
| border-color: rgba(255, 255, 255, 0.08); | |
| color: #cbd5e1; | |
| } | |
| /* Hint text */ | |
| .landing.dark .splash-hint { | |
| color: #475569; | |
| } | |
| /* Name input */ | |
| .landing.dark .name-input { | |
| background: rgba(255, 255, 255, 0.05) ; | |
| border-color: rgba(255, 255, 255, 0.08) ; | |
| color: #f1f5f9 ; | |
| } | |
| .landing.dark .name-input::placeholder { | |
| color: #475569 ; | |
| } | |
| .landing.dark .name-input:focus { | |
| background: rgba(255, 255, 255, 0.08) ; | |
| border-color: #ff6b35 ; | |
| box-shadow: 0 0 20px rgba(255, 107, 53, 0.15) ; | |
| } | |
| /* Back link */ | |
| .landing.dark .back-link { | |
| color: #94a3b8; | |
| } | |
| .landing.dark .back-link:hover { | |
| color: #ff6b35; | |
| } | |
| /* Footer */ | |
| .landing.dark .landing-footer { | |
| color: #475569; | |
| } | |
| /* Theme toggle in dark mode */ | |
| .landing.dark .landing-theme-toggle { | |
| background: rgba(255, 255, 255, 0.05); | |
| border-color: rgba(255, 255, 255, 0.08); | |
| box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2); | |
| } | |
| .landing.dark .landing-theme-toggle .material-icons { | |
| color: #94a3b8; | |
| } | |
| .landing.dark .landing-theme-toggle:hover { | |
| background: rgba(255, 255, 255, 0.08); | |
| border-color: rgba(255, 107, 53, 0.3); | |
| box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); | |
| } | |
| /* Pulse ring in dark mode */ | |
| .landing.dark .hero-pulse-ring { | |
| border-color: rgba(255, 107, 53, 0.15); | |
| } | |
| /* Error text stays visible */ | |
| .landing.dark .auth-error { | |
| color: #f87171; | |
| } | |