@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@300;400;700&display=swap'); body { font-family: 'Inter', sans-serif; overflow-x: hidden; } .font-serif { font-family: 'Merriweather', serif; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: #1F2937; } ::-webkit-scrollbar-thumb { background: #4B5563; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #6B7280; } /* Animation for buttons */ button { transition: all 0.2s ease; user-select: none; } button:hover { transform: translateY(-1px); } button.active { box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5); } /* Custom range input styling */ input[type="range"] { -webkit-appearance: none; height: 6px; background: #4B5563; border-radius: 3px; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; border-radius: 50%; background: #3B82F6; cursor: pointer; transition: all 0.2s; } input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.2); } /* Widget styling */ .widget-controls { transition: opacity 0.2s; will-change: opacity; } .widget-controls:hover { opacity: 1 !important; } /* Custom glow effect */ .glow { box-shadow: 0 0 15px rgba(59, 130, 246, 0.5); } /* Teleprompter preview area */ .teleprompter-preview { background: rgba(0, 0, 0, 0.2); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); } /* Preview container */ #preview-container { transition: all 0.3s ease; } .mirror { transform: scaleX(-1); } /* Text alignment */ .text-left { text-align: left; } .text-center { text-align: center; } .text-right { text-align: right; } /* Text formatting */ .bold { font-weight: bold; } .italic { font-style: italic; } .underline { text-decoration: underline; } /* Animation for scrolling text */ .scrolling-text { animation: scroll linear infinite; } @keyframes scroll { from { transform: translateY(100%); } to { transform: translateY(-100%); } } /* Modal styles */ .modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); display: flex; align-items: center; justify-content: center; z-index: 1000; opacity: 0; visibility: hidden; transition: all 0.3s ease; } .modal.active { opacity: 1; visibility: visible; } .modal-content { background: #1F2937; border-radius: 10px; width: 90%; max-width: 500px; max-height: 90vh; overflow-y: auto; transform: translateY(-20px); transition: transform 0.3s ease; } .modal.active .modal-content { transform: translateY(0); } .modal-header { padding: 1rem 1.5rem; border-bottom: 1px solid #374151; display: flex; justify-content: space-between; align-items: center; } .modal-body { padding: 1.5rem; } .modal-footer { padding: 1rem 1.5rem; border-top: 1px solid #374151; display: flex; justify-content: flex-end; gap: 0.5rem; } /* Toast notifications */ .toast { position: fixed; bottom: 20px; right: 20px; background: #1F2937; color: white; padding: 1rem 1.5rem; border-radius: 5px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); transform: translateX(150%); transition: transform 0.3s ease; z-index: 1001; } .toast.show { transform: translateX(0); } /* Loading spinner */ .spinner { width: 20px; height: 20px; border: 2px solid rgba(255, 255, 255, 0.3); border-radius: 50%; border-top-color: white; animation: spin 1s linear infinite; display: inline-block; } @keyframes spin { to { transform: rotate(360deg); } } /* Responsive adjustments */ @media (max-width: 1024px) { .lg\:col-span-1, .lg\:col-span-2 { grid-column: span 3 / span 3; } } @media (max-width: 768px) { .p-6 { padding: 1rem; } .gap-6 { gap: 1rem; } #preview-container { height: 200px; } }