.feed-layout{max-width:900px;margin:0 auto;padding:1.75rem 1.5rem}.feed-main{min-width:0}.topics-bar{margin-bottom:1.25rem}.topics-bar .topics-grid{display:flex;flex-wrap:wrap;gap:.375rem}.topic-pill-more{background:var(--ink-100)!important;border-color:transparent!important;color:var(--ink-500)!important;font-weight:600!important;cursor:pointer;font-family:inherit}.topic-pill-more:hover{background:var(--accent-dim)!important;color:var(--accent-text)!important}.feed-tabs{display:flex;gap:.4375rem;margin-bottom:1.375rem;padding-bottom:.875rem;border-bottom:1px solid var(--border)}.feed-tab{padding:.4375rem 1rem;border:1.5px solid transparent;border-radius:var(--r-md);font-size:var(--text-base);font-weight:600;color:var(--ink-400);background:none;cursor:pointer;transition:all .15s;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.5rem}.feed-tab svg{width:16px;height:16px;flex-shrink:0}.feed-tab:hover{color:var(--ink-700);background:var(--ink-100)}.topic-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-bottom:1rem;background:var(--accent-dim);border-radius:var(--r-md);font-size:var(--text-base)}.topic-label{color:var(--ink-400)}.topic-current{color:var(--accent-text);font-weight:600}.topic-clear{margin-left:auto;color:var(--ink-400);text-decoration:none;font-size:var(--text-md);transition:color .15s}.topic-clear:hover{color:var(--ink-700)}.feed-tab.active{color:var(--accent-text);background:var(--accent-dim);border-color:var(--accent-ring)}.feed-tab.trending{color:var(--accent-warm)}.feed-tab.trending:hover{background:var(--accent-warm-dim);color:var(--accent-warm-dark)}.feed-tab.trending.active{color:var(--accent-warm);background:var(--accent-warm-dim);border-color:var(--accent-warm-ring)}.post-card-skeleton{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:1.375rem;margin-bottom:1.125rem}.post-card-skeleton .sk-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.875rem}.post-card-skeleton .sk-avatar{width:44px;height:44px;border-radius:50%;background:var(--ink-100);flex-shrink:0}.post-card-skeleton .sk-body{flex:1;display:flex;flex-direction:column;gap:.375rem;padding-top:.25rem}.post-card-skeleton .sk-line{height:10px;border-radius:5px;background:var(--ink-100);animation:sk-shimmer 1.5s ease-in-out infinite}.post-card-skeleton .sk-line--lg{width:85%}.post-card-skeleton .sk-line--md{width:60%}.post-card-skeleton .sk-line--sm{width:40%}.post-card-skeleton .sk-line--xs{width:25%}.post-card-skeleton .sk-menu{width:32px;height:32px;border-radius:var(--r-sm);background:var(--ink-100);flex-shrink:0;animation:sk-shimmer 1.5s ease-in-out infinite}.post-card-skeleton .sk-title{height:14px;border-radius:6px;background:var(--ink-100);width:55%;margin-bottom:.625rem;animation:sk-shimmer 1.5s ease-in-out infinite}.post-card-skeleton .sk-content{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.75rem}.post-card-skeleton .sk-tags{display:flex;gap:.375rem;margin-bottom:.875rem}.post-card-skeleton .sk-tag{height:22px;width:52px;border-radius:var(--r-sm);background:var(--ink-100);animation:sk-shimmer 1.5s ease-in-out infinite}.post-card-skeleton .sk-actions{display:flex;gap:1.375rem;padding-top:.875rem;border-top:1px solid var(--border)}.post-card-skeleton .sk-action{height:18px;width:48px;border-radius:4px;background:var(--ink-100);animation:sk-shimmer 1.5s ease-in-out infinite}@keyframes sk-shimmer{0%,to{opacity:1}50%{opacity:.4}}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:1.375rem;margin-bottom:1.125rem;transition:border-color .2s,box-shadow .2s}.post-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card)}.post-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.875rem}.post-header .drop-wrap{margin-left:auto}.post-avatar{width:44px;height:44px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1.5px solid var(--border-strong);flex-shrink:0}.post-meta{flex:1;min-width:0}.post-author-row{display:flex;align-items:center;gap:.4375rem;margin-bottom:.125rem}.post-author{font-size:var(--text-md);font-weight:700;color:var(--ink-900);letter-spacing:-.015em}.verify-badge{width:16px;height:16px;background:var(--accent-warm);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.verify-badge svg{width:9px;height:9px;color:#fff;stroke-width:3}.post-handle{font-size:var(--text-sm);color:var(--ink-400);font-weight:500}.post-time{font-size:var(--text-sm);color:var(--ink-300);font-weight:500}.post-menu{width:44px;height:44px;background:none;border:none;border-radius:var(--r-sm);color:var(--ink-300);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.post-menu:hover{background:var(--ink-100);color:var(--ink-500)}.post-menu svg{width:16px;height:16px}.post-content{font-size:var(--text-base);color:var(--ink-700);line-height:1.65;margin-bottom:.875rem}.post-tags{display:flex;gap:.375rem;flex-wrap:wrap;margin-bottom:.875rem}.post-tag{padding:.25rem .625rem;background:var(--ink-100);color:var(--ink-500);border-radius:var(--r-sm);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .15s}.post-tag:hover{background:var(--accent-dim);color:var(--accent-text)}.post-tag--featured{background:var(--accent-warm-dim);color:var(--accent-warm-dark)}.post-tag--featured:hover{background:var(--accent-warm-ring);color:var(--accent-warm-dark)}.post-image{width:100%;border-radius:var(--r-lg);border:1px solid var(--border);margin-bottom:.875rem;display:block}.post-actions{display:flex;gap:1.375rem;padding-top:.875rem;border-top:1px solid var(--border)}.post-action{display:flex;align-items:center;gap:.4375rem;font-size:var(--text-base);font-weight:600;color:var(--ink-400);cursor:pointer;background:none;border:none;padding:.375rem .625rem;border-radius:10px;min-width:44px;min-height:44px;transition:color .15s,background .15s}.post-action:hover{background:var(--accent-dim);color:var(--accent-text)}.post-action svg{width:18px;height:18px}.like-btn.liked{color:var(--like)}.like-btn.liked svg{fill:var(--like);animation:like-bounce .3s ease-out}.like-btn.liked .like-count{color:var(--ink-700)}@keyframes like-bounce{0%{transform:scale(1)}40%{transform:scale(1.2)}to{transform:scale(1)}}.endorsement-wrap{position:relative}.endorsement-btn.active{color:var(--accent-text)}.endorsement-btn.active svg{fill:var(--accent-text)}.skill-panel{position:absolute;bottom:calc(100% + 6px);left:0;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:.25rem;display:flex;gap:.125rem;z-index:50;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s,visibility .15s}.skill-panel.show{opacity:1;visibility:visible;transform:translateY(0)}.skill-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);border:none;background:transparent;color:var(--ink-400);cursor:pointer;transition:background .12s,color .12s}.skill-btn:hover{background:var(--ink-100);color:var(--ink-700)}.skill-btn.active{background:var(--accent-dim);color:var(--accent-text)}.skill-btn svg{width:16px;height:16px}.skill-label{display:none}.drop-wrap{position:relative;overflow:visible}.drop-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);min-width:186px;z-index:300;padding:.375rem;opacity:0;transform:translateY(-5px) scale(.96);pointer-events:none;transition:opacity .18s ease,transform .18s ease;transform-origin:top right}.drop-menu.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.drop-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .75rem;border-radius:var(--r-sm);font-size:var(--text-base);font-weight:500;color:var(--ink-700);background:none;border:none;text-decoration:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .12s}.drop-item:hover{background:var(--bg-subtle)}.drop-item svg{width:14px;height:14px;color:var(--ink-400);flex-shrink:0}.post-menu-btn{width:32px;height:32px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;background:transparent;border:none;color:var(--ink-400)}.post-menu-btn:hover{background:var(--ink-100)}.post-menu-btn svg{width:14px;height:14px}.topics-grid{display:flex;flex-wrap:wrap;gap:.375rem}.topic-pill{padding:.25rem .625rem;background:transparent;border:1px solid var(--border-strong);color:var(--ink-400);border-radius:var(--r-md);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all .15s;letter-spacing:-.005em;text-decoration:none}.topic-pill:hover{background:var(--accent-dim);border-color:var(--accent-ring);color:var(--accent-text)}#commentsModal .modal-card{max-width:640px;box-shadow:0 24px 64px #0003,0 8px 24px #00000026}.modal-original-post{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.modal-post-header{display:flex;gap:.75rem;margin-bottom:.75rem}.modal-post-avatar{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1.5px solid var(--border-strong);flex-shrink:0}.modal-post-meta{flex:1;min-width:0}.modal-post-author{font-size:var(--text-base);font-weight:700;color:var(--ink-900);letter-spacing:-.015em;display:flex;align-items:center;gap:.375rem}.modal-post-handle-time{font-size:var(--text-xs);color:var(--ink-400);font-weight:500;margin-top:.0625rem}.modal-post-content{font-size:var(--text-base);color:var(--ink-700);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.modal-comments{flex:1;overflow-y:auto;padding:1rem 1.5rem;min-height:0}.modal-comments::-webkit-scrollbar{width:6px}.modal-comments::-webkit-scrollbar-track{background:transparent}.modal-comments::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:3px}.modal-comments::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}.comments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center}.comments-empty-icon{width:56px;height:56px;background:var(--ink-100);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.comments-empty-icon svg{width:24px;height:24px;color:var(--ink-300)}.comments-empty-title{font-size:var(--text-md);font-weight:700;color:var(--ink-700);margin-bottom:.375rem}.comments-empty-text{font-size:var(--text-sm);color:var(--ink-400);line-height:1.5}.comment-item{display:flex;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--border)}.comment-item:last-child{border-bottom:none}.comment-avatar{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1.5px solid var(--border-strong);flex-shrink:0}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.375rem}.comment-author{font-size:var(--text-base);font-weight:700;color:var(--ink-900);letter-spacing:-.015em}.comment-time{font-size:var(--text-xs);color:var(--ink-300);font-weight:500}.comment-text{font-size:var(--text-base);color:var(--ink-700);line-height:1.6;margin-bottom:.5rem}.comment-actions{display:flex;gap:1rem}.comment-action{display:flex;align-items:center;gap:.3rem;font-size:var(--text-xs);font-weight:600;color:var(--ink-400);cursor:pointer;transition:color .15s;background:none;border:none;padding:0}.comment-action:hover{color:var(--accent-text)}.like-comment-btn.liked{color:var(--like)}.like-comment-btn.liked svg path{fill:currentColor!important;stroke:currentColor!important}.comment-action svg{width:15px;height:15px}.comment-delete-btn{margin-left:auto;opacity:0;transition:opacity .15s,color .15s;color:var(--ink-300)}.comment-item:hover .comment-delete-btn,.comment-item .comment-delete-btn:focus-visible{opacity:1}.comment-delete-btn:hover{color:var(--danger)}#commentsModal .modal-footer{display:block;padding:1rem 1.5rem;border-top:1px solid var(--border);flex-shrink:0}.comment-input-wrap{display:flex;gap:.75rem;align-items:flex-start}.comment-input-avatar{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1.5px solid var(--border-strong);flex-shrink:0}.comment-input-form{flex:1;min-width:0}.comment-textarea{width:100%;min-height:44px;max-height:120px;padding:.625rem .875rem;border:1.5px solid var(--border-strong);border-radius:var(--r-md);font-size:var(--text-base);font-weight:500;color:var(--ink-700);background:var(--surface);font-family:inherit;resize:vertical;outline:none;transition:all .15s;line-height:1.5}.comment-textarea::-moz-placeholder{color:var(--ink-300)}.comment-textarea::placeholder{color:var(--ink-300)}.comment-textarea:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-dim)}.comment-input-actions{display:flex;justify-content:flex-end;gap:.625rem;margin-top:.625rem}.btn-comment-cancel{padding:.4375rem .875rem;background:none;border:none;border-radius:var(--r-sm);font-size:var(--text-sm);font-weight:600;color:var(--ink-500);cursor:pointer;transition:all .15s}.btn-comment-cancel:hover{background:var(--ink-100);color:var(--ink-700)}.btn-comment-submit{padding:.4375rem 1.125rem;background:var(--accent-strong);color:#fff;border:none;border-radius:var(--r-sm);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;letter-spacing:-.01em}.btn-comment-submit:hover{background:var(--accent-dark)}.btn-comment-submit:disabled{opacity:.5;cursor:not-allowed}.btn-comment-submit:disabled:hover{background:var(--accent-strong)}#commentsModal .modal-body{display:flex;flex-direction:column;overflow:hidden;padding:0}#commentsModal .modal-original-post,#commentsModal .comment-input-wrap{flex-shrink:0}.feed-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1.5rem;text-align:center}.feed-empty-icon{width:72px;height:72px;background:var(--ink-100);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.feed-empty-icon svg{width:32px;height:32px;color:var(--ink-300)}.feed-empty-title{font-size:var(--text-md);font-weight:600;color:var(--ink-700);margin-bottom:.5rem}.feed-empty-text{font-size:var(--text-base);color:var(--ink-400);line-height:1.5;max-width:280px}.feed-empty-cta{margin-top:1.25rem;padding:.625rem 1.5rem;background:var(--accent-strong);color:#fff;border-radius:var(--r-md);font-size:var(--text-base);font-weight:600;text-decoration:none;transition:background .15s}.feed-empty-cta:hover{background:var(--accent-dark)}.load-more-wrapper{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 0}.btn-load-more{padding:.625rem 1.5rem;background:var(--accent-strong);color:#fff;border:none;border-radius:var(--r-md);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px #12b3b633}.btn-load-more:hover{background:var(--accent-dark)}.btn-load-more:disabled{opacity:.6;cursor:not-allowed}.load-more-status{font-size:var(--text-xs);color:var(--ink-300)}.modal-report{max-width:420px}.modal-report-textarea{width:100%;padding:.75rem;border:1.5px solid var(--border-strong);border-radius:var(--r-md);font-size:var(--text-base);font-family:inherit;resize:vertical;background:var(--surface);color:var(--ink-900);outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.modal-report-textarea:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-ring)}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%) translateY(100px);background:var(--ink-900);color:#fff;padding:.75rem 1.25rem;border-radius:var(--r-lg);font-size:var(--text-base);font-weight:500;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1100}.toast.show{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}@media (max-width: 768px){.toast{bottom:calc(1.5rem + 64px + env(safe-area-inset-bottom,0px))}}@media (max-width: 1024px){.nav-search-wrap{display:none}.post-menu-btn:hover{background:none}}@media (max-width: 768px){.feed-layout{padding:1.5rem;overflow-x:hidden}}@media (max-width: 640px){.navbar-inner{padding:0 1rem}.nav-links{display:none}.feed-layout{padding:0}.feed-tabs,.topics-bar,.topic-header,#nearby-devs{padding-left:1rem;padding-right:1rem}.post-card,.post-card-skeleton{border-radius:0;border-left:none;border-right:none;margin-bottom:.5rem;padding:1rem}.pm-grid{margin-left:-1rem;margin-right:-1rem;border-radius:0}.post-image{margin-left:-1rem;margin-right:-1rem;border-radius:0;border-left:none;border-right:none}.post-header{gap:.75rem;margin-bottom:.75rem}.post-content{font-size:var(--text-base);line-height:1.7;margin-bottom:.75rem}.post-tags{gap:.5rem;margin-bottom:.75rem}.post-actions{padding-top:.75rem}.post-menu-btn{width:44px;height:44px}.btn-new{padding:.4375rem .875rem}.btn-new span{display:none}.feed-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.feed-tabs::-webkit-scrollbar{display:none}.post-action:hover,.post-action:active{background:none;color:var(--ink-400)}.post-action.liked:hover,.post-action.liked:active{color:var(--like)}.post-action.active:hover,.post-action.active:active{color:var(--accent-text)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.3);z-index:9998;opacity:0;pointer-events:none;transition:opacity .15s ease-out}body.skill-sheet-open:before{opacity:1;pointer-events:auto}.skill-panel{position:fixed;top:auto;left:0;right:0;bottom:0;flex-direction:column;align-items:stretch;padding:.5rem .5rem calc(4rem + env(safe-area-inset-bottom,0px));gap:.25rem;min-width:0;border-radius:var(--r-xl) var(--r-xl) 0 0;border-left:none;border-right:none;border-bottom:none;z-index:9999}.skill-btn{width:100%;height:auto;justify-content:flex-start;gap:.5rem;padding:.5rem .75rem;border-radius:var(--r-sm)}.skill-label{display:inline;font-size:var(--text-sm);font-weight:500;color:var(--ink-600);white-space:nowrap}}@media (max-width: 480px){.post-header{gap:.625rem}.post-avatar{width:36px;height:36px}.post-author{font-size:var(--text-sm)}.post-handle{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-icon.post-menu-btn svg{width:18px;height:18px}.btn-icon.post-menu-btn svg path{stroke-width:3}.verify-badge{width:14px;height:14px}.verify-badge svg{width:7px;height:7px}}
