.forum-page{padding-top:2rem;padding-bottom:3rem}.forum-welcome-banner{text-align:center;margin-bottom:2rem}.forum-welcome-title{color:var(--color-text-primary,#fff);margin-bottom:1.5rem;font-size:1.75rem;font-weight:700}.forum-featured-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.forum-featured-card{background:var(--color-bg-surface,#2a2a2a);border:1px solid var(--color-border-default,#3a3a3a);border-radius:var(--radius-xl,12px);color:inherit;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem;text-decoration:none;transition:transform .15s,border-color .15s;display:flex}.forum-featured-card:hover{border-color:var(--color-primary-500,#09bec8);transform:translateY(-2px)}.forum-featured-image{aspect-ratio:16/9;background:linear-gradient(135deg, var(--color-primary-600,#078a91), var(--color-primary-400,#0bdde8));border-radius:var(--radius-lg,8px);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.forum-featured-image img{object-fit:cover;width:100%;height:100%}.forum-featured-placeholder{font-size:3rem;line-height:1}.forum-featured-title{color:var(--color-primary-400,#0bdde8);text-align:center;font-size:1rem;font-weight:600}.forum-header{margin-bottom:2rem}.forum-header h1{margin-bottom:.5rem;font-size:2rem;font-weight:700}.forum-loading,.forum-error{text-align:center;padding:3rem 1rem}.forum-categories{grid-template-columns:repeat(4,1fr);align-items:start;gap:1rem;display:grid}.forum-category-card-wrapper{flex-direction:column;gap:.5rem;display:flex;position:relative}.forum-category-card{background:var(--color-bg-surface,#2a2a2a);border:1px solid var(--color-border-default,#3a3a3a);border-radius:var(--radius-lg,8px);height:110px;color:inherit;align-items:center;gap:1rem;padding:1.25rem;text-decoration:none;transition:transform .15s,border-color .15s;display:flex;overflow:hidden}.forum-category-card:hover{border-color:var(--color-primary-500,#09bec8);transform:translateY(-2px)}.forum-category-icon{width:2.5rem;height:2.5rem;color:var(--color-text-primary,#fff);flex-shrink:0;justify-content:center;align-items:center;display:flex}.forum-category-icon-svg{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.forum-category-icon-svg svg{width:100%;height:100%}.forum-category-info{min-width:0}.forum-category-info h2{white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-size:1.15rem;font-weight:600;overflow:hidden}.forum-category-info p{color:var(--color-text-secondary,#b0b0b0);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.9rem;display:-webkit-box;overflow:hidden}.forum-category-edit-btn{color:var(--color-text-secondary,#b0b0b0);cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;display:flex;position:absolute;top:.5rem;right:.5rem}.forum-category-edit-btn:hover{opacity:1;color:var(--color-primary-500,#09bec8)}.forum-category-edit-icon{justify-content:center;align-items:center;width:16px;height:16px;display:flex}.forum-category-edit-icon svg{width:100%;height:100%}.forum-modal-overlay{z-index:var(--z-modal-backdrop,1000);background-color:#000000bf;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.forum-modal-content{background-color:var(--color-bg-surface,#2a2a2a);border-radius:var(--radius-xl,12px);border:1px solid var(--color-border-default,#3a3a3a);flex-direction:column;width:100%;max-width:480px;max-height:calc(100vh - 2rem);animation:.2s slideIn;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #00000080}.forum-modal-header{border-bottom:1px solid var(--color-border-default,#3a3a3a);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.forum-modal-header h3{color:var(--color-text-primary,#fff);margin:0;font-size:1.15rem;font-weight:600}.forum-modal-close{border-radius:var(--radius-md,6px);width:32px;height:32px;color:var(--color-text-secondary,#b0b0b0);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.forum-modal-close:hover{background-color:var(--color-bg-hover,#333);color:var(--color-error-light,#ff6b6b)}.forum-modal-body{flex-direction:column;gap:.75rem;padding:1.25rem;display:flex;overflow-y:auto}.forum-edit-field{color:var(--color-text-secondary,#b0b0b0);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.forum-edit-field input,.forum-edit-field textarea{background:var(--color-bg-base,#222);border:1px solid var(--color-border-default,#3a3a3a);border-radius:var(--radius-md,6px);color:var(--color-text-primary,#fff);resize:vertical;padding:.6rem .75rem;font-family:inherit;font-size:.95rem}.forum-edit-field input:focus,.forum-edit-field textarea:focus{border-color:var(--color-primary-500,#09bec8);outline:none}.forum-edit-icon-preview{background:var(--color-bg-base,#222);border:1px solid var(--color-border-default,#3a3a3a);border-radius:var(--radius-md,6px);width:3rem;height:3rem;color:var(--color-primary-500,#09bec8);justify-content:center;align-items:center;margin-bottom:.5rem;padding:.5rem;display:flex}.forum-edit-icon-preview img{object-fit:contain;width:100%;height:100%}.forum-edit-icon-preview-svg{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.forum-edit-icon-preview-svg svg{width:100%;height:100%}.forum-modal-footer{border-top:1px solid var(--color-border-default,#3a3a3a);background-color:var(--color-bg-surface,#2a2a2a);justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;display:flex}.forum-modal-footer button{border-radius:var(--radius-md,6px);cursor:pointer;border:none;padding:.6rem 1.25rem;font-size:.95rem;font-weight:600;transition:opacity .15s}.forum-modal-footer button:disabled{opacity:.6;cursor:not-allowed}.forum-modal-cancel{background:var(--color-bg-elevated,#333);color:var(--color-text-primary,#fff)}.forum-modal-save{background:var(--color-primary-500,#09bec8);color:#000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
