.feedback-app{--fb-brand:#F27326;--fb-brand-hover:#FF9000;--fb-brand-subtle:rgba(242,115,38,0.1);--fb-bg:#121212;--fb-bg-card:#1E1E1E;--fb-bg-card-hover:#2A2A2A;--fb-bg-input:#1A1A1A;--fb-text:#F5F5F7;--fb-text-muted:#A1A1A6;--fb-text-tertiary:#6B6B70;--fb-border:#2A2A2A;--fb-border-strong:#3A3A3A;--fb-green:#4ADE80;--fb-yellow:#FBBF24;--fb-blue:#3B82F6;--fb-red:#EF4444;--fb-radius:12px;--fb-radius-card:28px;min-height:100vh;min-height:100dvh;background:var(--fb-bg);color:var(--fb-text)}.feedback-app .feedback-main{max-width:720px;width:100%;margin:0 auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));flex:1}.feedback-app .feedback-header{border-bottom:1px solid var(--fb-border);background:rgba(30,30,30,.88);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100}.feedback-app .feedback-header-inner{max-width:720px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.feedback-app .feedback-header-logo{display:flex;align-items:center;gap:8px;color:var(--fb-text);font-weight:600;font-size:1.05rem;text-decoration:none}.feedback-app .feedback-header-icon{width:28px;height:28px;border-radius:6px}.feedback-app .feedback-header-actions{display:flex;align-items:center;gap:8px}.feedback-app .feedback-admin-badge{background:var(--fb-brand-subtle);color:var(--fb-brand);padding:2px 10px;border-radius:20px;font-size:.8rem;font-weight:600}.feedback-app .feedback-btn-ghost{background:none;border:1px solid var(--fb-border-strong);color:var(--fb-text-muted);padding:8px 16px;border-radius:var(--fb-radius);font-size:.85rem;transition:all .15s;min-height:36px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}.feedback-app .feedback-btn-ghost:hover{color:var(--fb-text);border-color:var(--fb-text-muted)}.feedback-app .feed{display:flex;flex-direction:column;gap:16px}.feedback-app .feed-header{margin-bottom:4px}.feedback-app .feed-title{font-size:1.5rem;font-weight:700;margin-bottom:4px}.feedback-app .feed-subtitle{color:var(--fb-text-muted);font-size:.95rem}.feedback-app .sort-tabs{display:flex;gap:2px;background:var(--fb-bg-card);padding:3px;border-radius:8px;border:1px solid var(--fb-border)}.feedback-app .sort-tab{padding:6px 16px;background:none;border:none;border-radius:6px;color:var(--fb-text-muted);font-size:.85rem;font-weight:500;transition:all .15s;cursor:pointer}.feedback-app .sort-tab:hover{color:var(--fb-text)}.feedback-app .sort-tab.active{background:var(--fb-brand);color:var(--fb-bg)}.feedback-app .feed-list{display:flex;flex-direction:column;gap:8px}.feedback-app .feed-empty,.feedback-app .feed-error,.feedback-app .feed-loading{text-align:center;padding:48px 16px;color:var(--fb-text-muted)}.feedback-app .feed-error-detail{font-size:.8rem;color:var(--fb-text-tertiary);margin-top:4px}.feedback-app .create-post-trigger{width:100%;padding:16px;background:var(--fb-bg-card);border:1px dashed var(--fb-brand);border-radius:var(--fb-radius-card);color:var(--fb-brand);font-size:.95rem;transition:all .15s;min-height:48px;cursor:pointer}.feedback-app .create-post-trigger:hover{background:var(--fb-brand-subtle)}.feedback-app .create-post-form{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--fb-bg-card);border:1px solid var(--fb-border-strong);border-radius:var(--fb-radius-card)}.feedback-app .form-input{width:100%;padding:12px 14px;background:var(--fb-bg-input);border:1px solid var(--fb-border-strong);border-radius:var(--fb-radius);color:var(--fb-text);font-size:16px;outline:none;transition:border-color .15s}.feedback-app .form-input:focus{border-color:var(--fb-brand)}.feedback-app .form-textarea{width:100%;padding:12px 14px;background:var(--fb-bg-input);border:1px solid var(--fb-border-strong);border-radius:var(--fb-radius);color:var(--fb-text);font-size:16px;outline:none;resize:vertical;min-height:100px;transition:border-color .15s}.feedback-app .form-textarea:focus{border-color:var(--fb-brand)}.feedback-app .form-actions{display:flex;justify-content:flex-end;gap:8px}.feedback-app .btn-primary{padding:10px 20px;background:var(--fb-brand);color:var(--fb-bg);border:none;border-radius:9999px;font-size:.9rem;font-weight:500;transition:background .15s;min-height:44px;cursor:pointer}.feedback-app .btn-primary:hover{background:var(--fb-brand-hover)}.feedback-app .btn-primary:disabled{opacity:.6;cursor:not-allowed}.feedback-app .image-attach-btn{display:flex;align-items:center;gap:8px;padding:10px 14px;background:none;border:1px dashed var(--fb-border-strong);border-radius:var(--fb-radius);color:var(--fb-text-muted);font-size:.85rem;transition:all .15s;cursor:pointer}.feedback-app .image-attach-btn:hover{border-color:var(--fb-brand);color:var(--fb-brand)}.feedback-app .image-preview{position:relative;border-radius:var(--fb-radius);overflow:hidden}.feedback-app .image-preview-img{width:100%;max-height:200px;object-fit:cover;border-radius:var(--fb-radius);display:block}.feedback-app .image-preview-remove{position:absolute;top:8px;right:8px;width:28px;height:28px;background:rgba(0,0,0,.7);border:none;border-radius:50%;color:white;font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.feedback-app .post-card{display:flex;gap:12px;padding:16px;background:var(--fb-bg-card);border:1px solid var(--fb-border);border-radius:var(--fb-radius-card);transition:background .15s}.feedback-app .post-card:hover{background:var(--fb-bg-card-hover)}.feedback-app .post-card-content{flex:1;min-width:0}.feedback-app .post-card-title{font-weight:600;font-size:.95rem;color:var(--fb-text);display:block;margin-bottom:4px;text-decoration:none}.feedback-app .post-card-title:hover{color:var(--fb-brand)}.feedback-app .post-card-body{color:var(--fb-text-muted);font-size:.85rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px}.feedback-app .post-card-body.expanded{display:block;-webkit-line-clamp:unset;white-space:pre-wrap}.feedback-app .post-card-expand{background:none;border:none;color:var(--fb-brand);font-size:.8rem;font-weight:500;padding:0;margin-bottom:8px;cursor:pointer}.feedback-app .post-card-meta{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--fb-text-muted);flex-wrap:wrap}.feedback-app .post-card-image{width:100%;max-height:140px;object-fit:cover;border-radius:var(--fb-radius);margin-bottom:8px}.feedback-app .upvote-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;background:var(--fb-bg-input);border:1px solid var(--fb-border-strong);border-radius:var(--fb-radius);color:var(--fb-text-muted);min-width:52px;min-height:52px;transition:all .15s;flex-shrink:0;align-self:flex-start;cursor:pointer}.feedback-app .upvote-btn.upvoted,.feedback-app .upvote-btn:hover{border-color:var(--fb-brand);color:var(--fb-brand);background:var(--fb-brand-subtle)}.feedback-app .upvote-count{font-weight:600;font-size:.85rem}.feedback-app .status-badge{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.3px}.feedback-app .status-open{background:rgba(107,107,112,.15);color:var(--fb-text-muted)}.feedback-app .status-planned{background:rgba(251,191,36,.15);color:var(--fb-yellow)}.feedback-app .status-in-progress{background:rgba(59,130,246,.15);color:var(--fb-blue)}.feedback-app .status-done{background:rgba(74,222,128,.15);color:var(--fb-green)}.feedback-app .back-link{color:var(--fb-text-muted);font-size:.9rem;text-decoration:none}.feedback-app .back-link:hover{color:var(--fb-text)}.feedback-app .detail-card{background:var(--fb-bg-card);border:1px solid var(--fb-border);border-radius:var(--fb-radius-card);padding:16px}.feedback-app .detail-top{display:flex;gap:16px;margin-bottom:16px}.feedback-app .detail-info{flex:1}.feedback-app .detail-title{font-size:1.3rem;font-weight:700;margin-bottom:6px}.feedback-app .detail-meta{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--fb-text-muted);flex-wrap:wrap}.feedback-app .detail-body{color:var(--fb-text);font-size:.95rem;line-height:1.7;white-space:pre-wrap}.feedback-app .detail-image{width:100%;border-radius:var(--fb-radius);margin-top:16px;cursor:pointer;transition:opacity .15s}.feedback-app .detail-image:hover{opacity:.8}.feedback-app .lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;padding:20px;cursor:pointer}.feedback-app .lightbox-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.feedback-app .admin-controls{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--fb-border)}.feedback-app .status-select{padding:6px 12px;background:var(--fb-bg-input);border:1px solid var(--fb-border-strong);border-radius:var(--fb-radius);color:var(--fb-text);font-size:.85rem;outline:none;cursor:pointer}.feedback-app .btn-danger{padding:6px 14px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:var(--fb-radius);color:var(--fb-red);font-size:.85rem;transition:all .15s;cursor:pointer}.feedback-app .btn-danger:hover{background:rgba(239,68,68,.2)}.feedback-app .comments-section{display:flex;flex-direction:column;gap:12px}.feedback-app .comments-title{font-size:1.1rem;font-weight:600}.feedback-app .comment{background:var(--fb-bg-card);border:1px solid var(--fb-border);border-radius:var(--fb-radius-card);padding:16px}.feedback-app .comment-admin{border-color:rgba(242,115,38,.3);background:rgba(242,115,38,.05)}.feedback-app .comment-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.85rem}.feedback-app .comment-author{font-weight:600;display:flex;align-items:center;gap:6px}.feedback-app .dev-badge{background:var(--fb-brand-subtle);color:var(--fb-brand);padding:1px 7px;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase}.feedback-app .comment-time{color:var(--fb-text-muted);margin-left:auto}.feedback-app .comment-delete{background:none;border:none;color:var(--fb-text-muted);font-size:1.1rem;padding:0 4px;line-height:1;cursor:pointer}.feedback-app .comment-delete:hover{color:var(--fb-red)}.feedback-app .comment-body{color:var(--fb-text);font-size:.9rem;line-height:1.6;white-space:pre-wrap}.feedback-app .comment-form{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--fb-bg-card);border:1px solid var(--fb-border);border-radius:var(--fb-radius-card)}.feedback-app .detail-loading{text-align:center;padding:48px;color:var(--fb-text-muted)}.feedback-app .admin-login{max-width:380px;margin:40px auto}.feedback-app .login-title{font-size:1.4rem;font-weight:700;margin-bottom:4px}.feedback-app .login-subtitle{color:var(--fb-text-muted);font-size:.9rem;margin-bottom:20px}.feedback-app .login-form{display:flex;flex-direction:column;gap:10px}