Import Mouse icon from lucide-react, add a mouse animation to the video card preview, and include a new CSS keyframes animation for left-right movement. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/2cd2c0bc-434c-4bc9-ad3f-b99d3897a0d1/4DOsXkx
444 lines
11 KiB
CSS
444 lines
11 KiB
CSS
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Poppins:wght@400;500;600;700;800&display=swap');
|
|
|
|
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
:root {
|
|
--background: hsl(222, 84%, 4.9%);
|
|
--foreground: hsl(210, 40%, 98%);
|
|
--muted: hsl(217, 32.6%, 17.5%);
|
|
--muted-foreground: hsl(215, 20.2%, 65.1%);
|
|
--popover: hsl(222, 84%, 4.9%);
|
|
--popover-foreground: hsl(210, 40%, 98%);
|
|
--card: hsl(222, 84%, 4.9%);
|
|
--card-foreground: hsl(210, 40%, 98%);
|
|
--border: hsl(217, 32.6%, 17.5%);
|
|
--input: hsl(217, 32.6%, 17.5%);
|
|
--primary: hsl(217, 91%, 60%);
|
|
--primary-foreground: hsl(222, 47%, 11%);
|
|
--secondary: hsl(217, 32.6%, 17.5%);
|
|
--secondary-foreground: hsl(210, 40%, 98%);
|
|
--accent: hsl(217, 32.6%, 17.5%);
|
|
--accent-foreground: hsl(210, 40%, 98%);
|
|
--destructive: hsl(0, 62.8%, 30.6%);
|
|
--destructive-foreground: hsl(210, 40%, 98%);
|
|
--ring: hsl(217, 91%, 60%);
|
|
--radius: 0.75rem;
|
|
|
|
/* Custom video app colors - Modern gradient theme */
|
|
--bunny-dark: hsl(250, 50%, 15%);
|
|
--bunny-gray: hsl(240, 30%, 25%);
|
|
--bunny-blue: hsl(200, 100%, 60%);
|
|
--bunny-purple: hsl(280, 80%, 60%);
|
|
--bunny-light: hsl(210, 40%, 98%);
|
|
--bunny-muted: hsl(215, 20.2%, 65.1%);
|
|
}
|
|
|
|
.dark {
|
|
--background: hsl(222, 84%, 4.9%);
|
|
--foreground: hsl(210, 40%, 98%);
|
|
--muted: hsl(217, 32.6%, 17.5%);
|
|
--muted-foreground: hsl(215, 20.2%, 65.1%);
|
|
--popover: hsl(222, 84%, 4.9%);
|
|
--popover-foreground: hsl(210, 40%, 98%);
|
|
--card: hsl(222, 84%, 4.9%);
|
|
--card-foreground: hsl(210, 40%, 98%);
|
|
--border: hsl(217, 32.6%, 17.5%);
|
|
--input: hsl(217, 32.6%, 17.5%);
|
|
--primary: hsl(217, 91%, 60%);
|
|
--primary-foreground: hsl(222, 47%, 11%);
|
|
--secondary: hsl(217, 32.6%, 17.5%);
|
|
--secondary-foreground: hsl(210, 40%, 98%);
|
|
--accent: hsl(217, 32.6%, 17.5%);
|
|
--accent-foreground: hsl(210, 40%, 98%);
|
|
--destructive: hsl(0, 62.8%, 30.6%);
|
|
--destructive-foreground: hsl(210, 40%, 98%);
|
|
--ring: hsl(217, 91%, 60%);
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
@apply border-border;
|
|
}
|
|
|
|
body {
|
|
@apply font-sans antialiased bg-background text-foreground;
|
|
background: linear-gradient(135deg, hsl(250, 50%, 15%) 0%, hsl(240, 30%, 25%) 50%, hsl(260, 40%, 20%) 100%);
|
|
color: hsl(210, 40%, 98%);
|
|
min-height: 100vh;
|
|
/* iOS PWA optimizacije */
|
|
-webkit-touch-callout: none;
|
|
-webkit-user-select: none;
|
|
-webkit-tap-highlight-color: transparent;
|
|
overscroll-behavior: none;
|
|
}
|
|
}
|
|
|
|
@layer utilities {
|
|
.bunny-dark {
|
|
background: linear-gradient(135deg, hsl(250, 50%, 15%) 0%, hsl(240, 30%, 25%) 100%);
|
|
}
|
|
|
|
.bunny-gray {
|
|
background: linear-gradient(135deg, hsl(240, 30%, 25%) 0%, hsl(235, 25%, 30%) 100%);
|
|
}
|
|
|
|
.gradient-primary {
|
|
background: linear-gradient(135deg, hsl(200, 100%, 60%) 0%, hsl(280, 80%, 60%) 100%);
|
|
}
|
|
|
|
.gradient-card {
|
|
background: linear-gradient(135deg, rgba(75, 85, 175, 0.1) 0%, rgba(128, 90, 213, 0.1) 100%);
|
|
backdrop-filter: blur(10px);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.bunny-blue {
|
|
background-color: hsl(217, 91%, 60%);
|
|
}
|
|
|
|
.bunny-light {
|
|
color: hsl(210, 40%, 98%);
|
|
}
|
|
|
|
.bunny-muted {
|
|
color: hsl(215, 20.2%, 65.1%);
|
|
}
|
|
|
|
.line-clamp-2 {
|
|
display: -webkit-box;
|
|
-webkit-line-clamp: 2;
|
|
-webkit-box-orient: vertical;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Hide scrollbars for Netflix-style horizontal scrolling */
|
|
.scrollbar-hide {
|
|
-ms-overflow-style: none; /* Internet Explorer 10+ */
|
|
scrollbar-width: none; /* Firefox */
|
|
}
|
|
|
|
.scrollbar-hide::-webkit-scrollbar {
|
|
display: none; /* Safari and Chrome */
|
|
}
|
|
|
|
/* Video player volume slider styles */
|
|
.slider {
|
|
-webkit-appearance: none;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.slider::-webkit-slider-track {
|
|
background: rgba(255, 255, 255, 0.2);
|
|
height: 4px;
|
|
border-radius: 2px;
|
|
}
|
|
|
|
.slider::-webkit-slider-thumb {
|
|
-webkit-appearance: none;
|
|
height: 12px;
|
|
width: 12px;
|
|
border-radius: 50%;
|
|
background: hsl(217, 91%, 60%);
|
|
cursor: pointer;
|
|
border: none;
|
|
}
|
|
|
|
.slider::-moz-range-track {
|
|
background: rgba(255, 255, 255, 0.2);
|
|
height: 4px;
|
|
border-radius: 2px;
|
|
border: none;
|
|
}
|
|
|
|
.slider::-moz-range-thumb {
|
|
height: 12px;
|
|
width: 12px;
|
|
border-radius: 50%;
|
|
background: hsl(217, 91%, 60%);
|
|
cursor: pointer;
|
|
border: none;
|
|
}
|
|
|
|
/* Animation delays for loading indicators */
|
|
.animation-delay-75 {
|
|
animation-delay: 75ms;
|
|
}
|
|
|
|
.animation-delay-150 {
|
|
animation-delay: 150ms;
|
|
}
|
|
}
|
|
|
|
/* Video edit modal styles */
|
|
.video-edit-modal input,
|
|
.video-edit-modal textarea,
|
|
.video-edit-modal select,
|
|
input[data-testid*="input-video"],
|
|
textarea[data-testid*="input-video"] {
|
|
background-color: #374151 !important;
|
|
color: #ffffff !important;
|
|
border-color: #6b7280 !important;
|
|
}
|
|
|
|
.video-edit-modal input::placeholder,
|
|
.video-edit-modal textarea::placeholder,
|
|
input[data-testid*="input-video"]::placeholder,
|
|
textarea[data-testid*="input-video"]::placeholder {
|
|
color: #d1d5db !important;
|
|
opacity: 1 !important;
|
|
}
|
|
|
|
.video-edit-modal {
|
|
background-color: #1f2937 !important;
|
|
}
|
|
|
|
.video-edit-modal label,
|
|
.video-edit-modal .text-gray-700,
|
|
.video-edit-modal .dark\:text-gray-300 {
|
|
color: #ffffff !important;
|
|
}
|
|
|
|
.video-edit-modal select,
|
|
select[data-testid*="select"],
|
|
.video-edit-modal [role="combobox"],
|
|
.video-edit-modal button[role="combobox"] {
|
|
background-color: #374151 !important;
|
|
color: #ffffff !important;
|
|
border-color: #6b7280 !important;
|
|
}
|
|
|
|
/* Search input styles */
|
|
input[type="search"],
|
|
input[placeholder*="Search"],
|
|
input[data-testid*="search"] {
|
|
background-color: rgba(55, 65, 81, 0.8) !important;
|
|
color: #ffffff !important;
|
|
border-color: #6b7280 !important;
|
|
}
|
|
|
|
input[type="search"]::placeholder,
|
|
input[placeholder*="Search"]::placeholder,
|
|
input[data-testid*="search"]::placeholder {
|
|
color: #d1d5db !important;
|
|
opacity: 1 !important;
|
|
}
|
|
|
|
/* Video card hover effects with gradients */
|
|
.video-card:hover {
|
|
transform: translateY(-2px);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.video-card {
|
|
transition: all 0.3s ease;
|
|
background: linear-gradient(135deg, rgba(75, 85, 175, 0.05) 0%, rgba(128, 90, 213, 0.05) 100%);
|
|
border: 1px solid rgba(255, 255, 255, 0.05);
|
|
border-radius: 12px;
|
|
}
|
|
|
|
/* Modern button styles */
|
|
.gradient-button {
|
|
background: linear-gradient(135deg, hsl(200, 100%, 60%) 0%, hsl(280, 80%, 60%) 100%);
|
|
border: none;
|
|
color: white;
|
|
font-weight: 600;
|
|
border-radius: 8px;
|
|
transition: all 0.3s ease;
|
|
box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
|
|
}
|
|
|
|
.gradient-button:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4);
|
|
}
|
|
|
|
/* Geometric triangle decorations */
|
|
.triangle-decoration-1 {
|
|
position: absolute;
|
|
width: 0;
|
|
height: 0;
|
|
border-left: 35px solid transparent;
|
|
border-right: 35px solid transparent;
|
|
border-bottom: 50px solid rgba(59, 130, 246, 0.08);
|
|
transform: rotate(15deg);
|
|
z-index: 1;
|
|
}
|
|
|
|
.triangle-decoration-2 {
|
|
position: absolute;
|
|
width: 0;
|
|
height: 0;
|
|
border-left: 25px solid transparent;
|
|
border-right: 25px solid transparent;
|
|
border-bottom: 35px solid rgba(147, 51, 234, 0.08);
|
|
transform: rotate(-25deg);
|
|
z-index: 1;
|
|
}
|
|
|
|
.triangle-decoration-3 {
|
|
position: absolute;
|
|
width: 0;
|
|
height: 0;
|
|
border-left: 30px solid transparent;
|
|
border-right: 30px solid transparent;
|
|
border-bottom: 40px solid rgba(6, 182, 212, 0.08);
|
|
transform: rotate(45deg);
|
|
z-index: 1;
|
|
}
|
|
|
|
/* Static triangle decorations - no animations to prevent jumping */
|
|
.static-triangles {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Background go4.video logo decorations */
|
|
|
|
.bg-logo-large {
|
|
position: absolute;
|
|
width: clamp(200px, 20vw, 400px);
|
|
height: clamp(100px, 10vw, 200px);
|
|
background-image: url('@assets/go4_1756394900352.png');
|
|
background-size: contain;
|
|
background-repeat: no-repeat;
|
|
background-position: center;
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
user-select: none;
|
|
opacity: 0.15;
|
|
filter: blur(1px);
|
|
}
|
|
|
|
.bg-logo-medium {
|
|
position: absolute;
|
|
width: clamp(150px, 15vw, 300px);
|
|
height: clamp(75px, 7.5vw, 150px);
|
|
background-image: url('@assets/go4_1756394900352.png');
|
|
background-size: contain;
|
|
background-repeat: no-repeat;
|
|
background-position: center;
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
user-select: none;
|
|
opacity: 0.12;
|
|
filter: blur(0.5px);
|
|
}
|
|
|
|
.bg-logo-small {
|
|
position: absolute;
|
|
width: clamp(100px, 10vw, 200px);
|
|
height: clamp(50px, 5vw, 100px);
|
|
background-image: url('@assets/go4_1756394900352.png');
|
|
background-size: contain;
|
|
background-repeat: no-repeat;
|
|
background-position: center;
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
user-select: none;
|
|
opacity: 0.08;
|
|
filter: blur(0.5px);
|
|
}
|
|
|
|
/* Fixed header */
|
|
.header-sticky {
|
|
position: fixed !important;
|
|
top: 0 !important;
|
|
left: 0 !important;
|
|
right: 0 !important;
|
|
z-index: 100 !important;
|
|
backdrop-filter: blur(8px);
|
|
background: rgba(30, 20, 40, 0.85) !important;
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
|
width: 100% !important;
|
|
}
|
|
|
|
/* Add padding to body to account for fixed header */
|
|
.has-fixed-header {
|
|
padding-top: 80px;
|
|
}
|
|
|
|
/* Mobile specific adjustments for header */
|
|
@media (max-width: 768px) {
|
|
.header-sticky {
|
|
background: rgba(30, 20, 40, 0.95) !important;
|
|
backdrop-filter: blur(10px);
|
|
}
|
|
|
|
.has-fixed-header {
|
|
padding-top: 70px; /* Slightly less padding on mobile */
|
|
}
|
|
}
|
|
|
|
/* Container for main content layout */
|
|
.container {
|
|
max-width: 1400px; /* malo večja širina za več kartic */
|
|
margin: 0 auto; /* centriranje */
|
|
padding: 0 20px; /* malo notranjega roba */
|
|
}
|
|
|
|
/* iOS PWA safe area optimizacije */
|
|
@supports (padding: max(0px)) {
|
|
.has-fixed-header {
|
|
padding-top: max(80px, env(safe-area-inset-top));
|
|
}
|
|
}
|
|
|
|
/* PWA full screen optimizacije za iOS */
|
|
@media (display-mode: standalone) {
|
|
body {
|
|
/* Prepreči povlečenje za osvežitev na iOS */
|
|
overscroll-behavior-y: none;
|
|
/* Prilagodi safe area */
|
|
padding-top: env(safe-area-inset-top);
|
|
padding-bottom: env(safe-area-inset-bottom);
|
|
padding-left: env(safe-area-inset-left);
|
|
padding-right: env(safe-area-inset-right);
|
|
}
|
|
|
|
.header-sticky {
|
|
top: env(safe-area-inset-top) !important;
|
|
}
|
|
}
|
|
|
|
/* Dodatne mobile optimizacije */
|
|
@media (max-width: 768px) {
|
|
/* Prepreči zoom pri fokusiranju input polj */
|
|
input, select, textarea {
|
|
font-size: 16px !important;
|
|
}
|
|
|
|
/* Optimiziraj touch targets za iOS */
|
|
button, a, [role="button"] {
|
|
min-height: 44px;
|
|
min-width: 44px;
|
|
}
|
|
}
|
|
|
|
/* Custom animations */
|
|
@keyframes slideLeftRight {
|
|
0%, 100% {
|
|
transform: translateX(-50%);
|
|
}
|
|
50% {
|
|
transform: translateX(150%);
|
|
}
|
|
}
|
|
|
|
/* Test grid overlay */
|
|
body.show-grid::after {
|
|
content: '';
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
pointer-events: none;
|
|
z-index: 9999;
|
|
background-image:
|
|
linear-gradient(rgba(255, 0, 0, 0.2) 1px, transparent 1px),
|
|
linear-gradient(90deg, rgba(255, 0, 0, 0.2) 1px, transparent 1px);
|
|
background-size: 20px 20px;
|
|
} |