Download frontend/orbit.css from Harshasnade/Deepfake-Detection-Model: direct link, hf CLI and curl.
- Browser
- Download file 5.52 kB
-
https://huggingface.co/spaces/Harshasnade/Deepfake-Detection-Model/resolve/main/frontend/orbit.css
- Command line
-
hf download hf://spaces/Harshasnade/Deepfake-Detection-Model/frontend/orbit.css
-
curl -L -o orbit.css https://huggingface.co/spaces/Harshasnade/Deepfake-Detection-Model/resolve/main/frontend/orbit.css
5.52 kB
| /* 3D Orbit - Stabilized & High Fidelity */ | |
| .orbit-section { | |
| padding: 100px 0; | |
| position: relative; | |
| overflow: hidden; | |
| background: var(--primary-bg); | |
| } | |
| .orbit-container { | |
| position: relative; | |
| height: 750px; | |
| width: 100%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| perspective: 1500px; | |
| } | |
| /* 2D Overlay Elements - High Priority */ | |
| .orbit-info-card { | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%) scale(0.9); | |
| width: 440px; | |
| padding: 40px; | |
| background: rgba(5, 5, 5, 0.98); | |
| backdrop-filter: blur(30px); | |
| border: 2px solid var(--accent-yellow); | |
| box-shadow: 0 0 100px rgba(0, 0, 0, 0.95); | |
| border-radius: 35px; | |
| text-align: center; | |
| opacity: 0; | |
| visibility: hidden; | |
| transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1), | |
| opacity 0.4s ease, | |
| visibility 0.4s; | |
| z-index: 2000; | |
| /* Absolute Top */ | |
| pointer-events: auto; | |
| backface-visibility: hidden; | |
| } | |
| .orbit-info-card.active { | |
| opacity: 1; | |
| visibility: visible; | |
| transform: translate(-50%, -50%) scale(1.0); | |
| } | |
| .orbit-info-title { | |
| font-size: 26px; | |
| font-weight: 800; | |
| color: var(--accent-yellow); | |
| margin-bottom: 12px; | |
| text-shadow: 0 0 15px rgba(227, 245, 20, 0.3); | |
| } | |
| .orbit-info-desc { | |
| color: var(--text-secondary); | |
| line-height: 1.8; | |
| font-size: 16px; | |
| margin-bottom: 25px; | |
| } | |
| .orbit-tag { | |
| font-size: 11px; | |
| padding: 6px 14px; | |
| background: rgba(227, 245, 20, 0.1); | |
| border: 1px solid rgba(227, 245, 20, 0.3); | |
| color: var(--accent-yellow); | |
| border-radius: 25px; | |
| font-weight: 700; | |
| margin: 0 5px; | |
| } | |
| /* 3D Stage Space */ | |
| .orbit-stage { | |
| position: absolute; | |
| width: 1000px; | |
| height: 1000px; | |
| transform-style: preserve-3d; | |
| transform: rotateX(65deg); | |
| /* The fixed 3D slant */ | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| pointer-events: none; | |
| } | |
| .orbit-hub { | |
| position: absolute; | |
| width: 300px; | |
| height: 300px; | |
| transform: rotateX(-65deg); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| z-index: 5; | |
| } | |
| .orbit-hub-inner { | |
| width: 140px; | |
| height: 140px; | |
| background: #000; | |
| border: 3px solid var(--accent-yellow); | |
| border-radius: 50%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| font-size: 55px; | |
| box-shadow: 0 0 50px rgba(227, 245, 20, 0.3); | |
| animation: hub-pulse-v3 5s infinite ease-in-out; | |
| } | |
| @keyframes hub-pulse-v3 { | |
| 0%, | |
| 100% { | |
| transform: scale(1); | |
| box-shadow: 0 0 50px rgba(227, 245, 20, 0.3); | |
| } | |
| 50% { | |
| transform: scale(1.1); | |
| box-shadow: 0 0 80px rgba(227, 245, 20, 0.5); | |
| } | |
| } | |
| /* Spinning Plane */ | |
| .orbit-ring { | |
| position: absolute; | |
| width: 750px; | |
| height: 750px; | |
| transform-style: preserve-3d; | |
| animation: orbit-main-v4 45s linear infinite; | |
| pointer-events: none; | |
| } | |
| /* Smooth Pause */ | |
| .orbit-ring.paused, | |
| .orbit-ring.paused .node-content { | |
| animation-play-state: paused; | |
| } | |
| @keyframes orbit-main-v4 { | |
| from { | |
| transform: rotateZ(0deg); | |
| } | |
| to { | |
| transform: rotateZ(360deg); | |
| } | |
| } | |
| /* Nodes */ | |
| .orbit-node { | |
| position: absolute; | |
| width: 120px; | |
| height: 120px; | |
| background: #000; | |
| border: 2px solid rgba(255, 255, 255, 0.15); | |
| border-radius: 50%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| cursor: pointer; | |
| pointer-events: auto; | |
| z-index: 100; | |
| /* Use transitions carefully to avoid glitching during ring rotation */ | |
| transition: border-color 0.4s ease, box-shadow 0.4s ease, transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); | |
| backface-visibility: hidden; | |
| } | |
| .orbit-node:hover { | |
| border-color: var(--accent-yellow); | |
| box-shadow: 0 0 40px rgba(227, 245, 20, 0.5); | |
| transform: scale(1.3); | |
| } | |
| .node-content { | |
| width: 100%; | |
| height: 100%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| /* Billboard */ | |
| transform: rotateX(-65deg); | |
| animation: counter-v4 45s linear infinite; | |
| backface-visibility: hidden; | |
| } | |
| @keyframes counter-v4 { | |
| from { | |
| transform: rotateX(-65deg) rotateZ(0deg); | |
| } | |
| to { | |
| transform: rotateX(-65deg) rotateZ(-360deg); | |
| } | |
| } | |
| .node-icon { | |
| width: 70px; | |
| height: 70px; | |
| object-fit: contain; | |
| /* Fix for white backgrounds in icons - Blend them out */ | |
| mix-blend-mode: screen; | |
| filter: drop-shadow(0 0 10px rgba(227, 245, 20, 0.3)); | |
| pointer-events: none; | |
| } | |
| /* Static Positions */ | |
| .node-1 { | |
| top: 0; | |
| left: 50%; | |
| transform: translate(-50%, -50%); | |
| } | |
| .node-2 { | |
| top: 50%; | |
| right: 0; | |
| transform: translate(50%, -50%); | |
| } | |
| .node-3 { | |
| bottom: 0; | |
| left: 50%; | |
| transform: translate(-50%, 50%); | |
| } | |
| .node-4 { | |
| top: 50%; | |
| left: 0; | |
| transform: translate(-50%, -50%); | |
| } | |
| /* Mobile */ | |
| @media (max-width: 900px) { | |
| .orbit-ring { | |
| width: 500px; | |
| height: 500px; | |
| } | |
| .node-1 { | |
| transform: rotate(0deg) translate(250px); | |
| } | |
| .node-2 { | |
| transform: rotate(90deg) translate(250px); | |
| } | |
| .node-3 { | |
| transform: rotate(180deg) translate(250px); | |
| } | |
| .node-4 { | |
| transform: rotate(270deg) translate(250px); | |
| } | |
| .orbit-info-card { | |
| width: 340px; | |
| padding: 25px; | |
| } | |
| .orbit-node { | |
| width: 90px; | |
| height: 90px; | |
| } | |
| .node-icon { | |
| width: 45px; | |
| height: 45px; | |
| } | |
| } |