Download style.css from plice13/SLT-space: direct link, hf CLI and curl.
- Browser
- Download file 29 kB
-
https://huggingface.co/spaces/plice13/SLT-space/resolve/main/style.css
- Command line
-
hf download hf://spaces/plice13/SLT-space/style.css
-
curl -L -o style.css https://huggingface.co/spaces/plice13/SLT-space/resolve/main/style.css
29 kB
| /* ============================================================================== | |
| 1. DESIGN TOKENS (CSS VARIABLES) | |
| ============================================================================== */ | |
| :root { | |
| --bg-page: #221f1f; | |
| --bg-card: #2d2929; | |
| --bg-surface: #1e1b1b; | |
| --bg-surface-hover: #242020; | |
| --bg-button: #383333; | |
| --bg-button-hover: #443e3e; | |
| --gold: #dba70e; | |
| --gold-hover: #e8b625; | |
| --gold-border: rgba(219, 167, 14, 0.4); | |
| --gold-border-subtle: rgba(219, 167, 14, 0.25); | |
| --gold-glow: rgba(219, 167, 14, 0.3); | |
| --text-primary: #ffffff; | |
| --text-body: #f5f5f5; | |
| --text-muted: #cfc8c8; | |
| } | |
| /* ============================================================================== | |
| 2. GLOBAL LAYOUT & BASE STYLES | |
| ============================================================================== */ | |
| html { | |
| background-color: var(--bg-page) ; | |
| color: var(--text-body) ; | |
| min-height: 100vh ; | |
| overflow-y: scroll ; /* Always displays the vertical scrollbar on the right */ | |
| scrollbar-gutter: stable; | |
| scrollbar-width: thin ; | |
| scrollbar-color: #554e4e #1a1717 ; | |
| } | |
| body { | |
| background-color: var(--bg-page) ; | |
| color: var(--text-body) ; | |
| min-height: 100vh ; | |
| margin: 0 ; | |
| padding: 0 ; | |
| overflow-x: hidden ; | |
| } | |
| gradio-app { | |
| background-color: var(--bg-page) ; | |
| color: var(--text-body) ; | |
| min-height: 100vh ; | |
| } | |
| /* Custom Visible Scrollbar for Webkit/Blink (Chrome, Edge, Safari, Opera, Brave) */ | |
| ::-webkit-scrollbar { | |
| width: 12px ; | |
| height: 12px ; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: #1a1717 ; | |
| border-left: 1px solid rgba(219, 167, 14, 0.25) ; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: #443e3e ; | |
| border-radius: 6px ; | |
| border: 2px solid #1a1717 ; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--gold) ; | |
| } | |
| #main-layout { | |
| max-width: 820px ; | |
| margin: 12px auto 24px auto ; | |
| gap: 12px ; | |
| } | |
| h1 { | |
| text-align: center; | |
| color: var(--gold) ; | |
| font-weight: 800 ; | |
| letter-spacing: 0.5px; | |
| font-size: clamp(22px, 3vh, 30px) ; | |
| margin: 6px 0 2px 0 ; | |
| white-space: nowrap ; | |
| } | |
| h2 { | |
| text-align: center; | |
| color: var(--text-body) ; | |
| font-weight: 400 ; | |
| font-size: 13.5px ; | |
| opacity: 0.85; | |
| margin: 0 ; | |
| } | |
| /* ============================================================================== | |
| 3. MODULAR UI CARDS & HEADER CONTROLS | |
| ============================================================================== */ | |
| .ui-card { | |
| background-color: var(--bg-card) ; | |
| border: 1px solid var(--gold-border) ; | |
| border-radius: 10px ; | |
| padding: 16px 20px ; | |
| box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45) ; | |
| } | |
| h3, .card-title { | |
| color: var(--gold) ; | |
| font-size: 16px ; | |
| font-weight: 700 ; | |
| letter-spacing: 0.8px ; | |
| margin: 0 ; | |
| } | |
| .card-header-row { | |
| display: flex ; | |
| flex-direction: row ; | |
| flex-wrap: nowrap ; | |
| justify-content: space-between ; | |
| align-items: center ; | |
| width: 100% ; | |
| margin-bottom: 12px ; | |
| } | |
| .record-btn-col { | |
| flex: 0 0 auto ; | |
| width: auto ; | |
| min-width: 0 ; | |
| margin: 0 0 0 auto ; | |
| display: flex ; | |
| align-items: center ; | |
| justify-content: flex-end ; | |
| } | |
| .record-yourself-btn { | |
| background: var(--bg-button) ; | |
| border: 1px solid var(--gold-border) ; | |
| color: var(--text-body) ; | |
| font-size: 12.5px ; | |
| font-weight: 700 ; | |
| letter-spacing: 0.6px ; | |
| border-radius: 6px ; | |
| height: 32px ; | |
| padding: 0 14px ; | |
| white-space: nowrap ; | |
| display: inline-flex ; | |
| align-items: center ; | |
| justify-content: center ; | |
| width: auto ; | |
| cursor: pointer ; | |
| transition: all 0.2s ease ; | |
| box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35) ; | |
| } | |
| .record-yourself-btn:hover { | |
| background: var(--bg-button-hover) ; | |
| border-color: var(--gold) ; | |
| color: var(--text-primary) ; | |
| transform: translateY(-1px) ; | |
| box-shadow: 0 4px 12px var(--gold-glow) ; | |
| } | |
| /* ============================================================================== | |
| 4. PRIMARY ACTION BUTTONS | |
| ============================================================================== */ | |
| .translate-btn, .modal-done-btn, button.primary { | |
| background: linear-gradient(135deg, var(--gold) 0%, #be9007 100%) ; | |
| color: #221f1f ; | |
| font-weight: 800 ; | |
| font-size: 18px ; | |
| letter-spacing: 0.5px ; | |
| border: none ; | |
| border-radius: 8px ; | |
| height: 48px ; | |
| width: 100% ; | |
| box-shadow: 0 3px 12px var(--gold-glow) ; | |
| transition: all 0.2s ease ; | |
| margin: 6px 0 ; | |
| cursor: pointer ; | |
| } | |
| .translate-btn:hover, .modal-done-btn:hover, button.primary:hover { | |
| background: linear-gradient(135deg, var(--gold-hover) 0%, var(--gold) 100%) ; | |
| transform: translateY(-1px) ; | |
| box-shadow: 0 5px 18px rgba(219, 167, 14, 0.45) ; | |
| } | |
| /* ============================================================================== | |
| 5. EXAMPLES SECTION | |
| ============================================================================== */ | |
| .examples-row { | |
| margin-top: 0; | |
| } | |
| .examples-row-second { | |
| margin-top: 14px ; | |
| } | |
| .examples-row, | |
| .examples-row *, | |
| .examples-row video, | |
| .examples-row .wrap, | |
| .examples-row .mirror-wrap, | |
| .examples-row .mirror { | |
| transform: none ; | |
| } | |
| .examples-row > div { | |
| min-width: 0 ; | |
| gap: 6px ; | |
| } | |
| .example-title { | |
| color: var(--gold) ; | |
| font-size: 18px ; | |
| font-weight: 700 ; | |
| text-align: center ; | |
| margin: 0 0 0 0 ; | |
| text-transform: uppercase ; | |
| letter-spacing: 1px ; | |
| text-shadow: 0 0 2px var(--gold) ; | |
| } | |
| .examples-row .gradio-html, | |
| .examples-row .html-container { | |
| min-height: auto ; | |
| padding: 0 ; | |
| margin: 0 ; | |
| } | |
| .example-btn { | |
| background: var(--bg-button) ; | |
| color: var(--text-body) ; | |
| border: 1px solid rgba(219, 167, 14, 0.35) ; | |
| border-radius: 6px ; | |
| font-weight: 600 ; | |
| font-size: 13px ; | |
| margin-top: 8px ; | |
| padding: 7px 10px ; | |
| width: 100% ; | |
| transition: all 0.2s ease ; | |
| cursor: pointer ; | |
| } | |
| .example-btn:hover { | |
| background: var(--gold) ; | |
| color: #221f1f ; | |
| border-color: var(--gold) ; | |
| transform: translateY(-1px) ; | |
| } | |
| /* ============================================================================== | |
| 6. TRANSLATION GRADIO OVERRIDES | |
| ============================================================================== */ | |
| #translation-card .block, | |
| #translation-card .gradio-html, | |
| #translation-card .html-container, | |
| #translation-display { | |
| background: transparent ; | |
| border: none ; | |
| box-shadow: none ; | |
| padding: 0 ; | |
| margin: 0 ; | |
| width: 100% ; | |
| } | |
| #translation-card .wrap, | |
| #translation-card [data-testid="loading-status"], | |
| #translation-card .eta-bar, | |
| #translation-card .progress-level { | |
| display: none ; | |
| } | |
| /* Dedicated Gray Container for Translation */ | |
| .translation-content-box { | |
| display: flex ; | |
| flex-direction: column ; | |
| align-items: center ; | |
| justify-content: center ; | |
| min-height: 90px ; | |
| padding: 16px 20px ; | |
| background: radial-gradient(circle at center, #353030 0%, #242020 100%) ; | |
| border-radius: 8px ; | |
| border: 1px solid var(--gold-border-subtle) ; | |
| box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.4) ; | |
| width: 100% ; | |
| box-sizing: border-box ; | |
| } | |
| /* Clean White Centered Translation Text */ | |
| .translation-text { | |
| color: var(--text-primary) ; | |
| font-size: clamp(24px, 3.5vh, 32px) ; | |
| font-weight: 800 ; | |
| letter-spacing: 1.5px ; | |
| text-transform: uppercase ; | |
| text-align: center ; | |
| line-height: 1.2 ; | |
| margin: 0 ; | |
| width: 100% ; | |
| } | |
| /* Loading Spinner Container & Keyframes */ | |
| .loading-container { | |
| display: flex ; | |
| flex-direction: column ; | |
| align-items: center ; | |
| justify-content: center ; | |
| padding: 8px 0 ; | |
| } | |
| .pulse-spinner { | |
| width: 32px ; | |
| height: 32px ; | |
| border: 3px solid rgba(219, 167, 14, 0.2) ; | |
| border-top: 3px solid var(--gold) ; | |
| border-right: 3px solid var(--text-primary) ; | |
| border-radius: 50% ; | |
| animation: spinRing 0.9s cubic-bezier(0.55, 0.15, 0.45, 0.85) infinite ; | |
| box-shadow: 0 0 12px var(--gold-glow) ; | |
| } | |
| @keyframes spinRing { | |
| 0% { transform: rotate(0deg); } | |
| 100% { transform: rotate(360deg); } | |
| } | |
| /* ============================================================================== | |
| 7. VIDEO UPLOAD DROPZONE & ACTIVE VIDEO ROW | |
| ============================================================================== */ | |
| .compact-dropzone { | |
| background-color: var(--bg-surface) ; | |
| border: 2px dashed var(--gold-border) ; | |
| border-radius: 10px ; | |
| padding: 20px 24px ; | |
| min-height: 155px ; | |
| max-height: 50vh; | |
| transition: all 0.2s ease ; | |
| overflow: hidden ; | |
| display: flex ; | |
| align-items: center ; | |
| justify-content: center ; | |
| position: relative ; | |
| } | |
| .compact-dropzone:hover { | |
| border-color: var(--gold) ; | |
| background-color: var(--bg-surface-hover) ; | |
| } | |
| /* Hide native file input element */ | |
| .compact-dropzone input[type="file"], | |
| .compact-dropzone [data-testid="file-upload"], | |
| input[type="file"] { | |
| display: none ; | |
| visibility: hidden ; | |
| opacity: 0 ; | |
| position: absolute ; | |
| pointer-events: none ; | |
| } | |
| .compact-dropzone .upload-container, | |
| .compact-dropzone > div:not([data-testid="file-upload"]) { | |
| min-height: 130px ; | |
| padding: 12px 18px ; | |
| display: flex ; | |
| align-items: center ; | |
| justify-content: center ; | |
| width: 100% ; | |
| } | |
| .compact-dropzone button { | |
| padding: 10px 22px ; | |
| font-size: 14px ; | |
| font-weight: 700 ; | |
| } | |
| /* Active Video Info Row (Video Name on Left, Action Buttons Aligned Right, strictly single line) */ | |
| .video-info-row { | |
| background: var(--bg-surface) ; | |
| border: 1.5px solid var(--gold-border) ; | |
| border-radius: 10px ; | |
| padding: 10px 16px ; | |
| min-height: 58px ; | |
| display: flex ; | |
| flex-direction: row ; | |
| flex-wrap: nowrap ; | |
| align-items: center ; | |
| justify-content: space-between ; | |
| gap: 12px ; | |
| width: 100% ; | |
| box-sizing: border-box ; | |
| } | |
| .video-info-row > .video-name-col, | |
| .video-info-row > .prose, | |
| .video-info-row > div:first-child { | |
| flex: 1 1 auto ; | |
| min-width: 0 ; | |
| width: auto ; | |
| margin: 0 ; | |
| display: flex ; | |
| align-items: center ; | |
| } | |
| .video-info-row > .video-name-col p, | |
| .video-info-row > .prose p { | |
| margin: 0 ; | |
| padding: 0 ; | |
| display: flex ; | |
| align-items: center ; | |
| white-space: nowrap ; | |
| } | |
| .video-name-badge { | |
| color: var(--text-body) ; | |
| font-size: 15px ; | |
| font-weight: 600 ; | |
| overflow: hidden ; | |
| text-overflow: ellipsis ; | |
| white-space: nowrap ; | |
| display: flex ; | |
| align-items: center ; | |
| } | |
| /* Action buttons in Video Info Row */ | |
| .video-info-row > button, | |
| .preview-modal-btn, | |
| .change-vid-btn { | |
| border-radius: 8px ; | |
| height: 40px ; | |
| padding: 0 16px ; | |
| font-size: 13.5px ; | |
| font-weight: 700 ; | |
| cursor: pointer ; | |
| transition: all 0.2s ease ; | |
| display: inline-flex ; | |
| align-items: center ; | |
| justify-content: center ; | |
| white-space: nowrap ; | |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) ; | |
| flex: 0 0 auto ; | |
| width: auto ; | |
| } | |
| .preview-modal-btn { | |
| background: #332f2f ; | |
| color: var(--text-body) ; | |
| border: 1px solid var(--gold) ; | |
| margin: 0 0 0 auto ; | |
| } | |
| .preview-modal-btn:hover { | |
| background: #3f3939 ; | |
| border-color: var(--gold-hover) ; | |
| transform: translateY(-1px) ; | |
| box-shadow: 0 4px 12px var(--gold-glow) ; | |
| } | |
| .change-vid-btn { | |
| background: #2a2525 ; | |
| border: 1px solid var(--gold-border) ; | |
| color: var(--gold) ; | |
| margin: 0 ; | |
| } | |
| .change-vid-btn:hover { | |
| background: rgba(219, 167, 14, 0.18) ; | |
| border-color: var(--gold) ; | |
| color: var(--text-primary) ; | |
| transform: translateY(-1px) ; | |
| } | |
| /* ============================================================================== | |
| 8. INFORMATION CARD & ADVANCED DEMO LINK | |
| ============================================================================== */ | |
| .info-content { | |
| display: flex ; | |
| align-items: center ; | |
| justify-content: space-between ; | |
| gap: 20px ; | |
| } | |
| .info-text { | |
| color: var(--text-muted) ; | |
| font-size: 12.5px ; | |
| line-height: 1.55 ; | |
| margin: 0 ; | |
| flex: 1 1 auto ; | |
| } | |
| .info-markdown { | |
| color: var(--text-muted) ; | |
| font-size: 13.5px ; | |
| line-height: 1.65 ; | |
| margin-top: 6px ; | |
| } | |
| .info-markdown h1 { | |
| color: var(--gold) ; | |
| font-size: 18px ; | |
| font-weight: 700 ; | |
| text-align: left ; | |
| white-space: normal ; | |
| margin: 8px 0 10px 0 ; | |
| letter-spacing: 0.5px ; | |
| } | |
| .info-markdown h2 { | |
| color: var(--gold) ; | |
| font-size: 15px ; | |
| font-weight: 700 ; | |
| text-align: left ; | |
| opacity: 1 ; | |
| margin: 18px 0 8px 0 ; | |
| letter-spacing: 0.4px ; | |
| border-bottom: 1px solid rgba(219, 167, 14, 0.2) ; | |
| padding-bottom: 4px ; | |
| } | |
| .info-markdown h3 { | |
| color: #f0eae4 ; | |
| font-size: 14px ; | |
| font-weight: 600 ; | |
| text-align: left ; | |
| margin: 12px 0 4px 0 ; | |
| } | |
| .info-markdown p { | |
| color: var(--text-muted) ; | |
| font-size: 13.5px ; | |
| line-height: 1.65 ; | |
| margin: 0 0 10px 0 ; | |
| } | |
| .info-markdown strong { | |
| color: var(--text-primary) ; | |
| font-weight: 600 ; | |
| } | |
| .info-markdown a { | |
| color: var(--gold) ; | |
| text-decoration: underline ; | |
| text-underline-offset: 3px ; | |
| transition: color 0.15s ease ; | |
| } | |
| .info-markdown a:hover { | |
| color: var(--gold-hover) ; | |
| text-decoration: underline ; | |
| } | |
| .info-markdown ul, | |
| .info-markdown ol { | |
| margin: 6px 0 12px 22px ; | |
| padding-left: 0 ; | |
| color: var(--text-muted) ; | |
| } | |
| .info-markdown li { | |
| margin-bottom: 5px ; | |
| line-height: 1.55 ; | |
| color: var(--text-muted) ; | |
| } | |
| .info-markdown blockquote { | |
| border-left: 3px solid var(--gold) ; | |
| background: rgba(219, 167, 14, 0.08) ; | |
| padding: 10px 14px ; | |
| margin: 12px 0 ; | |
| border-radius: 0 6px 6px 0 ; | |
| color: #ded7d7 ; | |
| } | |
| .info-markdown blockquote p { | |
| margin: 0 ; | |
| color: #ded7d7 ; | |
| } | |
| .advanced-demo-link { | |
| display: inline-flex ; | |
| flex-direction: column ; | |
| align-items: center ; | |
| justify-content: center ; | |
| text-align: center ; | |
| background: rgba(219, 167, 14, 0.14) ; | |
| color: var(--gold) ; | |
| border: 1.5px solid var(--gold) ; | |
| border-radius: 10px ; | |
| padding: 10px 18px ; | |
| gap: 2px ; | |
| text-decoration: none ; | |
| white-space: nowrap ; | |
| transition: all 0.2s ease ; | |
| flex-shrink: 0 ; | |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) ; | |
| cursor: pointer ; | |
| } | |
| .advanced-demo-link:hover { | |
| background: var(--gold) ; | |
| color: #221f1f ; | |
| transform: translateY(-1px) ; | |
| box-shadow: 0 4px 14px rgba(219, 167, 14, 0.35) ; | |
| } | |
| .advanced-demo-link .adv-line { | |
| display: block ; | |
| line-height: 1.25 ; | |
| text-transform: uppercase ; | |
| } | |
| .advanced-demo-link .adv-line-1 { | |
| font-size: 13px ; | |
| font-weight: 800 ; | |
| letter-spacing: 1.2px ; | |
| } | |
| .advanced-demo-link .adv-line-2 { | |
| font-size: 11.5px ; | |
| font-weight: 700 ; | |
| letter-spacing: 1px ; | |
| opacity: 0.95 ; | |
| } | |
| .advanced-demo-link .adv-line-3 { | |
| font-size: 14px ; | |
| font-weight: 800 ; | |
| letter-spacing: 1.2px ; | |
| margin-top: 1px ; | |
| } | |
| /* ============================================================================== | |
| 9. FULLSCREEN MODAL (WEBCAM RECORDING & TRIMMING) | |
| ============================================================================== */ | |
| .modal-overlay { | |
| position: fixed ; | |
| top: 0 ; | |
| left: 0 ; | |
| right: 0 ; | |
| bottom: 0 ; | |
| width: 100vw ; | |
| height: 100vh ; | |
| background: rgba(0, 0, 0, 0.85) ; | |
| backdrop-filter: blur(10px) ; | |
| -webkit-backdrop-filter: blur(10px) ; | |
| z-index: 99999 ; | |
| display: flex ; | |
| align-items: center ; | |
| justify-content: center ; | |
| padding: 20px ; | |
| box-sizing: border-box ; | |
| } | |
| .modal-dialog-card { | |
| background-color: #262222 ; | |
| border: 1.5px solid var(--gold) ; | |
| border-radius: 16px ; | |
| max-width: 680px ; | |
| width: 95% ; | |
| max-height: 90vh ; | |
| overflow-y: auto ; | |
| padding: 20px 24px ; | |
| box-shadow: 0 20px 50px rgba(0, 0, 0, 0.95) ; | |
| box-sizing: border-box ; | |
| display: flex ; | |
| flex-direction: column ; | |
| gap: 14px ; | |
| animation: modalScaleIn 0.22s cubic-bezier(0.16, 1, 0.3, 1) ; | |
| } | |
| @keyframes modalScaleIn { | |
| 0% { | |
| opacity: 0; | |
| transform: scale(0.92); | |
| } | |
| 100% { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| } | |
| .modal-header-row { | |
| display: flex ; | |
| justify-content: space-between ; | |
| align-items: center ; | |
| width: 100% ; | |
| border-bottom: 1px solid rgba(219, 167, 14, 0.3) ; | |
| padding-bottom: 10px ; | |
| } | |
| .modal-title { | |
| color: #ffffff ; | |
| font-size: 18px ; | |
| font-weight: 700 ; | |
| margin: 0 ; | |
| } | |
| .modal-close-col { | |
| flex: 0 0 auto ; | |
| min-width: 36px ; | |
| margin-left: auto ; | |
| display: flex ; | |
| align-items: center ; | |
| justify-content: flex-end ; | |
| } | |
| .modal-close-icon { | |
| background: transparent ; | |
| border: none ; | |
| color: var(--gold) ; | |
| font-size: 24px ; | |
| font-weight: bold ; | |
| cursor: pointer ; | |
| width: 36px ; | |
| height: 36px ; | |
| padding: 0 ; | |
| display: flex ; | |
| align-items: center ; | |
| justify-content: center ; | |
| border-radius: 6px ; | |
| transition: all 0.2s ease ; | |
| } | |
| .modal-close-icon:hover { | |
| color: var(--text-primary) ; | |
| background-color: var(--gold-border-subtle) ; | |
| transform: scale(1.1) ; | |
| } | |
| .modal-video-player { | |
| width: 100% ; | |
| display: flex ; | |
| flex-direction: column ; | |
| margin: 0 ; | |
| border-radius: 8px ; | |
| } | |
| .modal-video-player video { | |
| max-height: 38vh ; | |
| width: 100% ; | |
| object-fit: contain ; | |
| border-radius: 8px ; | |
| } | |
| /* Normal video playback: strictly no flip across all video players */ | |
| video, | |
| .modal-video-player video { | |
| transform: none ; | |
| } | |
| /* Mirror ONLY the live webcam stream during recording */ | |
| .modal-video-player [data-testid="webcam"] video, | |
| .modal-video-player .record video, | |
| .modal-video-player video:not([src]) { | |
| transform: scaleX(-1) ; | |
| } | |
| .modal-footer-col, | |
| .modal-footer-row { | |
| width: 100% ; | |
| margin-top: 14px ; | |
| display: flex ; | |
| flex-direction: column ; | |
| gap: 10px ; | |
| align-items: stretch ; | |
| } | |
| .modal-footer-col button, | |
| .modal-footer-row button, | |
| .modal-done-btn { | |
| width: 100% ; | |
| box-sizing: border-box ; | |
| } | |
| /* Subtle discreet restart session button in bottom-right */ | |
| .restart-row { | |
| margin-top: 18px ; | |
| display: flex ; | |
| justify-content: flex-end ; | |
| width: 100% ; | |
| } | |
| .restart-btn { | |
| background: transparent ; | |
| color: #736b6b ; | |
| border: 1px solid #3d3737 ; | |
| border-radius: 6px ; | |
| font-size: 12px ; | |
| font-weight: 500 ; | |
| padding: 4px 12px ; | |
| height: 30px ; | |
| cursor: pointer ; | |
| transition: all 0.2s ease ; | |
| opacity: 0.75 ; | |
| } | |
| .restart-btn:hover { | |
| color: #ded7d7 ; | |
| border-color: #696262 ; | |
| background: rgba(255, 255, 255, 0.05) ; | |
| opacity: 1 ; | |
| } | |
| /* ============================================================================== | |
| 10. SCROLLABLE HEADER WITH GOLD BADGES & RESPONSIVE DESIGN | |
| ============================================================================== */ | |
| .app-header-html, | |
| .app-header-html.block, | |
| .app-header-html .html-container { | |
| background: transparent ; | |
| border: none ; | |
| box-shadow: none ; | |
| padding: 0 ; | |
| margin: 0 ; | |
| width: 100% ; | |
| min-height: auto ; | |
| } | |
| .app-header-container { | |
| display: flex ; | |
| flex-direction: row ; | |
| align-items: center ; | |
| justify-content: space-between ; | |
| width: 100% ; | |
| margin: 6px 0 4px 0 ; | |
| gap: 16px ; | |
| box-sizing: border-box ; | |
| } | |
| .header-titles { | |
| flex: 1 1 auto ; | |
| text-align: center ; | |
| min-width: 0 ; | |
| display: flex ; | |
| flex-direction: column ; | |
| align-items: center ; | |
| justify-content: center ; | |
| } | |
| .app-title { | |
| text-align: center ; | |
| color: var(--gold) ; | |
| font-weight: 800 ; | |
| letter-spacing: 0.5px ; | |
| font-size: clamp(19px, 2.4vw, 27px) ; | |
| margin: 0 0 3px 0 ; | |
| line-height: 1.2 ; | |
| white-space: normal ; | |
| } | |
| .app-subtitle { | |
| text-align: center ; | |
| color: var(--text-body) ; | |
| font-weight: 400 ; | |
| font-size: 13.5px ; | |
| opacity: 0.85 ; | |
| margin: 0 ; | |
| line-height: 1.3 ; | |
| } | |
| /* Gold Box Badges Aligned to the Content Left & Right */ | |
| .header-badge { | |
| flex: 0 0 180px ; | |
| width: 180px ; | |
| max-width: 180px ; | |
| height: 80px ; | |
| max-height: 80px ; | |
| box-sizing: border-box ; | |
| background-color: var(--bg-page) ; | |
| border: 1.5px solid var(--gold) ; | |
| border-radius: 9px ; | |
| padding: 0px ; | |
| box-shadow: 0 3px 12px rgba(0, 0, 0, 0.4), 0 0 8px rgba(212, 175, 55, 0.3) ; | |
| display: inline-flex ; | |
| align-items: center ; | |
| justify-content: center ; | |
| transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease ; | |
| overflow: hidden ; | |
| } | |
| .header-badge:hover { | |
| transform: translateY(-2px) ; | |
| border-color: var(--gold-hover) ; | |
| box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45), 0 0 14px var(--gold-glow) ; | |
| } | |
| .header-badge a { | |
| display: flex ; | |
| align-items: center ; | |
| justify-content: center ; | |
| width: 100% ; | |
| height: 100% ; | |
| text-decoration: none ; | |
| line-height: 0 ; | |
| } | |
| .header-badge-img { | |
| max-height: 80px ; | |
| max-width: 180px ; | |
| width: auto ; | |
| height: auto ; | |
| display: block ; | |
| object-fit: contain ; | |
| margin: auto ; | |
| padding: 15px 15px ; | |
| } | |
| @media (max-width: 650px) { | |
| .app-header-container { | |
| flex-wrap: wrap ; | |
| justify-content: center ; | |
| gap: 10px ; | |
| } | |
| .header-titles { | |
| order: 1 ; | |
| width: 100% ; | |
| margin-bottom: 4px ; | |
| } | |
| .header-badge-left { | |
| order: 2 ; | |
| } | |
| .header-badge-right { | |
| order: 3 ; | |
| } | |
| .examples-row { | |
| flex-direction: column ; | |
| } | |
| .examples-row > div { | |
| width: 100% ; | |
| } | |
| } | |
| /* ============================================================================== | |
| 11. SHOW KEYPOINTS BUTTON & MODAL | |
| ============================================================================== */ | |
| .show-keypoints-btn { | |
| background: linear-gradient(135deg, #383333 0%, #2a2626 100%) ; | |
| border: 1.5px solid var(--gold) ; | |
| color: var(--gold) ; | |
| font-weight: 800 ; | |
| font-size: 18px ; | |
| letter-spacing: 0.5px ; | |
| border-radius: 8px ; | |
| height: 48px ; | |
| width: 100% ; | |
| box-shadow: 0 3px 12px rgba(0, 0, 0, 0.4), 0 0 10px var(--gold-border-subtle) ; | |
| transition: all 0.2s ease ; | |
| margin: 14px 0 0 0 ; | |
| cursor: pointer ; | |
| display: flex ; | |
| align-items: center ; | |
| justify-content: center ; | |
| } | |
| .show-keypoints-btn:hover { | |
| background: var(--gold) ; | |
| color: #1e1b1b ; | |
| transform: translateY(-1px) ; | |
| box-shadow: 0 5px 18px var(--gold-glow) ; | |
| } | |
| .keypoints-video-player video { | |
| max-height: 52vh ; | |
| width: 100% ; | |
| object-fit: contain ; | |
| border-radius: 8px ; | |
| } | |