*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fff;--bg-secondary:#f9fafb;--surface:#fff;--border:#e5e7eb;--border-light:#f3f4f6;--text:#111827;--text-muted:#6b7280;--text-light:#9ca3af;--primary:#0f0f0f;--primary-hover:#2a2a2a;--accent:#6366f1;--accent-light:#eef2ff;--danger:#ef4444;--success:#10b981;--radius:12px;--radius-sm:8px;--shadow:0 1px 3px #00000012, 0 1px 2px #0000000a;--shadow-lg:0 4px 24px #0000001a;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);color:var(--text);background:var(--bg-secondary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px}body{min-height:100vh}.app-loading{background:var(--bg-secondary);justify-content:center;align-items:center;height:100vh;display:flex}.loading-spinner{border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}.loading-state{color:var(--text-muted);justify-content:center;align-items:center;gap:10px;padding:48px 0;font-size:14px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.reveal{opacity:0;transition:opacity .55s var(--ease-out), transform .55s var(--ease-out);will-change:opacity, transform;transform:translateY(18px)}.reveal.in-view{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.navbar{z-index:100;background:var(--surface);position:relative}.navbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1100px;height:76px;margin:0 auto;padding:0 24px;display:flex}.navbar-brand{flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.navbar-brand-icon{width:34px;height:34px;transition:transform .3s var(--ease-spring);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.navbar-brand-icon img{object-fit:cover;width:100%;height:100%}.navbar-brand:hover .navbar-brand-icon{transform:rotate(-8deg)scale(1.08)}.navbar-brand-name{color:var(--text);letter-spacing:-.3px;font-size:17px;font-weight:700;line-height:1.2}.navbar-actions{align-items:center;gap:28px;display:flex}.navbar-links{align-items:center;gap:24px;display:flex}.navbar-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.navbar-link:hover,.navbar-link.active{color:var(--text)}.user-menu{align-items:center;gap:10px;display:flex}.user-name{color:var(--text-muted);font-size:13px;font-weight:500}.user-name-btn{cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;transition:background .15s,color .15s;display:inline-flex}.user-name-btn:hover{background:var(--bg-secondary);color:var(--text)}.navbar-signin-btn{background:var(--primary);color:#fff;cursor:pointer;transition:background .15s, transform .2s var(--ease-out), box-shadow .2s var(--ease-out);border:none;border-radius:999px;padding:9px 20px;font-family:inherit;font-size:13.5px;font-weight:600;line-height:1}.navbar-signin-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow);transform:translateY(-1px)}.navbar-signin-btn:active{transform:translateY(0)scale(.97)}.navbar-menu-btn{width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.navbar-menu-btn:hover{background:var(--bg-secondary)}.navbar-mobile-backdrop{z-index:99;position:fixed;inset:0}.navbar-mobile-menu{z-index:100;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);flex-direction:column;padding:8px 20px 20px;animation:.15s navbar-menu-in;display:flex;position:absolute;top:100%;left:0;right:0}@keyframes navbar-menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.navbar-mobile-link{color:var(--text-muted);border-bottom:1px solid var(--border-light);padding:13px 4px;font-size:15.5px;font-weight:500;text-decoration:none}.navbar-mobile-link.active{color:var(--text);font-weight:600}.navbar-mobile-divider{display:none}.navbar-mobile-user{align-items:center;gap:10px;padding:14px 4px 6px;display:flex}.navbar-mobile-user .user-name-btn{flex:1;font-size:14px}.navbar-mobile-signin{text-align:center;width:100%;margin-top:12px;padding:12px}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:background .15s, opacity .15s, box-shadow .15s, transform .15s var(--ease-out);white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.96)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-secondary);transform:translateY(-1px)}.btn-link{color:var(--accent);font-weight:600;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0}.btn-sm{padding:6px 12px;font-size:13px}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.feed-page{background:var(--surface);min-height:calc(100vh - 76px);padding-bottom:80px}.feed-container{max-width:760px;margin:0 auto;padding:100px 20px 0}.feed-hero{background:var(--surface)}.feed-hero-inner{text-align:center;max-width:760px;margin:0 auto;padding:128px 20px 60px}.feed-hero-title{color:var(--text);letter-spacing:-1.2px;animation:hero-fade-up .6s var(--ease-out) both;margin-bottom:18px;font-size:46px;font-weight:800;line-height:1.15}.feed-hero-br{display:none}.feed-hero-sub{color:var(--text-muted);max-width:520px;animation:hero-fade-up .6s var(--ease-out) 80ms both;margin:0 auto;font-size:17px;line-height:1.6}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.feed-hero-title,.feed-hero-sub,.feed-hero-actions,.feed-search-wrap,.dev-dashboard-icon,.dev-dashboard-badge,.dev-dashboard-title,.dev-dashboard-body,.dev-dashboard-coming-soon .feed-hero-btn,.about-title,.about-signature,.about-hero .dev-dashboard-badge,.about-content p{animation:none!important}}.feed-hero-actions{animation:hero-fade-up .6s var(--ease-out) .16s both;justify-content:center;align-items:center;gap:14px;margin-top:32px;display:flex}.feed-hero-btn{cursor:pointer;transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out), background .15s, border-color .15s;border-radius:999px;padding:13px 30px;font-family:inherit;font-size:15.5px;font-weight:600;line-height:1}.feed-hero-btn:active{transform:translateY(0)scale(.96)}.feed-hero-btn-outline{background:var(--surface);color:var(--text);border:1.5px solid var(--border)}.feed-hero-btn-outline:hover{border-color:var(--text);background:var(--bg-secondary);transform:translateY(-2px)}.feed-hero-btn-solid{background:var(--primary);color:#fff;border:1.5px solid var(--primary);position:relative;overflow:hidden}.feed-hero-btn-solid:before{content:"";width:40%;height:100%;transition:left .55s var(--ease-out);background:linear-gradient(120deg,#0000,#ffffff59,#0000);position:absolute;top:0;left:-60%;transform:skew(-20deg)}.feed-hero-btn-solid:hover:before{left:130%}.feed-hero-btn-solid:hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 20px -6px #0f172a59}.feed-search-wrap{width:100%;max-width:560px;animation:hero-fade-up .6s var(--ease-out) .24s both;align-items:center;margin-top:28px;margin-left:auto;margin-right:auto;display:flex;position:relative}.feed-search-icon{color:var(--text-light);pointer-events:none;align-items:center;display:flex;position:absolute;left:16px}.feed-search-input{border:1.5px solid var(--border);width:100%;color:var(--text);background:var(--surface);transition:border-color .15s, box-shadow .15s, transform .15s var(--ease-out);border-radius:12px;outline:none;padding:13px 42px 13px 46px;font-family:inherit;font-size:15px}.feed-search-input::placeholder{color:var(--text-light)}.feed-search-input:focus{border-color:var(--text);transform:translateY(-1px);box-shadow:0 0 0 3px #0000000f}.feed-search-clear{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:13px;line-height:1;transition:color .15s,background .15s;position:absolute;right:10px}.feed-search-clear:hover{color:var(--text);background:var(--bg-secondary)}.feed-search-label{color:var(--text-muted);font-size:14px}.feed-search-label strong{color:var(--text)}.feed-header{margin-bottom:0}.feed-tabs-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:0;display:flex}.feed-tabs{gap:0;display:flex}.feed-tab{color:var(--text-muted);cursor:pointer;transition:color .15s, transform .15s var(--ease-out);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:5px;margin-bottom:-1px;padding:10px 14px;font-size:14px;font-weight:500;display:flex}.feed-tab:hover{color:var(--text);transform:translateY(-1px)}.feed-tab:active{transform:translateY(0)scale(.96)}.feed-tab-icon{transition:transform .2s var(--ease-spring);flex-shrink:0;align-items:center;display:flex}.feed-tab:hover .feed-tab-icon{transform:scale(1.15)rotate(-6deg)}.feed-tab.active{color:var(--text);border-bottom-color:var(--text);font-weight:600}.feed-count{color:var(--text-muted);flex-shrink:0;font-size:13px}.feed-pills{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding-bottom:14px;display:flex;overflow-x:auto}.feed-pills::-webkit-scrollbar{display:none}.feed-pill{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:border-color .15s, color .15s, background .15s, transform .15s var(--ease-out);border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:5px 12px;font-size:13px;font-weight:500;display:inline-flex}.feed-pill:hover{border-color:var(--text);color:var(--text);transform:translateY(-1px)}.feed-pill:active{transform:translateY(0)scale(.95)}.feed-pill.active{background:var(--text);color:#fff;border-color:var(--text);animation:pill-pop .25s var(--ease-spring)}@keyframes pill-pop{0%{transform:scale(.9)}to{transform:scale(1)}}.feed-pill-count{opacity:.85;font-size:12px;font-weight:600}.problems-list{flex-direction:column;gap:12px;display:flex}.empty-state{text-align:center;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:64px 20px;font-size:14px}.problem-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:background .12s, box-shadow .2s var(--ease-out), transform .2s var(--ease-out), border-color .2s;padding:18px 20px}.problem-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border);background:#fafafa;transform:translateY(-3px)}.problem-card-grid{grid-template-columns:64px 1fr;align-items:start;gap:14px;display:grid}.problem-vote-col{flex-direction:column;align-items:center;gap:3px;padding-top:2px;display:flex}.vote-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:flex}.vote-btn:hover:not(:disabled){border-color:var(--text);color:var(--text);background:#f1f5f9;transform:translateY(-1px)}.vote-btn:active:not(:disabled){transform:translateY(0)scale(.92)}.vote-btn.voted{border-color:var(--primary);background:var(--primary);color:#fff}.vote-btn:disabled{opacity:.4;cursor:default}.vote-btn.pop{animation:.45s cubic-bezier(.34,1.56,.64,1) vote-pop}.vote-btn-spark-wrap{display:inline-flex;position:relative}.spark-burst{pointer-events:none;position:absolute;inset:0}.spark{opacity:0;width:5px;height:5px;transform:rotate(var(--spark-angle)) translateX(0) scale(1);background:radial-gradient(circle,#fff6d8 0%,#ffc93d 55%,#ff9f1c 100%);border-radius:50%;margin:-2.5px 0 0 -2.5px;animation:.55s ease-out forwards spark-fly;position:absolute;top:50%;left:50%;box-shadow:0 0 6px 1px #ffb020bf}@keyframes vote-pop{0%{transform:scale(1)}40%{transform:scale(1.28)}65%{transform:scale(.92)}to{transform:scale(1)}}@keyframes spark-fly{0%{opacity:1;transform:rotate(var(--spark-angle)) translateX(2px) scale(1)}65%{opacity:1}to{opacity:0;transform:rotate(var(--spark-angle)) translateX(24px) scale(.25)}}@media (prefers-reduced-motion:reduce){.vote-btn.pop{animation:none}.spark{opacity:0;animation:none}}.vote-count{color:var(--text-muted);font-size:13px;font-weight:700;line-height:1}.vote-count.voted{color:var(--primary)}.pay-vote-btn{margin-top:3px;line-height:1}.pay-vote-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.pay-vote-btn:hover{border-color:var(--text);color:var(--text);background:#f1f5f9}.pay-vote-btn.active:hover{border-color:var(--primary);background:var(--primary);color:#fff}.problem-content{min-width:0}.problem-title{color:var(--text);letter-spacing:-.2px;margin-bottom:6px;font-size:16px;font-weight:700;line-height:1.35}.problem-description{color:var(--text-muted);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.problem-tags{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.subject-badge{transition:transform .2s var(--ease-spring);border-radius:20px;align-items:center;padding:2px 9px;font-size:12px;font-weight:600;line-height:1.6;display:inline-flex}.problem-card:hover .subject-badge{transform:scale(1.05)}.problem-hashtag{color:var(--text-muted);font-size:13px;font-weight:400}.problem-meta-row{color:var(--text-light);align-items:center;gap:5px;font-size:12px;display:flex}.problem-meta-author{color:var(--text-muted);font-weight:500}.problem-meta-author.anonymous,.problem-detail-meta-item.anonymous{font-style:italic}.problem-meta-dot{color:var(--border)}.comment-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:12px;transition:color .15s;display:inline-flex}.comment-btn:hover{color:var(--text-muted)}.pay-btn-inline{color:var(--text-light);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-left:auto;padding:0;font-family:inherit;font-size:12px;transition:color .15s;display:inline-flex}.pay-btn-inline:hover{color:var(--text-muted)}.pay-btn-inline.active{color:var(--primary)}.pay-vote-wrap{display:flex;position:relative}.pay-modal-backdrop{z-index:99;position:fixed;inset:0}.pay-modal{--pm-x:-50%;--pm-arrow:50%;transform:translateX(var(--pm-x));z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:16px;width:240px;padding:14px 14px 12px;animation:.16s cubic-bezier(.2,.9,.3,1.2) pay-modal-in;position:absolute;top:calc(100% + 12px);left:50%;box-shadow:0 20px 40px -8px #0f172a33,0 4px 12px #0f172a0f}.pay-vote-wrap .pay-modal{--pm-x:0%;--pm-arrow:16px;left:0}@keyframes pay-modal-in{0%{opacity:0;transform:translateX(var(--pm-x)) translateY(-6px) scale(.95)}to{opacity:1;transform:translateX(var(--pm-x)) translateY(0) scale(1)}}.pay-modal--portal{animation:.16s cubic-bezier(.2,.9,.3,1.2) pay-modal-in-portal;position:fixed;left:0;transform:none}@keyframes pay-modal-in-portal{0%{opacity:0;transform:translateY(-6px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.pay-modal:before{content:"";top:-6px;left:var(--pm-arrow);background:var(--surface);border-left:1px solid var(--border);border-top:1px solid var(--border);border-radius:3px 0 0;width:12px;height:12px;margin-left:-6px;position:absolute;transform:rotate(45deg)}.pay-modal-label{color:var(--text);text-align:center;justify-content:center;align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.pay-modal-label:before{content:"$";background:var(--border-light);width:18px;height:18px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.pay-options{flex-direction:column;gap:6px;display:flex}.pay-option{border:1.5px solid var(--border);background:var(--bg-secondary);cursor:pointer;width:100%;color:var(--text-muted);text-align:center;border-radius:10px;padding:9px 14px;font-family:inherit;font-size:13.5px;font-weight:600;transition:transform .12s,box-shadow .15s,border-color .15s,background .15s,color .15s;position:relative}.pay-option:hover:not(.selected):not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--border-light);transform:translateY(-1px)}.pay-option.selected{background:var(--primary);color:#fff;border-color:#0000;box-shadow:0 4px 14px #0000004d}.pay-option.selected:after{content:"✓";margin-left:6px;font-weight:700}.pay-option:disabled{cursor:default;opacity:.7}.comments-section{border-top:none;margin-top:0;padding-top:0}.comments-filter-tabs{background:var(--bg-secondary);border-radius:999px;gap:2px;margin-bottom:16px;padding:4px;display:inline-flex}.comments-filter-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;transition:color .15s,background .15s}.comments-filter-tab:hover{color:var(--text)}.comments-filter-tab.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #0000000f}.comments-list{flex-direction:column;gap:0;margin-bottom:12px;display:flex}.comments-empty{color:var(--text-muted);padding:6px 0 12px;font-size:13px}.comment{border-bottom:1px solid var(--border-light);background:0 0;padding:16px 0}.comment:last-child{border-bottom:none}.comment-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.comment-author{font-size:13px;font-weight:600}.comment-author.anonymous{font-style:italic}.comment-date{color:var(--text-light);margin-left:auto;font-size:12px}.comment-text{color:var(--text);font-size:14px;line-height:1.55}.comment-form{flex-direction:column;gap:8px;display:flex}.comment-input{border:1px solid var(--border);border-radius:var(--radius-sm);resize:none;background:var(--surface);outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.comment-input:focus{border-color:var(--text)}.comment-form-footer{justify-content:space-between;align-items:center;display:flex}.checkbox-toggle{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-height:32px;font-size:13px;display:flex}.checkbox-toggle input{accent-color:var(--primary);flex-shrink:0;width:16px;height:16px;margin:0}.comment-toggles{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.comment-owner-actions{opacity:.65;align-items:center;gap:4px;margin-left:auto;transition:opacity .15s;display:flex}.comment:hover .comment-owner-actions{opacity:1}.comment-edit-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:500}.comment-delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:500}.comment-delete-btn:hover{color:var(--danger)}.comment-delete-btn--confirm{color:var(--danger);font-weight:600}.comment-delete-confirm-label{color:var(--text-muted);font-size:12px}.comment-edit-form{flex-direction:column;gap:8px;margin-top:4px;display:flex}.comment-edit-actions{gap:6px;display:flex}.comment-already-posted{color:var(--text-muted);text-align:center;padding:8px 0 2px;font-size:13px}.create-problem-modal-header{flex-shrink:0;padding-right:28px}.create-problem-modal .modal-title{margin-bottom:6px}.create-problem-modal .modal-subtitle{margin-bottom:20px}.create-problem-form{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.create-problem-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:1;gap:14px;min-height:0;padding-bottom:8px;display:flex;overflow-y:auto}.create-problem-scroll>*{flex-shrink:0}.problem-input{border:1px solid var(--border);border-radius:var(--radius-sm);resize:none;width:100%;color:var(--text);background:var(--bg-secondary);field-sizing:fixed;outline:none;padding:13px 14px;font-family:inherit;font-size:15px;line-height:1.55;transition:border-color .15s,background .15s}.problem-input:focus{border-color:var(--text);background:var(--surface)}.problem-input::placeholder{color:var(--text-light)}.problem-input--summary{height:calc(3.1em + 26px);min-height:calc(3.1em + 26px)}.form-footer{background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-top:4px;padding:16px 0 20px;display:flex}.form-footer .btn{min-height:44px;padding:11px 20px;font-size:15px}.create-problem-error{margin:-8px 0 16px}.char-count{color:var(--text-light);font-size:13px;line-height:1.4}.char-count--block{text-align:right;margin-top:2px;display:block}.problem-owner-actions{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.problem-edit-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:13px;font-weight:500}.problem-edit-btn:hover{text-decoration:underline}.problem-delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:13px;font-weight:500}.problem-delete-btn:hover{color:var(--danger)}.problem-delete-btn--confirm{color:var(--danger);font-weight:600}.problem-delete-confirm-label{color:var(--text-muted);font-size:13px}.mod-actions{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.mod-badge{color:var(--danger);text-transform:uppercase;letter-spacing:.04em;margin-right:2px;font-size:10px;font-weight:700}.mod-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:500}.mod-btn:hover{color:var(--danger)}.mod-btn--ban:hover{color:#b45309}.problem-edit-form{margin-bottom:0}.problem-edit-form .more-info-panel{margin-top:4px}.problem-edit-actions{background:var(--surface);flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;padding:16px 0 20px;display:flex}.problem-edit-actions .btn{min-height:44px;padding:11px 20px;font-size:15px}.tag-input{flex-direction:column;gap:6px;display:flex}.tag-input-chips{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);flex-wrap:wrap;align-items:center;gap:8px;min-height:48px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.tag-input-chips:focus-within{border-color:var(--text);background:var(--surface)}.tag-chip{background:var(--surface);border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:14px;display:inline-flex}.tag-chip-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:16px;line-height:1;display:inline-flex}.tag-chip-remove:hover{color:var(--danger)}.tag-input-field{min-width:120px;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-family:inherit;font-size:15px;line-height:1.55}.tag-input-hint{color:var(--text-light);font-size:13px}.create-problem-form .checkbox-toggle{min-height:36px;color:var(--text-muted);align-self:flex-start;gap:10px;margin-top:2px;font-size:14px}.create-problem-form .checkbox-toggle input{width:18px;height:18px}.more-info-toggle{border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;align-self:flex-start;align-items:center;gap:6px;margin-top:2px;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.more-info-toggle:hover{border-color:var(--primary);color:var(--primary)}.more-info-toggle-icon{justify-content:center;align-items:center;width:16px;height:16px;font-weight:600;line-height:1;display:inline-flex}.more-info-panel{background:0 0;border:none;flex-direction:column;gap:22px;margin-top:2px;padding:0;display:flex}.more-info-section{flex-direction:column;gap:8px;display:flex}.more-info-label{color:var(--text);margin:0;font-size:14px;font-weight:500;line-height:1.4}.problem-subject-select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:48px;color:var(--text);background-color:var(--bg-secondary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23767676' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;outline:none;padding:13px 40px 13px 14px;font-family:inherit;font-size:15px;line-height:1.55;transition:border-color .15s,background-color .15s}.problem-subject-select:focus{border-color:var(--text);background-color:var(--surface)}.more-info-panel .pay-options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:0;display:grid}.more-info-panel .pay-option.selected{box-shadow:none}.modal-overlay{z-index:200;background:#0006;justify-content:center;align-items:center;padding:20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--radius);-webkit-overflow-scrolling:touch;width:100%;max-width:400px;max-height:min(90vh,90dvh);box-shadow:var(--shadow-lg);padding:32px 28px 28px;animation:.2s slideUp;position:relative;overflow-y:auto}.modal.create-problem-modal{flex-direction:column;max-width:520px;max-height:min(88vh,88dvh);padding-bottom:0;display:flex;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-close{z-index:1;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:10px;font-size:16px;line-height:1;display:inline-flex;position:absolute;top:10px;right:10px}.modal-close:hover{background:var(--bg-secondary);color:var(--text)}.modal-title{letter-spacing:-.3px;margin-bottom:6px;font-size:20px;font-weight:700}.modal-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px;line-height:1.5}.modal-actions{flex-direction:column;gap:10px;display:flex}.btn-google{background:var(--surface);color:var(--text);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);justify-content:center;gap:10px;padding:10px 16px;font-size:14px;font-weight:600}.btn-google:hover{background:var(--bg-secondary)}.btn-full{justify-content:center;width:100%}.auth-divider{color:var(--text-light);align-items:center;gap:10px;margin:16px 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.email-form{flex-direction:column;gap:10px;display:flex}.auth-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);width:100%;color:var(--text);outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.auth-input:focus{border-color:var(--text);background:var(--surface)}.auth-error{color:var(--danger);background:#fef2f2;border-radius:6px;padding:8px 10px;font-size:13px}.auth-switch{text-align:center;color:var(--text-muted);margin-top:16px;font-size:13px}.verify-screen{background:var(--bg-secondary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.verify-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:440px;padding:48px 40px;display:flex}.verify-icon{font-size:48px;line-height:1}.verify-title{color:var(--text);font-size:22px;font-weight:700}.verify-body{color:var(--text-muted);font-size:14px;line-height:1.6}.verify-body strong{color:var(--text);font-weight:600}.verify-feedback{border-radius:var(--radius-sm);text-align:left;width:100%;padding:10px 14px;font-size:13px}.verify-feedback--ok{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.verify-feedback--warn{color:#92400e;background:#fffbeb;border:1px solid #fcd34d}.verify-feedback--error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.verify-actions{flex-direction:column;gap:10px;width:100%;margin-top:8px;display:flex}.dev-dashboard{text-align:center;padding:128px 20px 80px}.dev-dashboard-coming-soon{flex-direction:column;align-items:center;gap:18px;max-width:460px;margin:0 auto;display:flex}.dev-dashboard-badge{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);letter-spacing:.4px;text-transform:uppercase;border-radius:999px;align-items:center;padding:6px 16px;font-size:12px;font-weight:700;display:inline-flex}.dev-dashboard-icon{background:var(--primary);width:76px;height:76px;animation:icon-float 3s ease-in-out infinite, hero-fade-up .6s var(--ease-out) both;border-radius:22px;justify-content:center;align-items:center;margin-bottom:4px;font-size:32px;display:flex;box-shadow:0 10px 28px -6px #0f172a4d}@keyframes icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.dev-dashboard-badge{animation:hero-fade-up .5s var(--ease-out) both}.dev-dashboard-title{animation:hero-fade-up .55s var(--ease-out) 80ms both}.dev-dashboard-body{animation:hero-fade-up .55s var(--ease-out) .16s both}.dev-dashboard-coming-soon .feed-hero-btn{animation:hero-fade-up .55s var(--ease-out) .24s both}.dev-dashboard-title{color:var(--text);letter-spacing:-.9px;font-size:36px;font-weight:800;line-height:1.15}.dev-dashboard-body{color:var(--text-muted);max-width:400px;font-size:16px;line-height:1.65}.dev-dashboard-coming-soon .feed-hero-btn{margin-top:8px}.about-page{max-width:640px;margin:0 auto;padding:128px 20px 80px}.about-hero{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-bottom:44px;display:flex}.about-title{color:var(--text);letter-spacing:-.9px;animation:hero-fade-up .6s var(--ease-out) 60ms both;font-size:36px;font-weight:800;line-height:1.15}.about-signature{color:var(--text-muted);animation:hero-fade-up .6s var(--ease-out) .14s both;font-size:15px;font-weight:600}.about-hero .dev-dashboard-badge{animation:hero-fade-up .5s var(--ease-out) both}.about-content{flex-direction:column;gap:20px;display:flex}.about-content p{color:var(--text);animation:hero-fade-up .5s var(--ease-out) both;font-size:16.5px;line-height:1.75}.about-content p:first-of-type{animation-delay:.18s}.about-content p:nth-of-type(2){animation-delay:.24s}.about-content p:nth-of-type(3){animation-delay:.3s}.about-content p:nth-of-type(4){animation-delay:.36s}.about-content p:nth-of-type(n+5){animation-delay:.4s}.about-content p:first-of-type{color:var(--text);font-size:18px;font-weight:600}.about-connect{border-top:1px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:10px;margin-top:48px;padding-top:32px;display:flex}.about-connect-label{letter-spacing:.4px;text-transform:uppercase;color:var(--text-light);font-size:13px;font-weight:700}.about-connect-link{color:var(--text);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:16px;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.about-connect-link:hover{border-color:var(--primary);color:var(--primary)}.terms-page{max-width:700px;margin:0 auto;padding:128px 20px 80px}.terms-hero{text-align:center;margin-bottom:40px}.terms-title{color:var(--text);letter-spacing:-.8px;margin-bottom:10px;font-size:34px;font-weight:800;line-height:1.15}.terms-updated{color:var(--text-muted);font-size:14px}.terms-content{flex-direction:column;gap:18px;display:flex}.terms-content>p{color:var(--text);font-size:16px;line-height:1.7}.terms-section{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding-top:22px;display:flex}.terms-section h2{color:var(--text);letter-spacing:-.3px;font-size:19px;font-weight:700}.terms-section p{color:var(--text);font-size:15.5px;line-height:1.7}.terms-section ul{flex-direction:column;gap:8px;padding-left:22px;display:flex}.terms-section li{color:var(--text);font-size:15.5px;line-height:1.6}.terms-section a{color:var(--accent);text-decoration:none}.terms-section a:hover{text-decoration:underline}@media (width<=768px){.feed-container{padding:24px 16px 0}.feed-hero-inner{padding:88px 16px 36px}.feed-hero-title{letter-spacing:-.8px;font-size:34px}.feed-hero-sub{font-size:16px}.dev-dashboard{padding:88px 20px 60px}.dev-dashboard-title{font-size:28px}.modal{padding:28px 22px 24px}.verify-card{padding:36px 28px}}.problem-detail-page{background:var(--surface);min-height:calc(100vh - 60px);padding:28px 16px 80px}.problem-detail-container{max-width:720px;margin:0 auto}.problem-detail-back{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:18px;font-size:14px;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.problem-detail-back:hover{color:var(--text)}.problem-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.problem-detail .problem-tags{margin-bottom:14px}.problem-detail-title{letter-spacing:-.4px;color:var(--text);margin:0 0 14px;font-size:28px;font-weight:800;line-height:1.2}.problem-detail-explanation{color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 18px;font-size:16px;line-height:1.6}.problem-detail-meta{color:var(--text-light);align-items:center;gap:8px;font-size:13px;display:flex}.problem-detail-meta-item{align-items:center;gap:5px;display:inline-flex}.problem-detail-actions{border-top:1px solid var(--border-light);flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;padding-top:16px;display:flex}.detail-vote-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.detail-vote-btn:hover{border-color:var(--text-muted);color:var(--text)}.detail-vote-btn.voted{border-color:var(--primary);background:var(--primary);color:#fff}.detail-vote-btn.pop{animation:.4s cubic-bezier(.34,1.4,.64,1) detail-vote-pop}@keyframes detail-vote-pop{0%{transform:scale(1)}40%{transform:scale(1.08)}70%{transform:scale(.97)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.detail-vote-btn.pop{animation:none}}.detail-pay-wrap{position:relative}.detail-pay-wrap .pay-btn-inline{border:1px solid var(--border);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.detail-pay-wrap .pay-btn-inline.active{border-color:var(--primary);background:var(--primary);color:#fff}.problem-detail-discussion{margin-top:26px}.problem-detail-section-title{color:var(--text);align-items:center;gap:8px;margin:0 0 14px;font-size:18px;font-weight:700;display:flex}.problem-detail-section-count{color:var(--text-light);background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;padding:1px 9px;font-size:13px;font-weight:600}.problem-content-link{color:inherit;text-decoration:none;display:block}.problem-content-link:hover .problem-title{text-decoration:underline}.comment-btn{text-decoration:none}.comment-type-badge{color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.share-experience{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.share-experience-title{color:var(--text);margin:0 0 12px;font-size:15px;font-weight:700}.site-footer{color:#a0a0a8;background:#000}.footer-inner{grid-template-columns:1.4fr 1fr 1fr;gap:40px;max-width:1100px;margin:0 auto;padding:56px 24px 40px;display:grid}.footer-col{flex-direction:column;gap:14px;min-width:0;display:flex}.footer-brand{align-items:center;gap:10px;display:flex}.footer-brand-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.footer-brand-icon img{object-fit:cover;width:100%;height:100%}.footer-brand-name{color:#fff;letter-spacing:-.3px;font-size:17px;font-weight:700}.footer-tagline{color:#8a8a92;max-width:320px;font-size:13.5px;line-height:1.6}.footer-share-btn{align-self:flex-start;margin-top:4px}.footer-heading{color:#fff;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}.footer-links{flex-direction:column;gap:12px;display:flex}.footer-link{color:#a0a0a8;transition:color .15s, transform .2s var(--ease-out);width:fit-content;font-size:14px;text-decoration:none;display:inline-block;position:relative}.footer-link:hover{color:#fff;transform:translate(4px)}.footer-brand-icon{transition:transform .3s var(--ease-spring)}.footer-brand:hover .footer-brand-icon{transform:rotate(-8deg)scale(1.08)}.footer-contact-link{align-items:center;gap:8px;display:inline-flex}.footer-contact-note{color:#6d6d76;max-width:240px;font-size:13px;line-height:1.6}.footer-bottom{text-align:center;color:#6d6d76;border-top:1px solid #232323;padding:18px 24px;font-size:12.5px}@media (width<=600px){.navbar-inner{gap:8px;height:60px;padding:0 14px}.navbar-actions{display:none}.navbar-menu-btn{display:flex}.feed-page{min-height:calc(100vh - 60px);padding-bottom:60px}.feed-hero-inner{padding:56px 16px 28px}.feed-hero-title{letter-spacing:-.8px;margin-bottom:12px;font-size:36px}.feed-hero-br{display:block}.feed-hero-sub{font-size:14px}.feed-hero-actions{gap:10px;margin-top:22px}.feed-hero-btn{padding:11px 22px;font-size:14px}.feed-container{padding:18px 12px 0}.feed-search-wrap{margin-top:20px}.feed-tabs-row{border-bottom:none;flex-wrap:wrap;gap:0;margin-bottom:8px}.feed-tabs{border-bottom:1px solid var(--border);width:100%;margin-bottom:0}.feed-tab{flex:1;justify-content:center;padding:8px 12px;font-size:13px}.feed-count{border-bottom:none;width:100%;padding:8px 2px 4px;font-size:12px}.feed-pills{padding-bottom:10px}.feed-pill{padding:4px 10px;font-size:12px}.problems-list{gap:10px}.problem-card{padding:14px}.problem-card-grid{grid-template-columns:48px 1fr;gap:10px}.vote-btn{width:30px;height:30px}.problem-title{font-size:15px}.problem-description{margin-bottom:8px;font-size:13px}.problem-meta-row{flex-wrap:wrap;gap:4px}.pay-btn-inline{margin-left:0}.pay-modal{width:220px;padding:14px}.pay-options{gap:6px}.pay-option{padding:10px 14px;font-size:14px}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:16px 16px 0 0;max-width:100%;max-height:min(92vh,92dvh);padding:22px 16px 20px}.create-problem-modal{width:100%;max-height:min(92vh,92dvh);padding:20px 16px 0;overflow:hidden}.create-problem-modal-header .modal-subtitle{margin-bottom:16px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-title{font-size:18px}.modal-subtitle{margin-bottom:20px;font-size:13px}.modal-close{min-width:44px;min-height:44px;top:8px;right:6px}.auth-input{padding:12px;font-size:16px}.btn-google{padding:12px 16px}.problem-detail-page{padding:18px 12px 60px}.problem-detail{padding:18px 16px}.problem-detail-title{font-size:22px}.problem-detail-explanation{font-size:15px}.problem-input,.problem-subject-select,.tag-input-field{font-size:16px}.problem-input{padding:14px}.problem-subject-select{min-height:48px;padding:14px 40px 14px 14px}.create-problem-scroll{gap:16px}.create-problem-form .checkbox-toggle{gap:12px;width:100%;min-height:44px;padding:6px 0;font-size:15px}.create-problem-form .checkbox-toggle input{width:20px;height:20px}.more-info-toggle{justify-content:flex-start;width:auto;min-height:44px;padding:12px 14px;font-size:14px}.more-info-panel{gap:24px}.more-info-label{font-size:15px}.more-info-panel .pay-options{grid-template-columns:1fr;gap:8px}.tag-input-chips{gap:8px;min-height:52px;padding:12px}.tag-chip{gap:6px;padding:6px 10px;font-size:15px}.tag-chip-remove{justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:4px;font-size:18px}.form-footer{padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:stretch;gap:12px}.form-footer .btn{justify-content:center;width:100%;min-height:48px;padding:14px 16px;font-size:16px}.form-footer .char-count{text-align:center;order:1;font-size:13px}.form-footer .btn{order:0}.problem-edit-actions{padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px));flex-direction:column-reverse;align-items:stretch;gap:8px}.problem-edit-actions .btn{justify-content:center;width:100%;min-height:48px;padding:14px 16px;font-size:16px}.comment{padding:10px}.comment-form-footer{flex-direction:column;align-items:flex-start;gap:10px}.comment-form-footer .btn,.comment-edit-actions{align-self:flex-end}.verify-card{padding:32px 20px}.verify-title{font-size:19px}.dev-dashboard{padding:56px 16px 40px}.dev-dashboard-title{font-size:24px}.dev-dashboard-body{font-size:14.5px}.dev-dashboard-icon{border-radius:18px;width:64px;height:64px;font-size:28px}.about-page{padding:56px 16px 40px}.about-title{font-size:26px}.about-content p{font-size:15px}.about-content p:first-of-type{font-size:16.5px}.terms-page{padding:56px 16px 40px}.terms-title{font-size:26px}.terms-content>p{font-size:14.5px}.terms-section h2{font-size:17px}.terms-section p,.terms-section li{font-size:14.5px}.footer-inner{grid-template-columns:1fr;gap:32px;padding:40px 20px 32px}.footer-tagline,.footer-contact-note{max-width:none}}@media (width<=400px){.navbar-inner{padding:0 10px}.navbar-brand-name{font-size:15px}.navbar-brand-icon{width:30px;height:30px}.feed-hero-title{font-size:32px}.problem-card{padding:12px 10px}.problem-card-grid{grid-template-columns:44px 1fr;gap:8px}.vote-btn{width:28px;height:28px}.vote-count{font-size:12px}.problem-title{font-size:14px}.subject-badge{padding:2px 7px;font-size:11px}.comment-input{font-size:14px}}@media (hover:none) and (pointer:coarse){.comment-owner-actions{opacity:1}}
