:root{--bg: #fafafc;--bg-surface: #eeebf8;--bg-2: #f4f2fb;--text: #1c1917;--text-muted: #6b6889;--border: #e2ddf2;--primary: #7c3aed;--primary-hover: #6d28d9;--primary-faint: #ede9fe;--danger: #dc2626;--danger-hover: #b91c1c;font-family:Plus Jakarta Sans,system-ui,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text);background-color:var(--bg)}[data-theme=dark]{--bg: #313338;--bg-surface: #25272b;--bg-2: #2b2d31;--text: #f2f3f5;--text-muted: #949ba4;--border: #3f4147;--primary: #8b5cf6;--primary-hover: #7c3aed;--primary-faint: #2d1b69;--danger: #ef4444;--danger-hover: #dc2626}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-width:320px;min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}h2{font-size:1.375rem;font-weight:600;letter-spacing:-.01em}h3{font-size:1.0625rem;font-weight:600}p{color:var(--text-muted);line-height:1.65}small{font-size:.75rem;color:var(--text-muted)}label{display:block;font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:.375rem}label:has(input[type=checkbox]){display:flex;align-items:center;gap:.5rem;font-weight:400;margin-bottom:0;cursor:pointer}input,textarea,select{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-2);color:var(--text);font-family:inherit;font-size:.9375rem;line-height:1.5;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-faint)}input::placeholder,textarea::placeholder{color:var(--text-muted)}input[type=checkbox]{width:auto;padding:0;accent-color:var(--primary)}textarea{resize:vertical;min-height:6rem}body,nav,aside,footer,main,input,textarea,select,.dropdown-menu,.modal,.course-card,.sidebar-inner a{transition:background-color .3s ease,border-color .3s ease,color .2s ease}button{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border:none;border-radius:8px;background:var(--primary);color:#fff;font-family:inherit;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background .15s;white-space:nowrap}button:hover:not(:disabled){background:var(--primary-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}button.secondary:hover:not(:disabled){background:var(--bg-2)}button.danger{background:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-hover)}.btn-primary{display:inline-flex;align-items:center;padding:.4rem 1rem;border-radius:8px;background:var(--primary);color:#fff!important;font-weight:500;font-size:.9rem;transition:background .15s}.btn-primary:hover{background:var(--primary-hover);text-decoration:none}.btn-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;color:var(--text);border:1px solid var(--border);padding:0;width:2rem;height:2rem;border-radius:50%;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn-icon:hover:not(:disabled){background:var(--bg-2);color:var(--accent);border-color:var(--accent)}#root{display:flex;flex-direction:column;min-height:100vh}.app-body{flex:1;position:relative}.sidebar{position:absolute;top:0;left:0;height:100%;z-index:30;width:0;overflow:hidden;border-right:1px solid transparent;transition:width .25s ease .1s,border-color .25s ease .1s,background-color .3s ease}.sidebar.open{width:220px;border-right-color:var(--border);background:var(--bg-surface);transition:width .25s ease,border-color .25s ease,background-color .3s ease}.sidebar-inner{width:220px;padding:1.25rem .75rem;display:flex;flex-direction:column;gap:.25rem}.sidebar-inner a{display:block;padding:.5rem .75rem;border-radius:8px;color:var(--text-muted);font-weight:500;font-size:.9375rem;white-space:nowrap;transition:background .15s,color .15s}.sidebar-inner a:hover{background:var(--bg-2);color:var(--text);text-decoration:none}.sidebar-inner a.active{background:var(--primary-faint);color:var(--primary)}.app-content{display:flex;flex-direction:column;align-items:center;min-height:100%}main{flex:1;padding:2.5rem 2rem 4rem;max-width:860px;width:100%}main h1{margin-bottom:.5rem}main>h1{max-width:520px;margin-left:auto;margin-right:auto}main.page-auth>h1{max-width:420px}main>p{max-width:420px;margin-top:.5rem;margin-left:auto;margin-right:auto}main>p~p{margin-top:.625rem}main>form{display:flex;flex-direction:column;gap:.875rem;max-width:420px;margin-top:1.75rem;margin-left:auto;margin-right:auto}section{display:flex;flex-direction:column;gap:1rem;max-width:520px;margin-left:auto;margin-right:auto;padding:2rem 0;border-bottom:1px solid var(--border)}section:last-child{border-bottom:none}section form{display:flex;flex-direction:column;gap:.875rem}nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg-surface);position:sticky;top:0;z-index:40}.nav-left{display:flex;align-items:center;gap:.75rem;justify-self:start}.nav-logo{font-size:1.0625rem;font-weight:700;color:var(--text)}.nav-logo:hover{color:var(--primary);text-decoration:none}.nav-right{display:flex;align-items:center;gap:1rem;justify-self:end}.nav-auth{display:flex;align-items:center;gap:1rem}.nav-auth a{color:var(--text);font-weight:500}.nav-auth a:hover{color:var(--primary);text-decoration:none}.theme-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;width:56px;height:28px;padding:0 5px;border-radius:14px;background:var(--bg-2);border:none;cursor:pointer;flex-shrink:0}.theme-toggle:hover:not(:disabled){background:var(--bg-2)}.theme-toggle-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);z-index:1;flex-shrink:0}.theme-toggle-knob{position:absolute;width:20px;height:20px;border-radius:50%;background:var(--primary);left:4px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);pointer-events:none;box-shadow:0 1px 4px #0000004d}.theme-toggle-knob.dark{transform:translate(28px)}.streak-badge{display:flex;align-items:center;gap:.25rem;background:var(--bg-2);border-radius:99px;padding:.25rem .65rem;font-size:.8125rem;font-weight:700;color:var(--text);white-space:nowrap}.dropdown{position:relative}.dropdown>button{padding:.4rem .875rem;font-size:.875rem;display:inline-flex;align-items:center;gap:.375rem;border:none}.dropdown-chevron{width:13px;height:13px;flex-shrink:0;transition:transform .2s ease}.dropdown-chevron.open{transform:rotate(-90deg)}.dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:.375rem;min-width:160px;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;gap:.125rem;z-index:50;animation:dropdown-in .18s ease}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-menu.closing{animation:dropdown-out .175s ease forwards}@keyframes dropdown-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.97)}}.dropdown-menu a,.dropdown-menu button{display:block;width:100%;padding:.5rem .75rem;border-radius:6px;font-size:.9rem;font-weight:400;text-align:left;color:var(--text);background:transparent;border:none;cursor:pointer;transition:background .15s}.dropdown-menu a:hover,.dropdown-menu button:hover{background:var(--bg-2);color:var(--text);text-decoration:none}.dropdown-menu hr{border:none;border-top:1px solid var(--border);margin:.25rem 0}footer{align-self:stretch;padding:1.5rem 2rem;border-top:1px solid var(--border);background:var(--bg-surface);display:flex;flex-direction:column;align-items:center;gap:.5rem}.footer-links{display:flex;gap:1.5rem}.footer-links a{font-size:.875rem;color:var(--text-muted);font-weight:500}.footer-links a:hover{color:var(--primary);text-decoration:none}footer p{font-size:.875rem}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(12px)}}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;animation:modal-backdrop-in .2s ease}.modal{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:2rem;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;animation:modal-in .22s cubic-bezier(.34,1.56,.64,1)}.modal form{display:flex;flex-direction:column;gap:.75rem}.modal textarea{resize:none;width:100%;box-sizing:border-box;overflow:hidden;white-space:pre-wrap;word-wrap:break-word}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.modal-actions button:first-child{background:transparent;color:var(--text);border:1px solid var(--border)}.modal-actions button:first-child:hover:not(:disabled){background:var(--bg-2)}.modal-wide{max-width:640px}.np-backdrop{gap:1.25rem;align-items:center;flex-direction:row;justify-content:center}.np-preview-float{width:280px;min-width:280px;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.125rem;display:flex;flex-direction:column;gap:.875rem;max-height:90vh;overflow-y:auto;animation:modal-in .22s cubic-bezier(.34,1.56,.64,1)}.np-preview-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0}.np-preview-card{pointer-events:none;cursor:default}.np-preview-card .post-title{font-size:.9375rem}.np-preview-card .post-excerpt{font-size:.8rem;-webkit-line-clamp:4}.np-badge-draft{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.np-preview-answering{font-size:.8rem;color:var(--text-muted);margin:0}.np-vis-row{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.np-vis-label{font-size:.8125rem;color:var(--text-muted)}.np-vis-btn{padding:.2rem .625rem;border-radius:1rem;border:1px solid var(--border);background:var(--bg-2);color:var(--text);cursor:pointer;font-size:.8125rem;line-height:1.6;transition:background .15s,border-color .15s,color .15s}.np-vis-btn.private{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.np-vis-btn:disabled{cursor:not-allowed;opacity:.85}.np-vis-locked-note{font-size:.75rem;color:var(--text-muted)}.answering-section{display:flex;flex-direction:column;gap:.5rem;padding-top:.875rem;border-top:1px solid var(--border);margin-top:.25rem}.answering-section-label{font-size:.875rem;font-weight:600;color:var(--text);margin:0}.answering-section-label span{font-weight:400;color:var(--text-muted);font-size:.8rem}.user-search-wrap{position:relative}.user-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg);border:1px solid var(--border);border-radius:.5rem;overflow:hidden;z-index:20;box-shadow:0 4px 20px #00000026}.user-result-item{display:flex;align-items:center;gap:.625rem;padding:.5625rem .75rem;width:100%;text-align:left;background:transparent;border:none;color:var(--text);cursor:pointer;font-size:.875rem;transition:background .1s}.user-result-item:hover{background:var(--hover-bg)}.user-result-muted{color:var(--text-muted);cursor:default}.user-result-avatar{width:1.75rem;height:1.75rem;border-radius:50%;object-fit:cover;flex-shrink:0}.user-result-initials{width:1.75rem;height:1.75rem;border-radius:50%;background:var(--bg-2);object-fit:contain;flex-shrink:0}.selected-user-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .5rem .375rem .875rem;background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid var(--primary);border-radius:2rem;font-size:.875rem;color:var(--primary);align-self:flex-start}.selected-user-chip button{background:none;border:none;cursor:pointer;padding:.125rem .25rem;line-height:1;color:var(--primary);font-size:.75rem;border-radius:50%;display:flex;align-items:center;transition:background .1s}.selected-user-chip button:hover{background:color-mix(in srgb,var(--primary) 20%,transparent)}.consent-warning{background:color-mix(in srgb,#f59e0b 10%,transparent);border:1px solid color-mix(in srgb,#f59e0b 45%,transparent);border-radius:.5rem;padding:.75rem 1rem;font-size:.8125rem;display:flex;flex-direction:column;gap:.375rem}.consent-warning strong{color:#b45309}[data-theme=dark] .consent-warning strong{color:#fbbf24}.consent-warning p{margin:0;line-height:1.55;color:var(--text-muted)}.answering-hint{color:var(--text-muted);font-size:.8rem;margin:0}@media(max-width:840px){.np-backdrop{flex-direction:column;align-items:stretch;justify-content:flex-start;overflow-y:auto;padding:1rem;gap:.75rem}.np-preview-float{display:none}.modal.modal-wide{max-height:none}}.draft-confirm{background:color-mix(in srgb,#f59e0b 8%,transparent);border:1px solid color-mix(in srgb,#f59e0b 40%,transparent);border-radius:.625rem;padding:.875rem 1rem;display:flex;flex-direction:column;gap:.75rem}.draft-confirm p{margin:0;font-size:.875rem;color:var(--text)}.draft-confirm-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.draft-confirm-leave{background:transparent!important;color:var(--text-muted)!important;border:1px solid var(--border)!important}.draft-confirm-leave:hover:not(:disabled){background:var(--bg-2)!important}.input-icon-wrap{position:relative;display:flex;align-items:center}.input-icon-wrap input{width:100%;padding-right:2.5rem;box-sizing:border-box}.input-icon-wrap .input-icon{position:absolute;right:.75rem;color:var(--text-muted, #999);pointer-events:none;display:flex;align-items:center}.avatar-wrapper{position:relative;width:100px;height:100px;border-radius:50%;cursor:pointer;overflow:hidden;border:2px solid var(--border);transition:border-color .2s}.avatar-wrapper:hover,.avatar-wrapper.drag-over{border-color:var(--primary)}.avatar,.avatar-placeholder{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-placeholder{object-fit:contain;background:var(--bg-2)}.avatar-upload-progress{font-size:.8125rem;text-align:center;margin:0}.avatar-overlay{position:absolute;inset:0;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;border-radius:50%}.toggle-label{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;cursor:pointer}.auto-textarea{resize:none;overflow:hidden;min-height:2.5rem;width:100%;box-sizing:border-box}.form-hint{font-size:.8125rem;color:var(--text-muted);margin:0}.type-selector{display:flex;gap:.25rem;background:var(--bg-2);border-radius:10px;padding:.25rem;margin-bottom:1rem}.type-pill{flex:1;padding:.45rem .5rem;border-radius:7px;background:transparent;border:none;font-size:.8125rem;font-weight:500;color:var(--text-muted);cursor:pointer;text-align:center;white-space:nowrap;transition:background .15s,color .15s}.type-pill:hover:not(:disabled){background:var(--bg-surface);color:var(--text)}.type-pill.active{background:var(--primary);color:#fff}.mcq-options{display:flex;flex-direction:column;gap:.5rem}.input-label{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.mcq-option-row{display:flex;align-items:center;gap:.5rem}.mcq-option-row input{flex:1;margin:0}.correct-toggle{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-muted);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.correct-toggle input[type=checkbox]{accent-color:var(--primary);width:15px;height:15px;cursor:pointer;margin:0;flex-shrink:0}.add-option-btn{align-self:flex-start;background:transparent;border:1.5px dashed var(--border);color:var(--text-muted);border-radius:8px;padding:.4rem .875rem;font-size:.875rem;cursor:pointer;transition:border-color .15s,color .15s}.add-option-btn:hover{border-color:var(--primary);color:var(--primary);background:transparent}.tf-answer-select{display:flex;flex-direction:column;gap:.5rem}.tf-answer-buttons{display:flex;gap:.75rem}.tf-answer-btn{flex:1;padding:.625rem;border-radius:8px;border:2px solid var(--border);background:transparent;font-size:.9375rem;font-weight:600;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.tf-answer-btn:hover:not(:disabled){border-color:var(--primary)}.tf-answer-btn.selected{border-color:var(--primary);background:var(--primary);color:#fff}.profile-avatar{display:flex;flex-direction:column;align-items:center;gap:.5rem}.privacy-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;cursor:pointer}.privacy-toggle-row>div{display:flex;flex-direction:column;gap:.25rem}.privacy-toggle-row p{font-size:.875rem;color:var(--text-muted);margin:0;max-width:none}.privacy-toggle-row input[type=checkbox]{width:1.1rem;height:1.1rem;flex-shrink:0;cursor:pointer;accent-color:var(--primary)}.avatar-area{position:relative;display:inline-block;line-height:0}@keyframes dot-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes dot-pop-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.3)}}.status-cloud-root{position:absolute;top:-44px;right:-32px;width:44px;height:44px;z-index:10}.status-cloud-chain{position:relative;width:100%;height:100%}.status-dot{position:absolute;border-radius:50%;background:var(--border);transition:background .15s}.dot-sm{width:8px;height:8px;left:8px;top:40px;animation:dot-pop .14s ease forwards}.dot-sm.closing{animation:dot-pop-out .14s .12s ease both}.dot-md{width:11px;height:11px;left:18px;top:25px;animation:dot-pop .14s .06s ease both}.dot-md.closing{animation:dot-pop-out .14s .06s ease both}.dot-lg{width:16px;height:16px;left:28px;top:6px;animation:dot-pop .14s .12s ease both}.dot-lg.closing{animation:dot-pop-out .14s ease forwards}.status-thinking-btn{position:absolute;bottom:-4px;right:-4px;width:22px;height:22px;background:var(--bg-2);border:1px solid var(--border);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;color:var(--text-muted);z-index:10;transition:color .15s,border-color .15s}.status-thinking-btn:hover{color:var(--text);border-color:var(--primary)}.status-cloud-prompt{width:310px;background:var(--bg);border:1.5px solid var(--border);border-radius:18px;padding:1.25rem;display:flex;flex-direction:column;gap:1.125rem;z-index:1000;box-shadow:0 8px 24px #0000001f;animation:modal-in .2s cubic-bezier(.34,1.56,.64,1)}.status-cloud-prompt.closing{animation:modal-out .2s ease-in forwards;pointer-events:none}.status-presets{display:flex;flex-wrap:wrap;gap:.375rem}.status-preset{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:20px;border:1.5px solid var(--border);background:transparent;font-size:.8125rem;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s,color .15s}.status-preset:hover{border-color:var(--primary);color:var(--primary)}.status-preset.active{border-color:var(--primary);background:var(--primary);color:#fff}.status-input-row{display:flex;flex-direction:column;gap:.5rem}.status-input-wrap{position:relative;display:flex;align-items:center}.status-input-wrap input{width:100%;padding-right:2rem;box-sizing:border-box;margin:0}.status-clear-btn{position:absolute;right:.5rem;background:none;border:none;padding:0;font-size:.7rem;color:var(--text-muted);cursor:pointer;opacity:.5;line-height:1;transition:opacity .15s}.status-clear-btn:hover{opacity:1;background:none}.status-char-count{font-size:.75rem;color:var(--text-muted);text-align:right;opacity:.6}.soon-tag{font-size:.6rem;font-weight:600;letter-spacing:.02em;opacity:.7;margin-left:3px;vertical-align:super}.status-pill:disabled{opacity:.4;cursor:not-allowed}.status-pill:disabled:hover{border-color:var(--border);color:var(--text-muted);background:transparent}.status-cloud-input{width:100%;box-sizing:border-box;margin:0}.status-cloud-section{display:flex;flex-direction:column;gap:.75rem}.status-cloud-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.status-pills{display:flex;flex-wrap:wrap;gap:.375rem}.status-pill{padding:.25rem .625rem;border-radius:20px;border:1.5px solid var(--border);background:transparent;font-size:.8125rem;color:var(--text-muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.status-pill:hover:not(.active){border-color:var(--primary);color:var(--primary)}.status-pill.active{border-color:var(--primary);background:var(--primary);color:#fff}.status-cloud-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.status-cloud-actions button:first-child{background:transparent;color:var(--text);border:1px solid var(--border)}.status-cloud-actions button:first-child:hover:not(:disabled){background:var(--bg-2)}.avatar-crop-area{position:relative;width:100%;height:320px;border-radius:8px;overflow:hidden;background:#000}.avatar-crop-zoom{display:flex;align-items:center;gap:.75rem;color:var(--text-muted)}.avatar-crop-slider{flex:1;accent-color:var(--primary);cursor:pointer}.fc-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.fc-header h1{margin:0 0 .375rem}.fc-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:0;font-size:.9rem;color:var(--text-muted)}.fc-crumb{color:var(--text-muted)}.fc-crumb-link{color:var(--primary);cursor:pointer}.fc-crumb-link:hover{text-decoration:underline}.fc-sep{margin:0 .25rem;color:var(--text-muted)}.fc-actions{display:flex;gap:.625rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.fc-warning{background:#fef9c3;color:#713f12;border:1px solid #fde047;border-radius:8px;padding:.625rem 1rem;font-size:.9rem;margin-bottom:1.25rem}[data-theme=dark] .fc-warning{background:#422006;color:#fde68a;border-color:#92400e}.fc-section{margin-bottom:2rem}.fc-section h2{display:flex;align-items:center;gap:.625rem;margin:0 0 1rem}.fc-count{background:var(--primary-faint);color:var(--primary);border-radius:99px;padding:.1rem .6rem;font-size:.8125rem;font-weight:600}.fc-empty{color:var(--text-muted);font-size:.9375rem}.fc-folder-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.875rem}@media(max-width:540px){.fc-folder-grid{grid-template-columns:repeat(2,1fr)}}.fc-folder-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1.375rem 1rem 1.125rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:border-color .2s,background .2s;position:relative;text-align:center}.fc-folder-card:hover{border-color:var(--primary);background:var(--bg-2)}.fc-folder-card .fc-drag-handle{position:absolute;top:.5rem;left:.5rem}.fc-folder-card .fc-item-actions{position:absolute;top:.35rem;right:.35rem}.fc-folder-icon{color:var(--primary);flex-shrink:0}.fc-folder-name{font-size:.875rem;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.fc-item-actions{display:flex;gap:.125rem;opacity:0;transition:opacity .15s ease}.fc-folder-card:hover .fc-item-actions,.fc-card-row:hover .fc-item-actions{opacity:1}.fc-card-list{display:flex;flex-direction:column;gap:.5rem}.fc-card-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:.875rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:border-color .2s}.fc-card-row:hover{border-color:var(--primary)}.fc-card-question{font-size:.9375rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.fc-draft-badge{font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--bg-2);color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:.125rem .375rem;flex-shrink:0}.fc-drag-handle{display:flex;align-items:center;flex-shrink:0;color:var(--text-muted);cursor:grab;opacity:0;transition:opacity .15s;touch-action:none}.fc-folder-card:hover .fc-drag-handle,.fc-card-row:hover .fc-drag-handle{opacity:1}.fc-drag-overlay{box-shadow:0 8px 32px #0000002e;cursor:grabbing}.fc-checkbox{width:15px;height:15px;flex-shrink:0;accent-color:var(--primary);cursor:pointer;margin:0}.fc-card-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--bg-surface))}.fc-select-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.fc-select-all-label{display:flex;align-items:center;gap:.4rem;font-size:.875rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.fc-clear-selection{background:none;border:none;padding:0;font-size:.8125rem;color:var(--primary);cursor:pointer;text-decoration:underline}.fc-clear-selection:hover{opacity:.75;background:none}.study-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.study-header h1{margin:0;font-size:1.375rem}.study-header-right{display:flex;align-items:center;gap:.5rem}.study-progress{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.study-progress-label{font-size:.9rem;color:var(--text-muted);white-space:nowrap}.study-progress-bar{flex:1;height:6px;background:var(--bg-surface);border-radius:99px;overflow:hidden}.study-progress-fill{height:100%;background:var(--primary);border-radius:99px;transition:width .35s ease}.study-card{perspective:1200px;cursor:pointer;margin-bottom:1rem}.study-card-inner{position:relative;width:100%;height:clamp(360px,62vh,580px);transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,.2,.2,1)}.study-card.flipped .study-card-inner{transform:rotateY(180deg)}.study-card-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column}.study-card-scroll{flex:1;min-height:0;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1rem;border-radius:16px}.study-card-back{transform:rotateY(180deg)}.study-face-label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.study-card-face p{margin:0;font-size:1.0625rem;line-height:1.65}.study-hint{font-size:.9375rem;color:var(--text-muted);font-style:italic}.study-extra{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.study-reference{font-size:.875rem;color:var(--text-muted);margin:0}.study-tip{text-align:center;font-size:.8125rem;color:var(--text-muted);margin:0 0 1.5rem}.study-nav{display:flex;justify-content:center;gap:1rem}.study-write-answer{resize:none;border-radius:8px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);font-size:.9375rem;padding:.625rem .75rem;line-height:1.5;font-family:inherit;width:100%;box-sizing:border-box}.study-write-answer:focus{outline:none;border-color:var(--primary)}.study-written-compare{display:flex;flex-direction:column;gap:.375rem;padding:.75rem 1rem;background:var(--bg-2);border-radius:8px;border:1px solid var(--border)}.study-written-text{margin:0;font-size:.9375rem;line-height:1.5;color:var(--text-muted);white-space:pre-wrap}.study-card-flat{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:2rem;display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;max-height:65vh;overflow-y:auto}.study-theory-title{font-size:1.25rem;font-weight:700;margin:0;line-height:1.4}.study-theory-body{font-size:1rem;line-height:1.7;margin:0;white-space:pre-wrap}.study-mcq-question{font-size:1.0625rem;line-height:1.65;margin:0}.study-mcq-options{display:flex;flex-direction:column;gap:.5rem}.study-mcq-option{text-align:left;background:var(--bg-2);border:2px solid var(--border);border-radius:10px;padding:.75rem 1rem;font-size:.9375rem;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s;white-space:normal;line-height:1.5}.study-mcq-option:hover:not(:disabled){border-color:var(--primary)}.study-mcq-option.selected{border-color:var(--primary);background:var(--bg-surface)}.study-mcq-option.correct{border-color:#22c55e;background:#22c55e1f;color:var(--text)}.study-mcq-option.wrong{border-color:#ef4444;background:#ef44441f;color:var(--text)}.study-mcq-option.missed{border-color:#22c55e;border-style:dashed}.study-mcq-check{align-self:center;margin-top:.25rem}.study-tf-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.25rem}.study-tf-btn{padding:1.25rem;font-size:1.125rem;font-weight:700;border-radius:12px;border:2px solid var(--border);background:var(--bg-2);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.study-tf-btn:hover:not(:disabled){border-color:var(--primary)}.study-tf-btn.correct{border-color:#22c55e;background:#22c55e1f}.study-tf-btn.wrong{border-color:#ef4444;background:#ef44441f}.study-rating-row{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.25rem;animation:rating-in .2s ease}@keyframes rating-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.study-rating-prompt{font-size:.8125rem;color:var(--text-muted);font-weight:500}.study-rating-buttons-row{display:flex;gap:.375rem}.study-rating-card-btn{font-size:1.5rem;width:2.75rem;height:2.75rem;border-radius:50%;border:2px solid var(--border);background:var(--bg-2);cursor:pointer;transition:transform .15s,border-color .15s,background .15s;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.study-rating-card-btn:hover:not(:disabled){transform:scale(1.18);border-color:var(--primary)}.study-rating-card-btn.selected{border-color:var(--primary);background:var(--bg-surface);transform:scale(1.1);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.study-complete{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:2.5rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1.125rem;text-align:center;margin-bottom:1.5rem}.study-complete-icon{font-size:3rem;margin:0}.study-complete h2{margin:0;font-size:1.5rem}.study-complete-sub{margin:0;color:var(--text-muted)}.study-stats{width:100%;max-width:340px;display:flex;flex-direction:column;gap:.5rem}.study-stats-row{display:flex;align-items:center;gap:.75rem}.study-stats-emoji{font-size:1.25rem;width:1.75rem;text-align:center;flex-shrink:0}.study-stats-bar{flex:1;height:8px;background:var(--bg-2);border-radius:4px;overflow:hidden}.study-stats-bar-fill{height:100%;background:var(--primary);border-radius:4px;transition:width .6s ease}.study-stats-bar-fill.unrated{background:var(--border)}.study-stats-count{font-size:.875rem;color:var(--text-muted);min-width:4.5rem;text-align:left;flex-shrink:0}.study-stats-unrated .study-stats-emoji{color:var(--text-muted);font-size:1rem}.study-complete-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.stats-page{display:flex;flex-direction:column;gap:2.5rem;margin-top:1.5rem;max-width:520px;margin-left:auto;margin-right:auto}.stats-hero{display:flex;gap:1.5rem;flex-wrap:wrap}.stats-hero-item{display:flex;flex-direction:column;align-items:flex-start;background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;padding:1.25rem 1.75rem;gap:.125rem;min-width:160px}.stats-hero-icon{font-size:1.5rem;margin-bottom:.375rem}.stats-hero-value{font-size:2rem;font-weight:700;line-height:1}.stats-hero-date{font-size:1rem}.stats-hero-label{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.stats-group h2{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stats-grid{display:flex;gap:1rem;flex-wrap:wrap}.stat-card{display:flex;flex-direction:column;align-items:flex-start;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.5rem;min-width:130px;gap:.25rem}.stat-card-value{font-size:1.75rem;font-weight:700;line-height:1}.stat-card-label{font-size:.8125rem;color:var(--text-muted)}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.cal-header h2{margin:0}.cal-select{font-size:.875rem;padding:.3rem .6rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);cursor:pointer}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:.6875rem;font-weight:600;color:var(--text-muted);padding-bottom:4px}.cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 0;font-size:.75rem;border-radius:6px;color:var(--text-muted)}.cal-day.cal-today{outline:1.5px solid var(--primary);color:var(--text)}.cal-day.cal-active{color:var(--text)}.cal-dot{width:5px;height:5px;border-radius:50%;background:var(--primary);flex-shrink:0}.courses-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:1.5rem}.course-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;padding:1rem;display:flex;flex-direction:column;gap:.5rem;transition:border-color .2s;background:var(--bg)}.course-card:hover{border-color:var(--primary)}.course-card img{width:100%;border-radius:8px;object-fit:cover;aspect-ratio:16 / 9}.course-card h3{margin-top:.25rem}.course-card p{font-size:.875rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card span{font-size:.75rem;font-weight:500;color:var(--text-muted)}.course-card-ghost{border:2px dashed var(--border);border-radius:12px;background:none;min-height:180px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--text-muted);cursor:pointer;transition:border-color .2s,color .2s,background .2s}.course-card-ghost:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-faint)}.category-filters{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}.category-filters button{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:.375rem 1rem;font-size:.875rem}.category-filters button:hover:not(:disabled){background:var(--bg-2);color:var(--text)}.category-filters button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.lesson-item{margin-top:2rem}.lesson-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.lesson-header h3{margin:0}.lesson-admin-controls{display:flex;gap:.25rem}.lesson-add-btn{margin-top:2rem;background:transparent;color:var(--primary);border:2px dashed var(--primary);border-radius:10px;padding:.625rem 1.5rem;font-size:.9375rem;font-weight:500;transition:background .2s,color .2s}.lesson-add-btn:hover:not(:disabled){background:var(--primary-faint);color:var(--primary)}.hero{padding:3.5rem 0 4rem;display:flex;flex-direction:column;align-items:flex-start;gap:0}.hero-badge{display:inline-block;background:var(--primary-faint);color:var(--primary);border-radius:99px;padding:.3rem 1rem;font-size:.8125rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin-bottom:1.5rem}.hero h1{font-size:clamp(2rem,5vw,2.875rem);line-height:1.15;margin:0 0 1.25rem}.hero-sub{font-size:1.0625rem;color:var(--text-muted);line-height:1.7;max-width:580px;margin:0 0 2.25rem}.hero-ctas{display:flex;gap:.875rem;flex-wrap:wrap}.hero-btn-primary{background:var(--primary);color:#fff;border-radius:10px;padding:.7rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .2s}.hero-btn-primary:hover{background:var(--primary-hover);color:#fff}.hero-btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:.7rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s}.hero-btn-secondary:hover{background:var(--bg-2);color:var(--text)}.features{display:flex;flex-direction:row;flex-wrap:nowrap;gap:1.25rem;padding-bottom:3rem}.feature-card{flex:1;background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;overflow:hidden;min-width:0;cursor:default;transition:flex .45s cubic-bezier(.4,0,.2,1),padding .45s cubic-bezier(.4,0,.2,1)}.feature-icon{width:46px;height:46px;border-radius:12px;background:var(--primary-faint);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.feature-card h3{margin:0;font-size:1.0625rem;white-space:nowrap;transition:filter .25s ease}.feature-desc{display:flex;flex-direction:column;gap:.625rem;opacity:0;max-height:0;overflow:hidden;pointer-events:none;transition:opacity .2s ease,max-height .4s ease}.feature-desc p{margin:0;color:var(--text-muted);font-size:.9375rem;line-height:1.6}.features:has(.feature-card:hover) .feature-card{flex:1;padding-inline:.75rem}.features:has(.feature-card:hover) .feature-card:hover{flex:2;padding-inline:1.5rem}.features:has(.feature-card:hover) .feature-card .feature-desc{opacity:1;max-height:200px;pointer-events:auto;transition:opacity .25s ease .15s,max-height .4s ease,filter .25s ease}.features:has(.feature-card:hover) .feature-card:not(:hover) .feature-desc{filter:blur(4px);pointer-events:none}.features:has(.feature-card:hover) .feature-card:hover .feature-desc{filter:none}.feature-link{font-size:.9rem;font-weight:600;color:var(--primary);text-decoration:none;width:fit-content}.feature-link:hover{text-decoration:underline}.about-hero{padding:3.5rem 0 3rem;display:flex;flex-direction:column;align-items:flex-start;gap:0}.about-section{margin-top:2.75rem}.about-section h2{margin:0 0 1rem}.about-section>p{color:var(--text-muted);line-height:1.75;max-width:620px;margin:0}.about-section>p+p{margin-top:.875rem}.about-section a{color:var(--primary);text-decoration:underline}.about-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.25rem}.about-feature{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}.about-feature h3{margin:0;font-size:1rem}.about-feature p{margin:0;color:var(--text-muted);font-size:.9375rem;line-height:1.6}.projects-list{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}.project-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.project-card-header{display:flex;align-items:center;gap:.75rem}.project-card-header h2{margin:0;font-size:1.125rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tech-tag{background:var(--primary-faint);color:var(--primary);border-radius:6px;padding:.2rem .6rem;font-size:.8125rem;font-weight:500}.project-link{font-size:.9375rem;font-weight:500;color:var(--primary);text-decoration:none;width:fit-content}.project-link:hover{text-decoration:underline}.contact-form{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.contact-divider{border:none;border-top:1px solid var(--border);margin:2.5rem 0 2rem}.report-mode-toggle{position:relative;display:inline-flex;background:var(--bg-2);border:1px solid var(--border);border-radius:9px;padding:3px;margin-top:1.25rem}.report-mode-toggle button{position:relative;z-index:1;flex:1;background:none;border:none;border-radius:6px;padding:.375rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .22s;white-space:nowrap}.report-mode-toggle button.active{color:var(--text)}.report-mode-toggle button:hover:not(:disabled){background:none!important;color:var(--text)}.report-mode-slider{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:6px;background:var(--bg-surface);border:1px solid var(--border);box-shadow:0 1px 3px #00000012;transition:transform .22s cubic-bezier(.4,0,.2,1);pointer-events:none}.report-mode-slider.detailed{transform:translate(100%)}.report-dropdowns{display:flex;flex-direction:column;gap:.625rem}.report-field{display:flex;flex-direction:column;gap:.3rem}.report-field-label{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.forum-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:0}.forum-header h1{margin:0}.forum-header p{margin:.3rem 0 0}.forum-login-link{font-size:.875rem;color:var(--text-muted);text-decoration:none;white-space:nowrap;align-self:center}.forum-login-link:hover{color:var(--primary);text-decoration:none}.btn-primary-link{display:inline-flex;align-items:center;padding:.5rem 1rem;background:var(--primary);color:#fff;border-radius:8px;font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap;align-self:center;transition:opacity .15s}.btn-primary-link:hover{opacity:.88;text-decoration:none;color:#fff}.my-posts-filters{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:1.5rem;align-self:flex-start;width:fit-content}.my-posts-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.my-post-row{display:flex;align-items:center;gap:1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;flex-wrap:wrap;cursor:pointer;transition:border-color .2s,box-shadow .2s}.my-post-row:hover{border-color:var(--primary);box-shadow:0 2px 12px #0000000f}.my-post-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.my-post-badges{display:flex;gap:.4rem;flex-wrap:wrap}.my-post-title{font-size:1rem;font-weight:600;color:var(--text);text-decoration:none;overflow-wrap:break-word;word-break:break-word}.my-post-title:hover{color:var(--primary);text-decoration:none}.my-post-meta{font-size:.8125rem;color:var(--text-muted)}.my-post-actions{display:flex;gap:.5rem;flex-shrink:0}.my-post-btn{padding:.35rem .875rem;font-size:.8125rem;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;transition:background .15s,border-color .15s}.my-post-btn:hover{background:var(--bg-2)}.my-post-btn-danger{border-color:#ef4444;color:#ef4444}.my-post-btn-danger:hover{background:#ef444414}.forum-controls{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;margin-bottom:.25rem}.forum-controls-row{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.forum-sort-tabs{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0}.forum-sort-tab{background:transparent;border:none;border-right:1px solid var(--border);padding:.4rem .875rem;font-size:.875rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.forum-sort-tab:last-child{border-right:none}.forum-sort-tab:hover:not(:disabled){background:var(--bg-2);color:var(--text)}.forum-sort-tab.active{background:var(--primary-faint);color:var(--primary)}.forum-list{display:flex;flex-direction:column;gap:.875rem;margin-top:1.25rem}.forum-empty{color:var(--text-muted);margin-top:2.5rem;text-align:center}.post-card{display:block;text-decoration:none;color:inherit;cursor:pointer;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;transition:border-color .2s,box-shadow .2s}.post-card:hover{border-color:var(--primary);box-shadow:0 2px 12px #0000000f;text-decoration:none;color:inherit}.post-card-top{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-bottom:.625rem}.post-badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:700;letter-spacing:.02em;padding:.15rem .55rem;border-radius:99px;text-transform:uppercase}.post-badge-pin{background:var(--bg-2);color:var(--text)}.post-badge-featured{background:#fef3c7;color:#92400e}[data-theme=dark] .post-badge-featured{background:#fbbf2426;color:#fbbf24}.post-badge-type{text-transform:none;font-size:.75rem;letter-spacing:0}.badge-article{background:var(--primary-faint);color:var(--primary)}.badge-question{background:#eff6ff;color:#2563eb}.badge-discussion{background:#f0fdf4;color:#16a34a}.badge-resource{background:#fff7ed;color:#c2410c}[data-theme=dark] .badge-question{background:#2563eb1f;color:#60a5fa}[data-theme=dark] .badge-discussion{background:#16a34a1f;color:#4ade80}[data-theme=dark] .badge-resource{background:#c2410c1f;color:#fb923c}.post-title{font-size:1.0625rem;font-weight:600;color:var(--text);margin:0 0 .5rem;line-height:1.3;overflow-wrap:break-word;word-break:break-word}.post-excerpt{font-size:.9rem;color:var(--text-muted);line-height:1.6;margin:0 0 .75rem;overflow-wrap:break-word;word-break:break-word}.post-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.875rem}.post-tag{background:var(--bg-2);color:var(--text-muted);border-radius:99px;padding:.1rem .55rem;font-size:.75rem;font-weight:500;white-space:normal;word-break:break-word}.post-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8125rem;color:var(--text-muted)}.post-author{display:flex;align-items:center;gap:.4rem}.post-author-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.post-author-initials{width:22px;height:22px;border-radius:50%;background:var(--bg-2);object-fit:contain;flex-shrink:0}.post-meta-sep{opacity:.4}.post-author-link{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;padding:0;font-size:inherit;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:color .15s}.post-author-link:hover{color:var(--primary);background:none}.post-stats{display:flex;gap:.875rem;font-weight:500}.post-stat-voted{color:var(--primary)}.post-stat-btn{background:none;border:none;padding:.2rem .4rem;border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s;line-height:1}.post-stat-btn:hover{background:var(--bg-2);color:var(--text)}.post-stat-btn.post-stat-voted{color:var(--primary)}.forum-post-back{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--text-muted);text-decoration:none;margin-bottom:1.5rem}.forum-post-back:hover{color:var(--text);text-decoration:none}.forum-post-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.forum-post-admin-controls{display:flex;gap:.5rem;margin-left:auto}.forum-post-title{font-size:1.75rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;margin:.875rem 0 .75rem;overflow-wrap:break-word;word-break:break-word}.forum-post-meta{display:flex;align-items:center;gap:.4rem;font-size:.875rem;color:var(--text-muted);margin-bottom:1.75rem;flex-wrap:wrap}.forum-post-body{font-size:.9375rem;line-height:1.75;white-space:pre-wrap;word-wrap:break-word;color:var(--text);margin-bottom:1.5rem}.forum-post-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1.75rem}.forum-post-vote{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:2rem}.vote-btn{display:inline-flex;align-items:center;gap:.375rem;background:transparent;border:1.5px solid var(--border);border-radius:8px;padding:.45rem 1rem;font-size:.875rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.vote-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-faint)}.vote-btn.voted{border-color:var(--primary);color:var(--primary);background:var(--primary-faint)}.admin-btn-outline{background:transparent;border:1.5px solid var(--border);border-radius:8px;padding:.35rem .75rem;font-size:.8125rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s}.admin-btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:none}.admin-btn-danger{background:transparent;border:1.5px solid #fecdd3;border-radius:8px;padding:.35rem .75rem;font-size:.8125rem;font-weight:500;color:#ef4444;cursor:pointer;transition:background .15s}.admin-btn-danger:hover:not(:disabled){background:#fff1f2}[data-theme=dark] .admin-btn-danger:hover:not(:disabled){background:#ef44441a}.comments-section{margin-top:0}.comments-header{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 1.25rem}.comment-list{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.comment-item{display:flex;gap:.75rem}.comment-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.comment-avatar-initials{width:32px;height:32px;border-radius:50%;background:var(--bg-2);object-fit:contain;flex-shrink:0}.comment-content{flex:1;min-width:0}.comment-author-row{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.3rem}.comment-author-name{font-size:.875rem;font-weight:600;color:var(--text)}.comment-date{font-size:.75rem;color:var(--text-muted)}.comment-delete-btn{margin-left:auto;background:none;border:none;color:var(--text-muted);font-size:.7rem;cursor:pointer;padding:.1rem .25rem;opacity:.4;transition:opacity .15s,color .15s;line-height:1}.comment-delete-btn:hover{opacity:1;background:none!important;color:#ef4444!important}.comment-body{font-size:.9rem;color:var(--text);line-height:1.6;white-space:pre-wrap;word-wrap:break-word;margin:0}.comment-form{display:flex;flex-direction:column;gap:.625rem;padding-top:.25rem}.forum-login-cta{font-size:.875rem;color:var(--text-muted);margin-top:.5rem}.modal-error{color:#ef4444;font-size:.875rem;margin:0}.forum-pagination{display:flex;align-items:center;justify-content:center;gap:.375rem;margin-top:2rem;flex-wrap:wrap}.forum-page-btn{min-width:2.25rem;height:2.25rem;padding:0 .5rem;border:1px solid var(--border);border-radius:.5rem;background:var(--card-bg);color:var(--text);font-size:.875rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.forum-page-btn:hover:not(:disabled):not(.active){background:var(--hover-bg);border-color:var(--primary)}.forum-page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600;cursor:default}.forum-page-btn:disabled{opacity:.35;cursor:not-allowed}.forum-page-ellipsis{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:var(--text-muted);font-size:.875rem;-webkit-user-select:none;user-select:none}.post-settings-wrap{position:relative}.post-settings-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:1.5px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s;padding:0}.post-settings-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-faint)}.post-settings-popup{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1rem 1.125rem;z-index:200;box-shadow:0 8px 24px #00000024;display:flex;flex-direction:column;gap:.375rem}.post-settings-section-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0 0 .25rem}.post-settings-stats{display:flex;gap:.75rem}.post-settings-stat{display:flex;flex-direction:column;align-items:center;flex:1;background:var(--bg-2);border-radius:8px;padding:.5rem .25rem;gap:.15rem}.post-settings-stat-value{font-size:1rem;font-weight:700;color:var(--text)}.post-settings-stat-label{font-size:.6875rem;color:var(--text-muted)}.post-settings-created{font-size:.75rem;color:var(--text-muted);margin:.25rem 0 0}.post-settings-soon{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--primary-faint);color:var(--primary);border-radius:4px;padding:.1rem .35rem;vertical-align:middle;margin-left:.25rem}.post-settings-coming-soon{font-size:.8rem;color:var(--text-muted);margin:0;opacity:.7}.inline-edit-row{display:flex;align-items:center;gap:.5rem}.inline-edit-trigger{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,background .15s;padding:0}.inline-edit-trigger:hover{color:var(--text);background:var(--bg-2)}.inline-edit-block{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.inline-edit-input{width:100%;box-sizing:border-box}.inline-edit-title{font-size:1.5rem;font-weight:700}.inline-edit-block-actions{display:flex;gap:.5rem}.inline-edit-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;border:1.5px solid var(--border);background:transparent;color:var(--text-muted);transition:background .15s,border-color .15s,color .15s}.inline-edit-btn.save{border-color:var(--primary);color:var(--primary);background:var(--primary-faint)}.inline-edit-btn.save:hover:not(:disabled){background:var(--primary);color:#fff}.inline-edit-btn.cancel:hover{background:var(--bg-2)}.post-tag-empty{font-size:.8rem;color:var(--text-muted);font-style:italic}.forum-post-body-box{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:1.125rem 1.25rem;overflow-x:hidden;word-break:break-word;overflow-wrap:break-word}.post-body-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.post-body-stats{font-size:.8rem;color:var(--text-muted)}.post-body-edit-btn{display:inline-flex;align-items:center;gap:.3rem;font-size:.8125rem;color:var(--text-muted);padding:.25rem .625rem;width:auto;height:auto;border-radius:6px}.user-profile-header{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.user-profile-avatar-wrap{flex-shrink:0}.user-profile-avatar{width:88px;height:88px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.user-profile-initials{width:88px;height:88px;border-radius:50%;background:var(--bg-2);object-fit:contain;border:2px solid var(--border)}.user-profile-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.4rem;justify-content:center}.user-profile-name{font-size:1.5rem;font-weight:700;margin:0;overflow-wrap:break-word}.user-profile-status{font-size:.875rem;color:var(--text-muted);margin:0}.user-profile-bio{font-size:.9375rem;color:var(--text);line-height:1.6;margin:0;white-space:pre-wrap;word-wrap:break-word}.user-profile-private{font-size:.875rem;color:var(--text-muted);margin:0}.user-profile-posts-heading{font-size:1.125rem;font-weight:600;margin:0 0 1rem;display:flex;align-items:center;gap:.625rem}.user-profile-posts-count{font-size:.8125rem;font-weight:500;color:var(--text-muted);background:var(--bg-2);border-radius:99px;padding:.1rem .55rem}.course-card-banner{width:calc(100% + 2rem);height:140px;margin:-1rem -1rem .75rem;background-size:cover;background-position:center}.study-sess-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.study-sess-header h1{margin:0}.study-sess-header p{margin:.3rem 0 0;color:var(--text-muted)}.study-sess-list{display:flex;flex-direction:column;gap:.875rem}.study-sess-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1.125rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.study-sess-card-top{display:flex;align-items:center;justify-content:space-between}.study-sess-platform{display:inline-flex;align-items:center;padding:.15rem .625rem;border-radius:99px;font-size:.75rem;font-weight:600;color:#fff}.study-sess-delete{background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:.15rem .35rem;opacity:.4;line-height:1;transition:opacity .15s,color .15s}.study-sess-delete:hover{opacity:1;color:#ef4444;background:none}.study-sess-title{font-size:1rem;font-weight:600;margin:0;overflow-wrap:break-word}.study-sess-desc{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1.6}.study-sess-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.25rem;flex-wrap:wrap}.study-sess-meta{font-size:.8125rem;color:var(--text-muted)}.study-sess-join{display:inline-flex;align-items:center;padding:.375rem .875rem;background:var(--primary);color:#fff;border-radius:8px;font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:opacity .15s}.study-sess-join:hover{opacity:.88;text-decoration:none;color:#fff}@media(max-width:1024px){.courses-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.courses-grid{grid-template-columns:repeat(2,1fr)}main{padding:2rem 1.25rem 3rem}}@media(max-width:480px){.courses-grid{grid-template-columns:1fr}.features{flex-direction:column}main{padding:1.5rem 1rem 2.5rem}h1{font-size:1.625rem}}@keyframes toast-in-first{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in-push{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}55%{opacity:0;max-height:300px;padding-top:.75rem;padding-bottom:.75rem}to{opacity:1;max-height:300px;padding-top:.75rem;padding-bottom:.75rem}}@keyframes toast-out{0%{opacity:1}to{opacity:0}}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.625rem;z-index:9999;align-items:flex-end;pointer-events:none}.toast{display:flex;align-items:center;gap:.875rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;font-size:.875rem;color:var(--text);box-shadow:0 4px 16px #0000001a;animation:toast-in-first .25s ease forwards;pointer-events:auto;max-width:340px;min-width:180px;-webkit-user-select:text;user-select:text}.toast.toast-push{overflow:hidden;animation:toast-in-push .38s ease forwards}.toast.toast-out{animation:toast-out .3s ease forwards}.toast-error{background:#fff1f2;border-color:#fecdd3;border-left:3px solid #f87171}.toast-warning{background:#fffbeb;border-color:#fde68a;border-left:3px solid #fbbf24}[data-theme=dark] .toast-error{background:#ef44441a;border-color:#ef444438;border-left:3px solid #ef4444}[data-theme=dark] .toast-warning{background:#fbbf2414;border-color:#fbbf2433;border-left:3px solid #fbbf24}.toast-message{flex:1;line-height:1.4;-webkit-user-select:text;user-select:text}.toast-close{background:none;border:none;color:var(--text-muted);font-size:.8rem;cursor:pointer;padding:.15rem .2rem;opacity:.45;transition:opacity .15s;flex-shrink:0;line-height:1}.toast-close:hover{opacity:.8;background:none!important;color:var(--text-muted)!important}
