svg[data-v-ebbc0d1b]{width:18px;height:18px;display:block}.user-avatar[data-v-23fbf31e]{border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--primary-soft);border:2px solid var(--primary-light);display:flex;align-items:center;justify-content:center}.user-avatar img[data-v-23fbf31e]{width:100%;height:100%;object-fit:cover;display:block}.user-avatar__fallback[data-v-23fbf31e]{font-weight:700;color:var(--primary-hover)}.user-avatar--sm[data-v-23fbf31e]{width:32px;height:32px;font-size:13px}.user-avatar--md[data-v-23fbf31e]{width:38px;height:38px;font-size:15px}.user-avatar--lg[data-v-23fbf31e]{width:48px;height:48px;font-size:18px}.sidebar-left[data-v-c2626f5e]{width:var(--sidebar-left);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 14px;height:100vh;position:sticky;top:0}.brand[data-v-c2626f5e]{display:flex;align-items:center;gap:10px;padding:6px 8px 22px}.brand-mark[data-v-c2626f5e]{width:38px;height:38px;background:linear-gradient(135deg,#00c97a,#00b96b);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;box-shadow:0 4px 14px #00b96b59}.brand-text[data-v-c2626f5e]{display:flex;flex-direction:column;line-height:1.2}.brand-name[data-v-c2626f5e]{font-weight:800;font-size:16px;letter-spacing:-.02em}.brand-sub[data-v-c2626f5e]{font-size:11px;color:var(--text-muted);font-weight:500}.nav-menu[data-v-c2626f5e]{display:flex;flex-direction:column;gap:4px;flex:1}.nav-divider[data-v-c2626f5e]{height:1px;background:var(--border);margin:12px 10px}.nav-item[data-v-c2626f5e]{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;font-size:14px;color:var(--text-secondary);transition:all .15s;font-weight:500}.nav-item[data-v-c2626f5e]:hover{background:var(--bg);color:var(--text)}.nav-item.router-link-active[data-v-c2626f5e],.nav-item.active[data-v-c2626f5e]{background:var(--primary-soft);color:var(--primary-hover);font-weight:600}.nav-icon[data-v-c2626f5e]{color:currentColor;flex-shrink:0}.nav-badge[data-v-c2626f5e]{margin-left:auto;background:#ff4d4f;color:#fff;font-size:10px;padding:2px 6px;border-radius:999px;min-width:18px;text-align:center;font-weight:700}.publish-btn[data-v-c2626f5e]{margin:8px 6px 14px;padding:13px 16px;border:none;border-radius:999px;background:linear-gradient(135deg,#00c97a,#00b96b);color:#fff;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 6px 20px #00b96b47;transition:transform .15s,box-shadow .15s}.publish-btn[data-v-c2626f5e]:hover{transform:translateY(-1px);box-shadow:0 8px 24px #00b96b59}.sidebar-footer[data-v-c2626f5e]{padding-top:12px;border-top:1px solid var(--border)}.user-card[data-v-c2626f5e]{display:flex;align-items:center;gap:10px;padding:8px 6px}.user-info[data-v-c2626f5e]{display:flex;flex-direction:column;line-height:1.35;min-width:0}.user-handle[data-v-c2626f5e]{font-size:11px;color:var(--text-muted)}.user-name[data-v-c2626f5e]{font-size:13px;font-weight:700}.user-points[data-v-c2626f5e]{font-size:11px;color:var(--primary);font-weight:600;margin-top:2px}.logout-btn[data-v-c2626f5e]{margin-left:auto;border:none;background:none;font-size:11px;color:var(--text-muted);cursor:pointer;padding:4px 6px;flex-shrink:0}.logout-btn[data-v-c2626f5e]:hover{color:#ef4444}.login-btn[data-v-c2626f5e]{width:100%;padding:10px;border:1px dashed var(--border-strong);border-radius:12px;background:var(--bg);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer}.login-btn[data-v-c2626f5e]:hover{border-color:var(--primary);color:var(--primary)}.sidebar-right[data-v-63d5f2e4]{width:var(--sidebar-right);flex-shrink:0;padding:20px 16px 40px;height:100vh;overflow-y:auto;position:sticky;top:0}.user-widget[data-v-63d5f2e4]{margin-bottom:16px}.user-widget__head[data-v-63d5f2e4]{display:flex;align-items:center;gap:10px}.user-widget__head strong[data-v-63d5f2e4]{display:block;font-size:14px}.user-widget__handle[data-v-63d5f2e4]{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}.user-widget__points[data-v-63d5f2e4]{margin-top:12px;font-size:13px;font-weight:700;color:var(--primary-hover)}.search-box[data-v-63d5f2e4]{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 14px;margin-bottom:16px}.search-icon[data-v-63d5f2e4]{color:var(--text-muted);font-size:16px}.search-box input[data-v-63d5f2e4]{flex:1;border:none;outline:none;background:transparent;font-size:13px}.search-hint[data-v-63d5f2e4]{font-size:11px;color:var(--text-muted);background:var(--bg);padding:2px 6px;border-radius:4px}.widget[data-v-63d5f2e4]{padding:16px;margin-bottom:16px}.widget-title[data-v-63d5f2e4]{font-size:14px;font-weight:700;margin-bottom:12px}.tab-row[data-v-63d5f2e4]{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap}.tab-btn[data-v-63d5f2e4]{padding:4px 10px;border:none;background:var(--bg);border-radius:999px;font-size:12px;color:var(--text-muted);cursor:pointer}.tab-btn.active[data-v-63d5f2e4]{background:var(--primary-light);color:var(--primary-dark);font-weight:600}.rank-list[data-v-63d5f2e4]{list-style:none}.rank-item[data-v-63d5f2e4]{display:flex;gap:10px;padding:10px 0;min-height:52px;align-items:center;border-bottom:1px solid var(--border)}.rank-item[data-v-63d5f2e4]:last-child{border-bottom:none}.rank-num[data-v-63d5f2e4]{width:28px;height:28px;background:var(--bg);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.rank-avatar[data-v-63d5f2e4]{width:28px;height:28px;border-radius:50%;flex-shrink:0}.rank-content[data-v-63d5f2e4]{display:flex;flex-direction:column;min-width:0}.rank-title[data-v-63d5f2e4]{font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-desc[data-v-63d5f2e4]{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;color:var(--text-muted);margin-top:2px;line-height:1.4}.more-link[data-v-63d5f2e4]{display:block;text-align:center;font-size:13px;color:var(--primary);margin-top:12px;font-weight:500}.announce-list[data-v-63d5f2e4]{list-style:none}.announce-item[data-v-63d5f2e4]{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.announce-item[data-v-63d5f2e4]:last-child{border-bottom:none}.announce-icon[data-v-63d5f2e4]{width:36px;height:36px;border-radius:8px;flex-shrink:0}.announce-title[data-v-63d5f2e4]{font-size:13px;font-weight:600;display:block}.announce-desc[data-v-63d5f2e4]{font-size:11px;color:var(--text-muted);display:block;margin-top:2px}.announce-time[data-v-63d5f2e4]{font-size:11px;color:var(--text-muted);display:block;margin-top:4px}.activity-list[data-v-63d5f2e4]{display:flex;flex-direction:column;gap:10px}.activity-card[data-v-63d5f2e4]{display:flex;gap:10px;align-items:center}.activity-cover[data-v-63d5f2e4]{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.activity-info[data-v-63d5f2e4]{display:flex;flex-direction:column}.activity-title[data-v-63d5f2e4]{font-size:13px;font-weight:600}.activity-date[data-v-63d5f2e4]{font-size:11px;color:var(--text-muted)}.widget-empty[data-v-63d5f2e4]{font-size:12px;color:var(--text-muted);text-align:center;padding:8px 0}.sidebar-right[data-v-05f6385b]{width:var(--sidebar-right);flex-shrink:0;padding:20px 16px 40px;height:100vh;overflow-y:auto;position:sticky;top:0}.search-box[data-v-05f6385b]{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:10px 14px;margin-bottom:16px}.search-icon[data-v-05f6385b]{color:var(--text-muted);font-size:16px}.search-box input[data-v-05f6385b]{flex:1;border:none;outline:none;background:transparent;font-size:13px;min-width:0}.ai-tag[data-v-05f6385b]{font-size:11px;font-weight:700;color:var(--primary);background:var(--primary-light);padding:2px 6px;border-radius:4px;flex-shrink:0}.widget[data-v-05f6385b]{padding:14px 16px;margin-bottom:12px}.widget-title[data-v-05f6385b]{font-size:14px;font-weight:700;margin-bottom:12px}.cat-grid[data-v-05f6385b]{display:flex;flex-wrap:wrap;gap:8px}.cat-chip[data-v-05f6385b]{padding:6px 12px;border:1px solid var(--border-strong);border-radius:999px;background:#fff;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.cat-chip.small[data-v-05f6385b]{padding:4px 10px;font-size:11px}.cat-chip[data-v-05f6385b]:hover{border-color:var(--primary);color:var(--primary)}.cat-chip.active[data-v-05f6385b]{background:var(--primary-light);border-color:var(--primary);color:var(--primary-hover);font-weight:600}.collapse-head[data-v-05f6385b]{width:100%;display:flex;justify-content:space-between;align-items:center;border:none;background:none;font-size:14px;font-weight:700;cursor:pointer;padding:0}.chevron[data-v-05f6385b]{color:var(--text-muted);font-size:12px}.collapse-body[data-v-05f6385b]{margin-top:12px}.filter-line[data-v-05f6385b]{display:block;width:100%;text-align:left;border:none;background:none;padding:8px 0;font-size:13px;color:var(--text-secondary);cursor:pointer}.filter-line.active[data-v-05f6385b]{color:var(--primary);font-weight:600}.tag-grid[data-v-05f6385b]{display:flex;flex-wrap:wrap;gap:6px}.site-footer[data-v-05f6385b]{margin-top:20px;font-size:11px;color:var(--text-muted);line-height:1.8}.site-footer a[data-v-05f6385b]{color:var(--text-muted);margin-right:12px}.site-footer a[data-v-05f6385b]:hover{color:var(--primary)}.sidebar-right[data-v-831b13e8]{width:var(--sidebar-right);flex-shrink:0;padding:20px 16px 40px;height:100vh;overflow-y:auto;position:sticky;top:0}.search-box[data-v-831b13e8]{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:10px 14px;margin-bottom:16px}.search-icon[data-v-831b13e8]{color:var(--text-muted)}.search-box input[data-v-831b13e8]{flex:1;border:none;outline:none;font-size:13px;background:transparent;min-width:0}.ai-tag[data-v-831b13e8]{font-size:11px;font-weight:700;color:var(--primary);background:var(--primary-light);padding:2px 6px;border-radius:4px}.widget[data-v-831b13e8]{padding:14px 16px;margin-bottom:12px}.widget-title[data-v-831b13e8]{font-size:14px;font-weight:700;margin-bottom:12px}.mini-list[data-v-831b13e8]{list-style:none}.mini-item[data-v-831b13e8]{display:flex;gap:10px;padding:10px 0;min-height:52px;align-items:center;border-bottom:1px solid var(--border)}.mini-list li:last-child .mini-item[data-v-831b13e8]{border-bottom:none}.mini-logo[data-v-831b13e8]{width:36px;height:36px;border-radius:10px;flex-shrink:0;border:1px solid var(--border)}.mini-info[data-v-831b13e8]{min-width:0;flex:1}.mini-name[data-v-831b13e8]{display:block;font-size:13px;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-desc[data-v-831b13e8]{display:-webkit-box;font-size:11px;color:var(--text-muted);line-height:1.4;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.modal-mask[data-v-0c2a23d0]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.modal[data-v-0c2a23d0]{width:100%;max-width:400px;padding:24px}.modal-head[data-v-0c2a23d0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal-title[data-v-0c2a23d0]{font-size:18px;font-weight:700}.close-x[data-v-0c2a23d0]{border:none;background:none;font-size:24px;color:var(--text-muted);cursor:pointer;line-height:1}.modal-desc[data-v-0c2a23d0]{font-size:13px;color:var(--text-muted);margin-bottom:16px}.btn-oauth[data-v-0c2a23d0]{width:100%;padding:11px 16px;border:1px solid var(--primary);border-radius:999px;background:var(--primary-soft);color:var(--primary-hover);font-weight:700;font-size:14px;cursor:pointer;margin-bottom:4px}.btn-oauth[data-v-0c2a23d0]:hover:not(:disabled){background:var(--primary-light)}.btn-oauth[data-v-0c2a23d0]:disabled{opacity:.6;cursor:not-allowed}.divider[data-v-0c2a23d0]{display:flex;align-items:center;gap:12px;margin:18px 0 16px;color:var(--text-muted);font-size:12px}.divider[data-v-0c2a23d0]:before,.divider[data-v-0c2a23d0]:after{content:"";flex:1;height:1px;background:var(--border)}.login-tabs[data-v-0c2a23d0]{display:flex;gap:8px;margin-bottom:14px}.login-tabs button[data-v-0c2a23d0]{flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer}.login-tabs button.active[data-v-0c2a23d0]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover)}.login-form[data-v-0c2a23d0]{display:flex;flex-direction:column;gap:14px}.field[data-v-0c2a23d0]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary)}.field input[data-v-0c2a23d0]{padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface)}.field input[data-v-0c2a23d0]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.error[data-v-0c2a23d0]{font-size:13px;color:#ef4444}.submit-btn[data-v-0c2a23d0]{width:100%;margin-top:4px}.switch-panel[data-v-0c2a23d0]{margin-top:16px;font-size:13px;color:var(--text-muted);text-align:center}.link-btn[data-v-0c2a23d0]{border:none;background:none;color:var(--primary-hover);font-weight:600;cursor:pointer;padding:0}.link-btn[data-v-0c2a23d0]:hover{text-decoration:underline}.hint[data-v-0c2a23d0]{margin-top:12px;font-size:12px;color:var(--text-muted);text-align:center}.user-status-bar[data-v-7e1db8c9]{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;margin-bottom:20px}.user-status-bar__profile[data-v-7e1db8c9]{display:flex;align-items:center;gap:14px;min-width:0}.user-status-bar__text[data-v-7e1db8c9]{min-width:0}.user-status-bar__name-row[data-v-7e1db8c9]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-status-bar__name[data-v-7e1db8c9]{font-size:16px;font-weight:700}.user-status-bar__badge[data-v-7e1db8c9]{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary-hover);font-weight:600}.user-status-bar__handle[data-v-7e1db8c9]{display:block;font-size:12px;color:var(--text-muted);margin-top:2px}.user-status-bar__bio[data-v-7e1db8c9]{margin:6px 0 0;font-size:13px;color:var(--text-secondary);line-height:1.5;max-width:420px}.user-status-bar__phone[data-v-7e1db8c9]{margin-top:6px;font-size:12px;color:var(--text-secondary)}.phone-label[data-v-7e1db8c9]{color:var(--text-muted);margin-right:6px}.phone-value[data-v-7e1db8c9]{font-weight:600}.bind-phone-btn[data-v-7e1db8c9]{border:none;background:none;color:var(--primary-hover);font-size:12px;font-weight:600;cursor:pointer;padding:0}.bind-phone-btn[data-v-7e1db8c9]:hover{text-decoration:underline}.user-status-bar__stats[data-v-7e1db8c9]{display:flex;gap:20px;flex-shrink:0}.stat[data-v-7e1db8c9]{display:flex;flex-direction:column;align-items:center;min-width:52px}.stat-link[data-v-7e1db8c9]{border:none;background:none;cursor:pointer;padding:4px 6px;border-radius:8px;transition:background .15s}.stat-link[data-v-7e1db8c9]:hover{background:var(--primary-soft)}.stat-link:hover .stat-value[data-v-7e1db8c9]{color:var(--primary)}.stat-value[data-v-7e1db8c9]{font-size:18px;font-weight:800;color:var(--primary-hover);line-height:1.2}.stat-label[data-v-7e1db8c9]{font-size:11px;color:var(--text-muted);margin-top:2px}.bind-mask[data-v-7e1db8c9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1200;padding:20px}.bind-card[data-v-7e1db8c9]{width:100%;max-width:360px;padding:20px}.bind-card h4[data-v-7e1db8c9]{font-size:16px;font-weight:700;margin-bottom:4px}.bind-desc[data-v-7e1db8c9]{font-size:13px;color:var(--text-muted);margin-bottom:14px}.bind-card input[data-v-7e1db8c9]{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;margin-bottom:8px}.bind-error[data-v-7e1db8c9]{font-size:13px;color:#ef4444;margin-bottom:8px}.bind-actions[data-v-7e1db8c9]{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}@media(max-width:768px){.user-status-bar[data-v-7e1db8c9]{flex-direction:column;align-items:flex-start}.user-status-bar__stats[data-v-7e1db8c9]{width:100%;justify-content:flex-start}}.image-preview-overlay[data-v-1535db15]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#000000d9;padding:48px 64px}.preview-image[data-v-1535db15]{max-width:min(92vw,1200px);max-height:88vh;object-fit:contain;border-radius:8px;-webkit-user-select:none;user-select:none}.preview-close[data-v-1535db15]{position:absolute;top:16px;right:20px;width:40px;height:40px;border:none;border-radius:50%;background:#ffffff26;color:#fff;font-size:28px;line-height:1;cursor:pointer}.preview-close[data-v-1535db15]:hover{background:#ffffff40}.preview-nav[data-v-1535db15]{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:none;border-radius:8px;background:#ffffff1f;color:#fff;font-size:32px;line-height:1;cursor:pointer}.preview-nav[data-v-1535db15]:hover{background:#ffffff38}.preview-prev[data-v-1535db15]{left:16px}.preview-next[data-v-1535db15]{right:16px}.app-layout[data-v-96703ce7]{display:flex;min-height:100vh;background:var(--bg)}.layout-main[data-v-96703ce7]{flex:1;min-width:0;padding:20px 24px 48px;max-height:100vh;overflow-y:auto}.banner-carousel[data-v-8ed83884]{position:relative;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:16px;height:160px}.slides[data-v-8ed83884]{display:flex;height:100%;transition:transform .5s ease}.slide[data-v-8ed83884]{flex:0 0 100%;display:flex;align-items:center;justify-content:space-between;padding:24px 28px;color:#fff;text-decoration:none}.slide-content[data-v-8ed83884]{display:flex;align-items:center;gap:16px}.slide-logo[data-v-8ed83884]{width:48px;height:48px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px}.slide-content h2[data-v-8ed83884]{font-size:18px;font-weight:700;margin-bottom:4px}.slide-content p[data-v-8ed83884]{font-size:13px;opacity:.9}.slide-art[data-v-8ed83884]{font-size:48px}.dots[data-v-8ed83884]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px}.dot[data-v-8ed83884]{width:6px;height:6px;border-radius:50%;border:none;background:#fff6;cursor:pointer;padding:0}.dot.active[data-v-8ed83884]{background:#fff;width:16px;border-radius:3px}.grid-card[data-v-60e0bde6]{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;display:block}.grid-card[data-v-60e0bde6]:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.cover[data-v-60e0bde6]{height:140px;overflow:hidden;background:var(--bg)}.cover-img[data-v-60e0bde6]{width:100%;height:100%;object-fit:cover}.card-body[data-v-60e0bde6]{padding:12px 14px 14px}.card-top[data-v-60e0bde6]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:2px}.card-left[data-v-60e0bde6]{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.mini-logo[data-v-60e0bde6]{width:22px;height:22px;border-radius:6px;flex-shrink:0;border:1px solid var(--border)}.name[data-v-60e0bde6]{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-scores[data-v-60e0bde6]{text-align:right;flex-shrink:0;line-height:1.2}.score[data-v-60e0bde6]{display:block;font-size:15px;font-weight:800;color:var(--score)}.review-count[data-v-60e0bde6]{display:block;font-size:11px;color:var(--text-muted)}.author[data-v-60e0bde6]{font-size:12px;color:var(--text-muted);display:block;margin-bottom:6px}.desc[data-v-60e0bde6]{font-size:12px;color:var(--text-muted);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-footer[data-v-60e0bde6]{margin-top:10px}.category-tag[data-v-60e0bde6]{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);background:var(--bg);padding:4px 10px;border-radius:6px}.cat-icon[data-v-60e0bde6]{font-size:8px;color:var(--primary)}.section-header[data-v-28e9db4e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.title[data-v-28e9db4e]{font-size:18px;font-weight:700}.more[data-v-28e9db4e]{font-size:13px;color:var(--primary);font-weight:500;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:4px}.arrow[data-v-28e9db4e]{font-size:14px}.home[data-v-5edd6eab]{max-width:820px}.ai-search[data-v-5edd6eab]{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:28px}.ai-prefix[data-v-5edd6eab]{display:flex;align-items:center;gap:6px;flex-shrink:0}.ai-badge[data-v-5edd6eab]{background:linear-gradient(135deg,#00c97a,#00b96b);color:#fff;font-size:10px;font-weight:800;padding:3px 6px;border-radius:6px}.ai-label[data-v-5edd6eab]{font-size:13px;color:var(--text-muted)}.ai-search input[data-v-5edd6eab]{flex:1;border:none;outline:none;font-size:14px;min-width:0;background:transparent}.search-tip[data-v-5edd6eab]{font-size:13px;color:var(--text-muted);margin-bottom:16px;display:flex;align-items:center;gap:12px}.link-btn[data-v-5edd6eab]{border:none;background:none;color:var(--primary);cursor:pointer;font-size:13px;font-weight:600}.section[data-v-5edd6eab]{margin-bottom:32px}.products-page[data-v-0ccf0ad7]{max-width:900px}.filter-bar[data-v-0ccf0ad7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.filter-group[data-v-0ccf0ad7]{display:flex;gap:10px;flex-wrap:wrap}.filter-select[data-v-0ccf0ad7]{padding:8px 14px;border:1px solid var(--border-strong);border-radius:999px;background:#fff;font-size:13px;color:var(--text-secondary);cursor:pointer;outline:none}.panorama-btn[data-v-0ccf0ad7]{padding:8px 16px;border:1px solid var(--border-strong);border-radius:999px;background:#fff;font-size:13px;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.panorama-btn[data-v-0ccf0ad7]:hover{border-color:var(--primary);color:var(--primary)}.previewable-image[data-v-f5cf3414]{cursor:zoom-in}.star-rating[data-v-680beaad]{display:inline-flex;gap:2px}.star[data-v-680beaad]{padding:0;border:none;background:none;font-size:22px;line-height:1;color:#d1d5db;cursor:pointer;transition:color .15s,transform .1s}.star.filled[data-v-680beaad]{color:var(--score)}.star[data-v-680beaad]:not(:disabled):hover{transform:scale(1.08)}.star-rating.readonly .star[data-v-680beaad]{cursor:default;font-size:14px}.product-header[data-v-b70771e2]{padding:28px;margin-bottom:32px}.header-top[data-v-b70771e2]{display:flex;gap:20px;align-items:flex-start;margin-bottom:20px}.logo[data-v-b70771e2]{width:72px;height:72px;border-radius:16px;flex-shrink:0}.header-meta[data-v-b70771e2]{flex:1;min-width:0}.header-meta h1[data-v-b70771e2]{font-size:1.5rem;margin-bottom:10px}.meta-row[data-v-b70771e2]{display:flex;align-items:center;gap:12px;min-width:0}.meta-row .tag[data-v-b70771e2]{flex-shrink:0}.summary[data-v-b70771e2]{flex:1;min-width:0;color:var(--text-secondary);font-size:14px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desc[data-v-b70771e2]{color:var(--text-secondary);font-size:14px;line-height:1.8;white-space:pre-wrap;margin-top:14px}.desc-prefix[data-v-b70771e2]{font-weight:600;color:var(--text)}.stats[data-v-b70771e2]{display:flex;align-items:center;gap:16px;padding-top:16px;border-top:1px solid var(--border)}.review-section h2[data-v-b70771e2]{font-size:1.2rem;margin-bottom:16px}.review-form[data-v-b70771e2]{padding:20px;margin-bottom:24px}.upload-row[data-v-b70771e2]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-input[data-v-b70771e2]{display:none}.upload-hint[data-v-b70771e2]{font-size:12px;color:var(--text-muted)}.attachment-list[data-v-b70771e2]{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.attachment-item[data-v-b70771e2]{position:relative;display:flex;align-items:center}.attachment-thumb[data-v-b70771e2]{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.attachment-link[data-v-b70771e2]{font-size:13px;color:var(--primary);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-btn[data-v-b70771e2]{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border:none;border-radius:50%;background:#ef4444;color:#fff;font-size:14px;line-height:1;cursor:pointer}.review-list[data-v-b70771e2]{display:grid;gap:12px}.review-item[data-v-b70771e2]{padding:16px 20px}.review-head[data-v-b70771e2]{display:flex;justify-content:space-between;margin-bottom:8px}.review-attachments[data-v-b70771e2]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.review-attach-img[data-v-b70771e2]{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.review-meta[data-v-b70771e2]{font-size:12px;color:var(--text-muted);margin-top:8px}.page-header[data-v-a90693f3]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;max-width:900px}.help-form[data-v-a90693f3]{padding:20px;margin-bottom:24px}.filters[data-v-a90693f3]{display:flex;gap:8px;margin-bottom:20px}.filter-btn[data-v-a90693f3]{padding:6px 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;font-size:14px}.filter-btn.active[data-v-a90693f3]{background:var(--primary);border-color:var(--primary);color:#fff}.help-list[data-v-a90693f3]{display:grid;gap:12px}.help-card[data-v-a90693f3]{padding:20px;display:block;transition:transform .2s}.help-card[data-v-a90693f3]:hover{transform:translateY(-2px)}.help-top[data-v-a90693f3]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.help-top h3[data-v-a90693f3]{font-size:1rem;font-weight:600}.bounty[data-v-a90693f3]{color:#f59e0b;font-weight:700;font-size:14px}.help-content[data-v-a90693f3]{color:var(--text-muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.help-meta[data-v-a90693f3]{display:flex;gap:12px;align-items:center;margin-top:12px;font-size:13px;color:var(--text-muted)}.tag.RESOLVED[data-v-a90693f3]{background:#dbeafe;color:#2563eb}.tag.CLOSED[data-v-a90693f3]{background:#f3f4f6;color:#6b7280}.back-link[data-v-c602e201]{display:inline-block;color:var(--text-muted);font-size:14px;margin-bottom:16px}.back-link[data-v-c602e201]:hover{color:var(--primary)}.help-detail[data-v-c602e201]{padding:24px;margin-bottom:32px}.help-top[data-v-c602e201]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.help-top h1[data-v-c602e201]{font-size:1.3rem}.bounty[data-v-c602e201]{color:#f59e0b;font-weight:700;white-space:nowrap}.content[data-v-c602e201]{color:var(--text-muted);margin-bottom:16px}.meta[data-v-c602e201]{display:flex;gap:12px;font-size:13px;color:var(--text-muted);align-items:center}.answers-section h2[data-v-c602e201]{font-size:1.1rem;margin-bottom:16px}.answer-form[data-v-c602e201]{padding:20px;margin-bottom:20px}.answer-list[data-v-c602e201]{display:grid;gap:12px}.answer-item[data-v-c602e201]{padding:16px 20px}.answer-item.accepted[data-v-c602e201]{border-color:var(--primary);background:#f0fdf4}.answer-head[data-v-c602e201]{display:flex;justify-content:space-between;margin-bottom:8px}.accepted-badge[data-v-c602e201]{font-size:12px;color:var(--primary);font-weight:600}.accept-btn[data-v-c602e201]{margin-top:12px;font-size:13px}.leaderboard-page[data-v-5877dbaf]{max-width:720px}.rank-tabs[data-v-5877dbaf]{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}.rank-tab[data-v-5877dbaf]{display:flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font-size:13px;cursor:pointer}.rank-tab.active[data-v-5877dbaf]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover);font-weight:600}.rank-header[data-v-5877dbaf]{margin-bottom:24px}.rank-header h1[data-v-5877dbaf]{font-size:22px;font-weight:800;margin-bottom:6px}.rank-header p[data-v-5877dbaf]{font-size:13px;color:var(--text-muted)}.empty[data-v-5877dbaf]{text-align:center;padding:40px;color:var(--text-muted)}.error-msg[data-v-5877dbaf]{color:#ef4444}.rank-list[data-v-5877dbaf]{list-style:none;display:flex;flex-direction:column;gap:8px}.rank-item[data-v-5877dbaf]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.rank-link[data-v-5877dbaf]{display:flex;align-items:center;gap:14px;padding:14px 16px;min-height:72px;text-decoration:none;color:inherit}.rank-num[data-v-5877dbaf]{width:28px;font-weight:800;font-size:16px;text-align:center;flex-shrink:0}.rank-num.gold[data-v-5877dbaf]{color:#f59e0b}.rank-num.silver[data-v-5877dbaf]{color:#94a3b8}.rank-num.bronze[data-v-5877dbaf]{color:#d97706}.rank-avatar[data-v-5877dbaf]{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0}.rank-avatar.placeholder[data-v-5877dbaf]{background:var(--bg)}.rank-info[data-v-5877dbaf]{flex:1;min-width:0}.rank-title[data-v-5877dbaf]{display:block;font-weight:600;font-size:14px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-desc[data-v-5877dbaf]{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;color:var(--text-muted);line-height:1.4}.page-wrap[data-v-db85c9b1]{max-width:900px}.stats-row[data-v-db85c9b1]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.stat-card[data-v-db85c9b1]{padding:16px;text-align:center}.stat-label[data-v-db85c9b1]{display:block;font-size:12px;color:var(--text-muted);margin-bottom:6px}.stat-value[data-v-db85c9b1]{font-size:24px;font-weight:800}.stat-value.highlight[data-v-db85c9b1]{color:var(--primary)}.empty[data-v-db85c9b1]{padding:24px;text-align:center;color:var(--text-muted);margin-bottom:16px}.error-msg[data-v-db85c9b1]{color:#ef4444}.section[data-v-db85c9b1]{margin-bottom:32px}.section-head[data-v-db85c9b1]{margin-bottom:14px}.section-title[data-v-db85c9b1]{font-size:16px;font-weight:700}.section-sub[data-v-db85c9b1]{font-size:12px;color:var(--text-muted);margin-top:4px}.weekly-row[data-v-db85c9b1]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.weekly-card[data-v-db85c9b1]{padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.bonus-card[data-v-db85c9b1]{background:var(--primary-soft);border:1px dashed var(--primary)}.weekly-icon[data-v-db85c9b1]{font-size:28px}.weekly-name[data-v-db85c9b1]{font-size:13px;font-weight:600;line-height:1.4}.weekly-progress[data-v-db85c9b1]{width:100%;display:flex;align-items:center;gap:6px}.weekly-reward[data-v-db85c9b1]{font-size:14px;font-weight:700;color:#f59e0b}.weekly-reward.bonus[data-v-db85c9b1]{font-size:18px}.level-tabs[data-v-db85c9b1]{display:flex;gap:8px;margin-bottom:14px}.level-tab[data-v-db85c9b1]{padding:8px 16px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);font-size:13px;font-weight:600;cursor:pointer}.level-tab.active[data-v-db85c9b1]{background:var(--primary);color:#fff;border-color:var(--primary)}.level-tab.locked[data-v-db85c9b1]{opacity:.45;cursor:not-allowed}.growth-panel[data-v-db85c9b1]{padding:20px}.growth-head[data-v-db85c9b1]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.growth-name[data-v-db85c9b1]{font-size:15px;font-weight:700}.growth-sub[data-v-db85c9b1]{font-size:12px;color:var(--text-muted);margin-top:4px}.bonus-badge[data-v-db85c9b1]{font-size:12px;padding:6px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary);font-weight:600;flex-shrink:0}.locked-badge[data-v-db85c9b1]{font-size:12px;padding:6px 10px;border-radius:999px;background:var(--bg);color:var(--text-muted);flex-shrink:0}.locked-hint[data-v-db85c9b1]{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.task-list[data-v-db85c9b1]{display:flex;flex-direction:column;gap:12px}.task-row[data-v-db85c9b1]{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.task-row[data-v-db85c9b1]:last-of-type{border-bottom:none}.task-icon[data-v-db85c9b1]{font-size:24px;width:40px;text-align:center;flex-shrink:0}.task-body[data-v-db85c9b1]{flex:1;min-width:0}.task-head[data-v-db85c9b1]{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.task-name[data-v-db85c9b1]{font-weight:600;font-size:14px}.task-reward[data-v-db85c9b1]{font-size:13px;color:#f59e0b;font-weight:700;flex-shrink:0}.task-desc[data-v-db85c9b1]{font-size:12px;color:var(--text-muted);margin-bottom:6px}.task-progress[data-v-db85c9b1]{display:flex;align-items:center;gap:10px}.progress-bar[data-v-db85c9b1]{flex:1;height:6px;background:var(--bg);border-radius:999px;overflow:hidden}.progress-fill[data-v-db85c9b1]{height:100%;background:var(--primary);border-radius:999px;transition:width .3s}.progress-text[data-v-db85c9b1]{font-size:11px;color:var(--text-muted);flex-shrink:0}.task-action[data-v-db85c9b1]{flex-shrink:0;font-size:13px;padding:8px 14px;min-width:72px}.task-action.claimed[data-v-db85c9b1]{opacity:.6}.bonus-row[data-v-db85c9b1]{display:flex;align-items:center;gap:12px;padding-top:12px;margin-top:4px;border-top:1px dashed var(--border-strong);font-size:14px;font-weight:600}.bonus-row .task-action[data-v-db85c9b1]{margin-left:auto}@media(max-width:600px){.stats-row[data-v-db85c9b1]{grid-template-columns:1fr}.weekly-row[data-v-db85c9b1]{grid-template-columns:1fr 1fr}.task-row[data-v-db85c9b1]{flex-wrap:wrap}.task-action[data-v-db85c9b1]{width:100%}.bonus-row[data-v-db85c9b1]{flex-wrap:wrap}}.page-wrap[data-v-de65ee2b]{max-width:720px}.page-header[data-v-de65ee2b]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-title[data-v-de65ee2b]{font-size:22px;font-weight:800;margin-bottom:4px}.page-desc[data-v-de65ee2b]{font-size:13px;color:var(--text-muted)}.filter-tabs[data-v-de65ee2b]{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tab-btn[data-v-de65ee2b]{padding:8px 14px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px}.tab-btn.active[data-v-de65ee2b]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover);font-weight:600}.badge[data-v-de65ee2b]{background:#ef4444;color:#fff;font-size:10px;padding:2px 6px;border-radius:999px}.empty[data-v-de65ee2b]{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-icon[data-v-de65ee2b]{font-size:32px;display:block;margin-bottom:8px}.error-msg[data-v-de65ee2b]{color:#ef4444}.notify-list[data-v-de65ee2b]{display:flex;flex-direction:column;gap:10px}.notify-card[data-v-de65ee2b]{display:flex;align-items:flex-start;gap:12px;padding:16px;cursor:pointer;position:relative}.notify-card.unread[data-v-de65ee2b]{border-color:var(--primary-light);background:var(--primary-soft)}.notify-icon[data-v-de65ee2b]{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--bg);flex-shrink:0}.notify-body[data-v-de65ee2b]{flex:1;min-width:0}.notify-head[data-v-de65ee2b]{display:flex;justify-content:space-between;gap:12px;margin-bottom:4px}.notify-title[data-v-de65ee2b]{font-weight:600;font-size:14px}.notify-time[data-v-de65ee2b]{font-size:12px;color:var(--text-muted);flex-shrink:0}.notify-content[data-v-de65ee2b]{font-size:13px;color:var(--text-secondary);line-height:1.5}.unread-dot[data-v-de65ee2b]{width:8px;height:8px;background:var(--primary);border-radius:50%;flex-shrink:0;margin-top:6px}.page-wrap[data-v-2415601f]{max-width:800px}.empty[data-v-2415601f]{text-align:center;padding:32px;color:var(--text-muted);margin-bottom:16px}.error-msg[data-v-2415601f]{color:#ef4444}.community-hero[data-v-2415601f]{display:flex;gap:32px;padding:28px;margin-bottom:28px}.hero-content h2[data-v-2415601f]{font-size:20px;font-weight:800;margin-bottom:10px}.hero-content p[data-v-2415601f]{font-size:14px;color:var(--text-secondary);margin-bottom:16px;line-height:1.6}.benefits[data-v-2415601f]{list-style:none;font-size:13px;color:var(--text-secondary);line-height:2}.qr-area[data-v-2415601f]{text-align:center;flex-shrink:0}.qr-box[data-v-2415601f]{width:140px;height:140px;border:1px solid var(--border-strong);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;overflow:hidden;background:#fff}.qr-image[data-v-2415601f]{width:100%;height:100%;object-fit:cover}.qr-placeholder[data-v-2415601f]{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.qr-icon[data-v-2415601f]{font-size:32px}.qr-hint[data-v-2415601f]{font-size:12px;color:var(--text-muted)}.section[data-v-2415601f]{margin-bottom:28px}.section-title[data-v-2415601f]{font-size:16px;font-weight:700;margin-bottom:14px}.channel-grid[data-v-2415601f]{display:flex;flex-direction:column;gap:12px}.channel-card[data-v-2415601f]{display:flex;align-items:center;gap:14px;padding:16px}.channel-icon[data-v-2415601f]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.channel-name[data-v-2415601f]{display:block;font-weight:600;font-size:14px}.channel-desc[data-v-2415601f]{display:block;font-size:12px;color:var(--text-muted);margin-top:2px}.channel-members[data-v-2415601f]{display:block;font-size:11px;color:var(--text-muted);margin-top:4px}.join-btn[data-v-2415601f]{flex-shrink:0;margin-left:auto}.rules[data-v-2415601f]{padding:20px 24px;font-size:13px;color:var(--text-secondary);line-height:1.8}.modal-overlay[data-v-2415601f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.modal[data-v-2415601f]{width:100%;max-width:320px;padding:24px;text-align:center}.modal-title[data-v-2415601f]{font-size:16px;font-weight:700;margin-bottom:8px}.modal-desc[data-v-2415601f]{font-size:13px;color:var(--text-muted);margin-bottom:16px}.modal-qr[data-v-2415601f]{width:200px;height:200px;margin:0 auto 16px;border:1px solid var(--border-strong);border-radius:12px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}.modal-qr img[data-v-2415601f]{width:100%;height:100%;object-fit:cover}.modal-close[data-v-2415601f]{width:100%}@media(max-width:640px){.community-hero[data-v-2415601f]{flex-direction:column}}.post-card[data-v-527c0a29]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:14px}.post-head[data-v-527c0a29]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.avatar[data-v-527c0a29]{width:40px;height:40px;border-radius:50%;flex-shrink:0}.author-block[data-v-527c0a29]{flex:1}.author-line[data-v-527c0a29]{display:flex;align-items:center;gap:8px}.author-name[data-v-527c0a29]{font-size:14px;font-weight:600}.user-badge[data-v-527c0a29]{font-size:10px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309;padding:2px 6px;border-radius:4px;font-weight:600}.post-time[data-v-527c0a29]{font-size:12px;color:var(--text-muted)}.product-tag[data-v-527c0a29]{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border-radius:8px;padding:6px 12px;margin-bottom:10px;font-size:13px}.tag-name[data-v-527c0a29]{font-weight:600}.tag-rating[data-v-527c0a29]{color:var(--primary);font-weight:700;font-size:11px}.post-content[data-v-527c0a29]{font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:12px}.expand-btn[data-v-527c0a29]{border:none;background:none;color:var(--primary);font-size:13px;cursor:pointer;font-weight:600}.post-image[data-v-527c0a29]{width:100%;max-height:280px;object-fit:cover;border-radius:var(--radius-md);margin-bottom:12px;background:var(--bg)}.post-actions[data-v-527c0a29]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--border)}.actions-left[data-v-527c0a29]{display:flex;gap:16px}.action-btn[data-v-527c0a29]{font-size:13px;color:var(--text-muted);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:4px}.action-btn[data-v-527c0a29]:hover{color:var(--primary)}.action-icon[data-v-527c0a29]{font-size:14px}.reactions[data-v-527c0a29]{display:flex;gap:8px}.reaction[data-v-527c0a29]{font-size:12px;color:var(--text-muted);background:var(--bg);padding:4px 8px;border-radius:999px}.circle-page[data-v-894680b5]{max-width:680px;position:relative}.feed-tabs[data-v-894680b5]{display:flex;gap:28px;margin-bottom:20px;border-bottom:1px solid var(--border)}.feed-tab[data-v-894680b5]{padding:12px 4px;border:none;background:none;font-size:15px;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.feed-tab.active[data-v-894680b5]{color:var(--text);border-bottom-color:var(--primary);font-weight:700}.post-form[data-v-894680b5]{padding:20px;margin-bottom:16px}.form-actions[data-v-894680b5]{display:flex;gap:10px;justify-content:flex-end}.fab-publish[data-v-894680b5]{position:fixed;bottom:32px;right:calc(var(--sidebar-right) + 40px);width:48px;height:48px;border:none;border-radius:50%;background:var(--primary);color:#fff;font-size:20px;cursor:pointer;box-shadow:0 4px 16px #00b96b66;z-index:10}.fab-publish[data-v-894680b5]:hover{background:var(--primary-hover)}.page-wrap[data-v-bc02400a]{max-width:720px}.back-link[data-v-bc02400a]{display:inline-block;margin-bottom:16px;font-size:14px;color:var(--text-muted)}.post-detail[data-v-bc02400a]{padding:24px;margin-bottom:24px}.post-head[data-v-bc02400a]{display:flex;gap:10px;margin-bottom:16px}.avatar[data-v-bc02400a]{width:40px;height:40px;border-radius:50%}.author-name[data-v-bc02400a]{font-weight:600;display:block}.post-time[data-v-bc02400a]{font-size:12px;color:var(--text-muted)}.post-detail h1[data-v-bc02400a]{font-size:20px;margin-bottom:12px}.content[data-v-bc02400a]{line-height:1.7;color:var(--text-muted);margin-bottom:16px}.post-image[data-v-bc02400a]{width:100%;border-radius:10px;margin-bottom:16px}.actions[data-v-bc02400a]{display:flex;align-items:center;gap:16px}.meta[data-v-bc02400a]{font-size:13px;color:var(--text-muted)}.comments-section h2[data-v-bc02400a]{font-size:16px;margin-bottom:12px}.comment-form[data-v-bc02400a]{padding:16px;margin-bottom:16px}.comment-form textarea[data-v-bc02400a]{width:100%;min-height:80px;border:1px solid var(--border);border-radius:8px;padding:10px;margin-bottom:10px;resize:vertical}.comment-list[data-v-bc02400a]{display:flex;flex-direction:column;gap:10px}.comment-item[data-v-bc02400a]{display:flex;gap:12px;padding:14px 16px}.comment-head[data-v-bc02400a]{display:flex;gap:10px;align-items:center;margin-bottom:4px}.time[data-v-bc02400a]{font-size:12px;color:var(--text-muted)}.shop-page[data-v-1ea7b30f]{max-width:900px}.shop-header[data-v-1ea7b30f]{margin-bottom:20px}.title-row[data-v-1ea7b30f]{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-link[data-v-1ea7b30f]{color:var(--text-muted);font-size:13px;padding:4px 0}.history-link[data-v-1ea7b30f]:hover{color:var(--primary)}.balance-card[data-v-1ea7b30f]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;margin-bottom:28px;background:linear-gradient(135deg,#f0fdf7,#fff 60%);border:1px solid var(--primary-light)}.balance-left[data-v-1ea7b30f]{display:flex;align-items:center;gap:14px}.balance-left.clickable[data-v-1ea7b30f]{cursor:pointer}.balance-left.clickable:hover .balance-value[data-v-1ea7b30f]{color:var(--primary)}.balance-icon[data-v-1ea7b30f]{font-size:32px}.balance-value[data-v-1ea7b30f]{font-size:28px;font-weight:800;color:var(--text);line-height:1.2}.balance-unit[data-v-1ea7b30f]{font-size:14px;font-weight:600;color:var(--text-secondary)}.balance-hint[data-v-1ea7b30f]{font-size:12px;color:var(--text-muted);margin-top:2px}.login-inline[data-v-1ea7b30f]{border:none;background:none;font-size:16px;font-weight:700;color:var(--primary);cursor:pointer;padding:0}.login-inline[data-v-1ea7b30f]:hover{text-decoration:underline}.balance-mascot[data-v-1ea7b30f]{font-size:48px;opacity:.85}.shop-section[data-v-1ea7b30f]{margin-bottom:36px}.tabs[data-v-1ea7b30f]{display:flex;gap:24px;border-bottom:1px solid var(--border);margin-bottom:20px}.tab[data-v-1ea7b30f]{border:none;background:none;padding:10px 2px 12px;font-size:15px;font-weight:600;color:var(--text-muted);cursor:pointer;position:relative}.tab.active[data-v-1ea7b30f]{color:var(--primary)}.tab.active[data-v-1ea7b30f]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--primary);border-radius:2px}.section-title[data-v-1ea7b30f]{font-size:16px;font-weight:700;margin-bottom:16px}.item-grid[data-v-1ea7b30f]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.item-card[data-v-1ea7b30f]{position:relative;padding:16px 16px 14px 36px;display:flex;flex-direction:column;gap:12px;min-height:140px}.item-tag[data-v-1ea7b30f]{position:absolute;left:10px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-size:11px;color:var(--text-muted);letter-spacing:2px}.item-main[data-v-1ea7b30f]{display:flex;gap:12px;align-items:flex-start}.item-logo[data-v-1ea7b30f]{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);flex-shrink:0;object-fit:cover;background:var(--bg)}.item-info[data-v-1ea7b30f]{flex:1;min-width:0}.item-title-row[data-v-1ea7b30f]{display:flex;align-items:flex-start;gap:6px;margin-bottom:4px}.item-title[data-v-1ea7b30f]{font-size:14px;font-weight:700;line-height:1.35}.item-badge[data-v-1ea7b30f]{flex-shrink:0;font-size:10px;color:#ef4444;border:1px solid #fecaca;background:#fef2f2;padding:1px 5px;border-radius:4px;white-space:nowrap}.item-desc[data-v-1ea7b30f]{font-size:12px;color:var(--text-muted);line-height:1.45}.item-footer[data-v-1ea7b30f]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.item-price[data-v-1ea7b30f]{font-size:13px;font-weight:700;color:#f59e0b}.redeem-btn[data-v-1ea7b30f]{font-size:12px;padding:6px 14px;min-width:56px}.redeem-btn[data-v-1ea7b30f]:disabled{opacity:.55;cursor:not-allowed}.state-text[data-v-1ea7b30f]{text-align:center;color:var(--text-muted);padding:40px 0;font-size:14px}.modal-mask[data-v-1ea7b30f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.confirm-modal[data-v-1ea7b30f]{width:100%;max-width:360px;padding:28px 24px 22px;text-align:center;border-radius:20px}.confirm-mascot[data-v-1ea7b30f]{width:56px;height:56px;margin:0 auto 12px;font-size:36px;line-height:56px;background:#fef2f2;border-radius:50%}.confirm-head[data-v-1ea7b30f]{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.confirm-logo[data-v-1ea7b30f]{width:28px;height:28px;border-radius:8px;object-fit:cover}.confirm-title[data-v-1ea7b30f]{font-size:18px;font-weight:800}.confirm-prompt[data-v-1ea7b30f]{font-size:14px;color:var(--text-secondary);line-height:1.55;margin-bottom:10px}.confirm-price[data-v-1ea7b30f]{font-size:13px;color:var(--text-muted);margin-bottom:20px}.confirm-price strong[data-v-1ea7b30f]{color:#f59e0b;font-size:16px}.confirm-actions[data-v-1ea7b30f]{display:flex;gap:12px}.confirm-cancel[data-v-1ea7b30f],.confirm-ok[data-v-1ea7b30f]{flex:1;padding:11px 16px;border-radius:999px;font-weight:700}.confirm-cancel[data-v-1ea7b30f]{border:2px solid var(--primary);color:var(--primary-hover);background:#fff}.modal[data-v-1ea7b30f]{width:100%;max-width:400px;padding:24px;text-align:center}.history-modal[data-v-1ea7b30f]{max-width:480px;text-align:left;max-height:70vh;overflow-y:auto}.modal-head[data-v-1ea7b30f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-title[data-v-1ea7b30f]{font-size:18px;font-weight:700}.close-x[data-v-1ea7b30f]{border:none;background:none;font-size:24px;color:var(--text-muted);cursor:pointer;line-height:1}.modal-item[data-v-1ea7b30f]{font-weight:600;margin-bottom:14px}.code-box[data-v-1ea7b30f]{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px dashed var(--border-strong);border-radius:10px;padding:12px 14px;margin-bottom:12px}.code-box code[data-v-1ea7b30f]{flex:1;font-size:14px;font-weight:700;word-break:break-all;text-align:left}.copy-btn[data-v-1ea7b30f]{border:none;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:600;padding:6px 10px;border-radius:8px;cursor:pointer;flex-shrink:0}.modal-hint[data-v-1ea7b30f]{font-size:13px;color:var(--text-muted);margin-bottom:12px}.modal-points[data-v-1ea7b30f]{font-size:13px;color:var(--text-secondary);margin-bottom:16px}.modal-close[data-v-1ea7b30f]{width:100%}.copy-btn[data-v-1ea7b30f]:hover{background:var(--primary-light)}@media(max-width:860px){.item-grid[data-v-1ea7b30f]{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.item-grid[data-v-1ea7b30f]{grid-template-columns:1fr}.balance-mascot[data-v-1ea7b30f]{display:none}}.pager[data-v-8481afc6]{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:16px;margin-top:8px}.pager-btn[data-v-8481afc6]{border:1px solid var(--border-strong);background:#fff;padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;color:var(--text-secondary)}.pager-btn[data-v-8481afc6]:disabled{opacity:.45;cursor:not-allowed}.pager-btn[data-v-8481afc6]:not(:disabled):hover{border-color:var(--primary);color:var(--primary)}.pager-info[data-v-8481afc6]{font-size:12px;color:var(--text-muted);min-width:56px;text-align:center}.me-page[data-v-3833fc89]{max-width:720px}.page-header[data-v-3833fc89]{margin-bottom:20px}.page-title[data-v-3833fc89]{font-size:22px;font-weight:800;margin-bottom:4px}.page-desc[data-v-3833fc89]{font-size:13px;color:var(--text-muted)}.filter-tabs[data-v-3833fc89]{display:flex;gap:8px;margin-bottom:16px}.filter-tab[data-v-3833fc89]{border:1px solid var(--border-strong);background:var(--surface);padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer}.filter-tab.active[data-v-3833fc89]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover)}.list-card[data-v-3833fc89]{padding:8px 20px 16px}.state-text[data-v-3833fc89]{text-align:center;color:var(--text-muted);padding:40px 0;font-size:14px}.record-list[data-v-3833fc89]{list-style:none}.record-item[data-v-3833fc89]{padding:14px 0;border-bottom:1px solid var(--border)}.record-item[data-v-3833fc89]:last-child{border-bottom:none}.record-top[data-v-3833fc89]{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.record-title[data-v-3833fc89]{font-weight:600;font-size:14px;line-height:1.4}.record-delta[data-v-3833fc89]{font-size:13px;font-weight:700;flex-shrink:0}.record-delta.earn[data-v-3833fc89]{color:#16a34a}.record-delta.spend[data-v-3833fc89]{color:#ef4444}.record-meta[data-v-3833fc89]{font-size:12px;color:var(--text-muted);margin-top:6px}.me-page[data-v-849c17db]{max-width:720px}.page-header[data-v-849c17db]{margin-bottom:20px}.page-title[data-v-849c17db]{font-size:22px;font-weight:800;margin-bottom:4px}.page-desc[data-v-849c17db]{font-size:13px;color:var(--text-muted)}.list-card[data-v-849c17db]{padding:8px 20px 16px}.state-text[data-v-849c17db]{text-align:center;color:var(--text-muted);padding:40px 0;font-size:14px}.record-list[data-v-849c17db]{list-style:none}.record-item[data-v-849c17db]{padding:14px 0;border-bottom:1px solid var(--border)}.record-item[data-v-849c17db]:last-child{border-bottom:none}.record-top[data-v-849c17db]{display:flex;justify-content:space-between;gap:12px}.record-title[data-v-849c17db]{font-weight:600;font-size:14px}.record-delta[data-v-849c17db]{font-size:13px;font-weight:700;flex-shrink:0}.record-delta.spend[data-v-849c17db]{color:#ef4444}.code-box[data-v-849c17db]{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px dashed var(--border-strong);border-radius:10px;padding:10px 12px;margin-top:10px}.code-box code[data-v-849c17db]{flex:1;font-size:13px;font-weight:700;word-break:break-all}.copy-btn[data-v-849c17db]{border:none;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:600;padding:6px 10px;border-radius:8px;cursor:pointer;flex-shrink:0}.record-meta[data-v-849c17db]{font-size:12px;color:var(--text-muted);margin-top:8px}.me-page[data-v-90c41068]{max-width:720px}.page-header[data-v-90c41068]{margin-bottom:20px}.page-title[data-v-90c41068]{font-size:22px;font-weight:800;margin-bottom:4px}.page-desc[data-v-90c41068]{font-size:13px;color:var(--text-muted)}.state-text[data-v-90c41068]{text-align:center;color:var(--text-muted);padding:40px 0;font-size:14px}.empty-card[data-v-90c41068]{padding:40px 20px}.review-list[data-v-90c41068]{display:flex;flex-direction:column;gap:12px}.review-item[data-v-90c41068]{padding:16px 18px}.product-link[data-v-90c41068]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.product-logo[data-v-90c41068]{width:36px;height:36px;border-radius:10px;object-fit:cover;border:1px solid var(--border)}.product-info[data-v-90c41068]{display:flex;flex-direction:column;gap:2px}.product-name[data-v-90c41068]{font-size:14px;font-weight:700}.product-hint[data-v-90c41068]{font-size:11px;color:var(--primary)}.review-head[data-v-90c41068]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.score[data-v-90c41068]{font-size:13px;font-weight:700;color:var(--score)}.review-time[data-v-90c41068]{font-size:12px;color:var(--text-muted)}.review-content[data-v-90c41068]{font-size:14px;line-height:1.55;color:var(--text-secondary)}.review-attachments[data-v-90c41068]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.attach-img[data-v-90c41068]{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.attach-link[data-v-90c41068]{font-size:12px;color:var(--primary)}.review-meta[data-v-90c41068]{margin-top:10px;font-size:12px;color:var(--text-muted)}.me-page[data-v-d63e5357]{max-width:720px}.page-header[data-v-d63e5357]{margin-bottom:20px}.page-title[data-v-d63e5357]{font-size:22px;font-weight:800;margin-bottom:4px}.page-desc[data-v-d63e5357]{font-size:13px;color:var(--text-muted)}.state-text[data-v-d63e5357]{text-align:center;color:var(--text-muted);padding:40px 0;font-size:14px}.empty-card[data-v-d63e5357]{padding:40px 20px}.post-card-wrap[data-v-d63e5357]{margin-bottom:12px}.submit-page[data-v-6655237a]{max-width:720px}.page-header[data-v-6655237a]{margin-bottom:24px}.submit-form[data-v-6655237a]{padding:24px;margin-bottom:32px}.form-row[data-v-6655237a]{display:flex;gap:16px}.flex-1[data-v-6655237a]{flex:1}.flex-2[data-v-6655237a]{flex:2}.form-group[data-v-6655237a]{margin-bottom:18px;position:relative}.form-group label[data-v-6655237a]{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.req[data-v-6655237a]{color:#ef4444}.form-group input[data-v-6655237a],.form-group select[data-v-6655237a],.form-group textarea[data-v-6655237a]{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface)}.form-group input[data-v-6655237a]:focus,.form-group select[data-v-6655237a]:focus,.form-group textarea[data-v-6655237a]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group textarea[data-v-6655237a]{resize:vertical;min-height:80px}.textarea-desc[data-v-6655237a]{min-height:120px;resize:vertical}.char-count[data-v-6655237a]{position:absolute;right:0;top:0;font-size:11px;color:var(--text-muted)}.advanced[data-v-6655237a]{margin-bottom:18px;border:1px dashed var(--border);border-radius:10px;padding:12px 14px}.advanced summary[data-v-6655237a]{cursor:pointer;font-size:13px;color:var(--text-muted);font-weight:500}.advanced[open] summary[data-v-6655237a]{margin-bottom:12px}.upload-row[data-v-6655237a]{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:10px}.file-input[data-v-6655237a]{display:none}.upload-hint[data-v-6655237a]{font-size:12px;color:var(--text-muted);margin-left:10px}.cover-preview-wrap[data-v-6655237a]{position:relative;display:inline-block;max-width:100%}.cover-preview[data-v-6655237a]{display:block;max-width:100%;max-height:200px;border-radius:10px;border:1px solid var(--border);object-fit:cover}.logo-preview[data-v-6655237a]{width:80px;height:80px;object-fit:cover;border-radius:12px;border:1px solid var(--border)}.remove-btn[data-v-6655237a]{position:absolute;top:8px;right:8px;width:24px;height:24px;border:none;border-radius:50%;background:#0000008c;color:#fff;cursor:pointer;font-size:16px;line-height:1}.form-actions[data-v-6655237a]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.form-tip[data-v-6655237a]{font-size:12px;color:var(--text-muted)}.error-msg[data-v-6655237a]{margin-top:12px;font-size:13px;color:#ef4444}.section-title[data-v-6655237a]{font-size:16px;font-weight:700;margin-bottom:14px}.state-text[data-v-6655237a]{text-align:center;color:var(--text-muted);padding:24px 0;font-size:14px}.mine-list[data-v-6655237a]{display:flex;flex-direction:column;gap:12px}.mine-card[data-v-6655237a]{display:flex;align-items:center;gap:14px;padding:16px 18px}.mine-logo[data-v-6655237a]{width:48px;height:48px;border-radius:12px;border:1px solid var(--border);object-fit:cover;flex-shrink:0}.mine-body[data-v-6655237a]{flex:1;min-width:0}.mine-head[data-v-6655237a]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.mine-head h3[data-v-6655237a]{font-size:14px;font-weight:700}.status-tag[data-v-6655237a]{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600;flex-shrink:0}.status-tag.PENDING[data-v-6655237a]{background:#fef3c7;color:#d97706}.status-tag.PUBLISHED[data-v-6655237a]{background:var(--primary-light);color:var(--primary-hover)}.status-tag.REJECTED[data-v-6655237a]{background:#fee2e2;color:#dc2626}.mine-desc[data-v-6655237a]{font-size:12px;color:var(--text-muted);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mine-audit[data-v-6655237a]{font-size:12px;margin-bottom:6px;padding:6px 8px;border-radius:8px;line-height:1.4}.mine-audit.REJECTED[data-v-6655237a]{background:#fee2e2;color:#b91c1c}.mine-audit.PUBLISHED[data-v-6655237a]{background:#ecfdf5;color:#047857}.mine-meta[data-v-6655237a]{display:flex;gap:12px;font-size:11px;color:var(--text-muted)}.mine-link[data-v-6655237a]{flex-shrink:0;font-size:12px;padding:6px 12px}.toast[data-v-6655237a]{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#111827;color:#fff;padding:12px 20px;border-radius:999px;font-size:13px;z-index:1000;box-shadow:var(--shadow-md);max-width:90vw;text-align:center}@media(max-width:600px){.form-row[data-v-6655237a]{flex-direction:column}.mine-card[data-v-6655237a]{flex-wrap:wrap}.mine-link[data-v-6655237a]{width:100%}}.oauth-callback[data-v-fbe4316b]{min-height:60vh;display:flex;align-items:center;justify-content:center}.card[data-v-fbe4316b]{text-align:center;padding:40px 32px;background:var(--surface);border-radius:16px;border:1px solid var(--border);max-width:360px}.title[data-v-fbe4316b]{font-size:18px;font-weight:700;margin-bottom:8px}.desc[data-v-fbe4316b]{font-size:14px;color:var(--text-muted)}.card.error .desc[data-v-fbe4316b]{color:#ef4444;margin-bottom:20px}:root{--bg: #f4f5f7;--surface: #ffffff;--text: #111827;--text-secondary: #374151;--text-muted: #9ca3af;--primary: #00b96b;--primary-hover: #00a35d;--primary-light: #e8f8f1;--primary-soft: #f0fdf7;--border: #eef0f3;--border-strong: #e5e7eb;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 8px 30px rgba(0, 0, 0, .06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--sidebar-left: 220px;--sidebar-right: 320px;--score: #ff8a00}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.app{min-height:100vh}.page-title{font-size:22px;font-weight:700;margin-bottom:6px;letter-spacing:-.02em}.page-desc{color:var(--text-muted);margin-bottom:24px;font-size:14px}.page-wrap{max-width:760px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border:none;border-radius:999px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-outline{background:#fff;border:1px solid var(--border-strong);color:var(--text-secondary)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;background:var(--primary-light);color:var(--primary-hover);font-weight:500}.score{color:var(--score);font-weight:700}.empty{text-align:center;padding:48px 20px;color:var(--text-muted);font-size:14px}.error-msg{color:#ef4444;font-size:14px;margin-top:8px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-secondary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:11px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);outline:none;background:#fff;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00b96b1f}.form-group textarea{min-height:100px;resize:vertical}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:7px 16px;border:1px solid var(--border-strong);border-radius:999px;background:#fff;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.chip:hover{border-color:var(--primary);color:var(--primary)}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media(max-width:1100px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.product-grid{grid-template-columns:1fr}}
