body{background:linear-gradient(135deg,#667eea,#764ba2)}.login-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:15px;box-shadow:0 8px 32px #0003;max-width:400px;padding:2.5rem;width:50vw}h2{color:#333;font-size:2rem;font-weight:700;letter-spacing:1px;margin-bottom:2rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.5rem}.input-field{background:#f8f9fa;border:2px solid #ddd;border-radius:8px;font-size:1rem;padding:.8rem;transition:all .3s ease}.input-field:focus{background:#fff;border-color:#667eea;box-shadow:0 0 8px #667eea4d;outline:none}.input-field.error{background:#fff5f5;border-color:#ff4d4f}.error{color:#ff4d4f;font-size:.85rem;margin:.3rem 0 0 .5rem}.error-message{background:#fff5f5;border-radius:5px;font-size:.9rem;padding:.5rem}.submit-button{background:#667eea}.submit-button:hover{background:#5a67d8}.link{color:#667eea;font-weight:600;text-decoration:none;transition:color .3s ease}.link:hover{color:#5a67d8;text-decoration:underline}p{color:#555;margin-top:1.5rem;text-align:center}@media (max-width:480px){.login-container{margin:1rem;padding:1.5rem}h2{font-size:1.5rem}.input-field,.submit-button{font-size:.9rem}}body{align-items:center;background:linear-gradient(135deg,#5539c2,#ad53d3);display:flex;font-family:Arial,sans-serif;justify-content:center;margin:0;min-height:100vh;padding:0}.register-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:15px;box-shadow:0 8px 32px #0003;max-width:450px;padding:2.5rem;width:50vw}.register-title{color:#333;font-size:2rem;font-weight:700;letter-spacing:1px;margin-bottom:2rem;text-align:center}.register-form{display:flex;flex-direction:column;gap:1.5rem}.form-input,.form-textarea{background:#f8f9fa;border:2px solid #ddd;border-radius:8px;padding:.8rem;transition:all .3s ease}.form-textarea{max-height:200px;min-height:100px}.form-input:focus,.form-textarea:focus{background:#fff;border-color:#ff6b6b;box-shadow:0 0 8px #ff6b6b4d}.input-error{background:#fff5f5;border-color:#ff4d4f}.error-message{animation:fadeIn .3s ease;color:#ff4d4f;font-size:.85rem;margin:.3rem 0 0 .5rem}.server-error{background:#fff5f5;border-radius:5px;padding:.5rem;text-align:center}.submit-button{background:#ff6b6b;border-radius:8px;letter-spacing:1px;padding:.8rem;text-transform:uppercase}.submit-button:hover{background:#ff5252;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.submit-button:disabled{background:#ccc}.login-link{color:#555;margin-top:1.5rem;text-align:center}.login-link a{color:#ff6b6b;font-weight:600;text-decoration:none;transition:color .3s ease}.login-link a:hover{color:#ff5252;text-decoration:underline}@media (max-width:480px){.register-container{margin:1rem;padding:1.5rem}.register-title{font-size:1.5rem}.form-input,.form-textarea,.submit-button{font-size:.9rem}}.post-list-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;min-height:100vh;padding:2rem;width:75vw}.post-list-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:3rem;font-weight:700;margin-bottom:3rem;text-align:center;text-shadow:2px 2px 4px #0000001a}.auth-links{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem}.auth-link{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.auth-link:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.logout-button{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border:none;border-radius:25px;box-shadow:0 4px 15px #ff6b6b4d;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.logout-button:hover{background:linear-gradient(135deg,#ee5a6f,#ff6b6b);box-shadow:0 6px 20px #ff6b6b66;transform:translateY(-2px)}.separator{color:#7f8c8d;font-weight:500}.error{border-left:4px solid #e74c3c;border-radius:12px;font-weight:500;margin:1rem 0;padding:1rem}.posts-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:3rem}.post-card{background:#fff;border:1px solid #fff3;border-radius:16px;box-shadow:0 10px 30px #0000001a;overflow:hidden;position:relative;transition:all .3s ease}.post-card:hover{box-shadow:0 20px 40px #00000026;transform:translateY(-8px)}.post-card:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.post-card-header{border-bottom:1px solid #f8f9fa;padding:1.5rem 1.5rem 1rem}.post-title{font-size:1.3rem;font-weight:700;line-height:1.4;margin:0 0 .5rem}.post-title-link{color:#2c3e50;text-decoration:none;transition:all .3s ease}.post-title-link:hover{color:#667eea}.post-author{align-items:center;display:flex;gap:.5rem;margin-top:.5rem}.author-label{color:#7f8c8d;font-size:.9rem;font-weight:500}.author-name{color:#2c3e50;font-size:.9rem;font-weight:600}.post-card-content{padding:1rem 1.5rem}.post-excerpt{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#5d6d7e;display:-webkit-box;font-size:.95rem;line-height:1.6;margin-bottom:1rem;overflow:hidden}.post-stats{display:flex;gap:1.5rem;margin-top:1rem}.stat-item{align-items:center;color:#7f8c8d;display:flex;font-size:.9rem;gap:.3rem}.stat-icon{font-size:1rem}.stat-value{color:#2c3e50;font-weight:600}.stat-label{color:#7f8c8d}.post-card-footer{align-items:center;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1rem 1.5rem}.post-date{color:#7f8c8d;font-size:.85rem;font-weight:500}.post-actions{gap:.5rem}.action-button{border-radius:6px;display:inline-flex;font-size:.8rem;justify-content:center;padding:.4rem .8rem;text-decoration:none}.edit-button{background:linear-gradient(135deg,#74b9ff,#0984e3)}.edit-button:hover{box-shadow:0 4px 12px #74b9ff66;transform:translateY(-1px)}.delete-button{background:linear-gradient(135deg,#fd79a8,#e84393)}.delete-button:hover:not(:disabled){box-shadow:0 4px 12px #fd79a866;transform:translateY(-1px)}.delete-button:disabled{background:#bdc3c7;cursor:not-allowed}.no-posts{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#7f8c8d;font-size:1.1rem;padding:3rem;text-align:center}.pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:3rem}.pagination-button{background:linear-gradient(135deg,#74b9ff,#0984e3);border:none;border-radius:25px;box-shadow:0 4px 15px #74b9ff4d;color:#fff;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.pagination-button:hover:not(:disabled){background:linear-gradient(135deg,#0984e3,#74b9ff);box-shadow:0 6px 20px #74b9ff66;transform:translateY(-2px)}.pagination-button:disabled{background:#bdc3c7;box-shadow:none;transform:none}.page-info{background:#fff;border-radius:20px;box-shadow:0 2px 10px #0000001a;color:#2c3e50;font-size:1rem;font-weight:600;padding:.5rem 1rem}@media (max-width:768px){.post-list-container{padding:1rem}.post-list-title{font-size:2.2rem}.auth-links{flex-direction:column;gap:.5rem}.auth-link,.logout-button{max-width:200px;text-align:center;width:100%}.posts-grid{gap:1.5rem;grid-template-columns:1fr}.post-card-footer{align-items:flex-start;flex-direction:column;gap:1rem}.post-actions{justify-content:flex-end;width:100%}.pagination{flex-direction:column;gap:1rem}.pagination-button{width:150px}}@media (max-width:480px){.posts-grid{grid-template-columns:1fr}.post-card-content,.post-card-footer,.post-card-header{padding:1rem}.post-stats{flex-direction:column;gap:.5rem}}.loading:after{border:2px solid #3498db;height:16px;right:-20px;width:16px}.post-card{animation:fadeInUp .6s ease forwards;opacity:0;transform:translateY(30px)}.post-card:first-child{animation-delay:.1s}.post-card:nth-child(2){animation-delay:.2s}.post-card:nth-child(3){animation-delay:.3s}.post-card:nth-child(4){animation-delay:.4s}.post-card:nth-child(5){animation-delay:.5s}.post-card:nth-child(6){animation-delay:.6s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.modal-overlay{animation:fadeIn .2s ease-out}.modal-content{animation:slideUp .3s ease-out;background:#fff;box-shadow:0 4px 20px #00000026;max-width:500px;padding:0}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.modal-title{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:background-color .2s,color .2s;width:32px}.modal-close:hover{background-color:#f3f4f6;color:#111827}.modal-body{color:#4b5563;font-size:1rem;line-height:1.5;padding:24px}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.modal-button{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;outline:none;padding:10px 20px;transition:all .2s}.cancel-button{background-color:#f3f4f6;color:#374151}.cancel-button:hover:not(:disabled){background-color:#e5e7eb}.confirm-button{background-color:#ef4444;color:#fff}.confirm-button:hover:not(:disabled){background-color:#dc2626}.modal-button:disabled{cursor:not-allowed;opacity:.6}.toast{align-items:center;animation:slideInRight .3s ease-out;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;font-size:.95rem;gap:16px;justify-content:space-between;max-width:500px;min-width:300px;padding:16px 24px;position:fixed;right:20px;top:20px;z-index:1001}.toast-success{background-color:#10b981;color:#fff}.toast-error{background-color:#ef4444;color:#fff}.toast-close{align-items:center;background:none;border:none;border-radius:4px;color:inherit;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;opacity:.8;padding:0;transition:opacity .2s;width:24px}.toast-close:hover{opacity:1}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:640px){.modal-content{margin:20px;width:95%}.toast{left:10px;max-width:none;min-width:auto;right:10px;top:10px}}.post-detail-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;min-height:100vh;padding:2rem;width:100vw}.post-detail-container h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem;text-shadow:2px 2px 4px #0000001a}.post-meta{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border-left:4px solid #667eea;border-radius:10px;box-shadow:0 4px 15px #0000001a;color:#7f8c8d;font-size:1rem;font-weight:500;margin-bottom:2rem;padding:1rem}.post-image{border-radius:15px;box-shadow:0 10px 30px #0003;display:block;height:auto;margin:2rem auto;max-width:600px;transition:transform .3s ease;width:100%}.post-image:hover{transform:scale(1.02)}.post-file-link{background:linear-gradient(135deg,#00b894,#00a085);border-radius:25px;box-shadow:0 4px 15px #00b8944d;color:#fff;display:inline-block;font-weight:600;margin:1rem 0;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.post-file-link:hover{background:linear-gradient(135deg,#00a085,#00b894);box-shadow:0 6px 20px #00b89466;transform:translateY(-2px)}.post-content{background:#fff;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 25px #0000001a;color:#2c3e50;font-size:1.1rem;line-height:1.8;margin:2rem 0;padding:2rem}.action-buttons{gap:1rem;justify-content:center;margin:2rem 0}.action-button{border:none;border-radius:25px;font-size:1rem;font-weight:600;min-width:120px;padding:.75rem 2rem;transition:all .3s ease}.like-button{background:linear-gradient(135deg,#fd79a8,#e84393);box-shadow:0 4px 15px #fd79a84d;color:#fff}.like-button:hover{background:linear-gradient(135deg,#e84393,#fd79a8);box-shadow:0 6px 20px #fd79a866;transform:translateY(-2px)}.unlike-button{background:linear-gradient(135deg,#636e72,#2d3436);box-shadow:0 4px 15px #636e724d}.unlike-button:hover{background:linear-gradient(135deg,#2d3436,#636e72);box-shadow:0 6px 20px #636e7266;transform:translateY(-2px)}.comment-form{background:#fff;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 25px #0000001a;margin:2rem 0;padding:2rem}.comment-textarea{background:#f8f9fa;border:2px solid #e0e6ed;border-radius:10px;font-family:inherit;font-size:1rem;margin-bottom:1rem;min-height:120px;padding:1rem;resize:vertical;transition:all .3s ease;width:100%}.comment-textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.comment-textarea.error{background:#fdf2f2;border-color:#e74c3c}.comment-textarea.error:focus{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.submit-button:disabled{background:#bdc3c7;box-shadow:none;transform:none}.comments-section{background:#fff;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 25px #0000001a;margin:2rem 0;padding:2rem}.comments-section h3{border-bottom:2px solid #667eea;color:#2c3e50;font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem}.comments-list{list-style:none;margin:0;padding:0}.comment-item{background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;margin-bottom:1rem;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.comment-item:hover{background:#e9ecef;transform:translateX(5px)}.comment-item:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:100%;left:0;position:absolute;top:0;transition:width .3s ease;width:4px}.comment-item:hover:before{width:8px}.loading{color:#3498db;font-size:1.2rem;font-weight:600;margin:2rem 0;position:relative}.loading:after{animation:spin 1s linear infinite;border:3px solid #3498db;border-radius:50%;border-top-color:#0000;content:"";height:20px;position:absolute;right:-30px;top:50%;transform:translateY(-50%);width:20px}.error,.error-message{background:#fdf2f2;border-left:4px solid #e74c3c;border-radius:8px;color:#e74c3c;font-weight:500;margin:1rem 0;padding:1rem}.no-post{background:#fff;border-radius:15px;box-shadow:0 8px 25px #0000001a;color:#7f8c8d;font-size:1.2rem;margin:2rem 0;padding:2rem;text-align:center}.comment-item{align-items:flex-start;background-color:#f9f9f9;border:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:10px;padding:12px}.comment-content{flex:1 1}.comment-text{font-size:14px;line-height:1.4;margin-bottom:8px}.comment-meta{color:#666;font-size:12px;font-style:italic}.comment-actions{align-items:center;margin-left:12px}.delete-comment-button{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .2s}.delete-comment-button:hover:not(:disabled){background-color:#c82333}.delete-comment-button:disabled{cursor:not-allowed;opacity:.6}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:24px;width:90%}.modal-content h3{color:#333;margin-bottom:16px;margin-top:0}.modal-content p{color:#666;line-height:1.4;margin-bottom:20px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-delete-button{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.confirm-delete-button:hover:not(:disabled){background-color:#c82333}.confirm-delete-button:disabled{cursor:not-allowed;opacity:.6}.cancel-button{background-color:#6c757d;border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.cancel-button:hover:not(:disabled){background-color:#5a6268}@media (max-width:768px){.comment-item{align-items:flex-start;flex-direction:column}.comment-actions{margin-left:0;margin-top:8px}.modal-content{margin:16px}.modal-actions{flex-direction:column;gap:8px}.cancel-button,.confirm-delete-button{width:100%}}.like-button{background-color:#f0f0f0;border:2px solid #ddd;color:#666;transition:all .3s ease}.like-button:hover:not(:disabled){background-color:#ffe6e6;border-color:#ffb3b3;color:#d63384}.like-button.liked{cursor:not-allowed}.like-button.liked,.like-button.liked:hover{background-color:#d63384;border-color:#d63384;color:#fff}.unlike-button{background-color:#6c757d;border:2px solid #6c757d;color:#fff;transition:all .3s ease}.unlike-button:hover:not(:disabled){background-color:#5a6268;border-color:#5a6268}.unlike-button.disabled{cursor:not-allowed;opacity:.6}.unlike-button.disabled,.unlike-button.disabled:hover{background-color:#f8f9fa;border-color:#dee2e6;color:#6c757d}.action-buttons{margin:20px 0}.action-button{align-items:center;border-radius:5px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:5px;padding:10px 20px}.action-button:disabled{cursor:not-allowed}.edit-button{background:linear-gradient(135deg,#f1c40f,#f39c12);border-radius:25px;box-shadow:0 4px 15px #f1c40f4d;color:#fff;display:inline-block;font-size:1rem;font-weight:600;padding:.75rem 2rem;text-align:center;text-decoration:none;transition:all .3s ease}.edit-button:hover{background:linear-gradient(135deg,#f39c12,#f1c40f);box-shadow:0 6px 20px #f1c40f66;transform:translateY(-2px)}.edit-button:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.post-actions{display:flex;gap:1rem;margin-top:1rem}@media (max-width:768px){.edit-button{padding:.75rem 1.5rem;width:100%}}.container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;min-height:100vh;padding:2rem;width:80vw}.container h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-align:center;text-shadow:2px 2px 4px #0000001a}.container form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #fff3;border-radius:20px;box-shadow:0 15px 35px #0000001a;overflow:hidden;padding:2.5rem;position:relative}.container form:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.form-group{margin-bottom:2rem}.form-group input[type=text],.form-group textarea{background:#f8f9fa;border:2px solid #e0e6ed;border-radius:12px;box-sizing:border-box;font-family:inherit;font-size:1.1rem;padding:1rem 1.5rem;transition:all .3s ease;width:100%}.form-group input[type=text]:focus,.form-group textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-1px)}.form-group textarea{line-height:1.6;min-height:200px;resize:vertical}.form-group input[type=text]::placeholder,.form-group textarea::placeholder{color:#bdc3c7;font-style:italic}.form-group input[type=file]{background:#f8f9fa;border:2px dashed #e0e6ed;border-radius:12px;cursor:pointer;font-size:1rem;overflow:hidden;padding:1rem;position:relative;transition:all .3s ease;width:100%}.form-group input[type=file]:hover{background:#e9ecef;border-color:#667eea}.form-group input[type=file]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input[type=file]::-webkit-file-upload-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-right:1rem;padding:.5rem 1rem;-webkit-transition:all .3s ease;transition:all .3s ease}.form-group input[type=file]::file-selector-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-right:1rem;padding:.5rem 1rem;transition:all .3s ease}.form-group input[type=file]::-webkit-file-upload-button:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-1px)}.form-group input[type=file]::file-selector-button:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-1px)}.form-group input.error,.form-group textarea.error{animation:shake .5s ease-in-out;background:#fdf2f2;border-color:#e74c3c}.form-group input.error:focus,.form-group textarea.error:focus{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.error{animation:fadeIn .3s ease;border-left:3px solid #e74c3c;border-radius:6px;font-size:.875rem;margin-top:.5rem;padding:.5rem}.error,.error-message{background:#fdf2f2;color:#e74c3c}.error-message{border-left:4px solid #e74c3c;border-radius:10px;font-weight:500;margin-bottom:2rem;text-align:center}.container form button[type=submit]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;overflow:hidden;padding:1rem 2rem;position:relative;transition:all .3s ease;width:100%}.container form button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.container form button[type=submit]:active{transform:translateY(0)}.container form button[type=submit]:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.container form button[type=submit]:disabled:after{animation:spin 1s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;content:"";height:16px;position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:16px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:translateY(-50%) rotate(0deg)}to{transform:translateY(-50%) rotate(1turn)}}.container form{animation:slideInUp .6s ease forwards;opacity:0;transform:translateY(30px)}.container h2{animation:fadeInDown .6s ease forwards;opacity:0;transform:translateY(-20px)}@keyframes slideInUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{to{opacity:1;transform:translateY(0)}}.character-count{color:#7f8c8d;font-size:.875rem;margin-top:.5rem;text-align:right}.character-count.warning{color:#f39c12}.character-count.error{color:#e74c3c}@media (max-width:768px){.container{padding:1rem}.container h2{font-size:2rem}.container form{padding:1.5rem}.form-group input[type=text],.form-group textarea{font-size:1rem;padding:.875rem 1rem}.form-group textarea{min-height:150px}.container form button[type=submit]{font-size:1rem;padding:.875rem 1.5rem}}.container form button[type=submit]:focus,.form-group input:focus,.form-group textarea:focus{outline:none}html{scroll-behavior:smooth}.form-group input[type=file]:valid{background:#f0fff4;border-color:#00b894}.form-group input.success,.form-group textarea.success{background:#f0fff4;border-color:#00b894}.form-group input.success:focus,.form-group textarea.success:focus{border-color:#00b894;box-shadow:0 0 0 3px #00b8941a}.form-group{position:relative}.form-group:before{background:linear-gradient(135deg,#667eea05,#764ba205);border-radius:12px;bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.form-group:hover:before{opacity:1}.admin-dashboard-container{width:80vw}.admin-dashboard-container h2{color:#333;margin-bottom:30px;text-align:center}.admin-dashboard-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.welcome-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:30px;padding:30px;text-align:center}.welcome-section h3{font-size:1.8rem;margin:0 0 10px}.welcome-section p{font-size:1.1rem;margin:0;opacity:.9}.stats-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.stats-overview .stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;padding:25px;transition:transform .2s,box-shadow .2s}.stats-overview .stat-card:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-2px)}.stat-icon{font-size:2.5rem;margin-right:20px}.stat-info h3{color:#333;font-size:1.2rem;margin:0 0 5px}.stat-info .stat-number{color:#007bff;font-size:2rem;font-weight:700;margin:0}.stat-detail{color:#6c757d;font-size:.9rem;margin:5px 0 0}.stat-detail.pending{color:#ffc107;font-weight:500}.management-cards{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:40px}.management-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;cursor:pointer;padding:30px;transition:transform .2s,box-shadow .2s}.management-card:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-4px)}.card-header{align-items:center;display:flex;margin-bottom:20px}.card-icon{font-size:2rem;margin-right:15px}.card-header h3{color:#333;font-size:1.5rem;margin:0}.card-content p{color:#6c757d;line-height:1.6;margin-bottom:15px}.card-content ul{list-style:none;margin:0;padding:0}.card-content li{color:#495057;padding:8px 0 8px 20px;position:relative}.card-content li:before{color:#28a745;content:"✓";font-weight:700;left:0;position:absolute}.card-footer{border-top:1px solid #e9ecef;margin-top:20px;padding-top:20px}.card-button{align-items:center;background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:10px;padding:12px 24px;transition:background-color .2s}.card-button:hover{background-color:#0056b3}.notification-badge{background-color:#dc3545;border-radius:10px;color:#fff;font-size:.8rem;font-weight:700;padding:2px 6px}.alert-section{margin-bottom:20px}.alert{align-items:center;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;display:flex;gap:15px;padding:20px}.alert-icon{font-size:1.5rem}.alert-content h4{color:#856404;margin:0 0 5px}.alert-content p{color:#856404;margin:0}.alert-button{background-color:#ffc107;border:none;border-radius:4px;color:#212529;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.alert-button:hover{background-color:#e0a800}@media (max-width:768px){.header{text-align:center}.controls-section,.header{flex-direction:column;gap:15px}.table-header,.table-row{gap:10px;grid-template-columns:1fr}.comment-header{align-items:flex-start;flex-direction:column;gap:10px}.comment-meta{flex-direction:column;gap:5px}.management-cards{grid-template-columns:1fr}}.dashboard-actions{display:flex;gap:10px;justify-content:center;margin-bottom:30px}.back-button,.logout-button{border-radius:5px;font-weight:500;padding:10px 20px;transition:background-color .3s}.section-card{background:#f8f9fa;box-shadow:0 2px 4px #0000001a;padding:20px}.section-card h3{border-bottom:2px solid #dee2e6;padding-bottom:10px}.empty-state{margin:20px 0}.loading{font-size:18px;margin:50px 0}.error{border-radius:5px;font-size:16px;margin:20px 0;padding:10px}.user-list{list-style:none;padding:0}.user-item{align-items:center;background:#fff;border-radius:5px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px}.user-info{flex:1 1}.username{color:#333;font-size:16px}.email{font-size:14px;margin-top:5px}.comment-list{list-style:none;padding:0}.comment-item{border-radius:5px;box-shadow:0 1px 3px #0000001a;margin-bottom:15px;padding:15px}.comment-content{color:#333;font-size:16px;line-height:1.5;margin-bottom:10px}.comment-meta{flex-wrap:wrap;gap:15px;margin-bottom:15px}.comment-author{color:#495057;font-weight:500}.comment-post{color:#6c757d}.status-indicator{font-size:12px;padding:3px 8px;text-transform:uppercase}.action-buttons{flex-wrap:wrap}.approve-button,.delete-button,.reject-button{font-size:13px;min-width:80px;padding:8px 16px;transition:all .3s}.approve-button:hover:not(:disabled){background-color:#218838}.reject-button:hover:not(:disabled){background-color:#e0a800}.delete-button:hover:not(:disabled){background-color:#c82333}@media (max-width:768px){.admin-dashboard-container{padding:15px}.user-item{align-items:flex-start;flex-direction:column;gap:10px}.comment-meta{flex-direction:column;gap:5px}.action-buttons{justify-content:center;width:100%}.approve-button,.delete-button,.reject-button{flex:1 1;min-width:70px}}.user-management-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;padding:20px;width:95vw}.header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.header h2{color:#333;font-size:2rem;margin:0}.header-actions{display:flex;gap:10px}.back-button,.logout-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.back-button{background-color:#6c757d}.back-button:hover{background-color:#5a6268}.logout-button{background-color:#dc3545;color:#fff}.logout-button:hover{background-color:#c82333}.stats-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;padding:20px;text-align:center}.stat-card h3{font-size:1.1rem;margin:0 0 10px;opacity:.9}.stat-number{font-size:2.5rem;font-weight:700;margin:0}.section-card{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;padding:25px}.section-card h3{color:#333;font-size:1.5rem;margin-bottom:20px;margin-top:0}.users-table{display:flex;flex-direction:column;gap:2px}.table-header{background-color:#f8f9fa;border-radius:4px;font-weight:700;margin-bottom:10px}.table-header,.table-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:2fr 2fr 1fr 2fr;padding:15px}.table-row{align-items:center;background-color:#fff;border:1px solid #dee2e6;border-radius:4px}.table-row:nth-child(2n){background-color:#f8f9fa}.username{color:#495057;font-weight:600}.email{color:#6c757d}.status-badges{display:flex;flex-direction:column;gap:5px}.status-badge{border-radius:12px;font-size:.8rem;font-weight:500;padding:4px 8px;text-align:center}.status-badge.staff{background-color:#28a745;color:#fff}.status-badge.superuser{background-color:#dc3545;color:#fff}.status-badge.regular{background-color:#6c757d;color:#fff}.action-buttons{display:flex;gap:10px}.delete-button,.toggle-button{border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .2s}.toggle-button.make-staff{background-color:#28a745;color:#fff}.toggle-button.make-staff:hover{background-color:#218838}.toggle-button.remove-staff{background-color:#ffc107;color:#212529}.toggle-button.remove-staff:hover{background-color:#e0a800}.delete-button:disabled,.toggle-button:disabled{cursor:not-allowed;opacity:.6}.pagination-controls{align-items:center;display:flex;gap:20px;justify-content:center;margin-top:20px}.pagination-button{background-color:#fff;border:1px solid #007bff;border-radius:4px;color:#007bff;cursor:pointer;padding:8px 16px;transition:all .2s}.pagination-button:hover:not(:disabled){background-color:#007bff;color:#fff}.pagination-button:disabled{cursor:not-allowed;opacity:.5}.page-info{color:#495057;font-weight:500}.empty-state{color:#6c757d;font-style:italic;margin:40px 0;text-align:center}.error,.loading{margin:20px 0;padding:20px;text-align:center}.loading{color:#007bff}.error{background-color:#f8d7da;color:#dc3545}.comment-management-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;padding:20px;width:90vw}.notification{background-color:#4caf50;border-radius:5px;box-shadow:0 2px 5px #0003;color:#fff;font-size:16px;padding:10px 20px;position:fixed;right:20px;top:20px;z-index:1000}.controls-section{align-items:center;background-color:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.filter-buttons{display:flex;gap:10px}.filter-button{background-color:#fff;border:2px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;padding:8px 16px;transition:all .2s}.filter-button:hover{border-color:#007bff;color:#007bff}.filter-button.active{background-color:#007bff;border-color:#007bff;color:#fff}.bulk-approve-button{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s}.bulk-approve-button:hover{background-color:#218838}.stat-number.pending{color:#ffc107}.stat-number.approved{color:#28a745}.comments-list{display:flex;flex-direction:column;gap:15px}.comment-item{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;transition:box-shadow .2s}.comment-item:hover{box-shadow:0 4px 8px #0000001a}.comment-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.comment-meta{color:#6c757d;display:flex;font-size:.9rem;gap:20px}.comment-author,.comment-date,.comment-post{align-items:center;display:flex;gap:5px}.status-indicator{border-radius:12px;font-size:.8rem;font-weight:500;padding:4px 12px}.status-approved{background-color:#d4edda;color:#155724}.status-pending{background-color:#fff3cd;color:#856404}.comment-content{margin-bottom:15px}.comment-content p{color:#495057;font-style:italic;line-height:1.6;margin:0}.comment-actions{display:flex;gap:10px}.approve-button,.delete-button,.reject-button{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:background-color .2s}.approve-button{background-color:#28a745;color:#fff}.approve-button:hover{background-color:#218838}.reject-button{background-color:#ffc107;color:#212529}.reject-button:hover{background-color:#e0a800}.delete-button{background-color:#dc3545;color:#fff}.delete-button:hover{background-color:#c82333}.approve-button:disabled,.delete-button:disabled,.reject-button:disabled{cursor:not-allowed;opacity:.6}.edit-post-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:2rem auto;max-width:800px;padding:2rem}.edit-post-title{color:#333;font-size:2rem;margin-bottom:2rem;text-align:center}.edit-post-form{gap:1.5rem}.edit-post-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#333;font-size:1rem;font-weight:600}.form-input,.form-textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .2s}.form-input:focus,.form-textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-textarea{min-height:120px;resize:vertical}.image-preview{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:1rem;padding:1rem}.image-preview img{border-radius:4px;box-shadow:0 2px 4px #0000001a;display:block;height:auto;margin:0 auto;max-height:400px;max-width:100%;object-fit:contain;width:auto}.image-note{color:#6c757d;font-size:.875rem;font-style:italic;margin-bottom:0;margin-top:.75rem;text-align:center}.form-actions{border-top:1px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem}.cancel-button,.submit-button{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s}.submit-button{background:#007bff;color:#fff}.submit-button:hover:not(:disabled){background:#0056b3;box-shadow:0 4px 8px #007bff33;transform:translateY(-1px)}.submit-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.cancel-button{background:#6c757d;color:#fff}.cancel-button:hover:not(:disabled){background:#545b62;box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.cancel-button:disabled{cursor:not-allowed;opacity:.6}.back-button{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.5rem 1.5rem}.back-button:hover{background:#545b62}.loading{color:#6c757d;font-size:1.25rem;padding:3rem;text-align:center}.error{padding:2rem;text-align:center}.error,.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24}.error-message{margin-bottom:1rem;padding:1rem}@media (max-width:768px){.edit-post-container{margin:1rem;padding:1.5rem}.edit-post-title{font-size:1.5rem}.form-actions{flex-direction:column-reverse}.cancel-button,.submit-button{width:100%}.image-preview img{max-height:300px}}@media (max-width:480px){.edit-post-container{margin:.5rem;padding:1rem}.edit-post-title{font-size:1.25rem}.form-input,.form-textarea{font-size:.875rem}.image-preview img{max-height:250px}}
/*# sourceMappingURL=main.02b489bc.css.map*/