*{box-sizing:border-box}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#1e293b;background-color:#f1f5f9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%}:root{--color-primary:#334155;--color-primary-hover:#0f172a;--color-primary-light:#e2e8f0;--color-primary-lighter:#f8fafc;--color-accent-soft:#e2e8f0;--color-accent-ink:#334155;--color-neutral-ink:#475569;--color-neutral-fill:#e9eef4;--color-neutral-fill-strong:#dbe4ed;--color-neutral-border:#d5dee8;--color-neutral-bubble:#d9e2ea;--color-accent-warm:#b85c38;--color-accent-warm-hover:#9d4d2f;--color-accent-warm-soft:#f3e5de;--color-accent-warm-softer:#fbf3ef;--color-accent-green:#5f8f4e;--color-accent-green-hover:#4e7840;--color-accent-green-soft:#e7f0e2;--color-accent-green-softer:#f4f8f1;--color-text-dark:#0f172a;--color-text:#1e293b;--color-text-secondary:#334155;--color-text-muted:#64748b;--color-text-light:#7b8aa0;--color-bg-white:white;--color-bg-light:#f8fafc;--color-bg-gray:#f1f5f9;--color-bg-hover:#f1f5f9;--color-surface:#ffffff;--color-surface-hover:#f1f5f9;--color-background:#f8fafc;--color-border:#e2e8f0;--color-border-light:#e2e8f0;--color-border-dark:#cbd5e1;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-dark:#991b1b;--color-danger-light:#ef4444;--color-danger-bg:#fef2f2;--color-danger-bg-dark:#fee2e2;--color-danger-border:#fecaca;--color-success:#22c55e;--color-success-dark:#16a34a;--color-success-bg:#f0fdf4;--color-success-bg-dark:#dcfce7;--color-warning:#f59e0b;--color-warning-dark:#d97706;--color-warning-bg:#fef9c3;--color-warning-bg-dark:#fef08a;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:0.75rem;--spacing-lg:1rem;--spacing-xl:1.5rem;--spacing-2xl:2rem;--sidebar-width:220px;--mobile-header-height:64px;--transition-fast:all 0.15s;--transition-normal:all 0.2s;--transition-bg:background 0.15s;--transition-color:color 0.15s;--shadow-xs:0 1px 3px rgba(0,0,0,0.08);--shadow-sm:0 2px 8px rgba(0,0,0,0.06);--shadow-md:0 4px 12px rgba(0,0,0,0.1);--shadow-lg:0 4px 20px rgba(0,0,0,0.08);--shadow-xl:0 10px 40px rgba(0,0,0,0.15);--shadow-focus:0 0 0 3px rgba(51,65,85,0.12);--shadow-primary-sm:0 2px 8px rgba(51,65,85,0.16);--shadow-primary:0 4px 12px rgba(51,65,85,0.22);--font-xs:0.75rem;--font-sm:0.8rem;--font-base:0.875rem;--font-md:0.9rem;--font-lg:1rem;--font-xl:1.25rem;--font-2xl:1.5rem}.hidden{display:none!important}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-error-banner{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;background:var(--color-danger-bg);border-bottom:1px solid var(--color-danger-border);color:var(--color-danger);font-size:.875rem}.auth-error-banner button{background:none;border:none;color:var(--color-danger);font-size:1.25rem;cursor:pointer;padding:0 .25rem;line-height:1}.auth-error-banner button:hover{color:var(--color-danger-dark)}.error-boundary-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--color-text-muted);min-height:300px}.error-boundary-fallback svg{color:var(--color-danger-light);margin-bottom:1rem}.error-boundary-fallback h3{color:var(--color-text);margin-bottom:.5rem;font-size:1.25rem}.error-boundary-fallback p{margin-bottom:1.5rem;max-width:400px}.error-boundary-fallback .retry-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-primary);color:white;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition-bg)}.error-boundary-fallback .retry-btn:hover{background:var(--color-primary-hover)}.page-size-input{width:60px;padding:.375rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:white;font-size:.875rem;color:var(--color-text-dark);text-align:center}.page-size-input:hover{border-color:var(--color-border-dark)}.page-size-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.page-size-input::-webkit-inner-spin-button,.page-size-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-size-input[type=number]{-moz-appearance:textfield}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:white;color:var(--color-text-dark);padding:1rem 1.25rem;box-shadow:var(--shadow-xs);border-bottom:1px solid var(--color-border);position:relative}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;position:relative}.header-utilities{display:flex;flex:1 1;justify-content:center;align-items:center;min-width:0;min-height:38px}.header-utilities:empty{visibility:hidden}.logo{display:flex;align-items:center;gap:1rem}.header-logo{padding-left:0;flex:0 0 auto}.logo-image{width:44px;height:44px;border-radius:var(--radius-lg);object-fit:cover}.logo-text .logo-button,.logo-text h1{font-size:1.5rem;font-weight:600;margin:0;letter-spacing:-.02em}.logo-text .logo-button{background:none;border:none;cursor:pointer;padding:0;color:inherit;transition:var(--transition-color)}.logo-text .logo-button:hover{color:var(--color-primary)}.logo-short{display:none}.logo-subtitle{font-size:.8rem;color:var(--color-text-muted);letter-spacing:.02em}.app-body{display:flex;flex:1 1;min-height:0}.header-tabs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.header-tabs-pill{display:inline-flex;justify-content:center;padding:.4rem;background:white;border:1px solid var(--color-border);border-radius:999px;box-shadow:var(--shadow-sm)}.header-tabs-nav{display:flex;align-items:center;justify-content:center;gap:clamp(.25rem,1vw,.75rem)}.header-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem clamp(.625rem,1.5vw,1.25rem);background:transparent;border:none;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;text-decoration:none}.header-tab:hover{background:var(--color-bg-gray);color:var(--color-text);text-decoration:none}.header-tab:focus,.header-tab:focus-visible{text-decoration:none}.header-tab.active{background:#334155;color:white;text-decoration:none}.header-tab.has-unseen{position:relative}.header-tab.has-unseen:after{content:"";position:absolute;top:6px;right:6px;width:7px;height:7px;background:var(--color-accent-warm);border-radius:50%}.header-tab-badge{background:var(--color-accent-warm);color:white;font-size:.7rem;font-weight:600;padding:.125rem .375rem;border-radius:10px;min-width:1.25rem;text-align:center}.app-content{flex:1 1;min-width:0}.header-right{display:flex;align-items:center;gap:1.5rem;flex:0 0 auto;white-space:nowrap}.main{flex:1 1;max-width:1400px;margin:0 auto;padding:3rem 2rem 2rem;width:100%;box-sizing:border-box}.filters-section{margin-bottom:1.5rem}.filters{display:flex;gap:1rem;margin-bottom:1rem}.filters .search-box{flex:1 1;display:flex;align-items:center;background:white;border:2px solid var(--color-border-light);border-radius:var(--radius-lg);padding:.75rem 1rem;transition:var(--transition-normal)}.filters .search-box:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.filters .search-box svg{color:var(--color-text-light);margin-right:.75rem}.filters .search-box input{flex:1 1;border:none;outline:none;font-size:1rem;background:transparent}.clear-search{background:none;border:none;color:var(--color-text-light);font-size:1.25rem;cursor:pointer;padding:0 .25rem;line-height:1;transition:var(--transition-color)}.clear-search:hover{color:var(--color-text-muted)}.search-input-with-help{display:flex;align-items:center;gap:.35rem;width:100%}.search-input-with-help .search-box{flex:1 1}.search-help-wrapper{position:relative;display:flex;align-items:center;z-index:10}.search-help-btn{background:none;border:none;color:var(--color-text-light);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);transition:var(--transition-fast)}.search-help-btn:hover{color:var(--color-text-muted);background:var(--color-bg-gray)}.search-help-tooltip{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-text);color:#e2e8f0;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.8rem;line-height:1.6;white-space:nowrap;z-index:1000;box-shadow:var(--shadow-md)}.search-help-tooltip:before{content:"";position:absolute;top:-6px;right:8px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #1e293b}.form-select{padding:.75rem 1rem;border:2px solid var(--color-border-light);border-radius:var(--radius-lg);font-size:1rem;background:white;cursor:pointer;min-width:180px;transition:var(--transition-normal)}.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.form-multiselect{position:relative}.form-multiselect .form-select{display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dropdown-chevron{transition:transform .2s}.dropdown-chevron.open{transform:rotate(180deg)}.form-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:white;border:2px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:0 10px 25px rgba(0,0,0,.15);z-index:100;max-height:300px;overflow-y:auto;padding:.5rem}.form-option{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-bg)}.form-option.focused,.form-option:hover{background:var(--color-bg-gray)}.form-option.focused{outline:2px solid var(--color-primary);outline-offset:-2px}.form-option input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.form-option .form-badge{pointer-events:none}.filter-results{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--color-text-muted);flex-wrap:wrap}.filter-tag{background:var(--color-accent-soft);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;gap:.35rem}.filter-tag,.filter-tag-remove{color:var(--color-accent-ink);display:inline-flex;align-items:center}.filter-tag-remove{background:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:opacity .15s}.filter-tag-remove:hover{opacity:1}.clear-filters{background:none;border:none;color:var(--color-primary);font-size:.85rem;cursor:pointer;text-decoration:underline;padding:0}.clear-filters:hover{color:var(--color-primary-hover)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;margin:1rem 0;border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light)}.pagination-info{font-size:.9rem;color:var(--color-text-muted)}.pagination-controls{gap:.5rem}.page-btn,.pagination-controls{display:flex;align-items:center}.page-btn{width:36px;height:36px;border-radius:var(--radius-md);background:white;border:1px solid var(--color-border-light);cursor:pointer;justify-content:center;color:var(--color-text-muted);transition:var(--transition-fast)}.page-btn:hover:not(:disabled){background:var(--color-bg-gray);border-color:var(--color-border-dark);color:var(--color-text)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-numbers{display:flex;align-items:center;gap:.25rem}.page-number{min-width:36px;height:36px;border-radius:var(--radius-md);background:white;border:1px solid var(--color-border-light);cursor:pointer;font-size:.9rem;font-weight:500;color:var(--color-text-muted);transition:var(--transition-fast)}.page-number:hover{background:var(--color-bg-gray);border-color:var(--color-border-dark);color:var(--color-text)}.page-number.active{background:#334155;border-color:#334155;color:white}.page-ellipsis{padding:0 .5rem;color:var(--color-text-light)}.error-container,.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.error-content,.loading-content{text-align:center;padding:3rem;background:white;border-radius:24px;box-shadow:var(--shadow-xl)}.error-content h2,.loading-content h2{margin:1rem 0 .5rem;color:var(--color-text);font-size:1.5rem}.error-content p,.loading-content p{margin:0;color:var(--color-text-muted)}.spinner{animation:spin 1s linear infinite;color:var(--color-primary)}.error-icon{width:64px;height:64px;background:var(--color-danger-bg-dark);color:var(--color-danger);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1rem}.error-content button{margin-top:1.5rem;background:var(--color-primary);color:white;border:none;padding:.75rem 2rem;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition-fast)}.error-content button:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.no-results{text-align:center;padding:4rem 2rem;color:var(--color-text-muted);background:white;border-radius:var(--radius-xl);border:1px solid var(--color-border-light)}.no-results-icon{color:var(--color-border-dark);margin-bottom:1rem}.no-results h3{margin:0 0 .5rem;color:var(--color-text-secondary);font-size:1.25rem}.no-results p{margin:0;font-size:.95rem}.footer{background:white;border-top:1px solid var(--color-border);padding:1.25rem;width:100%}.footer-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.footer-left{color:var(--color-text-muted);font-size:.8rem;font-weight:500}.footer-right{gap:2rem;flex-wrap:wrap;justify-content:flex-end}.footer-legal,.footer-right{display:flex;align-items:center}.footer-link{background:none;border:none;color:var(--color-text-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition-color)}.footer-link:hover{color:var(--color-primary)}.footer-social{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.footer-social-link{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted);font-size:.8rem;font-weight:500;text-decoration:none;transition:color .2s ease;background:none;border:none;padding:0;cursor:pointer}.footer-social-link:hover{color:var(--color-primary)}.footer-social-link:hover svg{fill:currentColor}.footer-social-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.footer-social-icon svg{width:16px;height:16px;fill:currentColor}@media (max-width:768px){.header{height:var(--mobile-header-height);padding:.5rem 1rem}.header-content{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem;align-items:center;height:100%}.filters{flex-direction:column}.pagination{gap:.75rem}.pagination-info{font-size:.8rem}.filter-results{justify-content:center}.header-right{flex-direction:row;gap:.5rem;justify-content:flex-end}.header-utilities{flex:1 1 auto;min-width:0;width:auto;justify-content:center}.logo-image{width:40px;height:40px}.auth-avatar{width:36px;height:36px}.header-logo{padding-left:0}.auth-name{display:none}.auth-button.auth-user{width:36px;justify-content:center;padding:0;gap:0;background:transparent;border:none}.auth-button.auth-user:hover{background:transparent}.logo-text h1{font-size:1.5rem;font-weight:700;width:36px;height:36px;line-height:36px;text-align:center}.auth-button{padding:.375rem .5rem;height:36px}.header-right .auth-sign-in span{display:none}.header-right .auth-sign-in{width:36px;justify-content:center}.auth-avatar{width:26px;height:26px}.page-btn,.page-number{width:34px;min-width:34px;height:34px}.page-btn svg{width:17px;height:17px}.page-numbers .page-ellipsis,.page-numbers .page-number:not(.active),.sign-in-prompt .sign-in-text-full{display:none}.sign-in-prompt .sign-in-text-short{display:inline;white-space:nowrap;font-size:.85rem}.sign-in-prompt .auth-sign-in{width:auto;padding:.375rem .625rem;gap:.35rem}.header-tabs{max-width:100%;margin:0 .5rem}.header-tabs-pill{padding:.3rem}.header-tab{font-size:.85rem}.bookmarks-btn .btn-text{display:none}.bookmarks-btn{padding:.625rem}.footer{padding:.75rem 1rem}.footer-content,.footer-right{gap:1rem}.footer-social{gap:.75rem}.footer-social-text,.search-help-wrapper{display:none}}@media (max-width:1200px){.header-tab-label{display:none}}.auth-button{display:flex;align-items:center;gap:.5rem;height:38px;padding:0 .75rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;cursor:pointer;transition:var(--transition-normal);border:none}.auth-sign-in-container{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.auth-sign-in-error{background:var(--color-danger-bg);color:var(--color-danger);font-size:.75rem;padding:.375rem .75rem;border-radius:var(--radius-sm);white-space:nowrap}.auth-sign-in{background:#334155;color:white;box-shadow:0 4px 14px rgba(51,65,85,.18)}.auth-sign-in:hover:not(:disabled){box-shadow:0 8px 24px rgba(51,65,85,.24);transform:translateY(-1px)}.auth-sign-in:disabled{opacity:.7;cursor:not-allowed}.auth-user{background:transparent;color:var(--color-text-dark);border:none}.auth-loading,.auth-user:hover{background:var(--color-bg-gray)}.auth-loading{padding:.75rem 1rem}.auth-spinner{width:18px;height:18px;border:2px solid var(--color-border);border-top-color:var(--color-primary);animation:spin .8s linear infinite}.auth-avatar,.auth-spinner{border-radius:var(--radius-full)}.auth-avatar{width:40px;height:40px;object-fit:cover}.auth-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-dropdown{position:relative}.auth-menu{position:absolute;top:100%;left:0;margin-top:.5rem;min-width:200px;max-width:calc(100vw - 2rem);background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;z-index:1000}.auth-menu-divider{height:1px;background:var(--color-border)}.auth-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;font-size:.9rem;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-bg)}.auth-menu-item:hover{background:var(--color-bg-gray)}.auth-button.auth-user.has-unread{position:relative}.auth-button.auth-user.has-unread:after{content:"";position:absolute;top:4px;right:4px}.auth-button.auth-user.has-unread:after,.auth-menu-unread-dot{width:7px;height:7px;background:var(--color-accent-warm);border-radius:50%}.auth-menu-unread-dot{margin-left:auto}.auth-menu-row{justify-content:flex-start;padding:.6rem 1rem}.auth-menu-row,.auth-username-display{display:flex;align-items:center;gap:.5rem}.auth-username-display span{font-size:.9rem;color:var(--color-text-dark);font-weight:500}.auth-username-edit{display:flex;align-items:center;gap:.25rem}.auth-username-input-wrapper{position:relative;display:flex;align-items:center}.auth-username-input{width:120px;padding:.3rem 1.5rem .3rem .5rem;font-size:.85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s}.auth-username-input:focus{border-color:var(--color-primary)}.auth-username-input.error{border-color:var(--color-danger-light)}.auth-username-input.available{border-color:var(--color-success)}.auth-username-status{position:absolute;right:.4rem;color:var(--color-text-muted)}.auth-username-status.available{color:var(--color-success)}.auth-icon-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:none;border-radius:var(--radius-xs);cursor:pointer;color:var(--color-text-muted);transition:background .15s,color .15s}.auth-icon-btn:hover{background:var(--color-bg-gray)}.auth-icon-btn.edit:hover{color:var(--color-primary)}.auth-icon-btn.save{color:var(--color-success)}.auth-icon-btn.save:hover{background:var(--color-success-bg-dark)}.auth-icon-btn.cancel{color:var(--color-danger-light)}.auth-icon-btn.cancel:hover{background:var(--color-danger-bg-dark)}.auth-username-error{padding:0 1rem .5rem;font-size:.75rem;color:var(--color-danger-light)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:white;border-radius:var(--radius-xl);max-width:500px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden}.modal-content.modal-small{max-width:400px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text-dark)}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-bg-gray);border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-fast)}.modal-close:hover{background:var(--color-border);color:var(--color-text-dark)}.modal-body{padding:1.5rem}.modal-body p{margin:0;color:var(--color-text-secondary);font-size:.95rem;line-height:1.6}.edit-textarea,.modal-body textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;resize:vertical;min-height:100px;font-family:inherit;margin-top:1rem;box-sizing:border-box}.edit-textarea:focus,.modal-body textarea:focus{outline:none;border-color:var(--color-neutral-border);box-shadow:var(--shadow-focus)}.edit-hint{font-size:.875rem;color:var(--color-text-muted);margin:0 0 .5rem;padding:.75rem;background:var(--color-bg-light);border-radius:var(--radius-md);border-left:3px solid var(--color-neutral-border)}.edit-title-input{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;font-weight:500;font-family:inherit;margin-top:.75rem;box-sizing:border-box}.edit-title-input:focus{outline:none;border-color:var(--color-neutral-border);box-shadow:var(--shadow-focus)}.edit-expired-warning{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-md);margin-bottom:.75rem;color:#92400e;font-size:.875rem}.edit-expired-warning svg{flex-shrink:0;margin-top:2px}.original-content{margin-top:1rem;padding:1rem;background:var(--color-bg-light);border-radius:var(--radius-md);border:1px solid var(--color-border)}.original-content strong{display:block;font-size:.8rem;color:var(--color-text-muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.03em}.original-content p{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background:var(--color-bg-light);border-top:1px solid var(--color-border)}.delete-confirm-btn{padding:.625rem 1.25rem;background:var(--color-danger-light);border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:white;cursor:pointer;transition:var(--transition-fast)}.delete-confirm-btn:hover:not(:disabled){background:var(--color-danger)}.delete-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.undelete-confirm-btn{padding:.625rem 1.25rem;background:var(--color-neutral-fill-strong);border:1px solid var(--color-neutral-border);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--color-text-dark);cursor:pointer;transition:var(--transition-fast)}.undelete-confirm-btn:hover:not(:disabled){background:var(--color-neutral-fill)}.undelete-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.submit-btn{padding:.625rem 1.25rem;background:var(--color-neutral-fill-strong);border:1px solid var(--color-neutral-border);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--color-text-dark);cursor:pointer;transition:var(--transition-fast)}.submit-btn:hover:not(:disabled){background:var(--color-neutral-fill)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.edit-info{font-size:.85rem;color:var(--color-text-muted);margin-bottom:1rem;padding:.75rem;background:var(--color-bg-light);border-radius:var(--radius-md);border-left:3px solid var(--color-neutral-border)}.delete-warning{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1rem;color:var(--color-danger);font-size:.9rem}.edit-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-muted);padding:.35rem .5rem;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.edit-btn:hover{color:var(--color-primary);background:var(--color-primary-lighter)}.delete-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-muted);padding:.35rem .5rem;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.delete-btn:hover{color:var(--color-danger-light);background:var(--color-danger-bg)}.undelete-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-success);padding:.35rem .5rem;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.undelete-btn:hover{background:var(--color-success-bg);color:var(--color-success-dark)}.post-card.deleted-post .deleted-content{color:var(--color-text-light);font-style:italic}.post-card.deleted-post.admin-view{background:var(--color-danger-bg);border:1px dashed #fca5a5}.post-card.deleted-post.admin-view .post-footer{border-top-color:#fca5a5}.user-deleted-indicator{display:flex;align-items:center;padding:.35rem .5rem;color:var(--color-text-light);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.user-deleted-indicator:hover{background:var(--color-bg-gray);color:var(--color-text-muted)}.additional-comments{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed #e2e8f0;font-size:.9rem;color:var(--color-text-secondary)}.additional-comments>strong{color:var(--color-text-muted);font-weight:500;font-size:.8rem;display:block;margin-bottom:.5rem}.additional-comment-item{margin-bottom:.75rem}.additional-comment-item:last-child{margin-bottom:0}.additional-comment-item .comment-timestamp{color:var(--color-text-secondary);font-size:.85rem}.additional-comments p{margin:0;white-space:pre-wrap}.edited-indicator{font-size:.75rem;color:var(--color-text-light);font-style:italic}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:400px;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:0 4px 12px rgba(0,0,0,.15);background:white;pointer-events:auto;animation:toast-slide-in .2s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-icon{flex-shrink:0}.toast-message{flex:1 1;font-size:.875rem;line-height:1.4;color:var(--color-text)}.toast-dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.toast-dismiss:hover{background:var(--color-bg-gray);color:var(--color-text)}.toast-success{background:#f8fffb}.toast-success .toast-icon{color:#22c55e}.toast-error{background:#fffaf9}.toast-error .toast-icon{color:var(--color-danger)}.toast-warning{background:#fffdf7}.toast-warning .toast-icon{color:#f59e0b}.toast-info{background:var(--color-bg-light)}.toast-info .toast-icon{color:var(--color-neutral-ink)}@media (max-width:480px){.toast-container{top:auto;bottom:1rem;left:1rem;right:1rem;max-width:none}.toast{animation:toast-slide-up .2s ease-out}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.tab-content.hidden{display:none}.discussion-fetching-indicator{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);background-size:200% 100%;animation:fetching-shimmer 1.5s ease-in-out infinite;z-index:1000}@keyframes fetching-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.discussion-container{display:flex;gap:1.5rem;max-width:1200px;margin:0 auto;padding:3rem 1.5rem 1.5rem}.discussion-container.no-sidebar{max-width:900px}.discussion-error{position:fixed;top:1.5rem;right:1.5rem;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);padding:.875rem 1.25rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:1rem;font-size:.875rem;font-weight:500;box-shadow:var(--shadow-md);z-index:1000}.discussion-error button{background:none;border:none;color:var(--color-danger);font-size:1.25rem;cursor:pointer;padding:0;line-height:1;opacity:.7}.discussion-error button:hover{opacity:1}.chat-toast{position:fixed;top:1.5rem;right:1.5rem;background:var(--color-success-bg);border:1px solid #bbf7d0;color:#166534;padding:.75rem 1rem;border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;font-weight:500;box-shadow:var(--shadow-md);z-index:1000}.chat-toast button{background:none;border:none;color:#166534;font-size:1.25rem;cursor:pointer;padding:0;line-height:1;opacity:.7}.chat-toast button:hover{opacity:1}.query-error-banner{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem}.query-error-banner .retry-btn{display:flex;align-items:center;gap:.375rem;background:var(--color-danger);color:white;border:none;padding:.5rem .875rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;white-space:nowrap}.query-error-banner .retry-btn:hover{background:var(--color-danger-hover)}.discussion-main{flex:1 1;min-width:0}.discussion-toolbar-wrap{display:flex;flex-direction:column;gap:.75rem}.discussion-toolbar-wrap--top{margin-bottom:1.5rem}.discussion-toolbar-wrap--bottom{margin-top:.75rem}.discussion-toolbar-row{justify-content:space-between}.discussion-toolbar-left,.discussion-toolbar-row{display:flex;align-items:center;gap:.75rem}.discussion-toolbar-right{gap:.5rem}.discussion-toolbar-right,.discussion-utility{display:flex;align-items:center}.take-bite-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:white;color:var(--color-text-secondary);font-size:.9rem;cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.take-bite-btn:hover{box-shadow:var(--shadow-xs)}.newsletter-filter-btn.active,.take-bite-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.newsletter-filter-btn.active{background:var(--color-bg-gray)}.alerts-btn{position:relative;padding:.6rem;gap:0}.alerts-btn.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-bg-gray)}.alerts-btn-badge{position:absolute;top:-4px;right:-4px;background:var(--color-accent-warm);color:white;font-size:.65rem;font-weight:700;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:10px;padding:0 4px}.replies-view .discussion-toolbar-left .take-bite-btn,.thread-view .discussion-toolbar-left .take-bite-btn{padding:.4rem .75rem;border:1px solid var(--color-border);background:white;color:var(--color-text-secondary)}.replies-view .discussion-toolbar-left .take-bite-btn:hover,.thread-view .discussion-toolbar-left .take-bite-btn:hover{border-color:var(--color-primary);background:white;color:var(--color-primary);box-shadow:var(--shadow-xs)}.discussion-search-row{display:flex;align-items:center;gap:.75rem}.discussion-search-row .search-input-with-help{flex:1 1;min-width:0}.search-cancel-btn{flex-shrink:0}.discussion-container .search-box{display:flex;align-items:center;gap:.5rem;height:38px;padding:0 .75rem;background:white;transition:width .2s ease;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted)}.grove-search.search-box{width:220px;transition:width .2s ease,border-color .15s ease,box-shadow .15s ease}.grove-search.search-box.has-value,.grove-search.search-box:focus-within,.grove-search.search-box:has(input:not(:placeholder-shown)){width:clamp(300px,40vw,500px)}.discussion-search-row .search-input-with-help .grove-search.search-box{flex:1 1;width:100%}.discussion-container .search-box:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.discussion-container .search-box input{border:none;outline:none;font-size:.9rem;background:transparent;width:100%;flex:1 1}.discussion-container .search-box input::placeholder{color:var(--color-text-light)}.sort-options{display:flex;gap:.25rem;background:var(--color-bg-gray);padding:.35rem;border-radius:var(--radius-md)}.sort-select-container{background:transparent;padding:0;position:relative}.sort-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:var(--radius-md);background:transparent;font-size:.9rem;font-weight:600;height:38px;padding:0 1.75rem 0 .25rem;cursor:pointer;min-width:auto;transition:color .15s ease}.sort-select,.sort-select:focus,.sort-select:hover{color:var(--color-text-dark)}.sort-select:focus{outline:none}.sort-select-icon{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);pointer-events:none;transition:color .15s ease}.sort-select-container:hover .sort-select-icon,.sort-select-icon{color:var(--color-text-muted)}.new-thread-form{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}.new-thread-form.thread-reply-box-wrap{padding:.75rem 0;border-bottom:none}.cancel-btn{padding:.625rem 1rem;background:white;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;color:var(--color-text-secondary);cursor:pointer}.cancel-btn:hover{background:var(--color-bg-light)}.flagged-notification{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--radius-md);margin-bottom:1rem;color:#92400e;font-size:.875rem;font-weight:500}.post-flag-indicator{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:#d97706;background:#fef3c7;padding:.25rem .5rem;border-radius:var(--radius-xs);margin-bottom:.5rem}.forum-loading{display:flex;justify-content:center;padding:3rem}.thread-list{gap:0;border-top:1px solid var(--color-border-light)}.author-posts-list,.thread-list{display:flex;flex-direction:column}.author-posts-list{gap:1rem}.author-post-item{display:flex;flex-direction:column;gap:.5rem}.author-post-thread-info{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-muted);padding-left:.5rem}.author-post-thread-info .thread-link-btn{font-weight:500;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:0;font-size:inherit;transition:color var(--transition-fast)}.author-post-thread-info .thread-link-btn:hover{color:var(--color-primary);text-decoration:underline}.author-post-thread-info .op-badge{font-size:.7rem;font-weight:600;color:var(--color-primary);background:var(--color-primary-light);padding:.15rem .4rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}.author-post-card-wrapper{cursor:pointer;transition:var(--transition-fast)}.author-post-card-wrapper .post-card{border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.author-post-card-wrapper:hover{transform:translateX(2px)}.author-post-card-wrapper:hover .post-card{border-color:var(--color-primary-light);box-shadow:var(--shadow-md)}.post-card.highlight{animation:highlight-pulse 2s ease-out}@keyframes highlight-pulse{0%,25%{background:var(--color-primary-light);box-shadow:0 0 0 4px rgba(51,65,85,.24)}to{background:white;box-shadow:none}}.thread-card{display:flex;align-items:flex-start;gap:.75rem;background:white;padding:.875rem 1rem .625rem;cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--color-border-light)}.thread-card:hover{background:var(--color-bg-light)}.thread-card--pinned{background:#fbfcfd}.thread-card--pinned:hover{background:var(--color-bg-light)}.thread-avatar-col{flex-shrink:0}.thread-avatar-col .avatar-small{width:40px;height:40px}.thread-card-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.thread-header{justify-content:space-between;gap:.5rem}.thread-author-info,.thread-header{display:flex;align-items:center;min-width:0}.thread-author-info{gap:.35rem}.thread-author-name{font-weight:600;font-size:.95rem;color:var(--color-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-date{font-size:.85rem;color:var(--color-text-light);white-space:nowrap}.thread-date:before{content:"\00b7";margin-right:.35rem}.thread-content{font-size:1rem;color:var(--color-text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word}.thread-actions-bar{display:flex;align-items:center;justify-content:space-between;margin-top:.25rem;font-size:.9rem;color:var(--color-text-muted)}.thread-actions-bar .vote-display .vote-score{min-width:2ch}.thread-actions-bar .reply-count-badge{padding:.25rem 0}.thread-actions-bar .bookmark-btn,.thread-actions-bar .share-btn{padding:.25rem}.thread-footer{justify-content:space-between;flex-wrap:nowrap;color:var(--color-text-light);font-size:.85rem;gap:1rem;width:100%;padding-top:.75rem;margin-top:.75rem;border-top:1px solid #f1f5f9}.thread-footer,.thread-footer .thread-meta{display:flex;flex-direction:row;align-items:center}.thread-footer .thread-meta{gap:.5rem}.thread-footer .thread-meta .thread-date{color:var(--color-text-light)}.thread-actions{display:flex;flex-direction:row;align-items:center;gap:.75rem;margin-left:auto}.thread-actions .stat-item{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-text-muted)}.thread-actions .stat-item.vote-score-item{font-weight:600}.thread-actions .stat-item.vote-score-item.positive{color:var(--color-success)}.thread-actions .stat-item.vote-score-item.negative{color:var(--color-danger-light)}.bookmark-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-xs);transition:var(--transition-normal);display:flex;align-items:center}.bookmark-btn:hover{background:rgba(51,65,85,.08)}.bookmark-btn.active,.bookmark-btn:hover{color:var(--color-primary)}.bookmark-btn.active svg{fill:var(--color-primary)}.share-container{position:relative}.share-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-xs);display:flex;align-items:center;transition:color .15s,background .15s}.share-btn:hover{color:var(--color-primary);background:rgba(51,65,85,.08)}.share-menu{position:absolute;bottom:100%;right:0;background:white;border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;min-width:120px;margin-bottom:4px}.share-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;width:100%;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--color-text-secondary);transition:var(--transition-bg)}.share-menu-item:first-child{border-radius:8px 8px 0 0}.share-menu-item:last-child{border-radius:0 0 8px 8px}.share-menu-item:hover{background:var(--color-bg-gray)}.share-menu-item svg{flex-shrink:0}.empty-state{text-align:center;padding:4rem 2rem;color:var(--color-text-light);background:linear-gradient(135deg,var(--color-accent-warm-softer) 0,var(--color-accent-green-softer) 100%);border:1px solid color-mix(in srgb,var(--color-accent-warm) 10%,white);border-radius:var(--radius-xl)}.empty-state svg{margin-bottom:1rem;opacity:.9;color:var(--color-accent-warm)}.empty-state p{font-size:.95rem}.thread-reply-box-wrap{padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light)}.thread-reply-box-wrap--bottom{border-bottom:none}.thread-reply-placeholder{width:100%;padding:.75rem 1rem;border:1px solid #94a3b8;border-radius:var(--radius-full);background:none;color:#94a3b8;font-size:.95rem;text-align:left;cursor:pointer;transition:border-color var(--transition-fast)}.thread-reply-placeholder:hover{border-color:#334155}.new-thread-placeholder{margin:0}.thread-reply-box-wrap .reply-input-container{margin-top:0;border-radius:0;box-shadow:none;background:none;padding:0}.thread-reply-box-wrap .reply-editor{border-radius:var(--radius-sm);min-height:60px}.thread-reply-box-wrap .reply-input-wrapper{gap:.25rem}.thread-reply-box-wrap .reply-editor p.is-editor-empty:first-child:before{color:#94a3b8}.parent-post-wrapper{position:relative}.replies-view,.thread-view{display:flex;flex-direction:column;gap:0}.thread-timeline-item{background:white;border-bottom:1px solid var(--color-border-light);overflow:visible}.thread-timeline-item .post-card{background:transparent;border-radius:0;padding:.875rem 1rem .625rem;box-shadow:none;border-left:none}.replies-view .thread-timeline-item .post-card,.thread-view .thread-timeline-item .post-card{border-left:none}.replies-view .thread-timeline-item .post-card:hover,.thread-view .thread-timeline-item .post-card:hover{background:var(--color-bg-light)}.replies-view .thread-timeline-item .reply-card.has-replies,.thread-view .thread-timeline-item .reply-card.has-replies{transition:background var(--transition-fast)}.post-card{background:white;border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-lg)}.post-avatar-col{flex-shrink:0}.post-avatar-col .avatar-small{width:40px;height:40px}.deleted-avatar{background:var(--color-bg-gray);border-radius:var(--radius-full)}.post-body{flex:1 1;min-width:0}.post-card.two-column{display:flex;gap:.75rem}.original-post,.parent-post{border-left:4px solid var(--color-primary)}.replies-view .op-post-wrapper{border-bottom:none;position:relative;overflow:visible}.replies-view .op-post-wrapper .post-avatar-col{position:relative;align-self:stretch}.replies-view .op-post-wrapper:after{content:"";position:absolute;left:calc(1rem + 20px);transform:translateX(-50%);top:calc(.875rem + 44px);bottom:calc(-.875rem - 1px + 4px);width:2px;background:var(--color-border-dark);z-index:1}.replies-view .parent-post-wrapper .post-header .avatar-small{width:40px;height:40px}.reply-card{margin-left:0}.reply-card.has-replies{cursor:pointer;transition:var(--transition-normal)}.reply-card.has-replies:hover{background:var(--color-bg-light)}.replies-view .original-post,.replies-view .parent-post,.thread-view .original-post{border-left:none}.replies-view .original-post .post-actions,.replies-view .parent-post .post-actions{display:flex;align-items:center;justify-content:space-between;flex:1 1}.replies-view .original-post .post-actions .vote-icon{width:18px;height:18px}.replies-view .original-post .post-actions .vote-score{font-size:.8rem}.replies-view .original-post .post-actions .bookmark-btn,.replies-view .original-post .post-actions .reply-count-badge,.replies-view .original-post .post-actions .share-btn{padding:.35rem .5rem}.replies-view .original-post .post-actions .bookmark-btn svg,.replies-view .original-post .post-actions .reply-count-badge svg,.replies-view .original-post .post-actions .share-btn svg{width:14px;height:14px}.replies-view .parent-post .post-actions .vote-icon{width:22px;height:22px}.replies-view .parent-post .post-actions .vote-score{font-size:.95rem}.replies-view .parent-post .post-actions .bookmark-btn,.replies-view .parent-post .post-actions .reply-count-badge,.replies-view .parent-post .post-actions .share-btn{padding:.4rem .6rem}.replies-view .parent-post .post-actions .bookmark-btn svg,.replies-view .parent-post .post-actions .reply-count-badge svg,.replies-view .parent-post .post-actions .share-btn svg{width:18px;height:18px}.op-post-wrapper{cursor:pointer;transition:var(--transition-fast);overflow:visible}.op-post-wrapper:hover .post-card{background:var(--color-bg-light)}.parent-post-wrapper{cursor:pointer;transition:var(--transition-fast)}.parent-post-wrapper:hover .post-card{background:var(--color-bg-light)}.thread-newsletter-badge{color:var(--color-accent-warm);background:var(--color-accent-warm-softer)}.thread-newsletter-badge,.thread-pinned-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:.1rem .4rem;border-radius:var(--radius-xs);white-space:nowrap;flex-shrink:0}.pin-thread-btn.active,.thread-pinned-badge{color:var(--color-primary);background:rgba(51,65,85,.08)}.thread-card--newsletter{border-left:3px solid var(--color-accent-warm)}.thread-card--newsletter:hover{background:linear-gradient(135deg,var(--color-bg-light) 0,var(--color-accent-warm-soft) 100%)}.thread-card--newsletter .thread-content{font-size:1.05rem;line-height:1.6;-webkit-line-clamp:4;color:var(--color-text)}.thread-card--newsletter .thread-author-name{color:var(--color-accent-warm)}.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.85;letter-spacing:-.01em;color:#2a2a2a;max-width:680px;margin:0 auto}.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content p{margin:0 0 1.1rem}.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content p:first-of-type:first-letter{float:left;font-size:3.4em;line-height:.78;font-weight:700;margin-right:.06em;margin-top:.06em;color:var(--color-accent-warm);font-family:Georgia,Times New Roman,serif}.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content blockquote{border-left:3px solid var(--color-accent-warm);background:var(--color-accent-warm-softer);padding:.75rem 1rem;margin:1.25rem 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:italic;color:var(--color-text-secondary)}.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content h1,.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content h2,.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content h3{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin-top:2rem;margin-bottom:.6rem;color:var(--color-text-dark);letter-spacing:-.02em}.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content h1{font-size:1.5rem;border-bottom:2px solid var(--color-accent-warm-soft);padding-bottom:.4rem}.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content h2{font-size:1.25rem}.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content h3{font-size:1.1rem;font-weight:600}.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content hr{border:none;height:0;margin:2rem auto;max-width:120px;border-top:1px solid var(--color-accent-warm)}.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content table{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.85rem}.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content em{font-style:italic}.thread-view--newsletter .thread-timeline-item:has(.original-post) .post-content strong{font-weight:700}.poll-toggle-inline.newsletter-toggle:has(input:checked){color:var(--color-accent-warm);background:var(--color-accent-warm-softer)}.poll-toggle-inline.newsletter-toggle:has(input:checked) svg{color:var(--color-accent-warm)}.poll-toggle-inline.newsletter-toggle:hover{background:var(--color-accent-warm-softer)}.newsletter-header-wrap{display:flex;flex-direction:column;gap:.75rem;max-width:680px;margin:.75rem auto 1.25rem}.newsletter-header{padding:.75rem 1rem;background:var(--color-accent-warm-softer);border-left:3px solid var(--color-accent-warm);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.newsletter-summary p{margin:0;font-size:.85rem;line-height:1.5;color:var(--color-text-secondary);font-style:italic}.newsletter-downloads{display:flex;flex-direction:row;gap:.35rem;justify-content:flex-end}.newsletter-download-item{display:flex;align-items:center;gap:.4rem;padding:.3rem .6rem;background:var(--color-bg-primary);border:1px solid var(--color-accent-warm);border-radius:var(--radius-xs);text-decoration:none;color:var(--color-text-primary);font-size:.75rem;transition:border-color .15s ease,background .15s ease;max-width:280px}.newsletter-download-item:hover{border-color:var(--color-accent-warm);background:var(--color-accent-warm-softer)}.newsletter-download-badge{font-size:.65rem;font-weight:700;color:var(--color-accent-warm);background:var(--color-accent-warm-softer);padding:.1rem .3rem;border-radius:2px;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.newsletter-download-info{display:flex;flex-direction:column;min-width:0;gap:0}.newsletter-download-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.newsletter-download-size{font-size:.65rem;color:var(--color-text-tertiary)}.newsletter-download-icon{flex-shrink:0;color:var(--color-text-tertiary)}.newsletter-attachments-list{display:flex;flex-wrap:wrap;gap:.35rem;padding:.4rem .6rem}.newsletter-attachment-item{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xs);font-size:.75rem;color:var(--color-text-secondary)}.newsletter-attachment-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.newsletter-attachment-size{color:var(--color-text-tertiary);font-size:.65rem}.newsletter-attachment-remove{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:.1rem;cursor:pointer;color:var(--color-text-tertiary);border-radius:2px;transition:color .15s ease,background .15s ease}.newsletter-attachment-remove:hover{color:var(--color-danger);background:var(--color-danger-soft)}.newsletter-attach-btn{color:var(--color-accent-warm)!important}@media (max-width:600px){.newsletter-downloads{flex-wrap:wrap;justify-content:flex-start}.newsletter-download-item{max-width:none}}.post-content{font-size:1rem;color:var(--color-text-secondary);line-height:1.6;overflow-wrap:break-word;word-wrap:break-word}.post-content-preview-lines{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.post-content-collapsed{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.25rem 0;color:var(--color-text-muted)}.collapsed-reply-label{font-size:.9rem;color:var(--color-text-light)}.collapsed-reply-toggle{margin-top:0;white-space:nowrap}.show-more-btn{background:none;border:none;color:var(--color-primary);font-size:.875rem;font-weight:500;cursor:pointer;padding:.25rem 0;margin-top:.5rem}.show-more-btn:hover{text-decoration:underline}.post-content.markdown-content{font-synthesis:style}.post-content.markdown-content p{margin:0 0 .85rem}.post-content.markdown-content p:last-child{margin-bottom:0}.post-content.markdown-content strong{font-weight:600}.post-content.markdown-content em,.post-content.markdown-content i{font-style:italic}.post-content.markdown-content code{background:var(--color-bg-gray);padding:.125rem .375rem;border-radius:var(--radius-xs);font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.875em}.post-content.markdown-content pre{background:var(--color-bg-gray);padding:.75rem 1rem;border-radius:var(--radius-md);overflow-x:auto;margin:.5rem 0}.post-content.markdown-content pre code{background:none;padding:0}.post-content.markdown-content ol,.post-content.markdown-content ul{margin:.5rem 0;padding-left:1.5rem}.post-content.markdown-content li{margin:.25rem 0}.post-content.markdown-content a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;-webkit-text-decoration-color:rgba(0,0,0,.35);text-decoration-color:rgba(0,0,0,.35);word-break:break-all;overflow-wrap:break-word}.post-content.markdown-content a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.post-content.markdown-content blockquote{border-left:3px solid var(--color-border);padding-left:1rem;margin:.5rem 0;color:var(--color-text-muted)}.post-content.markdown-content table{width:100%;border-collapse:separate;border-spacing:0;margin:1rem 0;font-size:.85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.post-content.markdown-content td,.post-content.markdown-content th{padding:.55rem .85rem;text-align:center}.post-content.markdown-content th{font-weight:600;font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;background:var(--color-bg-gray);border-bottom:1px solid var(--color-border)}.post-content.markdown-content td{border-bottom:1px solid var(--color-border-light)}.post-content.markdown-content tbody tr:last-child td{border-bottom:none}.post-content.markdown-content tbody tr:hover{background:var(--color-bg-hover)}.post-card-wrapper{margin-bottom:.5rem}.post-actions{display:flex;justify-content:space-between;flex:1 1}.reply-to-post-btn{display:flex;align-items:center;gap:.35rem;background:none;border:none;color:var(--color-text-muted);font-size:.8rem;padding:.35rem .75rem;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.reply-to-post-btn:hover{background:var(--color-bg-gray);color:var(--color-primary)}.replying-to-label{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--color-text-muted);margin-bottom:.5rem}.reply-toolbar-wrap{margin:.5rem 0;padding:.25rem 0}.reply-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.reply-toolbar-left{display:flex;align-items:center;gap:.5rem;flex:1 1}.reply-toolbar-wrap .reply-input-container{margin-top:.5rem;border-top:1px solid var(--color-border-light);padding-top:.5rem}.discussion-toolbar-right .pagination,.reply-toolbar .pagination{border:none;margin:0;padding:0}.reply-toolbar .reply-sort-dropdown{margin:0}.reply-sort-dropdown{position:relative}.reply-sort-trigger{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;background:none;border:none;font-size:.95rem;font-weight:600;color:var(--color-text-dark);cursor:pointer;border-radius:var(--radius-md);transition:var(--transition-fast)}.reply-sort-trigger:hover{background:var(--color-bg-gray)}.reply-sort-chevron{transition:transform .2s ease}.reply-sort-chevron.open{transform:rotate(180deg)}.reply-sort-menu{position:absolute;top:100%;left:0;z-index:10;min-width:120px;background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);padding:.25rem;margin-top:.25rem}.reply-sort-option{display:block;width:100%;padding:.5rem .75rem;background:none;border:none;font-size:.9rem;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md);text-align:left;transition:var(--transition-fast)}.reply-sort-option:hover{background:var(--color-bg-gray)}.reply-sort-option.active{color:var(--color-text-dark);font-weight:600}.no-replies{margin-left:0}.loading-replies,.no-replies{color:var(--color-text-light);font-size:.9rem}.loading-replies{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem}.reply-input-container{background:white;border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-lg);margin-top:1rem;transition:all .2s ease}.reply-input-container.expanded{cursor:default}.reply-input-wrapper{flex:1 1;display:flex;flex-direction:column;gap:.5rem}.reply-input{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;resize:none;font-family:inherit;transition:all .2s ease}.reply-input:focus{outline:none;border-color:#94a3b8}.reply-editor{width:100%;min-height:80px;padding:.75rem 1rem;border:1px solid #94a3b8;border-radius:var(--radius-md);font-size:.95rem;font-family:inherit;font-synthesis:style;line-height:1.5;outline:none;transition:border-color .2s ease}.reply-editor.small{min-height:60px;font-size:.9rem}.reply-editor.ProseMirror-focused,.reply-editor:focus{border-color:#94a3b8}.reply-editor p{margin:0 0 .5rem}.reply-editor p:last-child{margin-bottom:0}.reply-editor strong{font-weight:600}.reply-editor em,.reply-editor i{font-style:italic}.reply-editor code{background:var(--color-bg-gray);padding:.125rem .375rem;border-radius:var(--radius-xs);font-family:SF Mono,Monaco,monospace;font-size:.875em}.reply-editor ul{padding-left:1.5rem;margin:.5rem 0}.reply-editor li{margin:.25rem 0}.reply-editor .editor-link,.reply-editor a{color:var(--color-primary);text-decoration:underline;cursor:pointer}.reply-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#94a3b8;pointer-events:none;height:0}.format-btn.active{background:var(--color-primary);color:white}.emoji-picker-wrapper{position:relative}.emoji-picker{position:absolute;bottom:100%;left:0;margin-bottom:.5rem;padding:.5rem;background:white;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:grid;grid-template-columns:repeat(8,1fr);grid-gap:.25rem;gap:.25rem;z-index:100}.emoji-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-xs);font-size:1.25rem;cursor:pointer;transition:var(--transition-bg)}.emoji-btn:hover{background:var(--color-bg-gray)}.latex-inline-wrapper{display:inline-flex;align-items:baseline;gap:4px;background:var(--color-primary-lighter);border-radius:var(--radius-xs);padding:1px 6px;margin:0 2px}.latex-inline-wrapper.selected{background:#e0f2fe;outline:2px solid var(--color-primary)}.latex-editable{font-family:monospace;font-size:.9em;color:#0369a1;min-width:20px;outline:none}.latex-editable:empty:before{content:"latex";color:var(--color-text-light)}.latex-preview{color:var(--color-text);border-left:1px solid #bae6fd;padding-left:6px}.latex-preview:empty{display:none}.markdown-content .katex{font-size:1.1em}.markdown-content .katex-display{margin:1rem 0;text-align:center}.reply-formatting-bar{display:flex;align-items:center;gap:.25rem;padding:.25rem 0;max-height:36px;opacity:1;transition:opacity .15s ease,max-height .15s ease,padding .15s ease}.reply-formatting-bar.is-hidden{max-height:0;opacity:0;padding:0;pointer-events:none;overflow:hidden}.reply-formatting-bar.is-visible{overflow:visible}.format-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-bg-gray);border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-fast)}.format-btn:hover{background:var(--color-border);color:var(--color-primary)}.format-hint{font-size:.75rem;color:var(--color-text-light)}.format-btn.preview-toggle,.format-hint{margin-left:auto}.format-btn.preview-toggle.active{background:var(--color-primary);color:white}.reply-preview{width:100%;min-height:100px;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-light);font-size:.95rem;overflow-y:auto}.reply-preview .preview-placeholder{color:var(--color-text-light);font-style:italic}.reply-input-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.cancel-reply-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.cancel-reply-btn:hover{background:var(--color-bg-gray);color:var(--color-text-dark)}.send-reply-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#334155;border:none;border-radius:var(--radius-md);color:white;cursor:pointer;transition:var(--transition-normal);flex-shrink:0}.send-reply-btn:hover:not(:disabled){transform:scale(1.05)}.send-reply-btn:disabled{opacity:.5;cursor:not-allowed}.sign-in-prompt{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.75rem;text-align:center;padding:2rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:var(--radius-xl);margin-top:1.5rem}.sign-in-prompt>span{color:var(--color-text-secondary);font-size:.95rem}.sign-in-text-short{display:none}.post-card.compact .post-content{margin-bottom:.5rem}.post-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.25rem}.post-header-actions{display:flex;align-items:center;gap:.25rem}.parent-post .post-header,.reply-card .post-header{margin-bottom:.25rem;gap:.75rem}.parent-post .post-footer,.reply-card .post-footer{margin-top:.25rem}.original-post .post-footer{justify-content:flex-end;margin-top:.25rem}.original-post .post-actions{flex:1 1;justify-content:space-between}.original-post .post-actions .vote-icon{width:22px;height:22px}.original-post .post-actions .vote-score{font-size:.95rem}.original-post .post-actions .bookmark-btn,.original-post .post-actions .reply-count-badge,.original-post .post-actions .share-btn{padding:.4rem .6rem}.original-post .post-actions .bookmark-btn svg,.original-post .post-actions .reply-count-badge svg,.original-post .post-actions .share-btn svg{width:18px;height:18px}.original-post .post-author .author-name,.original-post .post-meta .author-name{font-size:1rem;font-weight:600}.original-post .post-header .avatar,.original-post .post-header .avatar-small{width:40px;height:40px}.post-footer{justify-content:space-between;gap:1rem}.post-author,.post-footer{display:flex;align-items:center;overflow:visible}.post-author{gap:.5rem;min-width:0}.username-trigger{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.username-hover-container.is-disabled .username-trigger{cursor:default}.avatar-small{width:24px;height:24px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.post-author .author-name{font-weight:500;color:var(--color-text-secondary);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-author .post-date{font-size:.8rem;color:var(--color-text-light);white-space:nowrap}.flag-indicator{background:none;border:none;padding:.15rem;border-radius:var(--radius-xs);cursor:pointer;display:flex;align-items:center;transition:var(--transition-fast);color:var(--color-border-dark)}.flag-indicator:hover{background:var(--color-danger-bg-dark)}.flag-indicator.flagged,.flag-indicator:hover{color:var(--color-danger-light)}.flag-indicator.flagged:hover{background:var(--color-danger-bg-dark)}.vote-group{display:flex;align-items:center;gap:.125rem}.vote-score{min-width:24px;text-align:center;font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.vote-score.positive{color:var(--color-success)}.vote-score.negative{color:var(--color-danger-light)}.vote-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-light);font-size:.8rem;padding:.35rem;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.vote-btn:hover:not(:disabled){background:var(--color-bg-gray)}.vote-btn:disabled{cursor:default;opacity:.5}.vote-btn.like.active,.vote-btn.like:hover:not(:disabled){color:var(--color-success);background:var(--color-success-bg-dark)}.vote-icon{width:18px;height:18px;object-fit:contain;opacity:.7;transition:var(--transition-fast)}.vote-btn.active .vote-icon,.vote-btn:hover:not(:disabled) .vote-icon{opacity:1;transform:scale(1.1)}.vote-display{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.vote-display .vote-icon{opacity:.8}.vote-display .vote-score{white-space:nowrap}.vote-icon-small{width:14px;height:14px;object-fit:contain}.vote-btn.dislike.active,.vote-btn.dislike:hover:not(:disabled){color:var(--color-danger-light);background:var(--color-danger-bg-dark)}.post-card.compact .post-actions{display:flex;align-items:center;gap:.5rem;margin-top:0;padding-top:0;border-top:none}.parent-post .post-footer,.reply-card .post-footer{justify-content:space-between}.parent-post .post-actions,.reply-card .post-actions{display:flex;align-items:center;justify-content:space-between;flex:1 1}.moderation-actions{display:flex;align-items:center;gap:.25rem}.vote-btn.reply{color:var(--color-text-muted)}.vote-btn.reply:hover:not(:disabled){color:var(--color-primary);background:var(--color-primary-lighter)}.reply-count-badge{display:flex;align-items:center;gap:.25rem;padding:.35rem .5rem;font-size:.8rem;font-weight:500;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);transition:var(--transition-fast)}.reply-count-badge.clickable{cursor:pointer}.reply-count-badge.clickable:hover{color:var(--color-primary);background:var(--color-primary-lighter)}.post-card.has-replies:hover{border-color:var(--color-primary)}.inline-reply-form{margin-left:1rem;margin-top:.5rem;margin-bottom:1rem;padding:.75rem;background:var(--color-bg-light);border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;align-items:flex-start;gap:.5rem}.inline-reply-form .reply-input{flex:1 1;font-size:.9rem;margin:0}.inline-reply-form .reply-formatting-bar{padding:.125rem 0}.inline-reply-form .format-btn{width:24px;height:24px}.inline-reply-form .format-hint{font-size:.7rem}.send-reply-btn.small{padding:.5rem .75rem;align-self:flex-end;width:36px;height:36px}.sub-reply-preview{margin-top:.75rem;padding:.75rem;background:var(--color-bg-light);border-radius:var(--radius-md);border-left:3px solid var(--color-border);cursor:pointer;transition:var(--transition-fast)}.sub-reply-preview:hover{background:var(--color-bg-gray);border-left-color:var(--color-primary)}.sub-reply-content{font-size:.9rem;color:var(--color-text-secondary);line-height:1.4;margin-bottom:.5rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sub-reply-meta{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--color-text-muted)}.avatar-tiny{width:18px;height:18px;border-radius:var(--radius-full);object-fit:cover}.sub-reply-author{font-weight:500;color:var(--color-text-secondary)}.sub-reply-date{color:var(--color-text-light)}.sub-reply-more{color:var(--color-primary);font-weight:500}@media (max-width:768px){.discussion-container{flex-direction:column;padding:1rem}.discussion-sidebar{width:100%;position:static}.discussion-toolbar-row{flex-wrap:nowrap;gap:.5rem;justify-content:space-between}.discussion-toolbar-right{margin-left:auto;flex-shrink:0}.take-bite-btn{padding:.5rem;gap:0;flex-shrink:0}.take-bite-btn span{display:none}.discussion-toolbar-left .sort-select{font-size:.8rem;min-width:90px;height:36px;padding:0 1.75rem 0 .5rem}.discussion-toolbar-left .sort-select-icon{right:.5rem}.discussion-search-row .grove-search.search-box{height:36px;padding:0 .5rem}.discussion-search-row{gap:.5rem}.discussion-search-row .search-input-with-help .grove-search.search-box{width:100%}.post-avatar-col .avatar-small{width:32px;height:32px}.thread-card,.thread-timeline-item .post-card{padding:.75rem}.thread-actions-bar{width:100%}.thread-avatar-col .avatar-small{width:32px;height:32px}.notifications-container{padding:1rem}.notification-badges{flex-wrap:wrap}}@media (max-width:480px){.discussion-toolbar-left .sort-select{font-size:.75rem;min-width:70px;height:36px;padding:0 1.5rem 0 .4rem}.discussion-toolbar-left .sort-select-icon{right:.3rem}}.notifications-container{max-width:800px;margin:0 auto;padding:1.5rem}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.notifications-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-dark)}.dismiss-all-btn{padding:.5rem 1rem;background:white;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.dismiss-all-btn:hover{background:var(--color-bg-light);color:var(--color-text-dark)}.dismiss-all-btn:disabled{opacity:.5;cursor:not-allowed}.notifications-loading{text-align:center;padding:2rem;color:var(--color-text-secondary)}.notifications-sign-in-prompt{text-align:center;padding:3rem;color:var(--color-text-secondary)}.notification-badges{display:flex;gap:.75rem;margin-bottom:.5rem}.notification-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;padding:.25rem .6rem;border-radius:var(--radius-sm);font-weight:500}.notification-badge.likes{background:var(--color-accent-green-soft);color:var(--color-accent-green-hover)}.notification-badge.dislikes{background:rgba(239,68,68,.1);color:rgb(239,68,68)}.notification-panda-icon{width:16px;height:16px}.author-post-thread-info .notification-date{font-size:.8rem;color:var(--color-text-secondary);margin-left:auto}.notification-post-preview{padding:.75rem 1rem}.notification-post-preview .post-content{font-size:.875rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5}.thread-ssr-content{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.thread-ssr-header h1{margin:0 0 .75rem;font-size:1.25rem;line-height:1.35;font-weight:650;color:var(--color-text)}.thread-ssr-meta{margin:0 0 .35rem;font-size:.85rem;color:var(--color-text-muted)}.thread-ssr-content p:last-child{margin-bottom:0}