@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; } } @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; } /* 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: 40px solid transparent; border-right: 40px solid transparent; border-bottom: 60px solid rgba(59, 130, 246, 0.15); transform: rotate(15deg); } .triangle-decoration-2 { position: absolute; width: 0; height: 0; border-left: 25px solid transparent; border-right: 25px solid transparent; border-bottom: 40px solid rgba(147, 51, 234, 0.15); transform: rotate(-25deg); } .triangle-decoration-3 { position: absolute; width: 0; height: 0; border-left: 30px solid transparent; border-right: 30px solid transparent; border-bottom: 50px solid rgba(59, 130, 246, 0.12); transform: rotate(45deg); } .floating-triangles { position: relative; overflow: hidden; } .floating-triangles::before { content: ''; position: absolute; top: 15%; right: 10%; width: 0; height: 0; border-left: 35px solid transparent; border-right: 35px solid transparent; border-bottom: 55px solid rgba(59, 130, 246, 0.08); transform: rotate(30deg); z-index: 1; } .floating-triangles::after { content: ''; position: absolute; bottom: 25%; left: 8%; width: 0; height: 0; border-left: 28px solid transparent; border-right: 28px solid transparent; border-bottom: 45px solid rgba(147, 51, 234, 0.08); transform: rotate(-15deg); z-index: 1; } /* Background go4.video logo decorations */ .floating-triangles { position: relative; overflow: hidden; } .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); }