Spaces:
Running on Zero
Running on Zero
File size: 5,666 Bytes
43f8b96 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | """Gradio theme and CSS for AnimaStudio."""
import gradio as gr
THEME = gr.themes.Soft(
primary_hue="purple",
secondary_hue="pink",
neutral_hue="slate",
)
CSS = """
/* ββ Global βββββββββββββββββββββββββββββββββββββββ */
.gradio-container {
max-width: 1380px !important;
margin: 0 auto !important;
}
/* ββ Header ββββββββββββββββββββββββββββββββββββββββ */
.as-header {
text-align: center;
padding: 2.4rem 1rem 2rem;
border-radius: 1.5rem;
margin-bottom: 1.5rem;
background: linear-gradient(135deg, #1a0b2e 0%, #2d1b4e 40%, #1a1040 70%, #0d0b1e 100%);
border: 1px solid rgba(168,85,247,0.25);
box-shadow: 0 4px 60px rgba(168,85,247,0.1), inset 0 1px 0 rgba(255,255,255,0.05);
position: relative;
overflow: hidden;
}
.as-header::before {
content: '';
position: absolute;
top: -50%; left: -50%;
width: 200%; height: 200%;
background: radial-gradient(ellipse at center, rgba(168,85,247,0.08) 0%, transparent 60%);
pointer-events: none;
}
.as-header h1 {
font-size: 3.2rem !important;
font-weight: 900 !important;
margin: 0 0 0.6rem !important;
line-height: 1.05 !important;
background: linear-gradient(90deg, #e879f9 0%, #a855f7 40%, #f472b6 80%, #fb923c 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
letter-spacing: -0.035em;
}
.as-header .tagline {
color: #94a3b8 !important;
font-size: 1.0rem !important;
margin: 0 0 1rem !important;
}
.as-header .badges {
display: flex;
justify-content: center;
gap: 0.5rem;
flex-wrap: wrap;
}
/* ββ Badges βββββββββββββββββββββββββββββββββββββββββ */
.badge {
display: inline-flex;
align-items: center;
gap: 0.3rem;
padding: 0.25rem 0.75rem;
border-radius: 999px;
font-size: 0.78rem;
font-weight: 600;
background: rgba(255,255,255,0.06);
border: 1px solid rgba(255,255,255,0.1);
color: #cbd5e1;
}
.badge-purple { border-color: rgba(168,85,247,0.4); color: #a855f7; background: rgba(168,85,247,0.08); }
.badge-pink { border-color: rgba(244,114,182,0.4); color: #f472b6; background: rgba(244,114,182,0.08); }
.badge-cyan { border-color: rgba(34,211,238,0.4); color: #22d3ee; background: rgba(34,211,238,0.08); }
.badge-gold { border-color: rgba(251,191,36,0.4); color: #fbbf24; background: rgba(251,191,36,0.08); }
.badge-teal { border-color: rgba(20,184,166,0.4); color: #14b8a6; background: rgba(20,184,166,0.08); }
/* ββ Language selector ββββββββββββββββββββββββββββββ */
#lang-selector .wrap { gap: 4px !important; justify-content: center !important; }
#lang-selector label span { font-size: 0.9rem !important; }
#lang-selector { margin-bottom: 0.5rem !important; }
/* ββ Generate Button ββββββββββββββββββββββββββββββββ */
#gen-btn {
background: linear-gradient(135deg, #a855f7 0%, #ec4899 100%) !important;
border: none !important;
font-size: 1.15rem !important;
font-weight: 700 !important;
padding: 0.85rem 1rem !important;
border-radius: 0.85rem !important;
color: white !important;
box-shadow: 0 4px 24px rgba(168,85,247,0.4) !important;
transition: all 0.2s ease !important;
letter-spacing: 0.02em !important;
width: 100% !important;
}
#gen-btn:hover {
transform: translateY(-2px) !important;
box-shadow: 0 8px 32px rgba(168,85,247,0.55) !important;
}
#gen-btn:active { transform: translateY(0) !important; }
/* ββ Dub Button ββββββββββββββββββββββββββββββββββββββ */
#dub-btn {
background: linear-gradient(135deg, #06b6d4 0%, #a855f7 100%) !important;
border: none !important;
font-size: 1.15rem !important;
font-weight: 700 !important;
padding: 0.85rem 1rem !important;
border-radius: 0.85rem !important;
color: white !important;
box-shadow: 0 4px 24px rgba(6,182,212,0.4) !important;
transition: all 0.2s ease !important;
letter-spacing: 0.02em !important;
width: 100% !important;
}
#dub-btn:hover {
transform: translateY(-2px) !important;
box-shadow: 0 8px 32px rgba(6,182,212,0.55) !important;
}
#dub-btn:active { transform: translateY(0) !important; }
/* ββ Output Video βββββββββββββββββββββββββββββββββββ */
#output-video, #dub-output-video {
border-radius: 1rem !important;
overflow: hidden !important;
background: #0f172a !important;
min-height: 420px !important;
}
/* ββ Footer βββββββββββββββββββββββββββββββββββββββββ */
.as-footer {
text-align: center;
padding: 1.2rem 0 0.5rem;
color: #475569;
font-size: 0.82rem;
border-top: 1px solid #1e293b;
margin-top: 1rem;
}
.as-footer a { color: #a855f7 !important; text-decoration: none !important; }
.as-footer a:hover { text-decoration: underline !important; }
/* ββ Mobile βββββββββββββββββββββββββββββββββββββββββ */
@media (max-width: 768px) {
.as-header h1 { font-size: 2rem !important; }
.badges { gap: 0.35rem !important; }
}
"""
|