Spaces:
Running
Running
| /* Custom styles for BlogWizard Pro */ | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| html { | |
| scroll-behavior: smooth; | |
| } | |
| body { | |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; | |
| line-height: 1.6; | |
| } | |
| /* Dark mode transitions */ | |
| .dark { | |
| color-scheme: dark; | |
| } | |
| /* Custom scrollbar */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: #f1f1f1; | |
| } | |
| .dark ::-webkit-scrollbar-track { | |
| background: #374151; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: #888; | |
| border-radius: 4px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: #555; | |
| } | |
| /* Animation utilities */ | |
| @keyframes slideIn { | |
| from { | |
| opacity: 0; | |
| transform: translateY(20px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .slide-in { | |
| animation: slideIn 0.3s ease-out; | |
| } | |
| /* Glassmorphism effect */ | |
| .glass { | |
| background: rgba(255, 255, 255, 0.1); | |
| backdrop-filter: blur(10px); | |
| border: 1px solid rgba(255, 255, 255, 0.2); | |
| } | |
| .dark .glass { | |
| background: rgba(0, 0, 0, 0.2); | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| } | |
| /* Button hover effects */ | |
| .btn-glow { | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .btn-glow::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: -100%; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); | |
| transition: left 0.5s; | |
| } | |
| .btn-glow:hover::before { | |
| left: 100%; | |
| } | |
| /* Input focus effects */ | |
| .input-glow:focus { | |
| box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1); | |
| } | |
| /* Toast notification styles */ | |
| .toast { | |
| position: fixed; | |
| bottom: 20px; | |
| right: 20px; | |
| padding: 12px 20px; | |
| background: white; | |
| border-radius: 8px; | |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); | |
| transform: translateX(400px); | |
| transition: transform 0.3s ease-out; | |
| z-index: 1000; | |
| } | |
| .toast.show { | |
| transform: translateX(0); | |
| } | |
| .dark .toast { | |
| background: #374151; | |
| color: white; | |
| } | |
| /* Markdown editor styles */ | |
| .markdown-editor { | |
| font-family: 'Monaco', 'Courier New', monospace; | |
| line-height: 1.5; | |
| } | |
| /* Loading animation */ | |
| .loading-dots::after { | |
| content: ''; | |
| animation: dots 1.5s steps(4, end) infinite; | |
| } | |
| @keyframes dots { | |
| 0%, 20% { content: ''; } | |
| 40% { content: '.'; } | |
| 60% { content: '..'; } | |
| 80%, 100% { content: '...'; } | |
| } | |
| /* Hover card effect */ | |
| .hover-card { | |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| } | |
| .hover-card:hover { | |
| transform: translateY(-4px); | |
| box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); | |
| } | |
| /* Gradient text */ | |
| .gradient-text { | |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| /* Custom checkbox styles */ | |
| .custom-checkbox { | |
| appearance: none; | |
| width: 20px; | |
| height: 20px; | |
| border: 2px solid #d1d5db; | |
| border-radius: 4px; | |
| cursor: pointer; | |
| position: relative; | |
| } | |
| .custom-checkbox:checked { | |
| background-color: #6366f1; | |
| border-color: #6366f1; | |
| } | |
| .custom-checkbox:checked::after { | |
| content: '✓'; | |
| position: absolute; | |
| color: white; | |
| font-size: 14px; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%); | |
| } | |
| /* Custom radio styles */ | |
| .custom-radio { | |
| appearance: none; | |
| width: 20px; | |
| height: 20px; | |
| border: 2px solid #d1d5db; | |
| border-radius: 50%; | |
| cursor: pointer; | |
| position: relative; | |
| } | |
| .custom-radio:checked { | |
| background-color: #6366f1; | |
| border-color: #6366f1; | |
| } | |
| .custom-radio:checked::after { | |
| content: ''; | |
| position: absolute; | |
| width: 8px; | |
| height: 8px; | |
| background-color: white; | |
| border-radius: 50%; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%); | |
| } | |
| /* Responsive design adjustments */ | |
| @media (max-width: 640px) { | |
| .container { | |
| padding-left: 1rem; | |
| padding-right: 1rem; | |
| } | |
| .grid { | |
| gap: 1rem; | |
| } | |
| } | |
| /* Print styles */ | |
| @media print { | |
| header, footer, button, .no-print { | |
| display: none ; | |
| } | |
| body { | |
| font-size: 12pt; | |
| line-height: 1.4; | |
| } | |
| } | |
| /* Multi-step form styles */ | |
| .step-indicator { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| position: relative; | |
| } | |
| .step-number { | |
| width: 32px; | |
| height: 32px; | |
| border-radius: 50%; | |
| background: #e5e7eb; | |
| color: #6b7280; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| font-weight: bold; | |
| transition: all 0.3s ease; | |
| margin-bottom: 0.25rem; | |
| } | |
| .step-indicator.active .step-number { | |
| background: #6366f1; | |
| color: white; | |
| } | |
| .step-indicator.completed .step-number { | |
| background: #10b981; | |
| color: white; | |
| } | |
| .step-label { | |
| font-size: 0.75rem; | |
| color: #6b7280; | |
| transition: color 0.3s ease; | |
| } | |
| .step-indicator.active .step-label { | |
| color: #6366f1; | |
| font-weight: 600; | |
| } | |
| .step-line { | |
| flex: 1; | |
| height: 2px; | |
| background: #e5e7eb; | |
| margin: 0 1rem; | |
| margin-top: 1rem; | |
| } | |
| .dark .step-line { | |
| background: #374151; | |
| } | |
| .step-indicator.completed ~ .step-line { | |
| background: #10b981; | |
| } | |
| /* Markdown editor styles */ | |
| .markdown-editor { | |
| font-family: 'Monaco', 'Courier New', monospace; | |
| line-height: 1.6; | |
| tab-size: 4; | |
| } | |
| .prose { | |
| max-width: none; | |
| } | |
| .prose h1 { | |
| @apply text-3xl font-bold mb-4 text-gray-800 dark:text-gray-100; | |
| } | |
| .prose h2 { | |
| @apply text-2xl font-semibold mb-3 text-gray-800 dark:text-gray-100; | |
| } | |
| .prose h3 { | |
| @apply text-xl font-semibold mb-2 text-gray-800 dark:text-gray-100; | |
| } | |
| .prose p { | |
| @apply mb-4 text-gray-700 dark:text-gray-300; | |
| } | |
| .prose ul, .prose ol { | |
| @apply mb-4 pl-6 text-gray-700 dark:text-gray-300; | |
| } | |
| .prose li { | |
| @apply mb-2; | |
| } | |
| .prose blockquote { | |
| @apply border-l-4 border-primary pl-4 italic text-gray-600 dark:text-gray-400 mb-4; | |
| } | |
| .prose code { | |
| @apply bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded text-sm text-gray-800 dark:text-gray-200; | |
| } | |
| .prose a { | |
| @apply text-primary hover:text-primary-600 underline; | |
| } | |
| .prose strong { | |
| @apply font-semibold text-gray-800 dark:text-gray-100; | |
| } | |
| .prose em { | |
| @apply italic text-gray-700 dark:text-gray-300; | |
| } | |
| /* Tooltip styles */ | |
| #tooltip { | |
| animation: fadeIn 0.2s ease-out; | |
| } | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| transform: translateX(-50%) translateY(-10px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(-50%) translateY(0); | |
| } | |
| } | |
| /* Modal styles */ | |
| .modal-backdrop { | |
| animation: fadeInBackdrop 0.2s ease-out; | |
| } | |
| @keyframes fadeInBackdrop { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| /* Responsive adjustments for mobile */ | |
| @media (max-width: 640px) { | |
| .step-line { | |
| display: none; | |
| } | |
| .step-indicator { | |
| flex: 1; | |
| } | |
| .step-label { | |
| font-size: 0.625rem; | |
| } | |
| .step-number { | |
| width: 28px; | |
| height: 28px; | |
| font-size: 0.75rem; | |
| } | |
| #helpModal .bg-white { | |
| margin: 1rem; | |
| max-height: calc(100vh - 2rem); | |
| } | |
| } | |
| /* Rich text editor toolbar */ | |
| #editorToolbar button { | |
| transition: all 0.2s ease; | |
| } | |
| #editorToolbar button:hover { | |
| transform: translateY(-1px); | |
| } | |
| #editorToolbar button:active { | |
| transform: translateY(0); | |
| } | |
| /* Preview mode styles */ | |
| .preview-mode { | |
| @apply bg-gray-50 dark:bg-gray-700 border-gray-300 dark:border-gray-600; | |
| } | |
| /* Animation for step transitions */ | |
| .step-content { | |
| animation: slideIn 0.3s ease-out; | |
| } | |
| @keyframes slideIn { | |
| from { | |
| opacity: 0; | |
| transform: translateX(20px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| /* Loading states */ | |
| .loading { | |
| pointer-events: none; | |
| opacity: 0.6; | |
| } | |
| .loading::after { | |
| content: ''; | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| width: 20px; | |
| height: 20px; | |
| margin: -10px 0 0 -10px; | |
| border: 2px solid #f3f3f3; | |
| border-top: 2px solid #6366f1; | |
| border-radius: 50%; | |
| animation: spin 1s linear infinite; | |
| } | |
| @keyframes spin { | |
| 0% { transform: rotate(0deg); } | |
| 100% { transform: rotate(360deg); } | |
| } | |
| /* Dark mode adjustments for rich text editor */ | |
| .dark #editorToolbar { | |
| @apply bg-gray-700; | |
| } | |
| .dark #editorToolbar button { | |
| @apply bg-gray-600 text-white hover:bg-gray-500; | |
| } | |
| /* Template card styles */ | |
| .template-card { | |
| transform: translateY(0); | |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| } | |
| .template-card:hover { | |
| transform: translateY(-4px); | |
| box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1); | |
| } | |
| /* Image upload styles */ | |
| .border-dashed { | |
| transition: all 0.3s ease; | |
| } | |
| .border-dashed:hover { | |
| border-color: #6366f1; | |
| background-color: rgba(99, 102, 241, 0.05); | |
| } | |
| .dark .border-dashed:hover { | |
| background-color: rgba(99, 102, 241, 0.1); | |
| } | |
| /* Outline editor styles */ | |
| .outline-section { | |
| transition: all 0.2s ease; | |
| } | |
| .outline-section:hover { | |
| transform: translateX(2px); | |
| } | |
| /* Floating toolbar styles */ | |
| .floating-toolbar { | |
| position: sticky; | |
| top: 20px; | |
| z-index: 10; | |
| background: white; | |
| border-radius: 8px; | |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); | |
| padding: 8px; | |
| display: flex; | |
| gap: 4px; | |
| } | |
| .dark .floating-toolbar { | |
| background: #374151; | |
| } | |
| /* Readability score indicator */ | |
| .readability-excellent { color: #10b981; } | |
| .readability-good { color: #3b82f6; } | |
| .readability-fair { color: #f59e0b; } | |
| .readability-poor { color: #ef4444; } | |
| /* API key status */ | |
| .key-valid { color: #10b981; } | |
| .key-invalid { color: #ef4444; } | |
| /* Media grid */ | |
| .media-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); | |
| gap: 1rem; | |
| } | |
| .media-item { | |
| position: relative; | |
| overflow: hidden; | |
| border-radius: 8px; | |
| cursor: pointer; | |
| } | |
| .media-item img { | |
| transition: transform 0.3s ease; | |
| } | |
| .media-item:hover img { | |
| transform: scale(1.05); | |
| } | |
| /* Outline draggable styles */ | |
| .drag-handle { | |
| cursor: move; | |
| color: #6b7280; | |
| } | |
| .drag-handle:hover { | |
| color: #374151; | |
| } | |
| .dark .drag-handle:hover { | |
| color: #9ca3af; | |
| } | |
| /* Custom scrollbar for outline */ | |
| .outline-container::-webkit-scrollbar { | |
| width: 4px; | |
| } | |
| .outline-container::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| .outline-container::-webkit-scrollbar-thumb { | |
| background: #d1d5db; | |
| border-radius: 2px; | |
| } | |
| .dark .outline-container::-webkit-scrollbar-thumb { | |
| background: #4b5563; | |
| } | |
| /* Enhanced focus states */ | |
| .focus-visible:focus { | |
| @apply ring-2 ring-primary ring-offset-2 ring-offset-white dark:ring-offset-gray-800; | |
| } | |
| /* Scrollbar styles for preview */ | |
| #blogPreview::-webkit-scrollbar { | |
| width: 6px; | |
| } | |
| #blogPreview::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| #blogPreview::-webkit-scrollbar-thumb { | |
| background: #d1d5db; | |
| border-radius: 3px; | |
| } | |
| .dark #blogPreview::-webkit-scrollbar-thumb { | |
| background: #4b5563; | |
| } | |
| #blogPreview::-webkit-scrollbar-thumb:hover { | |
| background: #9ca3af; | |
| } | |
| .dark #blogPreview::-webkit-scrollbar-thumb:hover { | |
| background: #6b7280; | |
| } | |