.auth-container{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;justify-content:center;min-height:calc(100vh - 80px);padding:2rem}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:400px;padding:3rem;width:100%}.auth-card h2{color:#333;font-size:2rem;font-weight:700;margin-bottom:.5rem;text-align:center}.auth-subtitle{color:#666;font-size:.95rem;margin-bottom:2rem;text-align:center}.auth-form{gap:1.5rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-size:.9rem}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.875rem;transition:transform .2s ease,box-shadow .2s ease}.auth-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.auth-button:disabled{cursor:not-allowed;opacity:.7}.auth-link{color:#666;font-size:.9rem;margin-top:1.5rem;text-align:center}.auth-link a{color:#667eea;font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.file-upload{margin:0 auto;max-width:500px}.file-upload h2{color:#333;font-size:1.8rem;margin-bottom:10px;margin-top:0;text-align:center}.form-group{margin-bottom:.5rem}.form-group label{color:#333;margin-bottom:.25rem}.form-group input{border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;padding:.75rem}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;min-height:80px;padding:.75rem;transition:border-color .2s ease;width:100%}.character-count{color:#6b7280;font-size:.85rem;margin-top:0;text-align:right}.dropzone{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;padding:2rem;text-align:center;transition:all .2s ease}.dropzone.active,.dropzone:hover{background:#f0f4ff;border-color:#667eea}.dropzone-content{pointer-events:none}.dropzone-icon{font-size:3rem;margin-bottom:1rem}.dropzone-content p{color:#374151;margin:.5rem 0}.dropzone-hint{color:#6b7280;font-size:.85rem}.selected-files{background:#f9fafb;border-radius:8px;margin-bottom:1rem;padding:1rem}.selected-files h4{color:#333;font-size:1rem;margin:0 0 1rem}.selected-files ul{list-style:none;margin:0;padding:0}.file-item{border-bottom:1px solid #e5e7eb;padding:.5rem 0}.file-item:last-child{border-bottom:none}.file-name{color:#333;font-weight:500}.file-size{color:#6b7280;font-size:.85rem}.remove-file-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:24px;justify-content:center;line-height:1;width:24px}.remove-file-btn:hover{background:#dc2626}.warning{background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;color:#92400e;font-size:.85rem;margin-top:1rem;padding:.75rem}.error-message{font-size:.9rem;margin-bottom:1rem;padding:.75rem}.upload-submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem;transition:transform .2s ease,box-shadow .2s ease;width:100%}.upload-submit-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.upload-submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.dashboard-container{margin:0 auto;max-width:1200px;padding:2rem}.dashboard-header{align-items:center;display:flex;justify-content:space-between;padding-bottom:2rem}.dashboard-header h1{color:#333;font-size:2.5rem;font-weight:700;margin:0}.upload-btn{background:#0000;border:none;border-radius:8px;color:#000;cursor:pointer;font-weight:600;padding:.75rem;position:relative}.upload-btn:before{background:linear-gradient(135deg,#ff9702,#f44e08);border-radius:8px;bottom:0;content:"";font-size:1rem;left:0;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;padding:2px;position:absolute;right:0;top:0;transition:transform .2s ease,box-shadow .2s ease;z-index:-1}.upload-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.upload-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.upload-modal-content{background:#fff;border-radius:12px;max-height:80vh;max-width:600px;overflow-y:auto;padding:2rem;position:relative;width:90%}.close-btn{color:#666;height:2rem;position:absolute;right:1rem;top:1rem;width:2rem}.close-btn:hover{color:#333}.empty-state{color:#666;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:#333;font-size:1.8rem;margin-bottom:.5rem}.empty-state p{font-size:1.1rem;margin-bottom:2rem}.apps-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.app-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;height:200px;position:relative;transition:transform .2s ease,box-shadow .2s ease}.app-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-2px)}.app-header{align-items:flex-start;display:flex;justify-content:flex-end;padding:1rem 1rem 0}.app-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:1rem 1.5rem 1.5rem;text-align:center;transition:all .2s ease}.app-content.clickable{cursor:pointer}.app-content.clickable:hover{background:#667eea0d;transform:translateY(-1px)}.app-content.disabled{cursor:not-allowed;opacity:.7}.app-name{color:#333;font-size:1.4rem;font-weight:600;margin:0 0 .5rem}.app-description{color:#6b7280;font-size:.9rem;line-height:1.4;margin:0;max-width:100%}.app-status-container{align-items:center;display:flex;gap:.5rem}.app-status{font-size:.85rem;font-weight:500}.status-ready{color:#22c55e}.status-public{color:#3b82f6}.status-private,.status-public{align-items:center;display:flex;font-weight:600;gap:.25rem}.status-private{color:#9ca3af}.status-icon{height:14px;width:14px}.status-incomplete{color:#f59e0b}.dropdown-container{position:relative}.dropdown-toggle{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:1.2rem;padding:.25rem;transition:all .2s ease}.dropdown-toggle:hover{background:#f3f4f6;color:#374151}.dropdown-menu{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #0000001a;min-width:150px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.dropdown-item:disabled{cursor:not-allowed;opacity:.5}.dropdown-item:disabled:hover{background:none}.dropdown-item.delete-item{border-top:1px solid #f3f4f6;color:#ef4444}.dropdown-item.delete-item:hover{background:#fef2f2}.app-actions{display:flex;flex-wrap:wrap;gap:.5rem}.action-btn{flex:1 1;font-weight:500;min-width:80px;padding:.5rem 1rem;text-align:center;text-decoration:none}.files-btn{background:#8b5cf6;color:#fff}.files-btn:hover{background:#7c3aed}.view-btn{background:#3b82f6;color:#fff}.view-btn:hover{background:#2563eb}.public-btn{background:#10b981;color:#fff}.public-btn:hover{background:#059669}.private-btn{background:#f59e0b;color:#fff}.private-btn:hover{background:#d97706}.delete-btn{background:#ef4444}.delete-btn:hover{background:#dc2626}.modal{max-width:500px}.modal p{color:#666;line-height:1.5;margin:0 0 1.5rem}.public-url-info{background:#f8f9ff;border:1px solid #e8ecff;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.public-url-info strong{color:#333;font-weight:600}.public-url-info code{background:#667eea;border-radius:4px;color:#fff;font-family:monospace;font-size:.9rem;padding:.25rem .5rem;word-break:break-all}.cancel-btn{background:#f3f4f6;color:#374151}.cancel-btn:hover{background:#e5e7eb}.app-viewer-container{display:flex;flex:1 1;flex-direction:column;height:100%;overflow:hidden}.loading{height:100%}.error-message{margin:2rem}.back-link{display:inline-block}.app-frame-container{background:#fff;flex:1 1;overflow:hidden;position:relative}.app-frame{border:none;display:block;height:100%;overflow:auto;width:100%}.code-editor{display:flex;flex:1 1;flex-direction:column;height:100%}.editor-container{display:flex;flex:1 1;position:relative}.line-numbers{background:#f8f9fa;border-right:1px solid #e5e7eb;color:#6b7280;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.5;min-width:50px;overflow:hidden;padding:1rem .5rem;text-align:right;-webkit-user-select:none;user-select:none}.line-number{height:1.5em;padding-right:.5rem}.code-textarea{background:#fff;border:none;color:#1f2937;flex:1 1;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.5;outline:none;overflow-wrap:normal;overflow-x:auto;padding:1rem;resize:none;tab-size:2;white-space:pre}.code-textarea::placeholder{color:#9ca3af;font-style:italic}.language-html .code-textarea{background:#fefefe}.language-css .code-textarea{background:#fdfefe}.language-javascript .code-textarea{background:#fffffe}.code-textarea:focus{background:#fff;box-shadow:inset 0 0 0 2px #667eea1a}.editor-footer{align-items:center;background:#f8f9fa;border-top:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:.8rem;justify-content:space-between;padding:.75rem 1rem}.editor-info{font-weight:500}.editor-shortcuts{font-style:italic}.code-textarea::-webkit-scrollbar{height:8px;width:8px}.code-textarea::-webkit-scrollbar-track{background:#f1f1f1}.code-textarea::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.code-textarea::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.code-textarea::selection{background:#667eea33}.editor-container{overflow:hidden}.code-textarea,.line-numbers{overflow-x:hidden;overflow-y:auto}@media (max-width:768px){.code-textarea{font-size:.85rem;padding:.75rem}.line-numbers{font-size:.8rem;min-width:40px}.editor-footer{flex-direction:column;gap:.25rem;text-align:center}}.file-manager{margin:0 auto;max-width:1400px;min-height:calc(100vh - 120px);padding:2rem}.file-manager-header{align-items:center;border-bottom:2px solid #e1e5e9;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.file-manager-header h2{color:#333;font-size:1.8rem;font-weight:700;margin:0}.new-file-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s ease,box-shadow .2s ease}.new-file-btn:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.error-message{padding:1rem}.loading{padding:3rem;text-align:center}.file-manager-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:350px 1fr;height:calc(100vh - 250px)}.file-list{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow-y:auto;padding:1.5rem}.file-list h3{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 1rem}.empty-files{color:#666;padding:2rem 1rem;text-align:center}.empty-files p{margin-bottom:1rem}.files{display:flex;flex-direction:column;gap:.5rem}.file-item{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.file-item:hover{background:#f8f9ff;border-color:#e8ecff}.file-item.selected{background:#667eea;color:#fff}.file-info{align-items:center;display:flex;flex:1 1;gap:.75rem}.file-icon{font-size:1.5rem}.file-details{display:flex;flex-direction:column;gap:.25rem}.file-name{font-size:.95rem;font-weight:600}.file-meta{font-size:.8rem;opacity:.7}.file-item.selected .file-meta{opacity:.9}.delete-file-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;opacity:0;padding:.5rem;transition:all .2s ease}.file-item:hover .delete-file-btn{opacity:.7}.delete-file-btn:hover{background:#ef44441a;opacity:1}.file-item.selected .delete-file-btn{opacity:.8}.file-item.selected .delete-file-btn:hover{background:#fff3;opacity:1}.file-editor{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;overflow:hidden}.editor-header{align-items:center;background:#f8f9ff;border-bottom:1px solid #e8ecff;display:flex;justify-content:space-between;padding:1rem 1.5rem}.editor-header h3{color:#333;font-size:1.1rem;font-weight:600;margin:0}.save-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);font-size:.9rem;padding:.5rem 1rem;transition:transform .2s ease,box-shadow .2s ease}.save-btn:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.save-btn:disabled{opacity:.7}.no-file-selected{align-items:center;color:#666;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.no-file-selected h3{color:#333;margin-bottom:.5rem}.modal-overlay{background:#00000080}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-width:400px;padding:2rem;width:90%}.modal h3{color:#333;font-size:1.3rem;margin:0 0 1rem}.modal input{border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;margin-bottom:1.5rem;padding:.75rem;width:100%}.modal input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-actions button{border:none;border-radius:8px;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.modal-actions button:first-child{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-actions button:first-child:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.modal-actions button:last-child{background:#f3f4f6;color:#374151}.modal-actions button:last-child:hover{background:#e5e7eb}@media (max-width:1024px){.file-manager-content{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto}.file-list{max-height:300px}}@media (max-width:768px){.file-manager{padding:1rem}.file-manager-header{align-items:stretch;flex-direction:column;gap:1rem}.file-manager-header h2{text-align:center}}.file-manager-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:calc(100vh - 80px)}.page-header{background:#fff;border-bottom:1px solid #e1e5e9;box-shadow:0 2px 4px #0000001a;justify-content:flex-start;padding:1rem 2rem}.back-link{color:gray;font-size:1rem;font-weight:500;text-decoration:none;transition:color .2s ease}.back-link:hover{color:gray;text-decoration:underline}.loading{color:#666;font-size:1.2rem;height:60vh}.error-container{align-items:center;display:flex;flex-direction:column;height:60vh;justify-content:center;padding:2rem}.error-message{background:#fee;border:1px solid #fcc;color:#c33;font-size:1.1rem;margin-bottom:2rem;padding:1rem 2rem}@media (max-width:768px){.page-header{padding:.75rem 1rem}}.admin-page{background:#1a1a1a;min-height:100vh;padding:2rem}.admin-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;margin:0 auto;max-width:1200px;padding:3rem}.admin-title{border-bottom:3px solid #2d3748;color:#2d3748;font-size:2.5rem;font-weight:700;margin-bottom:1rem;padding-bottom:1rem;text-align:center}.admin-nav-section{margin-bottom:2rem;text-align:center}.manage-blogs-btn,.manage-users-btn{background:#2d3748;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;margin:0 .5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.manage-blogs-btn:hover,.manage-users-btn:hover{background:#1a202c;box-shadow:0 4px 12px #2d37484d;transform:translateY(-1px)}.admin-content{color:#4a5568;font-size:1.1rem;line-height:1.6}.admin-section{background:#f7fafc;border-left:4px solid #2d3748;border-radius:8px;margin-bottom:2rem;padding:2rem}.admin-section h2{color:#2d3748;font-size:1.5rem;margin-bottom:1rem;margin-top:0}.admin-section p{color:#4a5568;margin-bottom:1.5rem}.cleanup-btn{background:linear-gradient(135deg,#e53e3e,#c53030);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.cleanup-btn:hover:not(:disabled){background:linear-gradient(135deg,#c53030,#9c2626);transform:translateY(-1px)}.cleanup-btn:disabled{cursor:not-allowed;opacity:.6}.confirmation-dialog{background:#fff5f5;border:2px solid #fed7d7;border-radius:8px;margin-top:1rem;padding:1.5rem}.confirmation-text{color:#742a2a;font-weight:500;margin-bottom:1.5rem}.confirmation-buttons{display:flex;gap:1rem}.confirm-btn{background:linear-gradient(135deg,#e53e3e,#c53030);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.confirm-btn:hover:not(:disabled){background:linear-gradient(135deg,#c53030,#9c2626)}.confirm-btn:disabled{cursor:not-allowed;opacity:.6}.cancel-btn{background:#e2e8f0;font-size:1rem}.cancel-btn:hover:not(:disabled){background:#cbd5e0}.cancel-btn:disabled{opacity:.6}.cleanup-result{border-radius:6px;font-weight:500;margin-top:1.5rem;padding:1rem}.cleanup-result.success{background:#f0fff4;border:1px solid #9ae6b4;color:#22543d}.cleanup-result.error{background:#fff5f5;border:1px solid #feb2b2;color:#742a2a}.cleanup-result p{margin:.5rem 0}.cleanup-result p:first-child{margin-top:0}.cleanup-result p:last-child{margin-bottom:0}.user-edit-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:100%}.user-info{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin-bottom:24px;padding:16px}.user-email{color:#212529;font-size:16px;font-weight:600;margin-bottom:4px}.form-group-dialog{align-items:flex-start;display:flex!important;flex-direction:row!important;gap:12px;margin-bottom:20px;width:100%}.checkbox-container{flex-shrink:0}.checkbox-container input[type=checkbox]{cursor:pointer;height:20px;width:20px}.label-container{flex:1 1}.label-text{color:#212529;font-size:14px;font-weight:600;margin-bottom:4px}.label-description{color:#6c757d;font-size:12px;line-height:1.4}.save-btn{background:#28a745;border-radius:6px;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s ease}.save-btn:hover:not(:disabled){background:#218838}.save-btn:disabled{background:#6c757d;cursor:not-allowed}.delete-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s ease}.delete-btn:hover:not(:disabled){background:#c82333}.delete-btn:disabled{background:#6c757d;cursor:not-allowed}.cancel-btn{padding:10px 20px}.delete-confirm-overlay{align-items:center;background:#000000b3;border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.delete-confirm-dialog{background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;max-width:400px;padding:24px;width:90%}.delete-confirm-dialog h3{color:#dc3545;font-size:18px;font-weight:600;margin:0 0 16px}.delete-confirm-dialog p{color:#212529;line-height:1.5;margin:0 0 12px}.warning-text{color:#dc3545;font-weight:500}.delete-list{color:#495057;margin:12px 0;padding-left:20px}.delete-list li{margin-bottom:4px}.confirm-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:16px}.confirm-delete-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s ease}.confirm-delete-btn:hover:not(:disabled){background:#c82333}.confirm-delete-btn:disabled{background:#6c757d;cursor:not-allowed}.cancel-delete-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s ease}.cancel-delete-btn:hover:not(:disabled){background:#545b62}.cancel-delete-btn:disabled{background:#adb5bd;cursor:not-allowed}@media (max-width:768px){.dialog-backdrop{padding:10px}.user-edit-dialog{max-height:95vh}.dialog-header{padding:16px 20px}.dialog-header h2{font-size:18px}.dialog-content{padding:20px}.dialog-actions{flex-direction:column;gap:8px}.dialog-actions button{width:100%}.confirm-actions{flex-direction:column;gap:8px}.confirm-actions button{width:100%}}.dialog-backdrop{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.user-registration-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:100%}.dialog-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.dialog-header h2{color:#212529;font-size:20px;font-weight:600;margin:0}.close-btn{color:#6c757d;font-size:24px}.close-btn:hover{background:#e9ecef;color:#495057}.dialog-content{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#212529;font-size:14px;margin-bottom:8px}.form-group input{border:2px solid #dee2e6;border-radius:6px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .2s ease;width:100%}.form-group input:focus{border-color:#007bff;outline:none}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}.form-group input::placeholder{color:#6c757d}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;font-size:14px;margin-bottom:20px;padding:12px}.dialog-actions{border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding-top:20px}.register-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:background-color .2s ease}.register-btn:hover:not(:disabled){background:#218838}.register-btn:disabled{background:#6c757d;cursor:not-allowed}.cancel-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;padding:12px 24px;transition:background-color .2s ease}.cancel-btn:hover:not(:disabled){background:#545b62}.cancel-btn:disabled{background:#adb5bd;cursor:not-allowed}@media (max-width:768px){.dialog-backdrop{padding:10px}.user-registration-dialog{max-height:95vh}.dialog-header{padding:16px 20px}.dialog-header h2{font-size:18px}.dialog-content{padding:20px}.dialog-actions{flex-direction:column;gap:8px}.dialog-actions button{width:100%}}.users-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.users-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;margin:0 auto;max-width:1200px;overflow:hidden}.users-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;padding:20px 30px}.back-btn{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s ease}.back-btn:hover{background:#e9ecef;color:#495057;text-decoration:none}.users-title{color:#212529;font-size:28px;font-weight:600;margin:0}.header-actions{align-items:center;display:flex;gap:15px}.users-stats{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#6c757d}.register-user-btn,.users-stats{font-weight:500;padding:8px 16px}.register-user-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;transition:background-color .2s ease}.register-user-btn:hover{background:#218838}.users-table-container{overflow-x:auto}.users-table{background:#fff;border-collapse:collapse;width:100%}.users-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-size:14px;font-weight:600;letter-spacing:.5px;padding:15px 20px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #f1f3f4;padding:15px 20px;vertical-align:middle}.user-row{cursor:pointer;transition:background-color .2s ease}.user-row:hover{background-color:#f8f9fa}.email-cell{min-width:250px}.email-info{display:flex;flex-direction:column;gap:4px}.email{color:#212529;font-size:14px;font-weight:500}.user-id{color:#6c757d;font-family:Courier New,monospace;font-size:12px}.status-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.status-badge.active{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.inactive{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.admin-badge{background:#fff3cd;border:1px solid #ffeaa7;border-radius:20px;color:#856404;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.created-cell{color:#6c757d;font-size:14px}.actions-cell{text-align:right}.edit-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:background-color .2s ease}.edit-btn:hover{background:#0056b3}.pagination{background:#f8f9fa;border-top:1px solid #dee2e6;gap:8px;justify-content:center;padding:20px}.pagination-btn{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;font-size:14px;padding:8px 12px;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.pagination-btn.active{background:#007bff;border-color:#007bff}.error,.loading{color:#6c757d;padding:60px 20px;text-align:center}.error{color:#dc3545}.retry-btn{background:#007bff;font-weight:500;margin-top:15px;padding:10px 20px;transition:background-color .2s ease}.retry-btn:hover{background:#0056b3}.no-users{color:#6c757d;font-style:italic;padding:40px 20px;text-align:center}@media (max-width:768px){.users-page{padding:10px}.users-header{align-items:flex-start;flex-direction:column;padding:15px 20px}.users-title{font-size:24px}.users-table td,.users-table th{font-size:13px;padding:12px 15px}.email-cell{min-width:200px}.pagination{flex-wrap:wrap;gap:4px}.pagination-btn{font-size:12px;padding:6px 10px}}.admin-blogs-page{background:#1a1a1a;min-height:100vh;padding:2rem}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.page-header h1{color:#fff;font-size:2rem;margin:0}.create-btn{background:linear-gradient(135deg,#4299e1,#3182ce);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.create-btn:hover{background:linear-gradient(135deg,#3182ce,#2b6cb0);box-shadow:0 8px 25px #4299e14d;transform:translateY(-2px)}.loading{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:300px}.spinner{border:4px solid #333;border-top-color:#4299e1}.error{background:#fed7d7;border:1px solid #feb2b2;border-radius:8px;color:#742a2a;margin-bottom:2rem;padding:2rem;text-align:center}.retry-btn{background:#4299e1}.retry-btn:hover{background:#3182ce}.blogs-table-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;overflow-x:auto;padding:1.5rem}.blogs-table{border-collapse:collapse;margin-top:1rem;width:100%}.blogs-table th{background:#f7fafc;border-bottom:2px solid #e2e8f0;color:#2d3748;font-weight:600;padding:1rem .75rem;text-align:left}.blogs-table td{border-bottom:1px solid #e2e8f0;padding:.75rem;vertical-align:top}.blogs-table tbody tr:hover{background:#f8fafc}.hidden-blog{background:#fff5f5!important;opacity:.8}.hidden-blog:hover{background:#fed7d7!important}.title-cell{color:#2d3748;font-weight:600;min-width:200px}.preview-cell{color:#4a5568;font-size:.9rem;line-height:1.4;max-width:300px}.visibility-badge{border-radius:20px;font-size:.8rem;font-weight:500;padding:.25rem .75rem;text-transform:uppercase}.visibility-badge.visible{background:#c6f6d5;color:#22543d}.visibility-badge.hidden{background:#fed7d7;color:#742a2a}.actions-cell{white-space:nowrap}.action-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;margin:0 .25rem;padding:.5rem;transition:all .2s ease}.action-btn:hover{background:#f7fafc;transform:translateY(-1px)}.edit-btn:hover{background:#ebf8ff;color:#2b6cb0}.hide-btn:hover,.show-btn:hover{background:#fef5e7;color:#dd6b20}.delete-btn:hover{background:#fed7d7;color:#c53030}.no-blogs{background:#f9fafb;border-radius:8px;color:#6b7280;margin-top:1rem;padding:3rem 1rem}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 25px 50px #00000040;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#2d3748;font-size:1.5rem;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:30px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:30px}.close-btn:hover{background:#f7fafc;color:#4a5568}.blog-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;display:block;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group textarea{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.form-group textarea{font-family:inherit;min-height:120px;resize:vertical}.form-group small{color:#6b7280;display:block;font-size:.85rem;margin-top:.25rem}.checkbox-group,.checkbox-group label{align-items:center;display:flex;gap:.5rem}.checkbox-group label{cursor:pointer;font-weight:400;margin:0}.checkbox-group input[type=checkbox]{margin:0;width:auto}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.cancel-btn{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-btn:hover{background:#edf2f7;border-color:#cbd5e0}.save-btn{background:linear-gradient(135deg,#4299e1,#3182ce);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.save-btn:hover{background:linear-gradient(135deg,#3182ce,#2b6cb0);transform:translateY(-1px)}@media (max-width:768px){.admin-blogs-page{padding:1rem .5rem}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.page-header h1{font-size:1.5rem}.blogs-table-container{overflow-x:auto;padding:1rem}.blogs-table{min-width:700px}.blogs-table td,.blogs-table th{padding:.5rem .25rem}.preview-cell{max-width:200px}.modal-content{margin:.5rem;max-width:calc(100vw - 1rem)}.blog-form,.modal-header{padding:1rem}.form-actions{flex-direction:column}.cancel-btn,.save-btn{width:100%}}@media (max-width:480px){.blogs-table td,.blogs-table th{font-size:.85rem}.action-btn{font-size:.75rem;padding:.375rem}}.home-container{align-items:flex-start;display:flex;height:100vh;justify-content:center;padding:0;position:relative}.home-background{background-position:50%;background-repeat:no-repeat;background-size:contain;height:100%;left:50%;position:absolute;top:10%;transform:translateX(-50%);width:40%;z-index:-1}.home-content{margin-top:8%;text-align:center}.welcome-title{color:#333;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.welcome-message{color:#666;font-size:1rem;line-height:1.6;margin-bottom:.5rem}.home-actions{margin-top:0}.action-link{background:linear-gradient(135deg,#ff9702,#f44e08);border-radius:8px;color:#fff;display:inline-block;font-size:1rem;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.action-link:hover{box-shadow:0 8px 24px #ff97024d;transform:translateY(-2px)}.footer-section{background:#000;border-top:1px solid #333;padding:2rem 0 4rem}.footer-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1fr 1fr}.footer-column{display:flex;flex-direction:column}.footer-logo{align-items:center;display:flex;gap:1rem;margin-bottom:0}.footer-logo-img{height:40px;object-fit:contain;width:40px}.footer-brand{color:#fff;font-size:1.5rem;font-weight:700}.footer-column-title{color:#8d8d8d;font-size:1rem;font-weight:inherit;margin:0 0 .5rem}.footer-links{display:flex;flex-direction:column;gap:.5rem}.footer-link{color:#fff;font-size:1rem;padding:.25rem 0;text-decoration:none;transition:all .3s ease}.footer-link:hover{color:#999}.footer-icon{filter:brightness(0) invert(1);height:24px;transition:all .3s ease;width:24px}.footer-link:hover .footer-icon{filter:brightness(0) invert(.6)}.container{padding:0 1rem}@media (max-width:768px){.footer-section{padding:2rem 0}.footer-content{gap:2rem;grid-template-columns:1fr;text-align:center}.footer-logo{justify-content:center}.footer-column-title{text-align:center}.footer-links{align-items:center}}@media (max-width:480px){.footer-section{padding:1.5rem 0}.footer-content{gap:1.5rem}.footer-logo-img{height:32px;width:32px}.footer-brand{font-size:1.25rem}.footer-column-title{font-size:1rem}.footer-link{font-size:.95rem}}.index-page{background:#000;color:#fff;min-height:100vh;overflow-x:hidden}.index-page::-webkit-scrollbar{display:none}.index-page{-ms-overflow-style:none;scrollbar-width:none}body.index-page-active .content-area::-webkit-scrollbar{display:none}body.index-page-active .content-area{-ms-overflow-style:none;scrollbar-width:none}.hero-section{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.hero-background{background-position:center 80%;background-repeat:no-repeat;background-size:contain;opacity:.7;z-index:1}.hero-background,.particle-canvas{height:100%;left:0;position:absolute;top:0;width:100%}.particle-canvas{pointer-events:none;z-index:2}.hero-content{margin-top:-15rem;max-width:1000px;padding:2rem;position:relative;text-align:center;z-index:3}.hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#ccc);-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:700;margin-bottom:1.5rem}.hero-subtitle{color:#ccc;font-size:1.3rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.btn-orange{background:linear-gradient(135deg,#ff9702,#f44e08);box-shadow:0 4px 15px #ff6b354d;color:#fff;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.btn-orange:hover{background:linear-gradient(135deg,#f44e08,#ff9702);box-shadow:0 8px 25px #ff6b3580;transform:translateY(-3px) scale(1.02)}.btn-outline{background:#0000;border:2px solid #666;color:#fff;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.btn-outline:hover{background-color:#666;border-color:#666;box-shadow:0 6px 20px #6666664d;color:#fff;transform:translateY(-2px) scale(1.01)}.demo-section{background:#000;padding:0}.container{margin:0 auto;max-width:1200px;padding:0 2rem}.demo-content{text-align:center}.section-title{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.section-subtitle{color:#ccc;font-size:1.2rem;line-height:1.6;margin-bottom:1rem}.placeholder-content p{color:#ccc;font-size:1.1rem}.database-section{background:#000;padding:5rem 0}.database-content{text-align:center}.database-logos{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:repeat(4,1fr);justify-items:center;margin-left:auto;margin-right:auto;margin-top:1rem;max-width:900px}.database-logo{align-items:center;display:flex;justify-content:center;padding:0;transition:transform .3s ease}.database-logo:hover{transform:scale(1.1)}.database-logo-img{filter:brightness(1);height:auto;max-height:160px;max-width:160px;object-fit:contain;transition:filter .3s ease;width:100%}.database-logo:hover .database-logo-img{filter:brightness(1.2)}.features-section{background:#000;padding:5rem 0}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3rem}.feature-card{background-color:#0f0f0f;border:1px solid #252525;border-radius:12px;overflow:hidden;padding:2rem;position:relative;text-align:center;transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.feature-card:after{background:radial-gradient(300px 300px at -1000px -1000px,#ff4400f2 0,#ff7a27d9 20%,#ffad5aa6 40%,#ffad5a40 56%,#0000 60%);background:radial-gradient(300px 300px at var(--mouse-x,-1000px) var(--mouse-y,-1000px),#ff4400f2 0,#ff7a27d9 20%,#ffad5aa6 40%,#ffad5a40 56%,#0000 60%);border-radius:inherit;border-radius:12px;content:"";inset:0;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;padding:1px;pointer-events:none;position:absolute;transition:opacity .2s ease}.feature-card:hover:after{opacity:1}.feature-icon{align-items:center;display:flex;justify-content:center;margin-bottom:2rem}.feature-icon-img{filter:invert(1);height:48px;transition:transform .3s ease;width:48px}.feature-card:hover .feature-icon-img{transform:scale(1.1)}.feature-title{color:#fff;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.feature-description{color:#ccc;font-size:1rem;line-height:1.6}.cta-section{background:#000;padding:5rem 0}.cta-content{margin-bottom:5rem;text-align:center}.cta-title{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta-subtitle{color:#ccc;font-size:1.2rem;line-height:1.6;margin-bottom:2.5rem}@media (max-width:768px){.hero-background{display:none}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-actions{align-items:center;flex-direction:column}.btn{max-width:300px;width:100%}.section-title{font-size:2rem}.database-logos{gap:2rem;grid-template-columns:repeat(2,1fr)}.database-logo-img{max-height:60px;max-width:100px}.features-grid{grid-template-columns:1fr}.cta-title{font-size:2rem}}.blogs-page{background:#000;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0;min-height:100vh;padding:2rem 1rem;width:100%}.blogs-header{margin-bottom:3rem;padding-bottom:1rem;text-align:center}.blogs-header h1{color:#7e7e7e;font-size:2rem;margin-bottom:.5rem}.blogs-header p{color:#ccc;font-size:1.2rem;font-weight:300}.loading-spinner{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px}.spinner{border:4px solid #f3f3f3}.loading-spinner p{color:#ccc;font-size:1.1rem}.error-message{background:#333;border:1px solid #555;border-radius:8px;color:#ff6b6b;padding:2rem;text-align:center}.retry-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.retry-btn:hover{background:#5a6fd8;transform:translateY(-1px)}.no-blogs{background:#000;color:#ccc;padding:4rem 2rem;text-align:center}.no-blogs h3{color:#fff;font-size:1.5rem;margin-bottom:.5rem}.blogs-grid{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:1200px}.blog-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;box-shadow:0 4px 6px #0000004d;margin:0 auto;max-width:1000px;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.blog-card:hover{box-shadow:0 12px 25px #0006;transform:translateY(-4px)}.blog-card:before{background:linear-gradient(135deg,#f28657,#f6c177);content:"";height:4px;left:0;position:absolute;right:0;top:0}.blog-header{margin-bottom:0;padding-bottom:.5rem!important}.blog-title{font-size:1.4rem;font-weight:600;line-height:1.3;margin-bottom:.25rem!important}.blog-meta{color:#6c757d;font-size:.9rem;justify-content:space-between}.blog-author{color:#999;font-weight:400}.blog-date{font-size:.85rem}.blog-content{color:#ccc;font-size:.95rem;line-height:1.6}.blog-card-link{color:inherit;text-decoration:none}.pagination-container{border-top:2px solid #333;display:flex;justify-content:center;margin-top:3rem;padding-top:2rem}.pagination{align-items:center;display:flex;gap:.5rem}.pagination-btn{background:#1a1a1a;border:2px solid #333;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;min-width:44px;padding:.75rem 1rem;text-align:center;transition:all .3s ease}.pagination-btn:hover:not(:disabled){border-color:#667eea;color:#667eea;transform:translateY(-1px)}.pagination-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 12px #667eea4d;color:#fff}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.blogs-page{padding:1rem .5rem}.blogs-header h1{font-size:2.2rem}.blogs-header p{font-size:1rem}.blogs-grid{gap:1.5rem}.blog-card{padding:1.25rem}.blog-title{font-size:1.2rem}.pagination{flex-wrap:wrap;gap:.375rem}.pagination-btn{font-size:.9rem;min-width:40px;padding:.625rem .875rem}}@media (max-width:480px){.blog-meta{align-items:flex-start;flex-direction:column;gap:.25rem}.blog-author,.blog-date{font-size:.8rem}}.blog-detail-page{background:#000;color:#fff;min-height:100vh;padding:2rem 1rem}.blog-container{background:#0f0f0f;border-radius:12px;box-shadow:0 4px 6px #0000004d;margin:0 auto 5rem;max-width:1000px;overflow:hidden}.blog-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px}.spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.blog-loading p{color:#ccc;font-size:1.1rem;margin:0}.blog-error{background:#333;border:1px solid #555;border-radius:12px;padding:4rem 2rem;text-align:center}.blog-error h1{color:#ff6b6b;font-size:2rem;margin-bottom:.5rem}.blog-error p{color:#ccc;font-size:1.1rem;margin-bottom:2rem}.back-to-blogs-btn{border-radius:8px;color:gray;display:inline-block;font-weight:600;padding:.875rem 1.75rem;text-decoration:none;transition:all .3s ease}.back-to-blogs-btn:hover{box-shadow:0 8px 25px #667eea4d;color:#7e7e7e;transform:translateY(-2px)}.blog-nav{background:inherit;padding:1.5rem 2rem}.breadcrumb{align-items:center;color:gray;display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;text-decoration:none;transition:color .2s ease}.breadcrumb:hover{color:#c5c5c5}.blog-header{border-bottom:1px solid #333;padding:2rem}.blog-title{color:#fff;font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 1.5rem}.blog-meta{flex-wrap:wrap;gap:2rem}.blog-meta,.blog-meta-item{align-items:center;display:flex}.blog-meta-item{gap:.5rem}.blog-author{color:#ccc;font-size:1rem;font-weight:600}.blog-date{color:#999;font-size:.95rem}.blog-content{padding:2rem}.blog-content-html{color:#fff;font-size:1.1rem;line-height:1.7}.blog-content-html h1,.blog-content-html h2,.blog-content-html h3,.blog-content-html h4{color:#fff;font-weight:600;margin-bottom:1rem;margin-top:2rem}.blog-content-html h1{font-size:2rem}.blog-content-html h2{font-size:1.5rem}.blog-content-html h3{font-size:1.25rem}.blog-content-html p{margin-bottom:1.5rem}.blog-content-html ol,.blog-content-html ul{margin-bottom:1.5rem;padding-left:1.5rem}.blog-content-html li{margin-bottom:.5rem}.blog-content-html blockquote{background:#2a2a2a;border-left:4px solid #667eea;color:#ccc;font-style:italic;margin:1.5rem 0;padding:1rem 1.5rem}.blog-content-html code{background:#333;border-radius:4px;color:gold;font-size:.9em;padding:.2rem .4rem}.blog-content-html pre{background:#1e293b;border-radius:8px;color:#e2e8f0;margin:1.5rem 0;overflow-x:auto;padding:1.5rem}.blog-content-html pre code{background:none;color:inherit;padding:0}.blog-content-html a{color:#667eea;font-weight:500;text-decoration:none}.blog-content-html a:hover{text-decoration:underline}.blog-content-html strong{color:#fff;font-weight:600}.blog-content-html em{color:#ccc;font-style:italic}.blog-content-html img{border-radius:8px;box-shadow:0 4px 6px #0000001a;height:auto;margin:1.5rem 0;max-width:100%}@media (max-width:768px){.blog-detail-page{padding:1rem .5rem}.blog-container{border-radius:8px}.blog-content,.blog-header,.blog-nav{padding-left:1.5rem;padding-right:1.5rem}.blog-title{font-size:2rem}.blog-meta{gap:1rem}.blog-content-html{font-size:1rem}.blog-content-html h1{font-size:1.75rem}.blog-content-html h2{font-size:1.375rem}}@media (max-width:480px){.blog-content,.blog-header,.blog-nav{padding-left:1rem;padding-right:1rem}.blog-title{font-size:1.75rem}.blog-meta{align-items:flex-start;flex-direction:column;gap:.5rem}.blog-content-html pre{font-size:.9rem;padding:1rem}}.navbar{background:#000;box-shadow:0 2px 10px #0000001a;height:40px;left:0;position:fixed;right:0;top:0;z-index:1000}.navbar-content{height:100%;justify-content:space-between;margin:0 auto;padding:0 1rem}.navbar-brand,.navbar-content{align-items:center;display:flex}.navbar-brand{color:#fff;gap:.5rem;text-decoration:none}.navbar-logo{height:24px;width:auto}.navbar-brand h1{color:#c9c9c9;font-size:1.2rem;font-weight:700;margin:0}.navbar-nav{align-items:center;display:flex;gap:1.5rem}.nav-link{border-radius:6px;color:#fff;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:background-color .2s ease}.nav-link:hover{background-color:#ffffff1a}.account-dropdown-container{position:relative}.account-btn{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:background-color .2s ease}.account-btn:hover{background-color:#ffffff1a}.account-icon{filter:invert(1);height:24px;width:24px}.account-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #0000001a;margin-top:.5rem;min-width:120px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.dropdown-item{background:none;border:none;color:#374151;cursor:pointer;display:block;font-size:.9rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.dropdown-item:hover{background:#f9fafb}.message-content-wrapper{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;width:100%}.message-content-wrapper pre{border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:0;overflow:hidden}.message-content-wrapper .inline-code{background-color:initial;border:none;border-radius:0;color:inherit;display:inline;font-family:inherit;font-size:inherit;font-style:italic;font-weight:500;margin:0;max-width:none;padding:0;width:auto}.streaming-indicator{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:.5rem;justify-content:center;margin:.5rem;padding:.5rem}.streaming-dots{align-items:center;display:flex;gap:4px}.dot{animation:bounce 1.4s ease-in-out infinite both;color:#f44e08;font-size:1.5rem;font-weight:700}.dot-1{animation-delay:-.32s}.dot-2{animation-delay:-.16s}.dot-3{animation-delay:0s}@keyframes bounce{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.streaming-dots.wave .dot{animation:wave 1.2s ease-in-out infinite}@keyframes wave{0%,40%,to{opacity:.7;transform:translateY(0)}20%{opacity:1;transform:translateY(-10px)}}.streaming-dots.pulse .dot{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.streaming-dots.fade .dot{animation:fade 2s ease-in-out infinite}@keyframes fade{0%,to{opacity:.3}50%{opacity:1}}p{margin:0;padding:0}.chat-pane{background:#fff;box-shadow:2px 0 8px #0000001a;display:flex;flex-direction:column;flex-shrink:0;max-width:600px;min-width:300px;position:relative;transform:translateZ(0);transition:all .3s ease;width:25vw;will-change:width}.chat-pane.resizing{transition:none!important}.chat-pane.collapsed{border-right:none;box-shadow:none;max-width:0!important;min-width:0!important;overflow:hidden;width:0!important}.resize-handle{background:#0000;transition:background-color .1s ease;will-change:background-color}.chat-pane:hover .resize-handle{background:#667eea4d}.chat-pane.resizing .resize-handle{background:#667eea99;transition:none}.chat-header{align-items:center;background:#f1f1f1;border-bottom:1px solid #e5e7eb;color:#fff;display:flex;height:40px;justify-content:flex-end;padding:.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.chat-pane.collapsed .chat-header{background:none;border-bottom:none;justify-content:flex-start;min-height:auto;padding:0}.chat-header h3{font-size:1.1rem;font-weight:600;margin:0;overflow:hidden;white-space:nowrap}.chat-pane.collapsed .chat-header h3{display:none}.chat-header-btn{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:24px;justify-content:center;margin:0 0 0 20px;padding:0;position:relative;transition:all .2s ease;width:24px}.chat-header-btn:hover{transform:scale(1.05)}.chat-header-btn:hover .chat-header-icon{opacity:.8}.chat-pane.collapsed .collapse-btn{background:none;box-shadow:none;left:10px;position:absolute;top:10px;z-index:300}.collapsed-btn{align-items:center;background:#f5f5f5;border:none;border-radius:6px;box-shadow:none;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:32px;justify-content:center;left:10px;margin:0;padding:0;position:fixed;top:50px;transition:all .2s ease;width:32px;z-index:300}.collapsed-btn:hover{transform:scale(1.05)}.collapsed-btn:hover .chat-header-icon{opacity:.9}.chat-header-icon{height:16px;height:100%;transition:all .2s ease;width:16px;width:100%}.chat-messages{background:#f8f9fa;flex:1 1;overflow-y:auto;padding:1rem;position:relative}.chat-messages,.message{display:flex;flex-direction:column}.message{width:100%}.message-content{word-wrap:break-word;font-size:.9rem;line-height:1.4;width:100%}.message.user .message-content{background:#eaeaea;border:1px solid #b5b5b5;border-radius:8px;color:#374151;margin:.5rem;padding:.5rem}.message.ai .message-content{background:none;border:none;color:#374151;padding:0}.message.system .message-content{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;font-style:italic;padding:.25rem .5rem;text-align:center}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:6px;box-shadow:0 1px 3px #dc26261a;margin:0;padding:.25rem .5rem}.tool-message{color:#9ca3af;font-style:italic}.message-time{display:none}.chat-input-form{background:#fff;border-top:1px solid #e5e7eb;padding:1rem;position:relative}.input-wrapper{align-items:center;display:flex;gap:.5rem}.chat-input{border:2px solid #e5e7eb;border-radius:20px;flex:1 1;font-family:inherit;font-size:.9rem;line-height:1.2;max-height:120px;min-height:20px;outline:none;overflow-y:auto;padding:.75rem;resize:none;transition:border-color .2s ease;vertical-align:top}.chat-input::-webkit-scrollbar{display:none}.chat-input{-ms-overflow-style:none;scrollbar-width:none}.chat-input:focus{border-color:#667eea}.send-btn{align-items:center;background:linear-gradient(135deg,#ff9702,#f44e08);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.send-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:scale(1.05)}.send-btn:active{transform:scale(.95)}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.chat-pane{max-width:320px;min-width:280px}.chat-pane.collapsed{max-width:0!important;min-width:0!important;width:0!important}.chat-header{padding:.5rem}.chat-messages{padding:.25rem}.chat-input-form{padding:.75rem}.chat-pane.collapsed .collapse-btn{height:28px;left:8px;top:8px;width:28px}}@media (max-width:480px){.chat-pane{max-width:280px;min-width:250px}}.chat-input:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.6}.send-btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.5}.send-btn:disabled:hover{background-color:#6c757d;transform:none}.send-btn-icon{filter:brightness(0) invert(1);width:80%}.chat-stop-button{background:#d6d6d6;border:none;border-radius:4px 4px 0 0;box-shadow:0 2px 4px #0000001a;color:#595959;cursor:pointer;font-size:.9rem;font-weight:500;padding:.25rem 1.5rem;position:absolute;right:.5rem;top:-25px;transition:all .2s ease;z-index:10}.chat-stop-button:hover{background:#a6a6a6;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.chat-stop-button:active{background:#374151;transform:translateY(0)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.App{flex-direction:column;height:100vh}.App,.main-content{display:flex;overflow:hidden}.main-content{flex:1 1;height:calc(100vh - 40px);padding-top:40px}.content-area{flex:1 1;overflow:auto;transition:all .3s ease}.content-area:has(.app-viewer-container){margin:0;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:768px){.main-content{flex-direction:column}.content-area{height:auto;min-height:calc(100vh - 64px)}}@media (max-width:480px){.main-content{flex-direction:column}}
/*# sourceMappingURL=main.7f9f40e4.css.map*/