Spaces:
Paused
Paused
Download static/css/chat.css from sherifghazi/EGYshot: direct link, hf CLI and curl.
- Browser
- Download file 29.3 kB
-
https://huggingface.co/spaces/sherifghazi/EGYshot/resolve/main/static/css/chat.css
- Command line
-
hf download hf://spaces/sherifghazi/EGYshot/static/css/chat.css
-
curl -L -o chat.css https://huggingface.co/spaces/sherifghazi/EGYshot/resolve/main/static/css/chat.css
29.3 kB
/* CairoAI โ Chat Styles */
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'Cairo', -apple-system, BlinkMacSystemFont, sans-serif;
background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
color: #fff;
min-height: 100vh;
direction: rtl;
}
.container {
max-width: 900px;
margin: 0 auto;
padding: 20px;
}
/* Header */
.header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px 0;
margin-bottom: 30px;
border-bottom: 1px solid rgba(255,255,255,0.1);
}
.logo {
font-size: 24px;
font-weight: bold;
background: linear-gradient(135deg, #3b82f6, #ec4899);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.user-info {
display: flex;
gap: 15px;
align-items: center;
font-size: 14px;
}
.logout-btn {
color: #ef4444;
text-decoration: none;
padding: 6px 12px;
border: 1px solid #ef4444;
border-radius: 6px;
transition: all 0.2s;
}
.logout-btn:hover {
background: #ef4444;
color: #fff;
}
/* Steps */
.step {
display: none;
animation: fadeIn 0.3s ease;
}
.step.active {
display: block;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
/* Welcome */
.welcome {
text-align: center;
padding: 40px 20px;
}
.welcome h1 {
font-size: 32px;
margin-bottom: 10px;
background: linear-gradient(135deg, #60a5fa, #f472b6);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.welcome p {
color: #94a3b8;
font-size: 16px;
}
/* Input */
.input-box {
background: rgba(255,255,255,0.05);
border-radius: 16px;
padding: 24px;
backdrop-filter: blur(10px);
border: 1px solid rgba(255,255,255,0.1);
}
textarea {
width: 100%;
background: rgba(0,0,0,0.3);
border: 1px solid rgba(255,255,255,0.15);
border-radius: 12px;
padding: 16px;
color: #fff;
font-size: 16px;
font-family: inherit;
resize: vertical;
min-height: 100px;
}
textarea:focus {
outline: none;
border-color: #3b82f6;
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.examples {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 12px 0;
font-size: 13px;
color: #94a3b8;
align-items: center;
}
.examples button {
background: rgba(59, 130, 246, 0.15);
color: #60a5fa;
border: 1px solid rgba(59, 130, 246, 0.3);
padding: 6px 12px;
border-radius: 16px;
cursor: pointer;
font-family: inherit;
font-size: 13px;
transition: all 0.2s;
}
.examples button:hover {
background: rgba(59, 130, 246, 0.3);
}
/* Buttons */
.primary-btn {
width: 100%;
padding: 16px;
background: linear-gradient(135deg, #3b82f6, #8b5cf6);
color: #fff;
border: none;
border-radius: 12px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
font-family: inherit;
margin-top: 16px;
transition: all 0.2s;
text-decoration: none;
display: inline-block;
text-align: center;
}
.primary-btn:hover {
transform: translateY(-2px);
box-shadow: 0 10px 25px rgba(59, 130, 246, 0.4);
}
.secondary-btn {
padding: 12px 20px;
background: rgba(255,255,255,0.1);
color: #fff;
border: 1px solid rgba(255,255,255,0.2);
border-radius: 10px;
font-size: 14px;
cursor: pointer;
font-family: inherit;
transition: all 0.2s;
}
.secondary-btn:hover {
background: rgba(255,255,255,0.15);
}
/* Chat History */
.chat-history {
max-height: 400px;
overflow-y: auto;
margin-bottom: 20px;
}
.message {
padding: 14px 18px;
border-radius: 16px;
margin-bottom: 12px;
max-width: 80%;
word-wrap: break-word;
line-height: 1.5;
}
.message.user {
background: linear-gradient(135deg, #3b82f6, #2563eb);
margin-right: auto;
margin-left: 0;
}
.message.assistant {
background: rgba(255,255,255,0.1);
margin-left: auto;
margin-right: 0;
}
/* Question Box */
.question-box {
background: rgba(255,255,255,0.05);
border-radius: 16px;
padding: 24px;
border: 1px solid rgba(255,255,255,0.1);
}
.question-text {
font-size: 18px;
margin-bottom: 16px;
color: #e2e8f0;
}
.choices {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 16px;
}
.choice-btn {
flex: 1;
min-width: 120px;
padding: 14px 20px;
background: rgba(59, 130, 246, 0.15);
color: #60a5fa;
border: 1px solid rgba(59, 130, 246, 0.3);
border-radius: 10px;
cursor: pointer;
font-family: inherit;
font-size: 15px;
transition: all 0.2s;
}
.choice-btn:hover {
background: rgba(59, 130, 246, 0.3);
transform: translateY(-2px);
}
.choice-btn.selected {
background: linear-gradient(135deg, #3b82f6, #8b5cf6);
color: #fff;
border-color: transparent;
}
.text-answer {
width: 100%;
margin-bottom: 12px;
}
/* Progress */
.progress-box {
text-align: center;
padding: 60px 20px;
}
.progress-box h2 {
margin-bottom: 30px;
font-size: 22px;
color: #60a5fa;
}
.progress-bar {
width: 100%;
height: 12px;
background: rgba(255,255,255,0.1);
border-radius: 6px;
overflow: hidden;
margin-bottom: 12px;
}
.progress-fill {
height: 100%;
width: 0%;
background: linear-gradient(90deg, #3b82f6, #8b5cf6, #ec4899);
border-radius: 6px;
transition: width 0.5s ease;
}
.progress-percent {
font-size: 24px;
font-weight: bold;
color: #60a5fa;
}
/* Result */
.result-box {
text-align: center;
}
.result-box h2 {
font-size: 28px;
margin-bottom: 30px;
background: linear-gradient(135deg, #10b981, #34d399);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.video-container {
margin: 20px 0;
border-radius: 16px;
overflow: hidden;
background: #000;
box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
video {
width: 100%;
max-height: 500px;
display: block;
}
/* Music Controls */
.music-controls {
background: rgba(255,255,255,0.05);
border-radius: 16px;
padding: 20px;
margin: 20px 0;
border: 1px solid rgba(255,255,255,0.1);
}
.music-controls h3 {
margin-bottom: 16px;
color: #a78bfa;
}
.volume-control {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 16px;
}
.volume-control label {
font-size: 14px;
color: #94a3b8;
white-space: nowrap;
}
#volume-display {
min-width: 50px;
text-align: center;
font-weight: 600;
color: #60a5fa;
}
/* Actions */
.actions {
display: flex;
gap: 12px;
margin-top: 20px;
}
.actions a,
.actions button {
flex: 1;
}
/* Loading */
.loading {
display: inline-block;
animation: spin 1s linear infinite;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
/* Error */
.error-box {
background: rgba(239, 68, 68, 0.1);
border: 1px solid rgba(239, 68, 68, 0.3);
border-radius: 12px;
padding: 16px;
color: #fca5a5;
margin: 20px 0;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* Main Navigation */
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px 20px;
background: rgba(0,0,0,0.3);
backdrop-filter: blur(10px);
border-bottom: 1px solid rgba(255,255,255,0.1);
position: sticky;
top: 0;
z-index: 100;
flex-wrap: wrap;
gap: 15px;
}
.logo {
font-size: 22px;
font-weight: bold;
background: linear-gradient(135deg, #3b82f6, #ec4899);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-decoration: none;
flex-shrink: 0;
}
.main-nav {
display: flex;
gap: 8px;
flex: 1;
justify-content: center;
flex-wrap: wrap;
}
.main-nav a {
color: #94a3b8;
text-decoration: none;
padding: 8px 16px;
border-radius: 8px;
font-size: 14px;
transition: all 0.2s;
white-space: nowrap;
}
.main-nav a:hover {
color: #fff;
background: rgba(255,255,255,0.05);
}
.main-nav a.active {
color: #fff;
background: linear-gradient(135deg, #3b82f6, #8b5cf6);
}
.user-info {
display: flex;
gap: 12px;
align-items: center;
font-size: 14px;
flex-shrink: 0;
}
.user-info span {
color: #94a3b8;
}
@media (max-width: 600px) {
.header {
justify-content: center;
}
.main-nav {
order: 3;
width: 100%;
}
.main-nav a {
padding: 6px 12px;
font-size: 13px;
}
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* Balance Widget */
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.balance-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 14px;
background: linear-gradient(135deg, #f59e0b, #d97706);
color: #fff;
text-decoration: none;
border-radius: 20px;
font-size: 13px;
font-weight: 600;
transition: all 0.2s;
white-space: nowrap;
}
.balance-btn:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
}
.balance-btn.low {
background: linear-gradient(135deg, #ef4444, #dc2626);
}
.balance-btn.medium {
background: linear-gradient(135deg, #f59e0b, #d97706);
}
.balance-btn.high {
background: linear-gradient(135deg, #10b981, #059669);
}
@media (max-width: 600px) {
.balance-btn {
padding: 6px 10px;
font-size: 12px;
}
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* Mobile Header (ุชุญุณูู ููุฌูุงู) */
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
@media (max-width: 768px) {
.header {
display: grid !important;
grid-template-columns: auto 1fr auto;
grid-template-rows: auto;
gap: 8px;
padding: 10px 12px !important;
align-items: center !important;
}
.header .logo {
grid-column: 1;
font-size: 18px !important;
}
/* ุงุฎูู ุงููุงู ุจุงุฑ ุงูุนุงุฏู */
.header .main-nav {
display: none !important;
}
/* ุงูู
ุณุชุฎุฏู
*/
.header .user-info {
grid-column: 3;
gap: 6px !important;
font-size: 12px !important;
}
.header .user-info span {
display: none;
}
/* ุฒุฑ ุงููุงุฆู
ุฉ hamburger */
.header .menu-toggle {
display: flex !important;
grid-column: 2;
justify-self: end;
}
/* ุงูู balance */
.header .balance-btn {
padding: 6px 10px !important;
font-size: 12px !important;
}
/* ุงูู logout */
.header .logout-btn {
padding: 6px 10px !important;
font-size: 12px !important;
}
}
/* ุฒุฑ ุงููุงุฆู
ุฉ (ูุธูุฑ ููุท ูู ุงูุฌูุงู) */
.menu-toggle {
display: none;
width: 40px;
height: 40px;
border-radius: 10px;
background: rgba(255,255,255,0.1);
border: 1px solid rgba(255,255,255,0.15);
color: #fff;
font-size: 20px;
cursor: pointer;
align-items: center;
justify-content: center;
transition: all 0.2s;
}
.menu-toggle:hover {
background: rgba(255,255,255,0.15);
}
.menu-toggle.active {
background: linear-gradient(135deg, #3b82f6, #8b5cf6);
border-color: transparent;
}
/* ุงููุงุฆู
ุฉ ุงูู
ูุณุฏูุฉ */
.mobile-menu {
display: none;
position: fixed;
top: 60px;
right: 0;
left: 0;
background: rgba(15, 23, 42, 0.98);
backdrop-filter: blur(20px);
z-index: 999;
padding: 15px;
border-bottom: 1px solid rgba(255,255,255,0.1);
box-shadow: 0 10px 30px rgba(0,0,0,0.5);
max-height: calc(100vh - 60px);
overflow-y: auto;
}
.mobile-menu.active {
display: block;
animation: slideDown 0.25s ease;
}
@keyframes slideDown {
from { opacity: 0; transform: translateY(-10px); }
to { opacity: 1; transform: translateY(0); }
}
.mobile-menu a {
display: flex;
align-items: center;
gap: 12px;
padding: 14px 16px;
color: #cbd5e1;
text-decoration: none;
border-radius: 10px;
font-size: 15px;
transition: all 0.2s;
margin-bottom: 4px;
}
.mobile-menu a:hover,
.mobile-menu a.active {
background: rgba(59, 130, 246, 0.15);
color: #60a5fa;
}
.mobile-menu a.active {
background: linear-gradient(135deg, #3b82f6, #8b5cf6);
color: #fff;
}
.mobile-menu .menu-divider {
height: 1px;
background: rgba(255,255,255,0.1);
margin: 10px 0;
}
/* ูู ุงูุดุงุดุงุช ุงููุจูุฑุฉ โ ุงุฎูู ุงููุงุฆู
ุฉ ุงูู
ูุณุฏูุฉ */
@media (min-width: 769px) {
.mobile-menu {
display: none !important;
}
.menu-toggle {
display: none !important;
}
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* Side Drawer (ู
ู ุงููู
ูู) */
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* Overlay ู
ุนุชู
*/
.drawer-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.6);
backdrop-filter: blur(4px);
z-index: 998;
opacity: 0;
transition: opacity 0.3s ease;
}
.drawer-overlay.active {
display: block;
opacity: 1;
}
/* ุงูู Drawer ููุณู */
.side-drawer {
position: fixed;
top: 0;
right: -320px;
width: 300px;
height: 100vh;
background: linear-gradient(180deg, #1e1b4b 0%, #0f172a 100%);
z-index: 999;
transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
display: flex;
flex-direction: column;
box-shadow: -10px 0 40px rgba(0, 0, 0, 0.5);
border-left: 1px solid rgba(255, 255, 255, 0.08);
}
.side-drawer.active {
right: 0;
}
/* ุฑุฃุณ ุงูู Drawer */
.drawer-header {
padding: 20px;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
display: flex;
justify-content: space-between;
align-items: center;
}
.drawer-header .drawer-title {
color: #fff;
font-size: 18px;
font-weight: 700;
background: linear-gradient(135deg, #3b82f6, #ec4899);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.drawer-close {
width: 36px;
height: 36px;
border-radius: 10px;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
color: #94a3b8;
font-size: 18px;
cursor: pointer;
transition: all 0.2s;
display: flex;
align-items: center;
justify-content: center;
}
.drawer-close:hover {
background: rgba(239, 68, 68, 0.15);
color: #ef4444;
border-color: rgba(239, 68, 68, 0.3);
}
/* ุงูู
ุณุชุฎุฏู
ูู ุงูู Drawer */
.drawer-user {
padding: 20px;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
display: flex;
align-items: center;
gap: 12px;
}
.drawer-user-avatar {
width: 50px;
height: 50px;
border-radius: 50%;
background: linear-gradient(135deg, #3b82f6, #8b5cf6);
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 22px;
font-weight: 700;
}
.drawer-user-info {
flex: 1;
}
.drawer-user-name {
color: #fff;
font-size: 15px;
font-weight: 600;
}
.drawer-user-balance {
color: #f59e0b;
font-size: 13px;
margin-top: 4px;
display: flex;
align-items: center;
gap: 4px;
}
/* ู
ุญุชูู ุงูู Drawer */
.drawer-content {
flex: 1;
overflow-y: auto;
padding: 15px;
}
.drawer-section {
margin-bottom: 20px;
}
.drawer-section-title {
font-size: 11px;
color: #64748b;
text-transform: uppercase;
letter-spacing: 1px;
padding: 0 12px 8px;
font-weight: 600;
}
.drawer-link {
display: flex;
align-items: center;
gap: 14px;
padding: 14px 16px;
color: #cbd5e1;
text-decoration: none;
border-radius: 12px;
font-size: 15px;
transition: all 0.2s;
margin-bottom: 4px;
cursor: pointer;
}
.drawer-link:hover {
background: rgba(59, 130, 246, 0.1);
color: #60a5fa;
}
.drawer-link.active {
background: linear-gradient(135deg, #3b82f6, #8b5cf6);
color: #fff;
box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}
.drawer-link-icon {
font-size: 20px;
width: 24px;
text-align: center;
}
.drawer-divider {
height: 1px;
background: rgba(255, 255, 255, 0.08);
margin: 10px 15px;
}
/* ุชุฐููู ุงูู Drawer */
.drawer-footer {
padding: 15px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.drawer-logout {
display: flex;
align-items: center;
gap: 14px;
padding: 14px 16px;
color: #ef4444;
text-decoration: none;
border-radius: 12px;
font-size: 15px;
transition: all 0.2s;
background: rgba(239, 68, 68, 0.08);
border: 1px solid rgba(239, 68, 68, 0.2);
}
.drawer-logout:hover {
background: rgba(239, 68, 68, 0.15);
}
/* ุฒุฑ โฐ ูู ุงูู header */
.menu-toggle {
display: none;
width: 42px;
height: 42px;
border-radius: 12px;
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.15);
color: #fff;
font-size: 22px;
cursor: pointer;
align-items: center;
justify-content: center;
transition: all 0.2s;
flex-shrink: 0;
}
.menu-toggle:hover {
background: rgba(255, 255, 255, 0.15);
transform: scale(1.05);
}
.menu-toggle:active {
transform: scale(0.95);
}
/* โโโ ุงูุดุฑูุท ุงูุนููู ูู ุงูุฌูุงู โโโ */
@media (max-width: 768px) {
.header {
display: flex !important;
flex-direction: row !important;
justify-content: space-between !important;
align-items: center !important;
padding: 10px 14px !important;
gap: 10px !important;
flex-wrap: nowrap !important;
}
.header .logo {
font-size: 18px !important;
flex-shrink: 0;
}
.header .main-nav {
display: none !important;
}
.header .menu-toggle {
display: flex !important;
order: 3;
}
.header .user-info {
order: 2;
flex: 1;
justify-content: flex-end;
gap: 6px !important;
font-size: 12px !important;
}
.header .user-info > span {
display: none;
}
.header .balance-btn {
padding: 6px 10px !important;
font-size: 12px !important;
}
.header .logout-btn {
padding: 6px 10px !important;
font-size: 12px !important;
}
}
/* ูู ุงูุดุงุดุงุช ุงููุจูุฑุฉ โ ุงุฎูู ุงูู drawer */
@media (min-width: 769px) {
.side-drawer {
display: none !important;
}
.drawer-overlay {
display: none !important;
}
.menu-toggle {
display: none !important;
}
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* Voice Selector */
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.voice-selector {
background: rgba(139, 92, 246, 0.08);
border: 1px solid rgba(139, 92, 246, 0.25);
border-radius: 16px;
padding: 20px;
margin-bottom: 16px;
}
.voice-list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.voice-item {
padding: 14px 10px;
background: rgba(255,255,255,0.05);
border: 2px solid rgba(255,255,255,0.1);
border-radius: 12px;
cursor: pointer;
transition: all 0.2s;
text-align: center;
color: #cbd5e1;
}
.voice-item:hover {
background: rgba(139, 92, 246, 0.15);
border-color: #8b5cf6;
transform: translateY(-2px);
}
.voice-item.active {
background: linear-gradient(135deg, #8b5cf6, #6366f1);
color: #fff;
border-color: transparent;
box-shadow: 0 8px 24px rgba(139, 92, 246, 0.4);
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Fix: Dropdown styling for Arabic (RTL)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* ุงูููุงุฆู
ุงูู
ูุณุฏูุฉ */
select {
direction: rtl !important;
text-align: right !important;
padding-right: 15px !important;
padding-left: 40px !important; /* ู
ุณุงุญุฉ ููุณูู
*/
background-position: left 15px center !important;
background-repeat: no-repeat !important;
-webkit-appearance: none !important;
-moz-appearance: none !important;
appearance: none !important;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
background-size: 15px !important;
}
/* ุงูุฎูุงุฑุงุช ุฌูู ุงููุงุฆู
ุฉ */
select option {
direction: rtl !important;
text-align: right !important;
padding: 10px !important;
background: #1a1a2e !important;
color: #fff !important;
}
/* ููุดุงุดุงุช ุงูุตุบูุฑุฉ */
@media (max-width: 600px) {
select {
font-size: 1rem !important;
}
}
/* โญ ุนูุณ ุงุชุฌุงู ุงูููุงุฆู
ุงูู
ูุณุฏูุฉ */
select, option {
direction: rtl !important;
text-align: right !important;
unicode-bidi: bidi-override !important;
}
/* ู
ุณุงุญุฉ ู
ู ุงููู
ูู ูููุตุ ูู
ู ุงูุดู
ุงู ููุณูู
*/
select {
padding-right: 15px !important;
padding-left: 35px !important;
background-position: left 10px center !important;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Podcast Circular Upload UI
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.podcast-img-container {
display: flex;
flex-direction: column;
gap: 16px;
max-width: 520px;
margin: 0 auto;
font-family: 'Cairo', sans-serif;
}
.podcast-upload-card {
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 20px;
padding: 15px 20px;
display: flex;
align-items: center;
justify-content: space-between;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.podcast-upload-card:hover {
background: rgba(255, 255, 255, 0.05);
border-color: rgba(139, 92, 246, 0.4);
box-shadow: 0 8px 25px rgba(139, 92, 246, 0.15);
transform: translateY(-2px);
}
.podcast-card-info {
display: flex;
align-items: center;
gap: 15px;
}
.podcast-avatar-preview {
width: 56px;
height: 56px;
border-radius: 50%;
background: rgba(139, 92, 246, 0.15);
border: 2px solid rgba(139, 92, 246, 0.4);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
flex-shrink: 0;
transition: transform 0.3s ease;
}
.podcast-upload-card:hover .podcast-avatar-preview {
transform: scale(1.05);
border-color: #8b5cf6;
}
.podcast-avatar-preview img {
width: 100%;
height: 100%;
object-fit: cover;
}
.podcast-avatar-preview .default-emoji {
font-size: 1.5rem;
}
.podcast-label-text {
display: flex;
flex-direction: column;
gap: 3px;
}
.podcast-label-title { color: #ffffff; font-size: 0.9rem; font-weight: 700; white-space: nowrap; }
.podcast-label-sub { color: #94a3b8; font-size: 0.75rem; }
.podcast-file-btn { background: linear-gradient(135deg, rgba(139,92,246,0.2), rgba(139,92,246,0.1)); border: 1px solid rgba(139, 92, 246, 0.35); color: #c4b5fd; padding: 8px 15px; border-radius: 50px; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.podcast-file-btn:hover {
background: linear-gradient(135deg, #8b5cf6, #7c3aed);
color: #ffffff;
border-color: transparent;
box-shadow: 0 4px 15px rgba(139, 92, 246, 0.4);
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Podcast Scene Shot Cards (Cinematic UI)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.podcast-scenes-grid {
display: flex;
flex-direction: column;
gap: 18px;
max-width: 550px;
margin: 0 auto;
font-family: 'Cairo', sans-serif;
}
.scene-shot-card {
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 20px;
padding: 16px;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
backdrop-filter: blur(10px);
}
.scene-shot-card:hover {
background: rgba(255, 255, 255, 0.05);
border-color: rgba(139, 92, 246, 0.4);
box-shadow: 0 8px 28px rgba(139, 92, 246, 0.18);
transform: translateY(-2px);
}
.scene-card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 12px;
}
.scene-title {
color: #ffffff;
font-size: 0.95rem;
font-weight: 700;
display: flex;
align-items: center;
gap: 8px;
}
.scene-badge {
background: rgba(139, 92, 246, 0.15);
color: #c4b5fd;
border: 1px solid rgba(139, 92, 246, 0.3);
padding: 3px 10px;
border-radius: 20px;
font-size: 0.75rem;
}
.scene-frame-dropzone {
width: 100%;
height: 140px;
background: rgba(0, 0, 0, 0.25);
border: 2px dashed rgba(139, 92, 246, 0.35);
border-radius: 16px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
cursor: pointer;
position: relative;
overflow: hidden;
transition: all 0.3s ease;
}
.scene-frame-dropzone:hover {
border-color: #8b5cf6;
background: rgba(139, 92, 246, 0.08);
}
.scene-frame-content {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
text-align: center;
color: #94a3b8;
}
.scene-icon {
font-size: 1.8rem;
filter: drop-shadow(0 2px 8px rgba(139, 92, 246, 0.3));
}
.scene-prompt-text {
font-size: 0.85rem;
font-weight: 600;
color: #e2e8f0;
}
.scene-sub-text {
font-size: 0.75rem;
color: #64748b;
}
.scene-preview-img {
position: absolute;
top: 0; left: 0; width: 100%; height: 100%;
object-fit: cover;
border-radius: 14px;
display: block;
}
/* โญ ุฅุตูุงุญ ุงุชุฌุงู ุงูู Slider (ุงูู
ูุณููู) ููู
ุดู ู
ุน ุงูุจุงุฑ */
input[type="range"] {
direction: ltr !important;
-webkit-appearance: none;
appearance: none;
height: 8px;
border-radius: 4px;
background: transparent !important;
outline: none;
width: 100%;
}
/* ุดูู ุงูู
ูุจุถ (ุงูุฏุงุฆุฑุฉ) */
input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 20px;
height: 20px;
border-radius: 50%;
background: #8b5cf6;
cursor: pointer;
box-shadow: 0 0 10px rgba(139, 92, 246, 0.5);
transition: transform 0.2s;
}
input[type="range"]::-webkit-slider-thumb:hover {
transform: scale(1.15);
}
/* Firefox */
input[type="range"]::-moz-range-thumb {
width: 20px;
height: 20px;
border-radius: 50%;
background: #8b5cf6;
cursor: pointer;
border: none;
box-shadow: 0 0 10px rgba(139, 92, 246, 0.5);
}
/* ุงูุจุงุฑ ุงูู
ู
ููุก (ุงูุฌุฒุก ุงููู ุจูุชุญุฑู) */
input[type="range"]::-webkit-slider-runnable-track {
background: linear-gradient(to right, #8b5cf6 var(--volume-percent, 25%), rgba(255,255,255,0.15) var(--volume-percent, 25%));
height: 8px;
border-radius: 4px;
}
/* Firefox */
input[type="range"]::-moz-range-track {
background: rgba(255,255,255,0.15);
height: 8px;
border-radius: 4px;
}
input[type="range"]::-moz-range-progress {
background: #8b5cf6;
height: 8px;
border-radius: 4px;
}
/* CairoAI โ Chat Styles */
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'Cairo', -apple-system, BlinkMacSystemFont, sans-serif;
background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
color: #fff;
min-height: 100vh;
direction: rtl;
}
.container {
max-width: 900px;
margin: 0 auto;
padding: 20px;
}
/* Header */
.header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px 0;
margin-bottom: 30px;
border-bottom: 1px solid rgba(255,255,255,0.1);
}
.logo {
font-size: 24px;
font-weight: bold;
background: linear-gradient(135deg, #3b82f6, #ec4899);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.user-info {
display: flex;
gap: 15px;
align-items: center;
font-size: 14px;
}
.logout-btn {
color: #ef4444;
text-decoration: none;
padding: 6px 12px;
border: 1px solid #ef4444;
border-radius: 6px;
transition: all 0.2s;
}
.logout-btn:hover {
background: #ef4444;
color: #fff;
}
/* Steps */
.step {
display: none;
animation: fadeIn 0.3s ease;
}
.step.active {
display: block;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
/* Welcome */
.welcome {
text-align: center;
padding: 40px 20px;
}
.welcome h1 {
font-size: 32px;
margin-bottom: 10px;
background: linear-gradient(135deg, #60a5fa, #f472b6);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.welcome p {
color: #94a3b8;
font-size: 16px;
}
/* Input */
.input-box {
background: rgba(255,255,255,0.05);
border-radius: 16px;
padding: 24px;
backdrop-filter: blur(10px);
border: 1px solid rgba(255,255,255,0.1);
}