Spaces:
Paused
Paused
Download static/css/studio.css from sherifghazi/EGYshot: direct link, hf CLI and curl.
- Browser
- Download file 30.5 kB
-
https://huggingface.co/spaces/sherifghazi/EGYshot/resolve/main/static/css/studio.css
- Command line
-
hf download hf://spaces/sherifghazi/EGYshot/static/css/studio.css
-
curl -L -o studio.css https://huggingface.co/spaces/sherifghazi/EGYshot/resolve/main/static/css/studio.css
30.5 kB
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
EGYshot Pro Studio โ Clean CSS Rewrite (Fixed)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
:root {
--bg: #08080c;
--surface: #0f0f14;
--surface-2: #16161d;
--surface-3: #1c1c26;
--border: rgba(255,255,255,0.06);
--border-strong: rgba(255,255,255,0.12);
--text: #f0f0f5;
--text-2: #a0a0b0;
--text-3: #6b6b7b;
--accent: #6366f1;
--accent-2: #818cf8;
--green: #34d399;
--red: #f87171;
--font: 'Cairo', system-ui, sans-serif;
--track-h: 52px;
--head-w: 72px;
}
/* โโโ Reset & Base โโโ */
html, body {
height: 100dvh;
width: 100vw;
margin: 0;
padding: 0;
overflow: hidden;
background: var(--bg);
color: var(--text);
font-family: var(--font);
-webkit-font-smoothing: antialiased;
user-select: none;
}
* {
box-sizing: border-box;
}
body.studio-page {
display: flex;
flex-direction: column;
}
/* โโโ Header (ุซุงุจุช) โโโ */
.studio-page .header {
flex: 0 0 auto;
position: relative;
z-index: 100;
}
/* โโโ Stage (ุงูู
ุณุงุญุฉ ุงูุฑุฆูุณูุฉ) โโโ */
.studio-page .stage {
display: flex;
flex-direction: column;
flex: 1 1 auto;
min-height: 0;
overflow: hidden;
}
/* โโโ Tools Strip โโโ */
.studio-page .tools-strip {
display: flex;
justify-content: center;
gap: 6px;
padding: 10px 12px;
background: var(--surface);
border-top: 1px solid var(--border);
border-bottom: 1px solid var(--border);
overflow-x: auto;
flex-shrink: 0;
}
.studio-page .tool {
display: flex;
flex-direction: column;
align-items: center;
gap: 3px;
min-width: 58px;
padding: 8px 6px;
background: transparent;
border: none;
border-radius: 10px;
color: var(--text-2);
cursor: pointer;
transition: all 0.15s;
font-family: var(--font);
flex-shrink: 0;
}
.studio-page .tool:hover {
background: var(--surface-3);
color: var(--text);
}
.studio-page .tool:active {
transform: scale(0.95);
}
.studio-page .tool.recording {
color: var(--red);
animation: rec-pulse 1.1s ease infinite;
}
@keyframes rec-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
.studio-page .tool-icon {
font-size: 1.3rem;
line-height: 1;
}
.studio-page .tool-label {
font-size: 0.65rem;
font-weight: 600;
}
/* โโโ Timeline Section โโโ */
.studio-page .timeline-section {
flex: 1 1 auto;
display: flex;
flex-direction: column;
min-height: 0;
background: var(--surface);
border-top: 1px solid var(--border);
overflow: hidden;
}
.studio-page .timeline-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 16px 4px;
flex-shrink: 0;
}
.studio-page .timeline-title {
font-size: 0.75rem;
font-weight: 700;
color: var(--text-3);
text-transform: uppercase;
}
.studio-page .zoom-controls {
display: flex;
align-items: center;
gap: 6px;
}
.studio-page .zoom-btn {
width: 26px;
height: 26px;
border: 1px solid var(--border-strong);
background: var(--surface-2);
color: var(--text-2);
border-radius: 6px;
font-size: 1rem;
cursor: pointer;
display: grid;
place-items: center;
transition: all 0.15s;
}
.studio-page .zoom-btn:hover {
border-color: var(--accent);
color: var(--accent-2);
}
.studio-page .zoom-value {
font-size: 0.72rem;
color: var(--text-3);
min-width: 36px;
text-align: center;
}
/* โโโ Scroll Area โโโ */
.studio-page .timeline-scroll {
flex: 1 1 auto;
overflow-x: auto;
overflow-y: hidden;
width: 100%;
padding-bottom: 12px;
-webkit-overflow-scrolling: touch;
}
.studio-page .timeline-scroll::-webkit-scrollbar {
height: 6px;
}
.studio-page .timeline-scroll::-webkit-scrollbar-track {
background: #15121f;
}
.studio-page .timeline-scroll::-webkit-scrollbar-thumb {
background: #3b82f6;
border-radius: 3px;
}
/* โโโ Ruler (ุงูู
ุณุทุฑุฉ) โโโ */
.studio-page .ruler {
height: 24px;
margin-right: calc(var(--head-w) + 8px);
margin-left: 8px;
position: relative;
border-bottom: 1px solid var(--border);
background: repeating-linear-gradient(90deg, transparent 0, transparent 39px, rgba(255,255,255,0.04) 40px);
transition: width 0.2s ease;
}
.studio-page .ruler .tick {
position: absolute;
top: 3px;
font-size: 0.62rem;
color: var(--text-3);
transform: translateX(-50%);
white-space: nowrap;
font-family: 'Courier New', monospace;
}
/* โโโ Tracks (ุงูู
ุณุงุฑุงุช) โโโ */
.studio-page .timeline-canvas {
display: inline-block !important;
position: relative !important;
vertical-align: top !important;
min-width: 100% !important;
}
.studio-page .tracks {
display: flex !important;
flex-direction: column !important;
gap: 4px !important;
padding-top: 6px !important;
transition: width 0.2s ease;
}
.studio-page .track {
display: flex !important;
height: var(--track-h) !important;
}
.studio-page .track-head {
width: 70px !important;
min-width: 70px !important;
flex-shrink: 0 !important;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 2px;
background: var(--surface-2);
border-left: 1px solid var(--border);
border-radius: 0 8px 8px 0;
z-index: 10;
}
.studio-page .track-icon {
font-size: 0.95rem;
line-height: 1;
}
.studio-page .track-name {
font-size: 0.6rem;
font-weight: 600;
color: var(--text-3);
}
.studio-page .track-body {
flex: 1 !important;
position: relative !important;
margin: 0 8px 0 4px !important;
background: var(--surface-2) !important;
border-radius: 8px !important;
overflow: hidden !important;
}
.studio-page .track-body.has-content {
border-color: rgba(99,102,241,0.25);
}
.studio-page .track-placeholder {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-3);
font-size: 0.75rem;
font-weight: 500;
opacity: 0.7;
}
/* โโโ Playhead (ุงูู
ุคุดุฑ) โโโ */
/* โโโ FX Panel (ุงูู
ุคุซุฑุงุช) โโโ */
.studio-page .fx-panel {
position: fixed;
bottom: 0;
left: 0;
right: 0;
max-height: 42vh;
background: var(--surface);
border-top: 1px solid var(--border-strong);
border-radius: 18px 18px 0 0;
z-index: 100;
transform: translateY(110%);
transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
padding: 0 0 20px;
box-shadow: 0 -10px 40px rgba(0,0,0,0.4);
}
.studio-page .fx-panel.open {
transform: translateY(0);
}
.studio-page .fx-backdrop {
position: fixed;
inset: 0;
background: rgba(0,0,0,0.45);
z-index: 90;
opacity: 0;
pointer-events: none;
transition: opacity 0.25s;
}
.studio-page .fx-backdrop.open {
opacity: 1;
pointer-events: auto;
}
.studio-page .fx-panel-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 18px 10px;
}
.studio-page .fx-panel-header h3 {
font-size: 1rem;
font-weight: 700;
margin: 0;
}
.studio-page .fx-close {
width: 32px;
height: 32px;
border: none;
background: var(--surface-3);
color: var(--text-2);
border-radius: 8px;
font-size: 1rem;
cursor: pointer;
}
.studio-page .fx-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(82px, 1fr));
gap: 10px;
padding: 8px 16px 12px;
max-height: 30vh;
overflow-y: auto;
}
.studio-page .fx-card {
background: var(--surface-2);
border: 1px solid var(--border);
border-radius: 12px;
padding: 14px 8px;
text-align: center;
cursor: pointer;
transition: all 0.15s;
}
.studio-page .fx-card:hover {
border-color: var(--accent);
background: var(--surface-3);
}
.studio-page .fx-loading {
grid-column: 1 / -1;
text-align: center;
color: var(--text-3);
padding: 20px;
}
/* โโโ Toast โโโ */
.studio-page .toast {
position: fixed;
bottom: 28px;
left: 50%;
transform: translateX(-50%);
background: #1a1a24;
color: white;
padding: 12px 22px;
border-radius: 12px;
font-weight: 600;
font-size: 0.9rem;
z-index: 200;
border: 1px solid var(--border-strong);
box-shadow: 0 10px 30px rgba(0,0,0,0.45);
font-family: var(--font);
}
/* โโโ Responsive (Mobile) โโโ */
@media (max-width: 768px) {
:root {
--track-h: 46px;
--head-w: 58px;
}
.studio-page .tool {
min-width: 50px;
padding: 6px 4px;
}
.studio-page .tool-icon {
font-size: 1.15rem;
}
.studio-page .tool-label {
font-size: 0.58rem;
}
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
PREVIEW AREA (ูุงุฑุช ุงูููุฏูู)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.studio-page .preview-area {
flex: 0 0 35dvh;
display: flex;
align-items: center;
justify-content: center;
padding: 10px;
background: radial-gradient(ellipse at center, #0d0d14 0%, var(--bg) 70%);
overflow: hidden;
min-height: 180px;
}
.studio-page .preview-frame {
position: relative;
width: 100%;
max-width: 720px;
max-height: 100%;
aspect-ratio: 16 / 9;
background: #000;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 0 0 1px var(--border), 0 10px 30px rgba(0,0,0,0.5);
}
.studio-page #preview-video {
width: 100%;
height: 100%;
object-fit: contain;
background: #000;
display: block;
}
.studio-page .preview-empty {
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
background: linear-gradient(180deg, #0c0c12 0%, #12121a 100%);
z-index: 2;
}
.studio-page .preview-empty.hidden {
display: none;
}
.studio-page .empty-icon {
font-size: 2.8rem;
opacity: 0.7;
}
.studio-page .preview-overlay {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background: rgba(0,0,0,0.25);
cursor: pointer;
z-index: 3;
transition: opacity 0.2s;
}
.studio-page .preview-overlay.hidden {
opacity: 0;
pointer-events: none;
}
.studio-page .play-circle {
width: 64px;
height: 64px;
border-radius: 50%;
background: rgba(255,255,255,0.12);
backdrop-filter: blur(12px);
border: 1px solid rgba(255,255,255,0.18);
display: grid;
place-items: center;
color: white;
}
.studio-page .preview-time {
position: absolute;
bottom: 12px;
left: 14px;
font-family: 'Courier New', monospace;
font-size: 0.78rem;
color: rgba(255,255,255,0.75);
background: rgba(0,0,0,0.55);
padding: 4px 9px;
border-radius: 6px;
z-index: 4;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
VIDEO / AUDIO CLIPS + TRIM HANDLES (ู
ูุญูุฏ ูููุงุฆู)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* ุงููููุจ ุงูุฃุณุงุณู (ููุฏูู + ุตูุช + ุตูุช ุจุดุฑู) */
.studio-page #video-clip,
.studio-page .clip-audio,
.studio-page .clip-voice {
position: absolute !important;
top: 3px !important;
bottom: 3px !important;
right: 0 !important;
left: auto !important; /* โญ ูุชุฑู ุงูู
ุชุตูุญ ูุญุณุจ ุงูุนุฑุถ ู
ู ุงูู JS */
border-radius: 6px !important;
overflow: hidden !important;
background: #0a0a12 !important;
box-shadow: 0 0 0 1px rgba(99,102,241,0.4) !important;
z-index: 1 !important;
}
/* ุงูู
ูุณููู (ุฃุฒุฑู) */
.studio-page .clip-audio {
background: linear-gradient(135deg, rgba(96,165,250,0.2), rgba(59,130,246,0.35)) !important;
border: 1px solid rgba(96,165,250,0.45) !important;
}
/* ุงูุตูุช (ุฃุฎุถุฑ) */
.studio-page .clip-voice {
background: linear-gradient(135deg, rgba(52,211,153,0.18), rgba(16,185,129,0.32)) !important;
border: 1px solid rgba(52,211,153,0.45) !important;
}
.studio-page .clip-label {
font-size: 0.75rem !important;
font-weight: 700 !important;
color: #fff !important;
z-index: 3 !important;
white-space: nowrap !important;
overflow: hidden !important;
text-overflow: ellipsis !important;
max-width: 90% !important;
direction: ltr !important;
position: relative;
padding: 0 12px;
}
/* ุตูุฑ ุงูููุฏูู ุฏุงุฎู ุงููููุจ */
.studio-page #video-clip img,
.studio-page .clip-video img {
height: 100% !important;
object-fit: cover !important;
flex: 0 0 auto !important;
pointer-events: none !important;
border-left: 1px solid rgba(255,255,255,0.06) !important;
}
/* ู
ูุฌุงุช ุงูุตูุช */
.studio-page .wave {
position: absolute !important;
inset: 0 !important;
display: flex !important;
align-items: center !important;
gap: 1px !important;
padding: 0 4px !important;
opacity: 0.8 !important;
pointer-events: none !important;
z-index: 1 !important;
}
.studio-page .wave span {
flex: 1 !important;
min-width: 1px !important;
border-radius: 1px !important;
}
.studio-page .clip-audio .wave span {
background: #60a5fa !important;
}
.studio-page .clip-voice .wave span {
background: #34d399 !important;
}
/* โโโ TRIM HANDLES (ู
ูุญูุฏ) โโโ */
.studio-page .trim {
position: absolute !important;
top: 0 !important;
bottom: 0 !important;
width: 20px !important;
background: #3b82f6 !important;
cursor: ew-resize !important;
z-index: 10 !important;
display: grid !important;
place-items: center !important;
touch-action: none !important;
pointer-events: auto !important;
transition: background 0.15s !important;
-webkit-user-select: none !important;
user-select: none !important;
}
.studio-page .trim:hover,
.studio-page .trim.active {
background: #60a5fa !important;
width: 20px !important;
}
.studio-page .trim::after {
content: '' !important;
width: 2px !important;
height: 20px !important;
background: rgba(255,255,255,0.9) !important;
border-radius: 1px !important;
}
.studio-page .trim-left {
right: 0 !important;
border-radius: 0 6px 6px 0 !important;
}
.studio-page .trim-right {
left: 0 !important;
border-radius: 6px 0 0 6px !important;
}
/* โโโ FX BLOCK โโโ */
.studio-page .fx-block {
position: absolute !important;
top: 4px !important;
bottom: 4px !important;
min-width: 4px !important;
max-width: 100% !important;
background: rgba(251, 191, 36, 0.8) !important;
border: 1px solid #fbbf24 !important;
border-radius: 4px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
font-size: 0.6rem !important;
cursor: grab !important;
z-index: 4 !important;
transition: transform 0.1s, box-shadow 0.15s !important;
overflow: hidden !important;
user-select: none !important;
touch-action: none !important;
}
.studio-page .fx-block:hover {
transform: translateY(-1px) !important;
box-shadow: 0 4px 12px rgba(251,191,36,0.3) !important;
}
.studio-page .fx-block:active {
cursor: grabbing !important;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
FIX: Play Button Always Visible
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
FIX: Play Button Opacity & Position
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.studio-page #play-overlay .play-circle {
opacity: 0.7; /* ุดูุงููุฉ ููุฃููููุฉ */
transition: opacity 0.2s, transform 0.15s;
}
.studio-page #play-overlay:hover .play-circle {
opacity: 1; /* ูุจูู ูุงุถุญ ูู
ุง ุชูู ุนููู */
transform: scale(1.05);
}
/* ูู
ุง ุงูููุฏูู ุดุบุงูุ ุงูุฒุฑ ูุจูู ุดูุงู ุฌุฏุงู ุนุดุงู ู
ูุฒุนุฌุด */
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
FIX: Icon Size & Text & Visibility
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* 1. ุฅุธูุงุฑ ููู
ุฉ ุงุฑูุน ููุฏูู ููุจุฏุก ุจุณ (ุดูู ุฒุฑ ุงุฎุชูุงุฑ ููุฏูู) */
.studio-page .preview-empty .btn-ghost {
display: none !important;
}
/* 2. ุชูุจูุฑ ุฃููููุฉ ุงูููุงููุช 300% */
.studio-page .preview-empty .empty-icon {
font-size: 8.4rem !important; /* ูุงู 2.8rem ร 3 = 8.4 */
opacity: 0.9 !important;
margin-bottom: 20px !important;
}
/* 3. ูุฎูู ููู
ุฉ ุงุฑูุน ููุฏูู ููุจุฏุก ุฃูุถุญ ูุฃูุจุฑ */
.studio-page .preview-empty p {
font-size: 1.2rem !important;
color: #fff !important;
font-weight: 600 !important;
}
/* 4. ุชุนุฏูู ุดูุงููุฉ ุฒุฑ ุงูุชุดุบูู ุนุดุงู ูุจูู ู
ูุงุณุจ */
.studio-page #play-overlay .play-circle {
opacity: 0.85; /* ุฃูุถุญ ุดููุฉ ู
ู 0.7 */
}
.studio-page #play-overlay.hidden .play-circle {
background: rgba(0,0,0,0.3) !important; /* ุฎูููุฉ ุฏุงูุฑุฉ ุณูุฏุง ูู
ุง ุงูููุฏูู ุดุบุงู */
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
FIX: Icon Size & Transparency
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* ุชุตุบูุฑ ุฃููููุฉ ุงูููุงููุช ุดููุฉ + ุดูุงููุฉ */
.studio-page .preview-empty .empty-icon {
font-size: 5rem !important;
opacity: 0.5 !important;
margin-bottom: 15px !important;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
PLAY OVERLAY โ Centered
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.studio-page #play-overlay {
position: absolute;
inset: 0;
display: flex !important;
align-items: center !important;
justify-content: center !important;
background: rgba(0,0,0,0.15);
z-index: 10;
cursor: pointer;
transition: opacity 0.2s;
}
.studio-page #play-overlay:hover {
background: rgba(0,0,0,0.3);
}
.studio-page #play-overlay .play-circle {
width: 64px;
height: 64px;
border-radius: 50%;
background: rgba(0,0,0,0.3);
backdrop-filter: blur(8px);
display: grid;
place-items: center;
color: white;
opacity: 0.85;
transition: opacity 0.2s, transform 0.15s;
}
.studio-page #play-overlay:hover .play-circle {
opacity: 1;
transform: scale(1.08);
}
/* ูู
ุง ุงูููุฏูู ุดุบุงูุ ูุฎูู ุงูุฒุฑ ุดูุงู ุดููุฉ */
.studio-page #play-overlay.hidden {
opacity: 0.35;
background: transparent;
}
.studio-page #play-overlay.hidden .play-circle {
background: rgba(0,0,0,0.4);
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
FIX: Play Button Never Hides
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.studio-page #play-overlay.hidden {
opacity: 0.35 !important; /* ุดูุงู ุจุณ ู
ุด ู
ุฎูู */
pointer-events: auto !important;
background: transparent !important;
}
.studio-page #play-overlay.hidden .play-circle {
background: rgba(0,0,0,0.4) !important;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
FIX: Preview Empty (No Text)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.studio-page .preview-empty .btn-ghost,
.studio-page .preview-empty p {
display: none !important;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
AUDIO DRAG SUPPORT
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.studio-page .clip-audio,
.studio-page .clip-voice {
cursor: grab !important;
touch-action: none !important;
}
.studio-page .clip-audio:active,
.studio-page .clip-voice:active {
cursor: grabbing !important;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
DRAG: All Bars (Video, Audio, FX)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.studio-page #video-clip,
.studio-page .clip-audio,
.studio-page .clip-voice {
cursor: grab !important;
touch-action: none !important;
}
.studio-page #video-clip:active,
.studio-page .clip-audio:active,
.studio-page .clip-voice:active {
cursor: grabbing !important;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
PLAYHEAD โ ูููุณ (ูุณุชุฎุฏู
left ุจุฏู right)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
PLAYHEAD โ Clean (JS-controlled right positioning)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
/* Cursor ูู
ุง ุชูู ุนูู ุงูู track-body */
.studio-page #track-video {
cursor: pointer !important;
}
.studio-page #track-music,
.studio-page #track-voice {
cursor: pointer !important;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
PLAYHEAD โ Clean (JS master)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.studio-page #playhead {
position: absolute;
top: 0;
bottom: 0;
width: 2px;
background: #6366f1;
z-index: 100;
pointer-events: none;
display: none;
}
.studio-page #playhead .playhead-line {
position: absolute;
top: 12px;
bottom: 0;
left: 50%;
width: 2px;
background: #6366f1;
transform: translateX(-50%);
box-shadow: 0 0 6px rgba(99,102,241,0.5);
}
.studio-page #track-video,
.studio-page #track-music,
.studio-page #track-voice {
cursor: pointer;
}
.studio-page #playhead .playhead-head {
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 20px;
height: 20px;
background: #6366f1;
border: 3px solid #fff;
border-radius: 50%;
box-shadow: 0 0 12px rgba(99,102,241,0.8);
pointer-events: auto;
cursor: grab;
touch-action: none;
z-index: 101;
}
.studio-page #playhead .playhead-head:active {
cursor: grabbing;
transform: translateX(-50%) scale(1.15);
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
IMAGES CLIP
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.studio-page .clip-images {
position: absolute;
top: 4px;
bottom: 4px;
display: flex;
border-radius: 6px;
overflow: hidden;
background: #0a0a12;
box-shadow: 0 0 0 1px rgba(99,102,241,0.4);
cursor: grab;
}
.studio-page .clip-images img {
height: 100%;
width: auto;
min-width: 60px;
object-fit: cover;
pointer-events: none;
border-left: 1px solid rgba(255,255,255,0.1);
flex-shrink: 0;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
SELECT BAR โ ุฅุทุงุฑ ูู
ุง ุงูุจุงุฑ ู
ุชุญุฏุฏ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.studio-page .selected {
box-shadow: 0 0 0 3px #fbbf24, 0 0 12px rgba(251,191,36,0.6) !important;
z-index: 20 !important;
}
.studio-page .clip-images.selected {
box-shadow: 0 0 0 3px #fbbf24, 0 0 12px rgba(251,191,36,0.6) !important;
}
.studio-page #video-clip.selected {
box-shadow: 0 0 0 3px #fbbf24, 0 0 12px rgba(251,191,36,0.6) !important;
}
.studio-page .fx-block.selected {
box-shadow: 0 0 0 3px #fbbf24, 0 0 12px rgba(251,191,36,0.6) !important;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
TOUCH-FRIENDLY TRIM
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.studio-page .trim {
width: 24px !important; /* ุฃุนุฑุถ ููู
ุณ */
touch-action: none !important;
-webkit-tap-highlight-color: transparent !important;
user-select: none !important;
-webkit-user-select: none !important;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
IMAGE SINGLE BAR โ ุจุงุฑ ุตูุฑุฉ ูุงุญุฏุฉ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.studio-page .clip-image-single {
position: absolute;
top: 4px;
bottom: 4px;
border-radius: 6px;
overflow: hidden;
background: #0a0a12;
box-shadow: 0 0 0 1px rgba(99,102,241,0.4);
cursor: grab;
z-index: 2;
}
.studio-page .clip-image-single img {
width: 100%;
height: 100%;
object-fit: cover;
pointer-events: none;
}
.studio-page #black-screen-overlay {
background: #000 !important;
}
/* ุฅุทุงุฑ ุฃุตูุฑ ูู
ุง ู
ุชุญุฏุฏ */
.studio-page .clip-image-single.selected {
box-shadow: 0 0 0 3px #fbbf24, 0 0 12px rgba(251,191,36,0.6) !important;
z-index: 20 !important;
}
/* โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
EGYshot Pro Studio โ Clean CSS Rewrite (Fixed)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
:root {
--bg: #08080c;
--surface: #0f0f14;
--surface-2: #16161d;
--surface-3: #1c1c26;
--border: rgba(255,255,255,0.06);
--border-strong: rgba(255,255,255,0.12);
--text: #f0f0f5;
--text-2: #a0a0b0;
--text-3: #6b6b7b;
--accent: #6366f1;
--accent-2: #818cf8;
--green: #34d399;
--red: #f87171;
--font: 'Cairo', system-ui, sans-serif;
--track-h: 52px;
--head-w: 72px;
}
/* โโโ Reset & Base โโโ */
html, body {
height: 100dvh;
width: 100vw;
margin: 0;
padding: 0;
overflow: hidden;
background: var(--bg);
color: var(--text);
font-family: var(--font);
-webkit-font-smoothing: antialiased;
user-select: none;
}
* {
box-sizing: border-box;
}
body.studio-page {
display: flex;
flex-direction: column;
}
/* โโโ Header (ุซุงุจุช) โโโ */
.studio-page .header {
flex: 0 0 auto;
position: relative;
z-index: 100;
}
/* โโโ Stage (ุงูู
ุณุงุญุฉ ุงูุฑุฆูุณูุฉ) โโโ */
.studio-page .stage {
display: flex;
flex-direction: column;
flex: 1 1 auto;
min-height: 0;
overflow: hidden;
}
/* โโโ Tools Strip โโโ */
.studio-page .tools-strip {
display: flex;
justify-content: center;
gap: 6px;
padding: 10px 12px;
background: var(--surface);
border-top: 1px solid var(--border);
border-bottom: 1px solid var(--border);
overflow-x: auto;
flex-shrink: 0;
}
.studio-page .tool {
display: flex;
flex-direction: column;
align-items: center;
gap: 3px;
min-width: 58px;
padding: 8px 6px;
background: transparent;
border: none;
border-radius: 10px;
color: var(--text-2);
cursor: pointer;
transition: all 0.15s;
font-family: var(--font);
flex-shrink: 0;
}
.studio-page .tool:hover {
background: var(--surface-3);
color: var(--text);
}
.studio-page .tool:active {
transform: scale(0.95);
}