Spaces:
Runtime error
Runtime error
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap'); | |
| /* ββ Base ββ */ | |
| body, .gradio-container { | |
| background-color: #FAF7F2 ; | |
| font-family: 'Inter', system-ui, sans-serif ; | |
| } | |
| .gradio-container { | |
| max-width: 1200px ; | |
| margin: 0 auto ; | |
| } | |
| /* ββ Typography ββ */ | |
| .serif-header { | |
| font-family: 'Playfair Display', Georgia, serif ; | |
| color: #1c1c19 ; | |
| font-weight: 700 ; | |
| } | |
| .cream-bg { background-color: #FAF7F2 ; } | |
| .highlight-orange { color: #f5841f ; } | |
| .highlight-amber { color: #944a00 ; } | |
| /* ββ Cards ββ */ | |
| .card-container { | |
| background-color: #f6f3ee ; | |
| border: 1px solid #ebdccb ; | |
| border-radius: 16px ; | |
| padding: 24px ; | |
| box-shadow: 0 2px 8px rgba(148, 74, 0, 0.03) ; | |
| } | |
| .accent-border { border-color: #ddc1b0 ; } | |
| .dark-card-container { | |
| background-color: #122116 ; | |
| color: #FAF7F2 ; | |
| border: 1px solid #1e3422 ; | |
| border-radius: 16px ; | |
| padding: 24px ; | |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) ; | |
| } | |
| /* ββ Hero ββ */ | |
| .hero-spotlight { | |
| background: linear-gradient(135deg, #1e3422 0%, #121f15 100%) ; | |
| color: #FFFFFF ; | |
| border-radius: 24px ; | |
| padding: 32px ; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .badge-featured { | |
| background: rgba(245, 132, 31, 0.2); | |
| color: #f5841f; | |
| border: 1px solid rgba(245, 132, 31, 0.3); | |
| border-radius: 9999px; | |
| padding: 4px 10px; | |
| font-size: 11px; | |
| font-weight: 700; | |
| text-transform: uppercase; | |
| display: inline-block; | |
| } | |
| /* ββ Book grid & cards ββ */ | |
| .book-shelf-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); | |
| gap: 20px; | |
| } | |
| .shelf-card { | |
| background: #f6f3ee; | |
| border: 1px solid #eadacc; | |
| border-radius: 16px; | |
| padding: 16px; | |
| display: flex; | |
| gap: 16px; | |
| transition: all 0.3s ease; | |
| cursor: pointer; | |
| } | |
| .shelf-card:hover { | |
| border-color: #f5841f; | |
| transform: translateY(-2px); | |
| box-shadow: 0 4px 12px rgba(148, 74, 0, 0.06); | |
| } | |
| .cover-image { | |
| width: 80px; | |
| height: 110px; | |
| object-fit: cover; | |
| border-radius: 8px; | |
| box-shadow: 0 2px 6px rgba(0,0,0,0.1); | |
| } | |
| /* ββ Progress bar ββ */ | |
| .progress-bar-bg { | |
| width: 100%; | |
| height: 6px; | |
| background: #ebdccb; | |
| border-radius: 999px; | |
| overflow: hidden; | |
| } | |
| .progress-bar-fill { | |
| height: 100%; | |
| background: #f5841f; | |
| } | |
| /* ββ Recording UX ββ */ | |
| @keyframes pulse-ring { | |
| 0% { transform: scale(0.85); opacity: 0.6; } | |
| 50% { transform: scale(1.15); opacity: 0.25; } | |
| 100% { transform: scale(1.4); opacity: 0; } | |
| } | |
| @keyframes pulse { | |
| 0%, 100% { opacity: 1; } | |
| 50% { opacity: 0.4; } | |
| } | |
| .pulse-circle { | |
| position: relative; | |
| width: 120px; | |
| height: 120px; | |
| border-radius: 50%; | |
| background: #944a00; | |
| color: white; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| margin: 0 auto; | |
| } | |
| .pulse-circle::before, | |
| .pulse-circle::after { | |
| content: ''; | |
| position: absolute; | |
| inset: 0; | |
| border-radius: 50%; | |
| border: 3px solid #944a00; | |
| animation: pulse-ring 1.8s ease-out infinite; | |
| } | |
| .pulse-circle::after { animation-delay: 0.6s; } | |
| .recording-active { background: #ef4444 ; } | |
| .recording-active::before, | |
| .recording-active::after { border-color: #ef4444; } | |
| /* ββ Subtitle / dialog ticker ββ */ | |
| .dialog-synced { | |
| background: rgba(0,0,0,0.15); | |
| border: 1px solid rgba(255,166,0,0.1); | |
| color: #ffd3a6; | |
| font-family: 'Playfair Display', Georgia, serif; | |
| font-size: 1.25rem; | |
| font-style: italic; | |
| padding: 24px; | |
| border-radius: 16px; | |
| text-align: center; | |
| min-height: 100px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| /* ββ Tabs ββ */ | |
| .tabs .tab-nav button { | |
| border-bottom: 2px solid transparent ; | |
| } | |
| .tabs .tab-nav button.selected { | |
| color: #944a00 ; | |
| border-bottom-color: #944a00 ; | |
| font-weight: 700 ; | |
| } | |
| /* ββ Mobile responsive ββ */ | |
| @media (max-width: 768px) { | |
| .gradio-container { max-width: 100% ; padding: 0 12px ; } | |
| .book-shelf-grid { grid-template-columns: 1fr ; } | |
| .hero-spotlight { flex-direction: column ; padding: 20px ; } | |
| .shelf-card { flex-direction: column; } | |
| .card-container, .dark-card-container { padding: 16px ; } | |
| } | |
| @media (max-width: 480px) { | |
| .book-shelf-grid { grid-template-columns: 1fr ; gap: 12px; } | |
| } | |