.forum-container{background:var(--color-background-primary);overflow-x:hidden}.forum-layout{max-width:1280px;margin:0 auto;padding:var(--space-3);display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media(max-width:768px){.forum-layout{padding:var(--space-2);gap:var(--space-2)}}@media(min-width:769px){.forum-layout{grid-template-columns:minmax(0,1.62fr) minmax(0,1fr)}}.forum-main{min-width:0}@media(max-width:768px){.forum-main{order:2}}.forum-sidebar{min-width:0;overflow:visible}@media(max-width:768px){.forum-sidebar{order:1}}.forum-header{background:var(--color-card-forest);border:1px solid var(--color-border-forest-primary);border-radius:var(--radius-sm);padding:var(--space-2);margin-bottom:var(--space-2)}.forum-header .forum-title{display:flex;align-items:center;gap:12px;margin-bottom:8px}.forum-header .forum-title .icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-button-forest-primary)}.forum-header .forum-title h1{color:var(--color-text-forest-primary);font-size:18px;font-weight:600;margin:0;line-height:22px}.forum-header .forum-subtitle{color:var(--color-text-forest-secondary);font-size:14px;line-height:18px;margin:0}.post-card{background:var(--color-card-forest);border:1px solid var(--color-border-forest-primary);border-radius:var(--radius-sm);margin-bottom:var(--space-1);overflow:hidden;transition:border-color .2s ease}.post-card:hover{border-color:var(--color-border-forest-secondary)}.post-card-voting{display:flex;flex-direction:column;align-items:center;padding:8px;width:40px;background:var(--color-background-forest-secondary)}.post-card-voting .vote-btn{background:none;border:none;cursor:pointer;padding:2px;color:var(--color-text-forest-tertiary);transition:color .2s ease}.post-card-voting .vote-btn:hover{color:var(--color-text-forest-primary)}.post-card-voting .vote-btn.upvoted{color:var(--color-accent-upvote)}.post-card-voting .vote-btn.downvoted{color:var(--color-accent-downvote)}.post-card-voting .vote-btn svg{width:20px;height:20px}.post-card-voting .vote-count{font-weight:600;font-size:12px;color:var(--color-text-forest-primary);margin:4px 0;text-align:center}.post-card-voting .vote-count.positive{color:var(--color-accent-upvote)}.post-card-voting .vote-count.negative{color:var(--color-accent-downvote)}.post-card-content{flex:1;padding:8px 12px}.post-card-content .post-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:var(--color-text-forest-secondary);flex-wrap:wrap}.post-card-content .post-meta .community-link{color:var(--color-text-forest-primary);font-weight:600;text-decoration:none;background:none;border:none;cursor:pointer;font-size:12px}.post-card-content .post-meta .community-link:hover{text-decoration:underline}.post-card-content .post-meta .author,.post-card-content .post-meta .time,.post-card-content .post-meta .separator{color:var(--color-text-forest-secondary)}.post-card-content .post-title{font-size:18px;font-weight:500;color:var(--color-text-forest-primary);text-decoration:none;display:block;margin-bottom:8px;line-height:22px}.post-card-content .post-title:hover{color:var(--color-button-forest-primary);scale:1}.post-card-content .post-preview{color:var(--color-text-forest-secondary);font-size:14px;line-height:18px;margin-bottom:8px}.post-card-content .post-tags{margin-bottom:8px}.post-card-content .post-tags .tag{display:inline-block;padding:2px 8px;background:var(--color-background-forest-tertiary);color:var(--color-text-forest-primary);border:1px solid var(--color-border-forest-primary);border-radius:var(--radius-md);font-size:10px;font-weight:500;margin-right:4px;margin-bottom:4px}.post-card-content .post-tags .tag:hover{background:var(--color-button-forest-tertiary)}.post-card-content .post-actions{display:flex;align-items:center;gap:16px}.post-card-content .post-actions .action-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:2px;font-size:12px;font-weight:600;color:var(--color-text-forest-secondary);text-decoration:none;transition:background .2s ease}.post-card-content .post-actions .action-btn:hover{background:var(--color-background-forest-tertiary)}.post-card-content .post-actions .action-btn svg{width:16px;height:16px}.post-card-container{display:flex;align-items:flex-start}@media(max-width:640px){.post-card-container{flex-direction:column}.post-card-voting{flex-direction:row;justify-content:center;border-right:none;border-bottom:1px solid var(--color-border-primary);min-width:auto;width:100%;padding:.5rem}.post-card-voting .vote-count{margin:0 .5rem;min-height:auto}.post-card-content{padding:.75rem}.post-card-content .post-meta{flex-wrap:wrap;gap:.25rem;font-size:.8rem}.post-card-content .post-title{font-size:1rem;line-height:1.3}.post-card-content .post-actions{flex-wrap:wrap;gap:.5rem}.post-card-content .post-actions .action-btn{font-size:.8rem;padding:.25rem .5rem}.post-card-content .post-actions .action-btn svg{width:14px;height:14px}}@media(max-width:480px){.post-card-content .post-actions .action-btn span{display:none}}.community-card{background:var(--color-card-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:.75rem}.community-card-header{padding:1rem;border-bottom:1px solid var(--color-border-primary)}.community-card-header .community-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.25rem}.community-card-header .community-members{font-size:.875rem;color:var(--color-text-muted)}.community-card-body{padding:1rem}.community-card-body .community-description{font-size:.875rem;color:var(--color-text-muted);line-height:1.4;margin-bottom:1rem}.community-card-body .join-btn{width:100%;padding:.5rem 1rem;border:1px solid var(--color-button-primary);border-radius:var(--radius-xs);background:transparent;color:var(--color-button-primary);font-weight:500;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.community-card-body .join-btn:hover,.community-card-body .join-btn.joined{background:var(--color-button-primary);color:var(--color-on-accent-solid)}.community-card-body .join-btn.joined:hover{background:transparent;color:var(--color-button-primary)}.forum-sidebar .sidebar-section{background:var(--color-card-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);margin-bottom:1rem;overflow:hidden}.forum-sidebar .sidebar-section--communities,.forum-sidebar .sidebar-section--communities .section-content{overflow:visible}.forum-sidebar .sidebar-section .section-header{padding:1rem;border-bottom:1px solid var(--color-border-primary);font-weight:600;color:var(--color-text-primary);background:var(--color-background-secondary)}.forum-sidebar .sidebar-section .section-content{padding:1rem}.forum-sidebar .create-community-btn{width:100%;padding:.75rem 1rem;background:var(--color-button-primary);color:var(--color-on-accent-solid);border:none;border-radius:var(--radius-xs);font-weight:600;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);margin-bottom:1rem}.forum-sidebar .create-community-btn:hover{background:var(--color-button-hover)}.forum-sidebar .community-list{overflow:visible}.forum-sidebar .community-list .community-item{display:flex;flex-direction:column;gap:.5rem;box-sizing:border-box;border-bottom:1px solid var(--color-border-primary);transition:background .2s ease;text-align:left}.forum-sidebar .community-list .community-item:last-child{border-bottom:none}.forum-sidebar .community-list .community-item:hover{background:var(--color-background-tertiary)}.forum-sidebar .community-list .community-item.is-active{background:var(--color-background-tertiary);box-shadow:inset 0 0 0 1px var(--color-border-secondary);position:relative}.forum-sidebar .community-list .community-item.is-active:before{content:"";position:absolute;left:0;top:.5rem;bottom:.5rem;width:3px;border-radius:var(--radius-full);background:var(--color-button-primary)}.forum-sidebar .community-list .community-item.is-active .community-name{color:var(--color-text-accent)}.forum-sidebar .community-list .community-item .community-name-row{background:transparent;border:none;padding:0;cursor:pointer}.forum-sidebar .community-list .community-item .community-name{display:block;font-weight:600;color:var(--color-text-primary);font-size:.9375rem;line-height:1.3}.forum-sidebar .community-list .community-item .community-details-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem .75rem;align-items:start}.forum-sidebar .community-list .community-item .community-description{margin:0;font-size:.75rem;line-height:1.4;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.forum-sidebar .community-list .community-item .community-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.forum-sidebar .community-list .community-item .community-stats{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.forum-sidebar .community-list .community-item .community-actions-menu{position:relative}.forum-sidebar .community-list .community-item .community-actions-panel{position:absolute;right:0;top:calc(100% + .25rem);z-index:30;min-width:8.5rem;padding:.25rem;border-radius:var(--radius-xs);border:1px solid var(--color-border-primary);background:var(--color-background-primary);box-shadow:0 4px 12px #00000026}.forum-sidebar .community-list .community-item .community-actions-panel--up{top:auto;bottom:calc(100% + .25rem)}.forum-sidebar .community-list .community-item .community-actions-item{display:block;width:100%;padding:.5rem .75rem;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary);font-size:.8125rem;text-align:left;cursor:pointer}.forum-sidebar .community-list .community-item .community-actions-item:hover,.forum-sidebar .community-list .community-item .community-actions-item:focus-visible{background:var(--color-background-tertiary);outline:none}.forum-sidebar .community-list .community-item .community-actions-item--danger{color:var(--color-text-error)}.comment-thread{margin-top:1rem}.comment-thread .comment{border-left:2px solid var(--color-border-primary);padding-left:1rem;margin-bottom:1rem}.comment-thread .comment.reply{margin-left:1rem;border-left-color:var(--color-border-secondary)}.comment-thread .comment .comment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem}.comment-thread .comment .comment-header .comment-author{font-weight:600;color:var(--color-text-primary)}.comment-thread .comment .comment-header .comment-time{color:var(--color-text-muted)}.comment-thread .comment .comment-content{color:var(--color-text-primary);line-height:1.5;margin-bottom:.5rem}.comment-thread .comment .comment-actions{display:flex;align-items:center;gap:1rem;font-size:.875rem}.comment-thread .comment .comment-actions .vote-actions{display:flex;align-items:center;gap:.25rem}.comment-thread .comment .comment-actions .vote-actions .vote-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:var(--radius-xs);color:var(--color-text-muted);transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.comment-thread .comment .comment-actions .vote-actions .vote-btn:hover{background:var(--color-background-tertiary);color:var(--color-text-primary)}.comment-thread .comment .comment-actions .vote-actions .vote-btn.upvoted{color:var(--color-accent-upvote)}.comment-thread .comment .comment-actions .vote-actions .vote-btn.downvoted{color:var(--color-accent-downvote)}.comment-thread .comment .comment-actions .vote-actions .vote-btn svg{width:14px;height:14px}.comment-thread .comment .comment-actions .vote-actions .vote-score{font-weight:600;color:var(--color-text-primary);margin:0 .25rem}.comment-thread .comment .comment-actions .reply-btn{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-weight:500;transition:color .2s ease}.comment-thread .comment .comment-actions .reply-btn:hover{color:var(--color-text-primary)}.modal-overlay{position:fixed;inset:0;background:var(--color-overlay-scrim);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--color-card-primary);border-radius:var(--radius-md);padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content .modal-header{margin-bottom:1.5rem}.modal-content .modal-header .modal-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.modal-content .form-group{margin-bottom:1rem}.modal-content .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text-primary)}.modal-content .form-group input,.modal-content .form-group textarea,.modal-content .form-group select{width:100%;padding:.75rem;border:1px solid var(--color-border-primary);border-radius:var(--radius-xs);background:var(--color-background-primary);color:var(--color-text-primary);font-size:.875rem}.modal-content .form-group input:focus,.modal-content .form-group textarea:focus,.modal-content .form-group select:focus{outline:none;border-color:var(--color-button-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus-ring) 28%,transparent)}.modal-content .form-group textarea{resize:vertical;min-height:100px}.modal-content .modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.modal-content .modal-actions .btn{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-xs);font-weight:500;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.modal-content .modal-actions .btn.btn-secondary{background:var(--color-background-tertiary);color:var(--color-text-primary)}.modal-content .modal-actions .btn.btn-secondary:hover{background:var(--color-background-secondary)}.modal-content .modal-actions .btn.btn-primary{background:var(--color-button-primary);color:var(--color-on-accent-solid)}.modal-content .modal-actions .btn.btn-primary:hover{background:var(--color-button-hover)}.forum-controls{display:flex;align-items:center;gap:16px;margin-bottom:8px;padding:12px 16px;background:var(--color-card-forest);border:1px solid var(--color-border-forest-primary);border-radius:var(--radius-xs)}.forum-controls .sort-tabs{display:flex;gap:4px}.forum-controls .sort-tabs .sort-tab{background:none;border:none;cursor:pointer;padding:8px 12px;border-radius:var(--radius-xs);font-weight:500;font-size:14px;color:var(--color-text-forest-secondary);transition:background .2s ease}.forum-controls .sort-tabs .sort-tab:hover{background:var(--color-background-forest-tertiary)}.forum-controls .sort-tabs .sort-tab.active{background:var(--color-text-error);color:var(--color-on-accent-solid)}.forum-controls .search-box{flex:1;position:relative}.forum-controls .search-box input{width:100%;padding:8px 12px 8px 36px;border:1px solid var(--color-border-forest-primary);border-radius:var(--radius-xs);background:var(--color-background-forest-primary);color:var(--color-text-forest-primary);font-size:14px}.forum-controls .search-box input:focus{outline:none;border-color:var(--color-button-forest-primary)}.forum-controls .search-box input::-moz-placeholder{color:var(--color-text-forest-tertiary)}.forum-controls .search-box input::placeholder{color:var(--color-text-forest-tertiary)}.forum-controls .search-box .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-forest-tertiary);width:16px;height:16px}.forum-controls .create-post-btn{background:var(--color-button-forest-primary);color:var(--color-on-accent-solid);border:none;border-radius:var(--radius-xs);padding:8px 16px;font-weight:500;font-size:14px;cursor:pointer;text-decoration:none;transition:background .2s ease}.forum-controls .create-post-btn:hover{background:var(--color-button-forest-secondary)}@media(max-width:768px){.forum-controls{flex-direction:column;align-items:stretch;gap:12px}.forum-controls .sort-tabs{justify-content:center}.forum-controls .search-box{max-width:none}}.post-tag-composer{display:flex;flex-direction:column;gap:var(--space-2)}.post-tag-composer--readonly{margin-top:var(--space-2)}.post-tag-composer__chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.post-tag-composer__input-wrap{position:relative}.post-tag-composer__input{width:100%}.post-tag-composer__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;max-height:240px;overflow-y:auto;margin:0;padding:var(--space-1);list-style:none;background:var(--color-card-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);box-shadow:var(--color-shadow-elevated)}.post-tag-composer__dropdown--empty{padding:var(--space-2);font-size:.875rem;color:var(--color-text-muted)}.post-tag-composer__option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;text-align:left;cursor:pointer;color:var(--color-text-primary)}.post-tag-composer__option:hover,.post-tag-composer__option--active{background:var(--color-background-secondary)}.post-tag-composer__option-type{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.post-tag-composer__option-label{font-size:.875rem;font-weight:500}.post-tag-composer__option-subtitle{font-size:.75rem;color:var(--color-text-secondary)}.post-tag-composer__hint{margin:0}.post-tags-editor{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-primary);border-radius:var(--radius-sm)}.post-tags-editor__actions{margin-top:var(--space-2);display:flex;justify-content:flex-end}@media(max-width:640px){.forum-controls{flex-direction:column;align-items:stretch;gap:.75rem}.forum-controls .sort-tabs{justify-content:center}.forum-controls .search-box{max-width:none}}._chip_1ga92_1{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;line-height:1.2;white-space:nowrap}._syllabus_1ga92_14{background:var(--color-background-secondary);box-shadow:var(--elevation-ring);color:var(--color-text-primary)}._teacher_1ga92_20{background:var(--color-accent-soft);color:var(--color-accent-primary)}._icon_1ga92_25{width:14px;height:14px;flex-shrink:0;opacity:.75}._remove_1ga92_32{display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:2px;border:none;background:transparent;color:currentColor;opacity:.7;cursor:pointer;border-radius:var(--radius-full)}@media(hover:hover){._remove_1ga92_32:hover:not(:disabled){opacity:1}}
