:root{--font-family:"Pretendard", -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Noto Sans KR", sans-serif;--font-size-base:16px;--font-size-sm:.875rem;--font-size-xs:.75rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--bg-app:#f4f4f5;--bg-card:#fff;--bg-card-subtle:#fafafa;--bg-input:#fff;--bg-hover:#f4f4f5;--border-color:#e4e4e7;--border-focus:#18181b;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#71717a;--text-inverse:#fff;--primary-color:#18181b;--primary-hover:#27272a;--primary-light:#f4f4f5;--primary-border:#d4d4d8;--success-color:#15803d;--success-bg:#dcfce7;--warning-color:#b45309;--warning-bg:#fef3c7;--danger-color:#dc2626;--danger-bg:#fee2e2;--ai-purple:#27272a;--ai-purple-light:#f4f4f5;--shadow-sm:0 1px 2px 0 #0000000a;--shadow-md:0 4px 6px -1px #0000000f, 0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px}html[data-font-size=sm]{--font-size-base:14px}html[data-font-size=md]{--font-size-base:16px}html[data-font-size=lg]{--font-size-base:18px}html[data-font-size=xl]{--font-size-base:20px}html[data-theme=green]{--bg-app:#eaf2ec;--bg-card:#f6fbf7;--bg-card-subtle:#e2ede5;--bg-input:#f9fdf9;--bg-hover:#dbe8df;--border-color:#bfd3c5;--border-focus:#1f6e43;--text-primary:#132a1d;--text-secondary:#2d4d3a;--text-muted:#527360;--text-inverse:#f6fbf7;--primary-color:#1f6e43;--primary-hover:#175634;--primary-light:#d6ebe0;--primary-border:#9ec4ad;--success-color:#166534;--success-bg:#d1fae5;--warning-color:#92400e;--warning-bg:#fef3c7;--danger-color:#b91c1c;--danger-bg:#fee2e2;--ai-purple:#1f6e43;--ai-purple-light:#d6ebe0;--shadow-sm:0 1px 2px 0 #132a1d0f;--shadow-md:0 4px 8px -1px #132a1d14;--shadow-lg:0 10px 18px -3px #132a1d1f;--shadow-xl:0 20px 26px -5px #132a1d29}html[data-theme=dark]{--bg-app:#09090b;--bg-card:#18181b;--bg-card-subtle:#27272a;--bg-input:#18181b;--bg-hover:#27272a;--border-color:#27272a;--border-focus:#f4f4f5;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--text-inverse:#09090b;--primary-color:#f4f4f5;--primary-hover:#e4e4e7;--primary-light:#27272a;--primary-border:#3f3f46;--success-color:#4ade80;--success-bg:#14532d;--warning-color:#fbbf24;--warning-bg:#451a03;--danger-color:#f87171;--danger-bg:#450a0a;--ai-purple:#e4e4e7;--ai-purple-light:#27272a;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #00000080;--shadow-lg:0 10px 15px -3px #0009;--shadow-xl:0 20px 25px -5px #000000b3}html[data-theme=green-dark]{--bg-app:#111714;--bg-card:#18211c;--bg-card-subtle:#202c25;--bg-input:#141c18;--bg-hover:#26352c;--border-color:#2c3d33;--border-focus:#6ca684;--text-primary:#e4ede7;--text-secondary:#aec2b6;--text-muted:#7f9688;--text-inverse:#0f1713;--primary-color:#74b08b;--primary-hover:#5e9b75;--primary-light:#1e3126;--primary-border:#355743;--success-color:#82c49b;--success-bg:#1c3526;--warning-color:#eab308;--warning-bg:#3b260b;--danger-color:#f08a8a;--danger-bg:#3e1518;--ai-purple:#86bfa0;--ai-purple-light:#1e3126;--shadow-sm:0 1px 2px 0 #00000059;--shadow-md:0 4px 8px -1px #0000006b;--shadow-lg:0 10px 18px -3px #00000080;--shadow-xl:0 20px 28px -5px #0009}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-family);font-size:var(--font-size-base);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6;transition:background-color .25s,color .25s}button{font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}.app-root{background:var(--bg-app);flex-direction:column;width:100%;min-height:100vh;display:flex}.app-shell{flex-direction:column;flex:1;width:100%;min-height:100vh;display:flex;position:relative}.main-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);z-index:100;box-shadow:var(--shadow-sm);transition:all .2s;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:12px 24px;display:flex}.header-brand{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex}.brand-logo-icon{background:var(--text-primary);width:42px;height:42px;color:var(--bg-card);border-radius:var(--radius-md);box-shadow:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-univ-tag{letter-spacing:.8px;color:var(--text-muted);margin-bottom:2px;font-size:.65rem;font-weight:800}.brand-title{letter-spacing:-.5px;color:var(--text-primary);font-size:1.25rem;font-weight:800;line-height:1.2}.brand-subtitle{color:var(--text-muted);font-size:.76rem;font-weight:500}.header-actions{align-items:center;gap:10px;display:flex}.header-action-btn.write-btn{background:var(--primary-color);color:var(--text-inverse);border-radius:var(--radius-md);box-shadow:none;border:1px solid var(--border-color);cursor:pointer;align-items:center;gap:6px;padding:8px 16px;font-size:.88rem;font-weight:600;transition:all .2s;display:flex}.header-action-btn.write-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.header-icon-btn{border-radius:var(--radius-md);width:38px;height:38px;color:var(--text-secondary);background:var(--bg-card-subtle);border:1px solid var(--border-color);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.header-icon-btn:hover,.header-icon-btn.active{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-focus)}.header-notif-dot{background:var(--text-primary);color:var(--bg-card);border-radius:var(--radius-full);border:2px solid var(--bg-card);justify-content:center;align-items:center;min-width:18px;height:18px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.user-profile-menu-container{position:relative}.header-user-chip{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:5px 12px 5px 7px;transition:all .2s;display:flex}.header-user-chip:hover,.header-user-chip.active{background:var(--bg-hover);border-color:var(--border-focus)}.chip-avatar{background:var(--text-primary);width:26px;height:26px;color:var(--bg-card);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;line-height:1;display:inline-flex}.chip-details{flex-direction:column;display:flex}.chip-name{color:var(--text-primary);font-size:.85rem;font-weight:700;line-height:1.1}.chip-role{color:var(--text-muted);font-size:.72rem}.chip-chevron{color:var(--text-muted);margin-left:2px;transition:transform .2s}.chip-chevron.rotated{transform:rotate(180deg)}.user-account-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);z-index:1000;width:320px;animation:.2s fadeInDown;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 10px 25px #00000026}.current-user-card{background:var(--bg-card-subtle);align-items:center;gap:12px;padding:16px;display:flex}.card-avatar-large{background:var(--text-primary);width:44px;height:44px;color:var(--bg-card);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.card-info{flex:1;min-width:0}.card-name-row{align-items:center;gap:8px;display:flex}.card-name{color:var(--text-primary);font-size:1rem;font-weight:700}.card-role-badge{border-radius:var(--radius-full);padding:2px 7px;font-size:.7rem;font-weight:700}.card-role-badge.prof-badge{background:var(--text-primary);color:var(--bg-card)}.card-role-badge.student-badge{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-color)}.card-sub-info{color:var(--text-secondary);margin-top:2px;font-size:.78rem}.card-login-status{color:var(--text-muted);align-items:center;gap:4px;margin-top:4px;font-size:.72rem;font-weight:600;display:flex}.status-shield-icon{flex-shrink:0}.account-dropdown-divider{background:var(--border-color);height:1px}.account-switcher-section{max-height:280px;padding:12px 14px;overflow-y:auto}.switcher-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:10px;font-size:.75rem;font-weight:700;display:flex}.account-group{margin-bottom:12px}.account-group:last-child{margin-bottom:0}.group-title{color:var(--text-muted);margin-bottom:4px;padding:2px 8px;font-size:.72rem;font-weight:700}.account-switch-item{border-radius:var(--radius-md);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:all .15s;display:flex}.account-switch-item:hover{background:var(--bg-hover)}.account-switch-item.selected{background:var(--primary-light);border-color:var(--primary-border)}.switch-item-avatar{background:var(--text-primary);width:26px;height:26px;color:var(--bg-card);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;line-height:1;display:inline-flex}.switch-item-details{flex:1;min-width:0}.switch-item-name{color:var(--text-primary);font-size:.85rem;font-weight:700;display:block}.switch-item-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;display:block;overflow:hidden}.switch-item-check{color:var(--primary-color);flex-shrink:0}.dropdown-footer-actions{background:var(--bg-card-subtle);padding:10px 14px}.dropdown-footer-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.78rem;font-weight:600;transition:all .2s;display:flex}.dropdown-footer-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.notif-wrapper{position:relative}.notif-dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:360px;max-width:90vw;box-shadow:var(--shadow-xl);z-index:500;animation:.2s ease-out fadeInDown;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notif-header{background:var(--bg-card-subtle);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notif-title{color:var(--text-primary);align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.unread-badge{color:#fff;border-radius:var(--radius-full);background:#ef4444;padding:2px 7px;font-size:.75rem;font-weight:700}.mark-all-read-btn{color:var(--primary-color);align-items:center;gap:4px;font-size:.78rem;font-weight:600;display:flex}.mark-all-read-btn:hover{text-decoration:underline}.dnd-notice-banner{color:#92400e;background:#fef3c7;border-bottom:1px solid #fde68a;gap:8px;padding:10px 14px;font-size:.8rem;display:flex}html[data-theme=dark] .dnd-notice-banner{color:#fde68a;background:#451a03;border-bottom-color:#78350f}.notif-list{max-height:380px;overflow-y:auto}.notif-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:40px 20px;font-size:.9rem;display:flex}.notif-item{border-bottom:1px solid var(--border-color);cursor:pointer;padding:12px 16px;transition:background .15s}.notif-item:hover{background:var(--bg-hover)}.notif-item.unread{background:var(--primary-light);border-left:4px solid var(--primary-color)}.notif-item-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.notif-type-tag{border-radius:var(--radius-sm);padding:2px 6px;font-size:.72rem;font-weight:700}.notif-type-tag.new_answer{background:var(--success-bg);color:var(--success-color)}.notif-type-tag.new_question{background:var(--primary-light);color:var(--primary-color)}.notif-type-tag.co_prof_question{background:var(--warning-bg);color:var(--warning-color)}.notif-time{color:var(--text-muted);font-size:.72rem}.notif-item-title{color:var(--text-primary);margin-bottom:2px;font-size:.88rem;font-weight:700}.notif-item-message{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.main-content-area{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px}.btn{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary-color);color:var(--text-inverse);border:1px solid var(--border-color)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--bg-card-subtle);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-outline{border:1px solid var(--border-color);color:var(--text-primary);background:0 0}.btn-outline:hover{background:var(--bg-hover)}.cat-pill{border-radius:var(--radius-sm);align-items:center;padding:3px 9px;font-size:.76rem;font-weight:700;display:inline-flex}.cat-pill.badge-grade{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.cat-pill.badge-assignment{background:var(--bg-card-subtle);color:var(--text-secondary);border:1px solid var(--border-color)}.cat-pill.badge-lecture{background:var(--text-primary);color:var(--bg-card);border:1px solid var(--text-primary)}.course-tag{color:var(--text-secondary);background:var(--bg-card-subtle);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:3px 8px;font-size:.8rem;font-weight:600}.ai-applied-tag{color:var(--text-secondary);background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-sm);align-items:center;gap:3px;padding:2px 7px;font-size:.72rem;font-weight:600;display:inline-flex}html[data-theme=dark] .ai-applied-tag{color:var(--text-secondary);background:var(--bg-card-subtle);border-color:var(--border-color)}.student-banner-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:22px 24px;display:flex}.student-banner-left{align-items:center;gap:16px;display:flex}.student-avatar-box{background:var(--text-primary);width:52px;height:52px;color:var(--bg-card);border-radius:var(--radius-full);border:none;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex}.student-info-meta h3{color:var(--text-primary);margin-bottom:4px;font-size:1.25rem;font-weight:800}.student-sub{color:var(--text-muted);font-size:.85rem}.new-q-btn{box-shadow:none}.list-controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.search-input-wrap{flex:1;min-width:240px;position:relative}.search-icon{color:var(--text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);outline:none;padding:10px 14px 10px 38px;font-size:.9rem;transition:border .2s}.search-input:focus{border-color:var(--border-focus)}.filter-group-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.student-tabs{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:3px;display:flex}.student-tab{color:var(--text-secondary);border-radius:var(--radius-sm);padding:7px 14px;font-size:.85rem;font-weight:600;transition:all .2s}.student-tab.active{background:var(--bg-card);color:var(--primary-color);box-shadow:var(--shadow-sm)}.category-select-wrap,.category-filter-select{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:6px;padding:6px 12px;display:flex}.cat-select{color:var(--text-primary);cursor:pointer;background:0 0;border:none;outline:none;font-size:.85rem;font-weight:600}.questions-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;display:grid}.question-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm);flex-direction:column;padding:20px;transition:all .22s cubic-bezier(.16,1,.3,1);display:flex}.question-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-focus);transform:translateY(-2px)}.card-top-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.card-tags-left{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.card-status-right{align-items:center;gap:6px;display:flex}.status-badge{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.status-badge.answered{background:var(--text-primary);color:var(--bg-card)}.status-badge.waiting{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-color)}.co-prof-action-badge{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 7px;font-size:.72rem;font-weight:700;display:inline-flex}html[data-theme=dark] .co-prof-action-badge{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color)}.card-title{color:var(--text-primary);margin-bottom:8px;font-size:1.05rem;font-weight:700;line-height:1.4}.card-snippet{color:var(--text-secondary);flex:1;margin-bottom:16px;font-size:.88rem;line-height:1.5}.card-bottom-row{color:var(--text-muted);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:12px;font-size:.78rem;display:flex}.card-author{align-items:center;gap:6px;display:flex}.author-anon,.author-real{color:var(--text-secondary);align-items:center;gap:4px;font-weight:600;display:inline-flex}.author-anon{color:var(--text-muted)}.empty-state-box{text-align:center;background:var(--bg-card);border:1px dashed var(--border-color);border-radius:var(--radius-lg);color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;padding:60px 20px;display:flex}.question-form-container{max-width:840px;margin:0 auto}.form-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:32px}.form-header{border-bottom:1px solid var(--border-color);margin-bottom:24px;padding-bottom:18px}.form-header-title{align-items:center;gap:10px;margin-bottom:6px;display:flex}.form-header-title h3{color:var(--text-primary);font-size:1.35rem;font-weight:800}.form-header-subtitle{color:var(--text-muted);font-size:.88rem}.form-error-banner{background:var(--danger-bg);color:var(--danger-color);border-radius:var(--radius-md);align-items:center;gap:8px;margin-bottom:20px;padding:10px 14px;font-size:.88rem;font-weight:600;display:flex}.form-group{margin-bottom:22px}.form-label{color:var(--text-primary);margin-bottom:8px;font-size:.95rem;font-weight:700;display:block}.req{color:#ef4444}.course-select-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.course-chip{background:var(--bg-card-subtle);border:2px solid var(--border-color);border-radius:var(--radius-md);text-align:left;flex-direction:column;padding:10px 14px;transition:all .2s;display:flex}.course-chip:hover{border-color:var(--primary-border)}.course-chip.active{background:var(--primary-light);border-color:var(--primary-color)}.course-name{color:var(--text-primary);font-size:.95rem;font-weight:700}.course-prof{color:var(--text-muted);margin-top:2px;font-size:.8rem}.label-with-rule{flex-wrap:wrap;justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.cat-rule-summary{color:var(--text-muted);font-size:.8rem}.category-select-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=640px){.category-select-grid{grid-template-columns:1fr}}.category-select-card{background:var(--bg-card-subtle);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;padding:14px;transition:all .2s;display:flex}.category-select-card:hover:not(.disabled-cat){border-color:var(--primary-border)}.category-select-card.selected{background:var(--bg-card);border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.category-select-card.disabled-cat{opacity:.55;cursor:not-allowed;filter:grayscale(.5)}.cat-select-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cat-inactive-tag{color:#ef4444;background:#fee2e2;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700}.selected-check{color:var(--primary-color)}.cat-desc-text{color:var(--text-secondary);flex:1;margin-bottom:8px;font-size:.82rem;line-height:1.4}.cat-constraints-info{border-top:1px dashed var(--border-color);padding-top:6px;font-size:.72rem;font-weight:600}.constraint-warn{color:var(--text-primary);font-weight:700}.constraint-info{color:var(--text-secondary)}.constraint-ok{color:var(--text-muted)}.input-text{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;width:100%;padding:11px 14px;font-size:.95rem;transition:border .2s}.input-text:focus{border-color:var(--border-focus)}.similar-detect-banner{border-radius:var(--radius-md);background:#f0fdf4;border:1px solid #bbf7d0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:12px 16px;display:flex}html[data-theme=dark] .similar-detect-banner{background:#064e3b;border-color:#047857}.detect-text{color:#166534;align-items:center;gap:8px;font-size:.88rem;display:flex}html[data-theme=dark] .detect-text{color:#a7f3d0}.btn-view-similar{color:#fff;border-radius:var(--radius-sm);background:#16a34a;padding:6px 12px;font-size:.82rem;font-weight:700;transition:background .2s}.btn-view-similar:hover{background:#15803d}.title-label-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.btn-ai-assist-inline{background:var(--bg-hover);color:var(--text-primary);border-radius:var(--radius-sm);box-shadow:none;cursor:pointer;border:1px solid var(--border-color);align-items:center;gap:5px;padding:4px 10px;font-size:.76rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-ai-assist-inline:hover{background:var(--border-color)}.content-label-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.content-toolbar-actions{align-items:center;gap:8px;display:flex}.btn-ai-assist{background:var(--text-primary);color:var(--bg-card);border-radius:var(--radius-md);box-shadow:none;border:1px solid var(--border-color);align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-ai-assist:hover{background:var(--primary-hover)}.btn-ai-assist.refined-active{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-focus)}.btn-similar-search{background:var(--bg-card-subtle);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.btn-similar-search:disabled{opacity:.4;cursor:not-allowed}.textarea-content{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);resize:vertical;outline:none;width:100%;padding:14px;font-size:.95rem;line-height:1.6;transition:border .2s}.textarea-content:focus{border-color:var(--border-focus)}.textarea-content.has-refined-border{border-color:var(--border-focus);background:var(--bg-card)}.refined-status-hint{color:var(--text-secondary);align-items:center;gap:6px;margin-top:6px;font-size:.8rem;font-weight:500;display:flex}.anonymous-group{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px}.checkbox-label{cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:inline-flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px}.checkbox-label.disabled-label{opacity:.5;cursor:not-allowed}.checkbox-text{align-items:center;gap:6px;display:inline-flex}.anon-disabled-reason{color:#ef4444;margin-top:6px;font-size:.8rem;font-weight:600;display:block}.anon-rule-desc{color:var(--text-muted);margin-top:6px;font-size:.82rem;line-height:1.4;display:block}.form-submit-row{justify-content:flex-end;align-items:center;gap:12px;margin-top:28px;display:flex}.submit-btn{padding:11px 26px}.prof-welcome-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:24px;display:flex}.prof-welcome-left{align-items:center;gap:16px;display:flex}.prof-avatar-box{background:var(--primary-light);border-radius:var(--radius-full);border:2px solid var(--primary-border);justify-content:center;align-items:center;width:56px;height:56px;font-size:2rem;display:flex}.prof-name-badge{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.prof-name{color:var(--text-primary);font-size:1.3rem;font-weight:800}.prof-badge{background:var(--primary-color);color:#fff;border-radius:4px;padding:2px 7px;font-size:.72rem;font-weight:700}.prof-dept{color:var(--text-muted);font-size:.85rem}.prof-courses-list{color:var(--text-secondary);font-size:.85rem}.prof-quick-controls{align-items:center;gap:10px;display:flex}.prof-control-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);align-items:center;gap:6px;padding:9px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.prof-control-btn:hover{background:var(--bg-hover);color:var(--primary-color);border-color:var(--primary-border)}.prof-control-btn.dnd-on{color:#b45309;background:#fef3c7;border-color:#f59e0b}.prof-stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}@media (width<=900px){.prof-stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:14px;padding:18px 20px;transition:all .2s;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card.highlight{border-color:var(--primary-color);background:var(--primary-light)}.stat-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon.warn{background:var(--warning-bg);color:var(--warning-color)}.stat-icon.primary{background:var(--primary-light);color:var(--primary-color)}.stat-icon.info{color:#16a34a;background:#f0fdf4}.stat-icon.normal{background:var(--bg-card-subtle);color:var(--text-muted)}.stat-content{flex-direction:column;display:flex}.stat-label{color:var(--text-muted);font-size:.8rem;font-weight:600}.stat-value{color:var(--text-primary);font-size:1.35rem;font-weight:800;line-height:1.2}.dashboard-filters-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.filter-tabs{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;gap:2px;padding:3px;display:flex}.filter-tab{color:var(--text-secondary);border-radius:var(--radius-sm);padding:7px 14px;font-size:.85rem;font-weight:600;transition:all .2s}.filter-tab.active{background:var(--bg-card);color:var(--primary-color);box-shadow:var(--shadow-sm)}.question-detail-container{max-width:900px;margin:0 auto}.detail-top-nav{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.btn-back{color:var(--text-secondary);border-radius:var(--radius-sm);background:var(--bg-card-subtle);border:1px solid var(--border-color);align-items:center;gap:6px;padding:6px 12px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-back:hover{color:var(--primary-color);background:var(--bg-hover)}.btn-edit-question{background:var(--bg-card);color:var(--primary-color);border:1px solid var(--primary-color);border-radius:var(--radius-md);align-items:center;gap:6px;padding:7px 14px;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #2563eb26}.btn-edit-question:hover{background:var(--primary-light);transform:translateY(-1px);box-shadow:0 3px 6px #2563eb40}.edited-badge{color:#0284c7;border-radius:var(--radius-full);background:#e0f2fe;border:1px solid #bae6fd;align-items:center;gap:3px;padding:2px 7px;font-size:.72rem;font-weight:700;display:inline-flex}html[data-theme=dark] .edited-badge{color:#7dd3fc;background:#082f49;border-color:#0369a1}.meta-updated-time{color:var(--text-muted);font-size:.78rem;font-style:italic}.detail-main-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:32px}.detail-header{border-bottom:1px solid var(--border-color);margin-bottom:24px;padding-bottom:20px}.detail-badges{align-items:center;gap:8px;margin-bottom:12px;display:flex}.detail-title{color:var(--text-primary);margin-bottom:12px;font-size:1.45rem;font-weight:800;line-height:1.35}.detail-meta-row{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:.85rem;display:flex}.meta-author-info{align-items:center;gap:8px;display:flex}.meta-author.anon{color:#4f46e5;font-weight:600}.meta-author.real{color:var(--text-primary);font-weight:600}.meta-divider{color:var(--border-color)}.meta-prof{font-weight:500}.detail-content-body{color:var(--text-primary);margin-bottom:32px;font-size:1rem;line-height:1.7}.detail-text{white-space:pre-wrap;margin-bottom:20px}.question-edit-panel{background:var(--bg-card);border-radius:var(--radius-md)}.edit-panel-header{border-bottom:2px solid var(--primary-light);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;display:flex}.edit-title-group{align-items:center;gap:8px;display:flex}.edit-title-group h3{color:var(--text-primary);font-size:1.25rem;font-weight:800}.edit-icon{color:var(--primary-color)}.btn-cancel-edit-icon{color:var(--text-muted);border-radius:var(--radius-sm);padding:4px;transition:all .15s}.btn-cancel-edit-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.edit-category-chips{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=640px){.edit-category-chips{grid-template-columns:1fr}}.cat-chip-btn{background:var(--bg-card-subtle);border:2px solid var(--border-color);border-radius:var(--radius-md);text-align:left;flex-direction:column;gap:4px;padding:10px 12px;transition:all .2s;display:flex}.cat-chip-btn:hover{border-color:var(--primary-border)}.cat-chip-btn.active{background:var(--primary-light);border-color:var(--primary-color)}.cat-chip-name{color:var(--text-muted);font-size:.78rem}.edit-actions-row{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:12px;margin-top:24px;padding-top:18px;display:flex}.original-diff-box.author-only-box{border-radius:var(--radius-md);background:#fdf4ff;border:1px dashed #d946ef;margin-top:18px;padding:14px 16px}html[data-theme=dark] .original-diff-box.author-only-box{background:#2e1065;border-color:#a21caf}.diff-privacy-tag{color:#a21caf;border-radius:var(--radius-sm);background:#d946ef1f;align-items:center;gap:5px;margin-bottom:8px;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-flex}html[data-theme=dark] .diff-privacy-tag{color:#f0abfc;background:#d946ef40}.btn-toggle-original{color:var(--text-primary);align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:inline-flex}.btn-toggle-original:hover{text-decoration:underline}.original-diff-content{border-top:1px solid var(--border-color);margin-top:10px;padding-top:10px}.diff-label{color:var(--text-muted);margin-bottom:4px;font-size:.78rem;font-weight:700;display:block}.diff-text{color:#b91c1c;background:var(--danger-bg);border-radius:var(--radius-sm);padding:8px 12px;font-size:.9rem;font-style:italic;line-height:1.5}.diff-note{color:#a21caf;margin-top:6px;font-size:.78rem;font-weight:500;display:block}html[data-theme=dark] .diff-note{color:#e879f9}.detail-answers-section{border-top:2px solid var(--border-color);margin-bottom:32px;padding-top:24px}.answers-section-header{margin-bottom:16px}.answers-header-title{color:var(--text-primary);align-items:center;gap:8px;font-size:1.15rem;font-weight:800;display:flex}.no-answers-box{background:var(--bg-card-subtle);border-radius:var(--radius-md);text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:30px;display:flex}.answer-item-card{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-left:4px solid var(--primary-color);border-radius:var(--radius-md);margin-bottom:14px;padding:18px 20px}.answer-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ans-author-meta{align-items:center;gap:8px;display:flex}.ans-role-tag{border-radius:var(--radius-sm);padding:2px 7px;font-size:.72rem;font-weight:700}.ans-role-tag.primary{background:var(--primary-light);color:var(--primary-color)}.ans-role-tag.co-prof{color:#16a34a;background:#f0fdf4}.ans-timestamp{color:var(--text-muted);font-size:.78rem}.answer-card-content{color:var(--text-primary);white-space:pre-wrap;font-size:.95rem;line-height:1.6}.detail-prof-action-section{border-top:2px solid var(--border-color);padding-top:24px}.prof-action-title{color:var(--text-primary);margin-bottom:14px;font-size:1.1rem;font-weight:800}.answer-form-box{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px}.prof-permission-banner{border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:.88rem;font-weight:600;display:flex}.prof-permission-banner.primary{background:var(--primary-light);color:var(--primary-color)}.prof-permission-banner.co-prof-active{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.prof-permission-banner.locked{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.prof-permission-banner.unauthorized{color:#64748b;background:#f1f5f9}.ans-author-preview{color:var(--text-muted);margin-bottom:8px;font-size:.85rem;display:block}.ans-textarea{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);resize:vertical;outline:none;width:100%;padding:12px;font-size:.95rem;line-height:1.6}.ans-textarea:focus{border-color:var(--border-focus)}.ans-submit-row{justify-content:flex-end;margin-top:12px;display:flex}.ans-disabled-notice{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:24px;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);flex-direction:column;width:100%;max-width:600px;max-height:90vh;animation:.2s cubic-bezier(.16,1,.3,1) modalScale;display:flex;overflow:hidden}@keyframes modalScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-title{color:var(--text-primary);align-items:center;gap:10px;font-size:1.15rem;font-weight:800;display:flex}.modal-close-btn{color:var(--text-muted);border-radius:var(--radius-sm);padding:4px}.modal-close-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);background:var(--bg-card-subtle);justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.modal-content.ai-modal{max-width:860px}.refine-icon-wrap{color:var(--text-primary);align-items:center;display:flex}.ai-icon-pulse{color:var(--text-primary)}.ai-quick-templates{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex}.template-label{color:var(--text-secondary);font-size:.82rem;font-weight:700}.template-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.template-chip-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);padding:4px 10px;font-size:.78rem;font-weight:600;transition:all .2s}.template-chip-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-focus)}.ai-compare-grid{grid-template-columns:1fr 36px 1fr;align-items:stretch;gap:12px;margin-bottom:16px;display:grid}@media (width<=768px){.ai-compare-grid{grid-template-columns:1fr}.compare-arrow{display:none}}.compare-card{border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.compare-header{background:var(--bg-card-subtle);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.compare-tag{border-radius:4px;padding:2px 8px;font-size:.8rem;font-weight:700}.origin-tag{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-color)}.ai-tag{background:var(--text-primary);color:var(--bg-card);align-items:center;gap:4px;display:inline-flex}.polite-score-badge{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;margin-left:6px;padding:2px 6px;font-size:.75rem;font-weight:700}.re-run-btn,.edit-toggle-btn{color:var(--text-secondary);align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:inline-flex}.re-run-btn:hover,.edit-toggle-btn:hover{color:var(--text-primary)}.compare-arrow{justify-content:center;align-items:center;display:flex}.arrow-circle{background:var(--bg-card-subtle);border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.compare-card-body{background:var(--bg-card);flex-direction:column;flex:1;gap:12px;padding:12px 14px;display:flex}.compare-field-wrap{flex-direction:column;gap:5px;display:flex}.ai-sub-label{color:var(--text-muted);font-size:.76rem;font-weight:700}.ai-title-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:8px 12px;font-size:.9rem;font-weight:600;transition:border-color .2s,box-shadow .2s}.ai-title-input:focus{border-color:var(--border-focus)}.ai-title-input.refined-title-input{background:var(--bg-card-subtle);border-color:var(--border-color);color:var(--text-primary);font-weight:700}.ai-title-input.refined-title-input.editable{background:var(--bg-input);border-color:var(--border-focus)}.has-refined-border{box-shadow:none;border-color:var(--border-focus)!important}.ai-textarea{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);resize:vertical;outline:none;width:100%;padding:10px 12px;font-size:.9rem;line-height:1.6;transition:border-color .2s}.ai-textarea:focus{border-color:var(--border-focus)}.refined-textarea:not(.editable){background:var(--bg-card-subtle);color:var(--text-primary)}.refined-textarea.editable{background:var(--bg-input);border-color:var(--border-focus)}.ai-loading-box,.ai-empty-prompt{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:50px 20px;font-size:.88rem;display:flex}.ai-spinner{color:var(--text-primary)}.spinning{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-improvements-box{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:14px;padding:12px 16px}html[data-theme=dark] .ai-improvements-box{background:var(--bg-card-subtle);border-color:var(--border-color)}.improv-title{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:6px;font-size:.85rem;font-weight:700;display:flex}html[data-theme=dark] .improv-title{color:var(--text-primary)}.improv-list{color:var(--text-secondary);padding-left:20px;font-size:.82rem}.ai-disclaimer{color:var(--text-secondary);background:var(--bg-card-subtle);border-radius:var(--radius-sm);border:1px solid var(--border-color);align-items:center;gap:8px;padding:10px 14px;font-size:.8rem;display:flex}html[data-theme=dark] .ai-disclaimer{background:var(--bg-card-subtle);color:var(--text-secondary);border-color:var(--border-color)}.btn-ai-apply{background:var(--primary-color);color:var(--text-inverse);border-radius:var(--radius-md);box-shadow:none;border:1px solid var(--border-color);padding:9px 20px;font-weight:700}.modal-content.similar-modal{max-width:780px}.similar-query-banner{background:var(--bg-card-subtle);border-radius:var(--radius-md);margin-bottom:16px;padding:12px 16px}.query-label{color:var(--text-muted);margin-bottom:4px;font-size:.78rem;font-weight:700;display:block}.query-snippet{color:var(--primary-color);font-size:.92rem;font-weight:600}.similar-intro{color:var(--text-secondary);margin-bottom:18px;font-size:.88rem;line-height:1.5}.similar-accordion-card{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:12px;overflow:hidden}.accordion-summary{background:var(--bg-card);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;transition:background .15s;display:flex}.accordion-summary:hover{background:var(--bg-hover)}.summary-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.sim-score-badge{white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:.75rem;font-weight:800}.sim-score-badge.high{color:#166534;background:#dcfce7}.sim-score-badge.medium{color:#92400e;background:#fef3c7}.sim-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.summary-right{white-space:nowrap;align-items:center;gap:8px;display:flex}.sim-ans-status{border-radius:4px;padding:2px 7px;font-size:.75rem;font-weight:600}.sim-ans-status.answered{background:var(--success-bg);color:var(--success-color)}.sim-ans-status.waiting{background:var(--warning-bg);color:var(--warning-color)}.accordion-details{background:var(--bg-card-subtle);border-top:1px solid var(--border-color);padding:16px 20px}.sim-detail-label{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:6px;font-size:.8rem;font-weight:700;display:flex}.sim-question-text{color:var(--text-primary);background:var(--bg-card);border-radius:var(--radius-sm);margin-bottom:14px;padding:10px;font-size:.9rem;line-height:1.5}.sim-answer-bubble{background:var(--bg-card);border:1px solid var(--border-color);border-left:3px solid var(--primary-color);border-radius:var(--radius-sm);margin-bottom:12px;padding:12px 14px}.sim-ans-header{align-items:center;gap:8px;margin-bottom:6px;font-size:.82rem;display:flex}.ans-tag{color:var(--primary-color);font-size:.72rem}.ans-date{color:var(--text-muted);margin-left:auto;font-size:.72rem}.sim-ans-body{color:var(--text-primary);font-size:.88rem;line-height:1.5}.sim-resolve-bar{border-top:1px dashed var(--border-color);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;padding-top:10px;font-size:.85rem;display:flex}.btn-resolve{color:#fff;border-radius:var(--radius-sm);background:#10b981;padding:6px 14px;font-size:.82rem;font-weight:700}.btn-resolve:hover{background:#059669}.prof-settings-modal{max-width:620px}.modal-intro-text{color:var(--text-secondary);margin-bottom:20px;font-size:.88rem;line-height:1.5}.settings-card-item{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:16px;padding:18px}.settings-row-between{justify-content:space-between;align-items:center;gap:16px;display:flex}.item-title{color:var(--text-primary);margin-bottom:4px;font-size:.98rem;font-weight:700;display:block}.item-title-with-badge{align-items:center;gap:8px;margin-bottom:4px;display:flex}.item-desc{color:var(--text-muted);font-size:.82rem;line-height:1.4}.time-range-inputs{border-top:1px dashed var(--border-color);align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.time-field{flex-direction:column;gap:4px;display:flex}.time-label{color:var(--text-muted);font-size:.75rem;font-weight:600}.time-picker{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);padding:6px 10px;font-weight:600}.time-separator{color:var(--text-muted);margin-top:18px;font-weight:700}.backend-spec-notice{color:var(--primary-color);background:var(--primary-light);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-top:16px;padding:10px 14px;font-size:.8rem;display:flex}.category-toggle-list{flex-direction:column;gap:12px;margin-bottom:18px;display:flex}.category-toggle-card.disabled{opacity:.6}.cat-card-info{flex:1}.cat-badge-wrap{align-items:center;gap:8px;margin-bottom:6px;display:flex}.cat-status-badge{color:var(--text-muted);font-size:.72rem;font-weight:700}.cat-card-desc{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem}.cat-rule-hints{color:var(--text-muted);font-size:.75rem;list-style:none}.switch{flex-shrink:0;width:46px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#cbd5e1;border-radius:24px;transition:all .3s;position:absolute;inset:0}html[data-theme=dark] .slider{background-color:#475569}.slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--primary-color)}input:checked+.slider:before{transform:translate(22px)}.settings-section{margin-bottom:24px}.section-label{color:var(--text-primary);margin-bottom:4px;font-size:.95rem;font-weight:700;display:block}.section-desc{color:var(--text-muted);margin-bottom:12px;font-size:.82rem}.theme-toggle-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.theme-card{background:var(--bg-card-subtle);border:2px solid var(--border-color);border-radius:var(--radius-md);text-align:left;padding:16px;transition:all .2s;position:relative}.theme-card.selected{background:var(--bg-card);border-color:var(--primary-color)}.theme-icon{margin-bottom:8px}.light-icon{color:#f59e0b}.dark-icon{color:#818cf8}.theme-name{color:var(--text-primary);font-size:.95rem;font-weight:700}.theme-sub{color:var(--text-muted);font-size:.78rem}.check-icon{color:var(--primary-color);position:absolute;top:14px;right:14px}.font-size-options{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.font-size-btn{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;padding:10px 8px;transition:all .2s}.font-size-btn.active{background:var(--primary-light);border-color:var(--primary-color)}.font-size-name{color:var(--text-primary);font-size:.85rem;font-weight:700;display:block}.font-size-val{color:var(--text-muted);font-size:.75rem}.settings-preview-box{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px}.preview-label{color:var(--text-muted);margin-bottom:4px;font-size:.75rem;font-weight:700;display:block}.preview-sample{font-size:var(--font-size-base);color:var(--text-primary);line-height:1.5}.bottom-nav-bar{background:var(--bg-card);border-top:1px solid var(--border-color);z-index:90;justify-content:space-around;align-items:center;height:56px;display:flex;position:sticky;bottom:0}.bottom-nav-item{color:var(--text-muted);flex-direction:column;align-items:center;gap:3px;font-size:.72rem;font-weight:600;transition:color .15s;display:flex}.bottom-nav-item.active,.accent-icon{color:var(--primary-color)}.toast-notification{color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-xl);z-index:2000;background:#0f172a;padding:10px 20px;font-size:.88rem;font-weight:600;animation:.25s ease-out toastFade;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toastFade{0%{opacity:0;transform:translate(-50%,15px)}to{opacity:1;transform:translate(-50%)}}@media (width<=768px){.hide-on-mobile-strict{display:none!important}}.browser-notif-bar{color:#166534;background:#f0fdf4;border-bottom:1px solid #bbf7d0;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;display:flex}.browser-notif-active-bar{color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:6px;padding:6px 12px;font-size:.74rem;display:flex}.dot-active{color:#16a34a;font-size:.7rem}.btn-enable-browser-notif{color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:#16a34a;border:none;padding:3px 8px;font-size:.75rem;font-weight:600;transition:background .15s}.btn-enable-browser-notif:hover{background:#15803d}.ans-role-tag.prof-tag{color:#3730a3;background:#e0e7ff;border-radius:9999px;padding:2px 8px;font-size:.75rem;font-weight:700}@media (width<=768px){.header-container{gap:8px;padding:10px 14px}.header-brand{gap:8px;min-width:0}.brand-logo-icon{border-radius:var(--radius-sm);flex-shrink:0;width:36px;height:36px}.brand-text{min-width:0}.brand-univ-tag{letter-spacing:.5px;margin-bottom:1px;font-size:.58rem}.brand-title{white-space:nowrap;font-size:1.05rem;line-height:1.15}.brand-subtitle{display:none!important}.header-actions{flex-shrink:0;gap:6px}.header-icon-btn{width:34px;height:34px}.header-user-chip{gap:4px;padding:4px 6px}.chip-avatar{font-size:1.1rem}.chip-details{display:none!important}.user-account-dropdown{width:min(320px,100vw - 20px)!important;max-width:calc(100vw - 20px)!important;right:-4px!important}.notif-dropdown{width:min(340px,100vw - 20px)!important;max-width:calc(100vw - 20px)!important;right:-46px!important}.main-content-area,.mobile-main-content{box-sizing:border-box!important;width:100%!important;max-width:100vw!important;padding:14px 14px 84px!important;overflow-x:hidden!important}.student-banner-card{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:16px;padding:16px}.student-banner-left{gap:12px}.student-avatar-box{flex-shrink:0;width:44px;height:44px;font-size:1.5rem}.student-info-meta h3{font-size:1.05rem}.student-sub{font-size:.78rem;line-height:1.35}.new-q-btn{justify-content:center;width:100%;padding:10px 16px}.list-controls-bar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:16px}.search-input-wrap{width:100%;min-width:0}.filter-group-right{flex-direction:column;align-items:stretch;gap:8px;width:100%}.student-tabs{-webkit-overflow-scrolling:touch;white-space:nowrap;width:100%;display:flex;overflow-x:auto}.student-tab{text-align:center;white-space:nowrap;flex:1;padding:6px 8px;font-size:.78rem}.category-select-wrap{justify-content:space-between;width:100%}.cat-select{width:100%}.questions-grid{gap:12px;grid-template-columns:1fr!important}.question-card{padding:14px 16px}.card-top-row{flex-wrap:wrap;gap:6px;margin-bottom:10px}.card-tags-left{flex-wrap:wrap;gap:4px}.card-status-right{flex-wrap:wrap;justify-content:flex-start;gap:4px;width:100%;margin-top:2px}.card-title{word-break:break-word;overflow-wrap:break-word;margin-bottom:6px;font-size:.98rem}.card-snippet{word-break:break-word;overflow-wrap:break-word;margin-bottom:12px;font-size:.84rem}.card-bottom-row{flex-wrap:wrap;gap:6px;padding-top:10px}.card-author{flex-wrap:wrap;font-size:.75rem;line-height:1.35}.prof-welcome-card{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:16px;padding:16px}.prof-welcome-left{gap:12px}.prof-avatar-box{flex-shrink:0;width:46px;height:46px;font-size:1.6rem}.prof-name{font-size:1.15rem}.prof-courses-list{font-size:.78rem}.prof-quick-controls{gap:8px;width:100%;display:flex}.prof-control-btn{text-align:center;flex:1;justify-content:center;padding:8px 6px;font-size:.76rem}.prof-stats-grid{gap:10px;margin-bottom:16px;grid-template-columns:repeat(2,1fr)!important}.stat-card{gap:10px;padding:12px 14px}.stat-icon{width:36px;height:36px}.stat-value{font-size:1.15rem}.stat-label{font-size:.72rem}.dashboard-filters-bar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:16px}.filter-tabs{-webkit-overflow-scrolling:touch;white-space:nowrap;flex-wrap:nowrap;width:100%;overflow-x:auto}.filter-tab{white-space:nowrap;padding:6px 10px;font-size:.78rem}.category-filter-select{justify-content:space-between;width:100%}.q-form-card{padding:16px}.course-select-grid{gap:8px;grid-template-columns:1fr!important}.course-chip{padding:8px 12px}.category-select-grid{gap:8px;grid-template-columns:1fr!important}.category-select-card{padding:12px}.content-label-row{flex-direction:column;align-items:stretch;gap:8px}.content-toolbar-actions{gap:6px;width:100%;display:flex}.btn-ai-assist,.btn-similar-search{flex:1;justify-content:center;padding:6px 8px;font-size:.76rem}.form-submit-row{flex-direction:column-reverse;gap:8px;width:100%}.form-submit-row .btn{justify-content:center;width:100%}.detail-main-card{padding:16px}.detail-title{word-break:break-word;overflow-wrap:break-word;font-size:1.15rem;line-height:1.35}.detail-meta-row{flex-direction:column;align-items:flex-start;gap:6px}.detail-badges{flex-wrap:wrap;gap:6px}.detail-content-body{word-break:break-word;overflow-wrap:break-word;margin-bottom:24px;font-size:.92rem}.detail-text{word-break:break-word;overflow-wrap:break-word}.detail-top-nav{flex-wrap:wrap;gap:8px}.answer-item-card{padding:14px}.answer-card-header{flex-direction:column;align-items:flex-start;gap:6px}.ans-author-meta{flex-wrap:wrap}.answer-card-content{word-break:break-word;overflow-wrap:break-word}.answer-form-box{padding:14px}.ans-submit-row{width:100%}.ans-submit-row .btn{justify-content:center;width:100%}.edit-category-chips{grid-template-columns:1fr!important}.edit-actions-row{flex-direction:column-reverse;gap:8px;width:100%}.edit-actions-row .btn{justify-content:center;width:100%}.modal-overlay{align-items:flex-end;padding:8px}.modal-content{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100vw;max-height:90vh}.modal-header{padding:14px 16px}.modal-title{font-size:1rem}.modal-body{padding:14px}.modal-footer{flex-direction:column-reverse;gap:8px;padding:12px 14px}.modal-footer .btn{justify-content:center;width:100%}.ai-compare-grid{gap:10px;grid-template-columns:1fr!important}.compare-arrow{display:none!important}.ai-quick-templates{flex-direction:column;align-items:flex-start;gap:6px}.template-chips{width:100%}.template-chip-btn{padding:3px 8px;font-size:.72rem}.compare-card-body{gap:8px;padding:10px 12px}.ai-title-input{padding:7px 10px;font-size:.85rem}.ai-textarea{padding:8px 10px;font-size:.85rem}.accordion-summary{flex-direction:column;align-items:stretch;gap:8px}.summary-left{flex-wrap:wrap;gap:6px}.summary-right{justify-content:space-between;width:100%}.sim-title{white-space:normal;font-size:.88rem}.bottom-nav-bar{padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -2px 10px #00000014;z-index:999!important;width:100%!important;height:58px!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important}.bottom-nav-item{cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;height:100%;padding:4px 0}}.is-mobile .questions-grid{grid-template-columns:1fr}.is-mobile .main-content-area{padding-bottom:84px}.attachment-section{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--radius-lg,12px);margin-top:14px;padding:16px}.attachment-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.attachment-label-wrap{flex-direction:column;gap:2px;display:flex}.attachment-label-wrap .form-label{color:var(--text-primary,#1e293b);align-items:center;gap:6px;margin-bottom:0;font-size:.95rem;font-weight:700;display:flex}.attachment-count-tag{color:var(--primary-color,#4f46e5);font-size:.8rem;font-weight:600}.attachment-hint-text{color:var(--text-secondary,#64748b);font-size:.78rem}.security-badges-wrap{align-items:center;gap:6px;display:flex}.badge-security-verified{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.badge-compression-applied{border-radius:var(--radius-sm);background:var(--bg-card-subtle);color:var(--text-secondary);border:1px solid var(--border-color);align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.file-dropzone{border:2px dashed var(--border-color,#cbd5e1);border-radius:var(--radius-md,8px);text-align:center;cursor:pointer;background:var(--bg-hover,#f8fafc);padding:24px 16px;transition:all .2s;position:relative}.file-dropzone:hover{border-color:var(--primary-color,#6366f1);background:#f1f5f9}.file-dropzone.drag-over{border-color:var(--primary-color,#4f46e5);background:#eef2ff;transform:scale(1.005)}.file-dropzone.dropzone-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.hidden-file-input{display:none}.dropzone-content{flex-direction:column;align-items:center;gap:8px;display:flex}.upload-cloud-icon{color:var(--primary-color,#6366f1);stroke-width:1.8px}.dropzone-text-group{flex-direction:column;gap:3px;display:flex}.dropzone-primary-text{color:var(--text-primary,#334155);font-size:.9rem;font-weight:600}.dropzone-secondary-text{color:var(--text-secondary,#64748b);font-size:.76rem;line-height:1.4}.dropzone-processing{flex-direction:column;align-items:center;gap:6px;padding:10px 0;display:flex}.spin-icon{animation:1s linear infinite spin}.processing-text{color:var(--primary-color,#4f46e5);font-size:.88rem;font-weight:600}.processing-subtext{color:var(--text-secondary,#64748b);font-size:.75rem}.attached-files-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.attached-file-card{border-radius:var(--radius-md,8px);background:var(--bg-hover,#f8fafc);border:1px solid var(--border-color,#e2e8f0);align-items:center;gap:12px;padding:10px 14px;transition:all .15s;display:flex}.attached-file-card:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 1px 4px #0000000a}.attached-file-thumb{background:#000;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;width:44px;height:44px;overflow:hidden}.attached-file-thumb img{object-fit:cover;width:100%;height:100%}.attached-file-icon-box{color:#4f46e5;background:#eef2ff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.attached-file-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.file-name{color:var(--text-primary,#1e293b);text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-size:.88rem;font-weight:600;overflow:hidden}.badge-safe-verified{color:#15803d;background:#dcfce7;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:.68rem;font-weight:600;display:inline-flex}.file-meta-row{align-items:center;gap:6px;font-size:.75rem;display:flex}.compression-info-wrap{align-items:center;gap:6px;display:flex}.file-size-badge{color:var(--text-secondary,#64748b);font-size:.72rem;font-weight:500}.file-size-badge.compressed{color:var(--text-primary);font-weight:600}.compression-ratio-pill{background:var(--bg-card-subtle);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:4px;padding:1px 6px;font-size:.68rem;font-weight:700}.btn-remove-attachment{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.btn-remove-attachment:hover{color:#ef4444;background:#fee2e2}.form-success-banner{border-radius:var(--radius-md,8px);background:var(--bg-card-subtle);color:var(--text-primary);border:1px solid var(--border-color);align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:.85rem;display:flex}.attachment-badge-pill{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:.7rem;font-weight:600;display:inline-flex}.detail-attachments-box{border-radius:var(--radius-lg,12px);background:var(--bg-hover,#f8fafc);border:1px solid var(--border-color,#e2e8f0);margin:18px 0;padding:16px}.attachments-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:12px;display:flex}.attachments-title{color:var(--text-primary,#1e293b);align-items:center;gap:6px;font-size:.92rem;font-weight:700;display:flex}.security-tag{color:var(--text-secondary);background:var(--bg-card-subtle);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:2px 8px;font-size:.72rem;font-weight:600}.detail-attachments-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.detail-attachment-card{border:1px solid var(--border-color,#e2e8f0);border-radius:var(--radius-md,8px);background:#fff;align-items:center;gap:10px;padding:10px;transition:all .15s;display:flex}.detail-attachment-card:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0000000d}.detail-att-thumb-wrap{cursor:pointer;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;width:48px;height:48px;position:relative;overflow:hidden}.detail-att-thumb{object-fit:cover;width:100%;height:100%}.thumb-zoom-overlay{color:#fff;opacity:0;background:#00000059;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.detail-att-thumb-wrap:hover .thumb-zoom-overlay{opacity:1}.detail-att-icon-box{background:var(--bg-card-subtle);width:48px;height:48px;color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.detail-att-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.att-file-name{color:var(--text-primary,#1e293b);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.att-size-info{color:var(--text-secondary,#64748b);font-size:.72rem}.att-compressed-info{color:var(--text-primary);font-weight:600}.btn-download-att{background:var(--bg-hover,#f1f5f9);color:var(--text-primary,#334155);border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:5px 10px;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn-download-att:hover{background:var(--primary-color,#4f46e5);color:#fff;border-color:var(--primary-color,#4f46e5)}.image-viewer-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172abf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.image-viewer-modal-box{background:#fff;border-radius:12px;flex-direction:column;max-width:90vw;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000004d}.image-viewer-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.image-viewer-title{color:#1e293b;font-size:.9rem;font-weight:700}.btn-close-viewer{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;display:flex}.btn-close-viewer:hover{color:#0f172a;background:#e2e8f0}.image-viewer-body{background:#0f172a;justify-content:center;align-items:center;padding:16px;display:flex;overflow:auto}.image-viewer-body img{object-fit:contain;border-radius:4px;max-width:85vw;max-height:75vh}.content-label-group{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.title-omitted-hint{color:var(--text-secondary,#64748b);font-size:.78rem;font-weight:400}.app-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);z-index:120;box-shadow:var(--shadow-sm);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1480px;margin:0 auto;padding:12px 24px;display:flex}.brand-area{cursor:pointer;align-items:center;gap:12px;display:flex}.brand-logo{border-radius:var(--radius-md);background:var(--primary-color);width:40px;height:40px;color:var(--text-inverse);flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-univ{letter-spacing:.08em;color:var(--text-muted);font-size:.65rem;font-weight:800;display:block}.auth-user-pill{border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--bg-card-subtle);align-items:center;gap:10px;padding:4px 8px 4px 6px;display:flex}.user-avatar{background:var(--primary-color);width:32px;height:32px;color:var(--text-inverse);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.user-info-text{flex-direction:column;line-height:1.2;display:flex}.user-role-badge{color:var(--text-muted);align-items:center;gap:3px;font-size:.68rem;font-weight:600;display:inline-flex}.user-display-tag{color:var(--text-primary);font-size:.82rem;font-weight:700}.admin-mini-tag{color:var(--danger-color);font-weight:800}.header-admin-btn{color:#fff;border-radius:var(--radius-md);background:#dc2626;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.header-admin-btn:hover{background:#b91c1c}.logout-btn{border-radius:var(--radius-full);align-items:center;gap:4px;padding:5px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.forum-stage-wrapper{flex-direction:column;flex:1;min-height:calc(100vh - 68px);display:flex;position:relative}.forum-main-stage{flex:1;width:100%;max-width:1480px;margin:0 auto;padding:20px 24px 48px;transition:filter .3s,opacity .3s}.forum-main-stage.is-blurred-locked{filter:blur(9px)saturate(.85);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.52;max-height:calc(100vh - 72px);overflow:hidden}.auth-gate-overlay{z-index:95;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a38;justify-content:center;align-items:flex-start;padding:32px 16px 64px;display:flex;position:absolute;inset:0;overflow-y:auto}.auth-gate-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:640px;box-shadow:var(--shadow-xl);color:var(--text-primary);padding:28px}.auth-gate-banner{border-bottom:1px solid var(--border-color);align-items:flex-start;gap:14px;margin-bottom:18px;padding-bottom:18px;display:flex}.auth-gate-lock-icon{border-radius:var(--radius-md);background:var(--primary-color);width:44px;height:44px;color:var(--text-inverse);flex-shrink:0;justify-content:center;align-items:center;display:flex}.auth-gate-kicker{letter-spacing:.08em;color:var(--text-muted);font-size:.68rem;font-weight:800}.auth-gate-heading{color:var(--text-primary);margin:2px 0 6px;font-size:1.25rem;font-weight:800}.auth-gate-desc{color:var(--text-secondary);font-size:.86rem;line-height:1.5}.auth-gate-tabs{background:var(--bg-card-subtle);border-radius:var(--radius-md);border:1px solid var(--border-color);grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;padding:5px;display:grid}.auth-gate-tab{border-radius:var(--radius-sm);color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.9rem;font-weight:700;transition:all .15s;display:flex}.auth-gate-tab.active{background:var(--primary-color);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.auth-gate-alert{border-radius:var(--radius-md);align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:.85rem;font-weight:600;display:flex}.auth-gate-alert.error{background:var(--danger-bg);color:var(--danger-color);border:1px solid var(--danger-color)}.auth-gate-alert.success{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-color)}.auth-gate-form{flex-direction:column;gap:14px;display:flex}.auth-form-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.role-selector-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.role-select-card{border-radius:var(--radius-md);border:1.5px solid var(--border-color);background:var(--bg-card-subtle);text-align:left;align-items:center;gap:10px;padding:12px 14px;transition:all .15s;display:flex}.role-select-card.active{border-color:var(--primary-color);background:var(--primary-light)}.role-select-title{color:var(--text-primary);font-size:.9rem;font-weight:800}.role-select-sub{color:var(--text-muted);font-size:.73rem}.course-checkbox-grid{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card-subtle);flex-wrap:wrap;gap:8px;max-height:145px;padding:10px;display:flex;overflow-y:auto}.course-checkbox-pill{border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;align-items:center;gap:6px;padding:5px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.course-checkbox-pill.checked{border-color:var(--primary-color);background:var(--primary-light);color:var(--text-primary)}.auth-security-note{border-radius:var(--radius-md);background:var(--bg-card-subtle);border:1px dashed var(--border-color);color:var(--text-secondary);align-items:center;gap:8px;padding:10px 12px;font-size:.78rem;display:flex}.auth-submit-btn{justify-content:center;width:100%;padding:12px 18px;font-size:.95rem;font-weight:700}.auth-gate-switch-prompt{text-align:center;color:var(--text-secondary);font-size:.84rem}.auth-link-btn{color:var(--primary-color);font-weight:700;text-decoration:underline}.auth-console-hint{border-radius:var(--radius-md);background:var(--bg-card-subtle);border:1px solid var(--border-color);color:var(--text-muted);align-items:flex-start;gap:8px;margin-top:16px;padding:10px 12px;font-size:.75rem;display:flex}.auth-console-hint code{background:var(--bg-hover);color:var(--text-primary);border-radius:4px;padding:1px 5px;font-weight:700}.forum-desktop-split{grid-template-columns:minmax(520px,1.15fr) minmax(440px,.95fr);align-items:start;gap:22px;display:grid}.forum-split-right{max-height:calc(100vh - 104px);position:sticky;top:84px;overflow-y:auto}.forum-board-container{flex-direction:column;gap:14px;display:flex}.forum-board-hero{border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.forum-hero-left{align-items:center;gap:14px;display:flex}.forum-hero-icon{border-radius:var(--radius-md);background:var(--primary-light);width:44px;height:44px;color:var(--primary-color);flex-shrink:0;justify-content:center;align-items:center;display:flex}.forum-board-title{color:var(--text-primary);font-size:1.15rem;font-weight:800}.forum-board-subtitle{color:var(--text-muted);font-size:.82rem}.btn-new-topic{border-radius:var(--radius-md);white-space:nowrap;align-items:center;gap:6px;padding:10px 16px;font-weight:700;display:inline-flex}.forum-table-header{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md) var(--radius-md) 0 0;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);grid-template-columns:minmax(0,1fr) 110px 120px 135px;align-items:center;gap:12px;padding:10px 16px;font-size:.74rem;font-weight:800;display:grid}.forum-topic-list{border:1px solid var(--border-color);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--bg-card);border-top:none;flex-direction:column;display:flex;overflow:hidden}.forum-topic-row{border-bottom:1px solid var(--border-color);cursor:pointer;grid-template-columns:minmax(0,1fr) 110px 120px 135px;align-items:center;gap:12px;padding:14px 16px;transition:background-color .15s;display:grid}.forum-topic-row:last-child{border-bottom:none}.forum-topic-row:hover{background:var(--bg-hover)}.forum-topic-row.selected{background:var(--primary-light);border-left:4px solid var(--primary-color)}.forum-topic-row.is-hidden-topic{opacity:.65;background:var(--danger-bg)}.forum-topic-main{align-items:flex-start;gap:12px;min-width:0;display:flex}.forum-topic-status-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;margin-top:2px;display:flex}.forum-topic-status-icon.solved{background:var(--success-bg);color:var(--success-color)}.forum-topic-status-icon.open{background:var(--bg-card-subtle);color:var(--text-muted);border:1px solid var(--border-color)}.forum-topic-content{flex:1;min-width:0}.forum-topic-title-line{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.forum-course-pill{border-radius:var(--radius-sm);background:var(--bg-card-subtle);border:1px solid var(--border-color);color:var(--text-secondary);padding:2px 8px;font-size:.72rem;font-weight:700}.forum-topic-title{color:var(--text-primary);font-size:.96rem;font-weight:700;line-height:1.35}.forum-topic-excerpt{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:.82rem;overflow:hidden}.forum-topic-submeta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.74rem;display:flex}.anon-tag{border-radius:var(--radius-sm);background:var(--bg-card-subtle);align-items:center;gap:3px;margin-left:4px;padding:1px 6px;font-size:.68rem;display:inline-flex}.admin-real-author-badge{border-radius:var(--radius-sm);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.btn-admin-inline-hide{border-radius:var(--radius-sm);background:var(--bg-card-subtle);border:1px solid var(--border-color);color:var(--danger-color);align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.btn-admin-inline-hide:hover{background:var(--danger-bg)}.forum-avatar-stack{align-items:center;display:flex}.forum-mini-avatar{border:2px solid var(--bg-card);background:var(--primary-color);width:28px;height:28px;color:var(--text-inverse);border-radius:50%;justify-content:center;align-items:center;margin-left:-6px;font-size:.72rem;font-weight:700;display:inline-flex}.forum-mini-avatar:first-child{margin-left:0}.forum-mini-avatar.role-professor{color:#fff;background:#0284c7}.forum-mini-avatar.role-assigned-pending{background:var(--bg-card-subtle);color:var(--text-muted);border-color:var(--border-color)}.forum-topic-stats{align-items:center;gap:12px;display:flex}.forum-stat-replies,.forum-stat-posts{flex-direction:column;align-items:center;line-height:1.15;display:flex}.stat-num{color:var(--text-primary);font-size:.95rem;font-weight:800}.forum-stat-replies.has-replies .stat-num{color:var(--success-color)}.stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.65rem}.forum-topic-activity{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.forum-status-chip{border-radius:var(--radius-full);padding:2px 8px;font-size:.7rem;font-weight:700}.forum-status-chip.answered{background:var(--success-bg);color:var(--success-color)}.forum-status-chip.pending{background:var(--warning-bg);color:var(--warning-color)}.forum-activity-time{color:var(--text-muted);align-items:center;gap:4px;font-size:.72rem;display:inline-flex}.forum-thread-view{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:20px;display:flex}.forum-thread-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.forum-thread-actions-right{align-items:center;gap:8px;display:flex}.forum-thread-title-box{border-bottom:2px solid var(--border-color);padding-bottom:14px}.detail-badges-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.forum-thread-h2{color:var(--text-primary);font-size:1.25rem;font-weight:800;line-height:1.35}.forum-post-stream{flex-direction:column;gap:14px;display:flex}.forum-post-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);grid-template-columns:155px minmax(0,1fr);display:grid;overflow:hidden}.forum-post-card.op-post{border-width:1.5px;border-color:var(--primary-border)}.forum-post-card.primary-prof-post{border-left:4px solid var(--success-color)}.forum-post-card.post-hidden-state{opacity:.75;border-color:var(--danger-color)}.forum-post-sidebar{background:var(--bg-card-subtle);border-right:1px solid var(--border-color);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;display:flex}.forum-post-avatar{background:var(--primary-color);width:46px;height:46px;color:var(--text-inverse);border-radius:50%;justify-content:center;align-items:center;font-size:1.05rem;font-weight:800;display:flex}.forum-post-avatar.professor{color:#fff;background:#0284c7}.forum-post-author-name{color:var(--text-primary);word-break:break-word;font-size:.84rem;font-weight:800}.forum-role-tag{border-radius:var(--radius-full);background:var(--bg-hover);color:var(--text-secondary);align-items:center;gap:4px;padding:2px 7px;font-size:.65rem;font-weight:800;display:inline-flex}.forum-role-tag.solution{background:var(--success-bg);color:var(--success-color)}.forum-post-body-col{flex-direction:column;gap:12px;min-width:0;padding:14px 18px;display:flex}.forum-post-header-bar{border-bottom:1px solid var(--border-color);color:var(--text-muted);justify-content:space-between;align-items:center;padding-bottom:8px;font-size:.76rem;display:flex}.post-index-badge{border-radius:var(--radius-sm);background:var(--bg-card-subtle);color:var(--text-secondary);padding:2px 8px;font-size:.74rem;font-weight:800}.forum-post-text{color:var(--text-primary);word-break:break-word;font-size:.94rem;line-height:1.68}.forum-stream-divider{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:12px;margin:4px 0;font-size:.75rem;font-weight:800;display:flex}.forum-stream-divider:before,.forum-stream-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.theme-selector-grid-3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.green-preview{color:#1f6e43;background:#eaf2ec;border:1px solid #9ec4ad}.modal-xl{width:95%;max-width:1040px}.admin-sub-badge{color:var(--text-muted);font-size:.72rem;font-weight:600;display:block}.admin-tabs-bar{background:var(--bg-card-subtle);border-bottom:1px solid var(--border-color);gap:6px;padding:10px 20px;display:flex;overflow-x:auto}.admin-tab-btn{border-radius:var(--radius-md);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;padding:8px 14px;font-size:.84rem;font-weight:700;display:inline-flex}.admin-tab-btn.active{background:var(--primary-color);color:var(--text-inverse)}.admin-catalog-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.admin-panel-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card-subtle);flex-direction:column;gap:12px;padding:16px;display:flex}.admin-panel-title{align-items:center;gap:8px;font-size:.96rem;font-weight:800;display:flex}.admin-compact-form{flex-direction:column;gap:10px;display:flex}.admin-chip-list-wrap{border-top:1px dashed var(--border-color);margin-top:6px;padding-top:10px}.admin-chip-header{color:var(--text-muted);margin-bottom:6px;font-size:.76rem;font-weight:700}.admin-chip-list{flex-wrap:wrap;gap:6px;display:flex}.admin-dept-chip{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-color);padding:3px 9px;font-size:.76rem;font-weight:600}.admin-sanction-toolbar{border-radius:var(--radius-md);background:var(--bg-card-subtle);border:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;font-size:.84rem;display:flex}.admin-duration-select-wrap{align-items:center;gap:8px;display:flex}.admin-table-wrap{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow-x:auto}.admin-data-table{border-collapse:collapse;width:100%;font-size:.83rem}.admin-data-table th,.admin-data-table td{border-bottom:1px solid var(--border-color);text-align:left;vertical-align:middle;padding:10px 12px}.admin-data-table th{background:var(--bg-card-subtle);color:var(--text-secondary);font-weight:800}.row-withdrawn{opacity:.62;background:var(--danger-bg)}.admin-action-btns{flex-wrap:wrap;gap:6px;display:flex}.admin-inline-badge{color:#fff;background:#dc2626;border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:800}.status-pill{border-radius:var(--radius-full);align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.status-pill.success{background:var(--success-bg);color:var(--success-color)}.status-pill.warning{background:var(--warning-bg);color:var(--warning-color)}.status-pill.danger{background:var(--danger-bg);color:var(--danger-color)}.admin-email-log-list{flex-direction:column;gap:8px;max-height:290px;display:flex;overflow-y:auto}.admin-email-log-item{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);padding:10px 12px;font-size:.8rem}.admin-email-log-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.admin-email-log-subject{color:var(--text-primary);font-weight:700}.email-log-mini-box{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border-color);margin-top:8px;padding:8px 10px}.email-log-mini-row{justify-content:space-between;gap:8px;padding:2px 0;font-size:.74rem;display:flex}@media (width>=641px) and (width<=1024px){.header-inner{padding:10px 16px}.forum-main-stage{padding:16px 16px 36px}.forum-table-header,.forum-topic-row{grid-template-columns:minmax(0,1fr) 86px 96px 115px;gap:8px;padding:12px 14px}.forum-post-card{grid-template-columns:128px minmax(0,1fr)}.admin-catalog-grid{grid-template-columns:1fr}.theme-selector-grid-3{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.hide-mobile{display:none!important}.header-inner{padding:10px 12px}.brand-title{font-size:1rem}.forum-main-stage{padding:12px 10px 84px}.forum-board-hero{flex-direction:column;align-items:stretch;padding:14px}.btn-new-topic{justify-content:center;width:100%}.forum-table-header{display:none}.forum-topic-row{grid-template-columns:1fr;gap:8px;padding:12px}.forum-topic-participants{display:none}.forum-topic-stats{justify-content:flex-start}.forum-topic-activity{border-top:1px dashed var(--border-color);flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding-top:6px}.forum-post-card{grid-template-columns:1fr}.forum-post-sidebar{text-align:left;border-right:none;border-bottom:1px solid var(--border-color);flex-direction:row;justify-content:flex-start;padding:10px 14px}.forum-post-avatar{width:36px;height:36px;font-size:.9rem}.auth-gate-card{padding:18px 14px}.auth-form-grid-2,.role-selector-grid,.theme-selector-grid-3,.admin-catalog-grid{grid-template-columns:1fr}}.modal-overlay{z-index:1200}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1200;background:#0f172a8f;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out modalBackdropFadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-container{background:var(--bg-card);width:100%;max-height:calc(100vh - 40px);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);flex-direction:column;animation:.22s cubic-bezier(.16,1,.3,1) fadeSlideUp;display:flex;overflow:hidden}.modal-sm{max-width:420px}.modal-md{max-width:540px}.modal-lg{max-width:720px}.modal-xl{max-width:980px}.modal-container>.modal-body{flex:1;padding:20px 24px;overflow-y:auto}.btn svg,.btn-icon svg,.modal-title svg,.badge svg,.status-pill svg,.prof-pill svg,.course-pill svg,.forum-role-tag svg,.anon-badge svg,.post-timestamp svg,.course-tab svg,.filter-chip svg,.admin-tab-btn svg,.admin-panel-title svg,.role-select-card svg,.auth-gate-alert svg,.settings-title-group svg,.editor-role-indicator svg,.btn-admin-inline-hide svg,.btn-admin-inline-delete svg,.btn-text-xs svg{flex-shrink:0}.btn{cursor:pointer;justify-content:center;align-items:center;gap:7px;line-height:1.25;display:inline-flex}.btn-sm{gap:6px;padding:7px 13px;font-size:.85rem}.btn-xs{border-radius:var(--radius-sm);gap:5px;padding:4px 10px;font-size:.78rem}.btn-danger{background:var(--danger-color);color:#fff;border:1px solid var(--danger-color)}.btn-danger:hover{filter:brightness(.92)}.btn-icon{border-radius:var(--radius-md);background:var(--bg-card-subtle);border:1px solid var(--border-color);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex;position:relative}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-focus)}.btn-text-xs{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:4px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.btn-text-xs:hover{background:var(--bg-hover);color:var(--text-primary)}.status-pill,.prof-pill,.course-pill,.forum-role-tag,.anon-badge,.post-timestamp,.attachment-count-chip,.admin-tab-btn,.admin-panel-title,.modal-title,.editor-role-indicator,.answer-locked-banner{align-items:center;gap:6px;line-height:1.3;display:inline-flex}.modal-title{align-items:center;gap:9px;font-size:1.05rem;font-weight:700;display:inline-flex}.header-guest-btns{align-items:center;gap:8px;display:flex}.dropdown-wrapper{position:relative}.dropdown-menu{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:320px;box-shadow:var(--shadow-lg);z-index:500;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.dropdown-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.dropdown-title{color:var(--text-primary);font-size:.9rem;font-weight:700}.notif-count{border-radius:var(--radius-full);background:var(--danger-color);color:#fff;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.68rem;font-weight:700;display:flex;position:absolute;top:-5px;right:-5px}.form-group{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-label{color:var(--text-primary);align-items:center;gap:4px;font-size:.85rem;font-weight:600;display:inline-flex}.form-input,.form-select,.form-textarea{box-sizing:border-box;background:var(--bg-input);width:100%;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:9px 12px;font-family:inherit;font-size:.92rem;line-height:1.45;transition:border-color .15s,box-shadow .15s}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #18181b14}html[data-theme=dark] .form-input:focus,html[data-theme=dark] .form-select:focus,html[data-theme=dark] .form-textarea:focus{box-shadow:0 0 0 3px #ffffff1f}.form-input:disabled,.form-select:disabled{opacity:.6;cursor:not-allowed}.form-select-sm{width:auto;padding:5px 10px;font-size:.82rem}.settings-section-title{color:var(--text-primary);margin:0 0 10px;font-size:.95rem;font-weight:700}.settings-section-desc{color:var(--text-muted);margin:2px 0 0;font-size:.82rem;line-height:1.4}.settings-divider{background:var(--border-color);height:1px;margin:18px 0}.settings-header-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.settings-title-group{align-items:flex-start;gap:10px;display:flex}.settings-title-group>svg{margin-top:2px}.settings-title-group .settings-section-title{margin-bottom:2px}.theme-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.theme-selector-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-option-card{background:var(--bg-card-subtle);border:1.5px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--text-primary);align-items:center;gap:10px;padding:12px;transition:all .15s;display:flex}.theme-option-card:hover{border-color:var(--border-focus);background:var(--bg-hover)}.theme-option-card.active{border-color:var(--primary-color);background:var(--primary-light)}.theme-preview{border-radius:var(--radius-md);border:1px solid var(--border-color);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.theme-preview.light-preview{color:#d97706;background:#fff;border-color:#d4d4d8}.theme-preview.green-preview{color:#1f6e43;background:#e2ede5;border-color:#9ec4ad}.theme-preview.dark-preview{color:#fbbf24;background:#18181b;border-color:#3f3f46}.theme-preview.green-dark-preview{color:#74b08b;background:#18211c;border-color:#355743}.theme-option-info{flex-direction:column;flex:1;min-width:0;display:flex}.theme-option-label{color:var(--text-primary);font-size:.88rem;font-weight:700}.theme-option-sub{color:var(--text-muted);font-size:.72rem}.fontsize-option-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.fontsize-option-item{background:var(--bg-card-subtle);border:1.5px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);text-align:left;justify-content:space-between;align-items:center;gap:6px;padding:10px 12px;transition:all .15s;display:flex}.fontsize-option-item:hover{border-color:var(--border-focus);background:var(--bg-hover)}.fontsize-option-item.active{border-color:var(--primary-color);background:var(--primary-light)}.fontsize-label{color:var(--text-muted);margin-bottom:2px;font-size:.78rem;font-weight:600}.fontsize-sample{color:var(--text-primary);font-weight:700}.fontsize-sample.sample-sm{font-size:.82rem}.fontsize-sample.sample-md{font-size:.95rem}.fontsize-sample.sample-lg{font-size:1.08rem}.fontsize-sample.sample-xl{font-size:1.22rem}.toggle-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:#cbd5e1;border-radius:24px;transition:all .25s;position:absolute;inset:0}html[data-theme=dark] .toggle-slider{background:#475569}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .25s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.dnd-time-box{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:12px;padding:14px;display:flex}.dnd-time-box.disabled{opacity:.55}.dnd-time-box>.form-group{width:100%}.time-input-group{flex-direction:column;gap:4px;display:flex}.time-input-group label{color:var(--text-muted);font-size:.78rem;font-weight:600}.time-input-wrapper{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.time-input-wrapper input{color:var(--text-primary);background:0 0;border:none;font-family:inherit;font-size:.9rem}.category-toggle-list{flex-direction:column;gap:10px;display:flex}.category-toggle-card{background:var(--bg-card-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.category-toggle-info{align-items:center;gap:12px;display:flex}.category-toggle-title{color:var(--text-primary);font-size:.9rem;font-weight:700}.category-toggle-desc{color:var(--text-muted);font-size:.8rem}.save-toast{color:var(--success-color);align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:inline-flex}.auth-prompt-card{text-align:center;max-width:380px!important;padding:32px 28px!important}.auth-prompt-header{flex-direction:column;align-items:center;gap:8px;margin-bottom:22px;display:flex}.auth-prompt-actions{flex-direction:column;gap:10px;display:flex}.auth-page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.auth-page-header .auth-gate-heading{text-align:center;flex:1;margin:0;font-size:1.15rem}.role-select-card{justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-weight:700;display:inline-flex}.course-picker-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.course-picker-hint{color:var(--text-muted);font-size:.78rem}.course-settings-actions{justify-content:flex-end;margin-top:8px;display:flex}.settings-inline-status{border-radius:var(--radius-md);margin-top:8px;padding:8px 12px;font-size:.85rem;font-weight:500}.settings-inline-status.is-error{background:var(--danger-soft,#ef44441f);color:var(--danger,#dc2626);border:1px solid #ef444440}.settings-inline-status.is-success{background:var(--success-soft,#10b9811f);color:var(--success,#059669);border:1px solid #10b98140}.course-search-input-wrap{align-items:center;margin-bottom:8px;display:flex;position:relative}.course-search-input-wrap .search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:11px}.course-search-input{padding-left:34px!important}.course-checkbox-grid{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card-subtle);grid-template-columns:1fr;gap:6px;max-height:220px;padding:8px;display:grid;overflow-y:auto}.course-checkbox-pill{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;align-items:center;gap:8px;min-width:0;padding:8px 10px;font-size:.82rem;display:flex}.course-pill-text{overflow-wrap:anywhere;word-break:keep-all;line-height:1.35}.course-search-empty{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:18px;font-size:.84rem}.admin-action-btns{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btn-admin-inline-hide,.btn-admin-inline-delete{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:4px;padding:3px 8px;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-admin-inline-delete{color:var(--danger-color);background:var(--danger-bg);border:1px solid #dc26264d}.btn-admin-inline-delete:hover{filter:brightness(.95)}@media (width<=640px){.theme-selector-grid{grid-template-columns:1fr}.fontsize-option-list{grid-template-columns:repeat(2,minmax(0,1fr))}.course-checkbox-grid{grid-template-columns:1fr}}.text-primary{color:var(--primary-color)}.text-muted{color:var(--text-muted)}.text-danger{color:var(--danger-color)}.text-xs{font-size:.78rem}.font-semibold{font-weight:600}.course-tabs-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.course-tab{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card-subtle);color:var(--text-secondary);cursor:pointer;align-items:center;gap:7px;padding:7px 12px;font-size:.84rem;font-weight:600;line-height:1.25;transition:all .15s;display:inline-flex}.course-tab:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--primary-border)}.course-tab.active{background:var(--primary-color);color:var(--text-inverse);border-color:var(--primary-color)}.tab-count{border-radius:var(--radius-full);background:#00000014;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.74rem;font-weight:700;display:inline-flex}html[data-theme=dark] .tab-count{background:#ffffff1f}.course-tab.active .tab-count{color:var(--text-inverse);background:#ffffff38}html[data-theme=dark] .course-tab.active .tab-count{color:var(--text-inverse);background:#0000002e}.filter-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.filter-bar .search-input-wrap{width:100%}.filter-bar .search-icon{pointer-events:none}.filter-chips-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.category-filter-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-chip{border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--bg-card-subtle);color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;padding:6px 13px;font-size:.82rem;font-weight:600;line-height:1.25;transition:all .15s;display:inline-flex}.filter-chip:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--primary-border)}.filter-chip.active{background:var(--primary-color);color:var(--text-inverse);border-color:var(--primary-color)}.secondary-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.status-select{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);cursor:pointer;outline:none;padding:7px 12px;font-size:.83rem;font-weight:600;transition:border-color .15s}.status-select:focus{border-color:var(--border-focus)}.mine-checkbox-label{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card-subtle);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;padding:6px 12px;font-size:.83rem;font-weight:600;transition:all .15s;display:inline-flex}.mine-checkbox-label:hover{background:var(--bg-hover);color:var(--text-primary)}.mine-checkbox-label input[type=checkbox]{accent-color:var(--primary-color);cursor:pointer;width:15px;height:15px;margin:0}.prof-summary-banner{flex-direction:column;gap:12px;display:flex}.prof-summary-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.prof-stat-card{border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);cursor:pointer;align-items:center;gap:14px;padding:16px;transition:all .15s;display:flex}.prof-stat-card:hover{border-color:var(--primary-border);background:var(--bg-hover)}.prof-stat-card.active{border-color:var(--primary-color);background:var(--primary-light)}.stat-icon-box{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.stat-icon-box.primary{background:var(--primary-light);color:var(--primary-color)}.stat-icon-box.blue{color:#2563eb;background:#2563eb1f}.stat-icon-box.green{background:var(--success-bg);color:var(--success-color)}.stat-label{color:var(--text-muted);margin-bottom:3px;font-size:.78rem;font-weight:600;display:block}.stat-value-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.stat-value{color:var(--text-primary);font-size:1.3rem;font-weight:800}.stat-sub{color:var(--text-muted);font-size:.76rem}.stat-badge-urgent{border-radius:var(--radius-full);background:var(--danger-bg);color:var(--danger-color);align-items:center;padding:2px 8px;font-size:.73rem;font-weight:700;display:inline-flex}.prof-status-strip{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.prof-status-items{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.status-pill-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.question-detail-empty{text-align:center;border-radius:var(--radius-lg);background:var(--bg-card);border:1px dashed var(--border-color);color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:56px 24px;display:flex}.question-attachments-section{border-top:1px solid var(--border-color);margin-top:16px;padding-top:14px}.attachments-header{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:10px;font-size:.84rem;font-weight:700;display:flex}.security-verified-pill{border-radius:var(--radius-full);background:var(--success-bg);color:var(--success-color);align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.attachments-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.attachment-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card-subtle);flex-direction:column;display:flex;overflow:hidden}.attachment-image-preview{background:var(--bg-app);border-bottom:1px solid var(--border-color);max-height:180px;overflow:hidden}.attachment-image-preview img{object-fit:cover;width:100%;height:160px;display:block}.attachment-card-body{align-items:center;gap:10px;padding:10px 12px;display:flex}.attachment-icon-wrap{color:var(--text-muted);flex-shrink:0}.attachment-meta{flex:1;min-width:0}.attachment-filename{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;display:block;overflow:hidden}.attachment-submeta{color:var(--text-muted);align-items:center;gap:6px;font-size:.74rem;display:flex}.compression-pill{border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary-color);padding:1px 6px;font-weight:600}.attachment-download-btn{flex-shrink:0}.original-content-toggle{margin-top:14px}.original-content-box{border-radius:var(--radius-md);background:var(--bg-card-subtle);border:1px solid var(--border-color);color:var(--text-secondary);margin-top:8px;padding:12px 14px;font-size:.86rem}.original-label{color:var(--text-muted);margin-bottom:4px;font-size:.76rem;font-weight:700;display:block}.original-content-box p+p{margin-top:4px}.deleted-question-notice{border-radius:var(--radius-md);background:var(--danger-bg);border:1px solid color-mix(in srgb, var(--danger-color) 35%, transparent);color:var(--danger-color);align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:.88rem;line-height:1.45;display:flex}.deleted-question-notice strong{margin-bottom:2px;font-weight:700;display:block}.deleted-question-notice p{color:var(--text-secondary);margin:0;font-size:.82rem}.forum-topic-row.is-deleted-topic{opacity:.72;background:var(--bg-card-subtle);border-left:3px solid var(--danger-color)}.forum-status-chip.deleted{background:var(--danger-bg);color:var(--danger-color)}.no-answer-box{text-align:center;border-radius:var(--radius-md);background:var(--bg-card);border:1px dashed var(--border-color);color:var(--text-muted);padding:28px 16px;font-size:.9rem}.answer-editor-section{border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin-top:16px;padding:18px 20px}.answer-form{flex-direction:column;gap:12px;display:flex}.answer-form-header{justify-content:space-between;align-items:center;display:flex}.answer-textarea{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-input);width:100%;color:var(--text-primary);resize:vertical;outline:none;padding:12px 14px;font-family:inherit;font-size:.92rem;line-height:1.55}.answer-textarea:focus{border-color:var(--border-focus)}.answer-form-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.answer-hint{color:var(--text-muted);font-size:.78rem}.edited-tag{color:var(--text-muted);font-size:.76rem;font-style:normal}.anon-checkbox-row{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:inline-flex}@media (width<=768px){.prof-summary-stats{grid-template-columns:1fr}.filter-chips-row{flex-direction:column;align-items:stretch}.secondary-filters{justify-content:space-between}}.theme-toggle-group{align-items:center;gap:6px;display:inline-flex}.btn-theme-chip{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card-subtle);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background-color .16s,color .16s,border-color .16s;display:inline-flex}.btn-theme-chip:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--primary-border)}.btn-theme-chip.active{background:var(--primary-light);color:var(--primary-color);border-color:var(--primary-border)}@keyframes modalBackdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-overlay,.modal-backdrop,.image-viewer-modal-backdrop,.auth-gate-overlay{animation:.2s ease-out modalBackdropFadeIn}.modal-container,.auth-gate-card{animation:.22s cubic-bezier(.16,1,.3,1) fadeSlideUp}.modal-content,.image-viewer-modal-box{animation:.22s cubic-bezier(.16,1,.3,1) modalScale}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-backdrop,.image-viewer-modal-backdrop,.auth-gate-overlay,.modal-container,.modal-content,.auth-gate-card,.image-viewer-modal-box{animation:none!important}}.course-select-grid,.course-checkbox-grid{grid-template-columns:1fr}.forum-post-card.student-followup-post{border-left:3px solid var(--primary-color);background:var(--bg-card)}.followup-editor-section{border-top:2px dashed var(--border-color);margin-top:8px}.followup-form-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}html[data-theme=green-dark] .dnd-notice-banner{color:#fde68a;background:#3b260b;border-bottom-color:#6b4416}html[data-theme=green-dark] .ai-applied-tag,html[data-theme=green-dark] .ai-improvements-box,html[data-theme=green-dark] .ai-disclaimer{color:var(--text-secondary);background:var(--bg-card-subtle);border-color:var(--border-color)}html[data-theme=green-dark] .improv-title,html[data-theme=green-dark] .co-prof-action-badge{color:var(--text-primary)}html[data-theme=green-dark] .co-prof-action-badge{background:var(--bg-hover);border-color:var(--border-color)}html[data-theme=green-dark] .similar-detect-banner{background:#1c3526;border-color:#4b8262}html[data-theme=green-dark] .detect-text{color:#c2dfd0}html[data-theme=green-dark] .edited-badge{color:#a5d3b8;background:#1c3526;border-color:#355743}html[data-theme=green-dark] .original-diff-box.author-only-box{background:#1b2a22;border-color:#355743}html[data-theme=green-dark] .diff-privacy-tag{color:#a5d3b8;background:#74b08b29}html[data-theme=green-dark] .diff-note{color:#82c49b}html[data-theme=green-dark] .slider,html[data-theme=green-dark] .toggle-slider{background-color:#2f4538}html[data-theme=green-dark] .form-input:focus,html[data-theme=green-dark] .form-select:focus,html[data-theme=green-dark] .form-textarea:focus{box-shadow:0 0 0 3px #74b08b38}html[data-theme=green-dark] .tab-count{background:#74b08b29}html[data-theme=green-dark] .course-tab.active .tab-count{color:var(--text-inverse);background:#00000040}html[data-theme=green-dark] .image-viewer-modal-box{background:var(--bg-card);border:1px solid var(--border-color)}
