.main-layout[data-v-4f338f7c]{min-height:var(--tg-viewport-height, 100vh);min-height:var(--tg-viewport-height, 100dvh);display:flex;flex-direction:column}.content[data-v-4f338f7c]{flex:1;min-height:0;overflow:visible}.bottom-nav[data-v-4f338f7c]{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:640px;height:60px;background:#fff;border-top:1px solid #e7e9ef;display:flex;justify-content:space-around;align-items:center;z-index:1000;box-shadow:0 -2px 10px #0000000d;transition:transform .3s ease}.bottom-nav.hidden[data-v-4f338f7c]{transform:translate(-50%) translateY(100%)}@media (max-width: 640px){.bottom-nav[data-v-4f338f7c]{max-width:100%}}.nav-item[data-v-4f338f7c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888;text-decoration:none;font-size:12px;position:relative;padding:8px 0;transition:color .2s}.nav-item svg[data-v-4f338f7c]{margin-bottom:4px}.nav-item.active[data-v-4f338f7c]{color:#4f8cff}.nav-item .badge[data-v-4f338f7c]{position:absolute;top:4px;right:50%;transform:translate(12px);background:#ff4444;color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;line-height:14px}.login-page[data-v-66ee2baf]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card[data-v-66ee2baf]{width:100%;max-width:400px;text-align:center}.title[data-v-66ee2baf]{font-size:22px;color:var(--text-primary);margin-bottom:12px}.desc[data-v-66ee2baf]{font-size:14px;color:var(--text-secondary);margin-bottom:20px;line-height:1.6}.hint[data-v-66ee2baf]{font-size:13px;color:var(--text-light);margin-top:12px;line-height:1.5}.guide-box[data-v-66ee2baf]{margin:0 0 16px;padding:14px 16px;text-align:left;border-radius:12px;background:rgba(102,126,234,.08)}.guide-title[data-v-66ee2baf]{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--text-primary)}.bot-link[data-v-66ee2baf]{color:var(--primary-color);font-weight:600;text-decoration:none}.bot-link[data-v-66ee2baf]:hover{text-decoration:underline}.manual-login[data-v-66ee2baf]{margin:16px 0;text-align:left}.manual-label[data-v-66ee2baf]{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.code-input[data-v-66ee2baf]{font-family:ui-monospace,monospace;letter-spacing:.5px}.loading-wrap[data-v-66ee2baf]{padding:24px 0}.loading-spinner[data-v-66ee2baf]{display:inline-block;width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin-66ee2baf .8s linear infinite}.loading-wrap p[data-v-66ee2baf]{margin-top:12px;font-size:14px;color:var(--text-secondary)}@keyframes spin-66ee2baf{to{transform:rotate(360deg)}}.error-msg[data-v-66ee2baf]{color:#e74c3c;font-size:14px;margin:12px 0}.success-msg[data-v-66ee2baf]{color:var(--accent-color);font-size:14px;margin:12px 0}.first-login-page[data-v-b991ab81]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center}.modal-mask[data-v-b991ab81]{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-container[data-v-b991ab81]{position:relative;z-index:1;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content[data-v-b991ab81]{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.modal-header[data-v-b991ab81]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-title[data-v-b991ab81]{font-size:18px;font-weight:700;color:#111827;margin:0}.modal-close[data-v-b991ab81]{width:32px;height:32px;border:none;background:transparent;font-size:24px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.modal-close[data-v-b991ab81]:hover{background:#f3f4f6;color:#111827}.modal-body[data-v-b991ab81]{padding:24px}.modal-footer[data-v-b991ab81]{display:flex;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.card-desc[data-v-b991ab81]{font-size:14px;color:#6b7280;margin-bottom:20px;text-align:center}.form-group[data-v-b991ab81]{margin-bottom:20px}.form-group label[data-v-b991ab81]{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.form-group select[data-v-b991ab81]{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;background:#fff;color:#111827;transition:border-color .2s}.form-group select[data-v-b991ab81]:focus{outline:none;border-color:#667eea}.form-group select[data-v-b991ab81]:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.tags-wrap[data-v-b991ab81]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.tag-label[data-v-b991ab81]{display:flex;align-items:center;padding:10px 16px;border:2px solid #e5e7eb;border-radius:20px;background:#fff;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.tag-label[data-v-b991ab81]:hover{border-color:#667eea;background:#f0f4ff}.tag-label.active[data-v-b991ab81]{border-color:#667eea;background:#667eea;color:#fff}.tag-label input[data-v-b991ab81]{display:none}.tag-label span[data-v-b991ab81]{font-size:14px;font-weight:500}.hint[data-v-b991ab81]{font-size:13px;color:#6b7280;margin-bottom:20px}.hint.error[data-v-b991ab81]{color:#ef4444}.btn-primary[data-v-b991ab81],.btn-ghost[data-v-b991ab81],.btn-skip[data-v-b991ab81]{flex:1;padding:12px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary[data-v-b991ab81]{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 12px #667eea66}.btn-primary[data-v-b991ab81]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea80}.btn-primary[data-v-b991ab81]:disabled{opacity:.5;cursor:not-allowed}.btn-ghost[data-v-b991ab81]{background:#fff;color:#374151;border:1px solid #e5e7eb}.btn-ghost[data-v-b991ab81]:hover{background:#f9fafb;border-color:#d1d5db}.btn-skip[data-v-b991ab81]{background:transparent;color:#6b7280;border:1px solid transparent}.btn-skip[data-v-b991ab81]:hover{color:#374151;background:#f3f4f6}.map-picker-overlay[data-v-26402714]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10002;display:flex;flex-direction:column;background:var(--bg-secondary, #fff9fa)}.map-picker-header[data-v-26402714]{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color, #ffe4e9)}.map-picker-back[data-v-26402714]{width:36px;height:36px;border-radius:12px;border:1px solid var(--border-color, #ffe4e9);background:var(--bg-card, #fff);font-size:24px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary, #4a4a4a);line-height:1}.map-picker-back[data-v-26402714]:active{transform:scale(.98)}.map-picker-title[data-v-26402714]{font-size:18px;font-weight:700;color:var(--text-primary, #4a4a4a)}.map-picker-search[data-v-26402714]{padding:12px 16px;background:var(--bg-card, #fff)}.map-picker-search-row[data-v-26402714]{display:flex;gap:10px;align-items:center}.map-picker-input[data-v-26402714]{flex:1;padding:12px 14px;border:1px solid var(--border-color, #ffe4e9);border-radius:12px;font-size:14px;font-family:inherit;background:var(--bg-card, #fff);outline:none;transition:border-color .2s}.map-picker-input[data-v-26402714]:focus{border-color:var(--primary-color, #ff8fa3)}.map-picker-manual-entry[data-v-26402714]{flex-shrink:0;padding:12px 14px;border:1px solid var(--primary-color, #ff8fa3);border-radius:12px;background:var(--bg-card, #fff);color:var(--primary-color, #ff8fa3);font-size:14px;font-weight:600;cursor:pointer}.map-picker-container[data-v-26402714]{flex:1;min-height:280px;position:relative}.map-picker-map-error[data-v-26402714]{position:absolute;top:16px;right:16px;bottom:16px;left:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;color:var(--text-secondary, #7a7a7a);background:rgba(255,255,255,.92);border:1px solid var(--border-color, #ffe4e9);border-radius:16px;z-index:2}.map-picker-map-error-btn[data-v-26402714]{padding:10px 16px;border:1px solid var(--primary-color, #ff8fa3);border-radius:12px;background:#fff;color:var(--primary-color, #ff8fa3);font-weight:600;cursor:pointer}.map-picker-overlay-btn[data-v-26402714]{position:absolute;bottom:90px;left:50%;transform:translate(-50%);padding:10px 18px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;border:1px solid var(--border-color, #ffe4e9);box-shadow:0 2px 12px #ff8fa326;font-size:14px;font-weight:600;color:var(--text-primary, #4a4a4a);cursor:pointer;z-index:10;transition:all .2s ease}.map-picker-overlay-btn[data-v-26402714]:active{transform:translate(-50%) scale(.98)}.map-picker-overlay-icon[data-v-26402714]{margin-right:6px}.map-picker-panel[data-v-26402714]{display:flex;gap:10px;padding:15px 16px;background:var(--bg-card, #fff);border-top:1px solid var(--border-color, #ffe4e9)}.map-picker-btn[data-v-26402714]{flex:1;padding:14px 18px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.map-picker-btn[data-v-26402714]:active{transform:scale(.98)}.map-picker-btn-primary[data-v-26402714]{background:linear-gradient(135deg,var(--primary-color, #ff8fa3),var(--primary-dark, #ff6b8a));color:#fff;box-shadow:0 4px 16px #ff8fa359}.map-picker-btn-outline[data-v-26402714]{background:var(--bg-card, #fff);color:var(--primary-color, #ff8fa3);border:1px solid var(--primary-color, #ff8fa3)}.map-picker-results[data-v-26402714]{position:fixed;bottom:0;left:0;right:0;max-height:60vh;background:var(--bg-card, #fff);border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #00000014;border-top:1px solid var(--border-color, #ffe4e9);z-index:100;overflow:hidden;display:flex;flex-direction:column}.map-picker-results-header[data-v-26402714]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color, #ffe4e9);font-weight:700;font-size:16px;color:var(--text-primary, #4a4a4a)}.map-picker-results-close[data-v-26402714]{width:36px;height:36px;border:none;background:var(--bg-secondary, #fff9fa);border-radius:12px;font-size:22px;color:var(--text-secondary, #7a7a7a);cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}.map-picker-results-close[data-v-26402714]:active{transform:scale(.95)}.map-picker-results-list[data-v-26402714]{flex:1;overflow-y:auto;padding:12px 16px}.map-picker-manual-overlay[data-v-26402714]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.28)}.map-picker-manual-dialog[data-v-26402714]{width:min(100%,420px);background:var(--bg-card, #fff);border-radius:18px;overflow:hidden;box-shadow:0 16px 40px #0000001f}.map-picker-manual-header[data-v-26402714]{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color, #ffe4e9);font-size:16px;font-weight:700;color:var(--text-primary, #4a4a4a)}.map-picker-manual-textarea[data-v-26402714]{width:calc(100% - 32px);min-height:120px;margin:16px;padding:12px 14px;border:1px solid var(--border-color, #ffe4e9);border-radius:12px;resize:vertical;font:inherit;color:var(--text-primary, #4a4a4a);outline:none}.map-picker-manual-textarea[data-v-26402714]:focus{border-color:var(--primary-color, #ff8fa3)}.map-picker-manual-tip[data-v-26402714]{padding:0 16px 16px;font-size:13px;color:var(--text-secondary, #7a7a7a)}.map-picker-manual-actions[data-v-26402714]{display:flex;gap:10px;padding:0 16px 16px}.map-picker-result-item[data-v-26402714]{padding:14px;border-radius:12px;margin-bottom:8px;background:var(--bg-secondary, #fff9fa);border:1px solid var(--border-color, #ffe4e9);border-left:3px solid var(--primary-color, #ff8fa3);cursor:pointer;transition:all .2s ease}.map-picker-result-item[data-v-26402714]:active{background:rgba(255,143,163,.08)}.map-picker-result-name[data-v-26402714]{font-weight:600;margin-bottom:4px;color:var(--text-primary, #4a4a4a)}.map-picker-result-addr[data-v-26402714]{font-size:13px;color:var(--text-secondary, #7a7a7a)}.map-picker-result-empty[data-v-26402714]{padding:24px;text-align:center;color:var(--text-secondary, #7a7a7a)}.map-fade-enter-active[data-v-26402714],.map-fade-leave-active[data-v-26402714]{transition:opacity .25s ease}.map-fade-enter-from[data-v-26402714],.map-fade-leave-to[data-v-26402714]{opacity:0}.slide-up-enter-active[data-v-26402714],.slide-up-leave-active[data-v-26402714]{transition:transform .3s ease-out}.slide-up-enter-from[data-v-26402714],.slide-up-leave-to[data-v-26402714]{transform:translateY(100%)}.onboarding-page[data-v-ffe82bf4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center}.modal-mask[data-v-ffe82bf4]{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff9fa}.modal-container[data-v-ffe82bf4]{position:relative;z-index:1;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content[data-v-ffe82bf4]{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000040;overflow:hidden}.modal-content.step3-teacher .modal-body[data-v-ffe82bf4]{max-height:60vh;overflow-y:auto}.modal-header[data-v-ffe82bf4]{padding:12px 16px;border-bottom:1px solid var(--border-color, #ffe4e9)}.modal-title[data-v-ffe82bf4]{font-size:16px;font-weight:700;color:var(--text-primary, #4a4a4a);margin:0 0 2px}.modal-subtitle[data-v-ffe82bf4]{font-size:12px;color:var(--text-secondary, #7a7a7a)}.confirm-desc[data-v-ffe82bf4]{font-size:13px;color:var(--text-secondary, #7a7a7a);line-height:1.5;margin:0}.teacher-listed-tip[data-v-ffe82bf4]{font-size:14px;color:var(--text-primary, #4a4a4a);line-height:1.6;margin:0}.modal-body[data-v-ffe82bf4]{padding:14px 16px}.section-title[data-v-ffe82bf4]{font-size:14px;font-weight:700;color:var(--text-primary, #4a4a4a);margin-bottom:10px}.form-group[data-v-ffe82bf4]{margin-bottom:10px}.form-group label[data-v-ffe82bf4]{display:block;font-size:13px;font-weight:600;color:var(--text-primary, #4a4a4a);margin-bottom:5px}.form-group input[data-v-ffe82bf4],.form-group select[data-v-ffe82bf4]{width:100%;padding:8px 12px;border:1.5px solid var(--border-color, #ffe4e9);border-radius:8px;font-size:13px;background:#fff;color:var(--text-primary, #4a4a4a)}.form-group input.input-disabled[data-v-ffe82bf4]{background:#f5f5f5;color:#999;cursor:not-allowed}.field-hint[data-v-ffe82bf4],.field-desc[data-v-ffe82bf4]{font-size:11px;color:var(--text-light, #a0a0a0);margin-top:4px}.location-row[data-v-ffe82bf4]{display:flex;gap:10px;align-items:flex-start}.location-display[data-v-ffe82bf4]{flex:1;min-width:0;padding:8px 12px;border:1.5px solid var(--border-color, #ffe4e9);border-radius:8px;font-size:13px;background:#f5f5f5;color:var(--text-primary, #4a4a4a);word-break:break-all;overflow-wrap:break-word;white-space:pre-wrap;min-height:38px;line-height:1.4;cursor:default}.location-btn[data-v-ffe82bf4]{flex-shrink:0;padding:8px 14px;border-radius:8px;border:1.5px solid var(--primary-light, #ffb3c1);background:#fff;color:var(--primary-color, #ff8fa3);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.location-btn[data-v-ffe82bf4]:hover{background:var(--primary-light, #ffb3c1);color:#fff}.location-hint[data-v-ffe82bf4]{font-size:11px;color:var(--text-light, #a0a0a0);margin-top:4px}.price-row[data-v-ffe82bf4]{display:flex;flex-direction:column;gap:8px}.price-row .price-item[data-v-ffe82bf4]{display:flex;gap:8px}.price-row .price-item input[data-v-ffe82bf4]{flex:1}.price-row .price-item select[data-v-ffe82bf4]{flex:0 0 90px}.tags-wrap[data-v-ffe82bf4]{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.tags-wrap.small[data-v-ffe82bf4]{gap:4px}.tag-label[data-v-ffe82bf4]{display:inline-flex;align-items:center;padding:3px 8px;font-size:11px;border:1px solid var(--border-color, #ffe4e9);border-radius:10px;background:#fff;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.tag-label[data-v-ffe82bf4]:hover{border-color:var(--primary-light, #ffb3c1)}.tag-label.active[data-v-ffe82bf4]{border-color:var(--primary-color, #ff8fa3);background:var(--primary-light, #ffb3c1);color:#fff}.tag-label input[data-v-ffe82bf4]{display:none}.teacher-photos-wrap[data-v-ffe82bf4]{display:flex;flex-wrap:wrap;gap:8px}.teacher-photo-item[data-v-ffe82bf4]{position:relative;width:96px;height:96px;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, #ffe4e9);flex-shrink:0}.teacher-photo-item img[data-v-ffe82bf4]{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:var(--bg-secondary, #f5f5f5)}.photo-remove-btn[data-v-ffe82bf4]{position:absolute;top:2px;right:2px;width:22px;height:22px;border:none;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s}.photo-remove-btn[data-v-ffe82bf4]:hover{background:rgba(220,38,38,.9)}.teacher-photo-item.photo-add[data-v-ffe82bf4]{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #fff9fa);cursor:pointer;border-style:dashed}.teacher-photo-item.photo-add[data-v-ffe82bf4]:hover{border-color:var(--primary-color, #ff8fa3);background:rgba(255,143,163,.08)}.photo-add-icon[data-v-ffe82bf4]{font-size:28px;color:var(--text-light, #a0a0a0);line-height:1}.teacher-photo-item.photo-add:hover .photo-add-icon[data-v-ffe82bf4]{color:var(--primary-color, #ff8fa3)}.hint[data-v-ffe82bf4]{font-size:12px;color:var(--text-secondary, #7a7a7a)}.hint.error[data-v-ffe82bf4]{color:#ef4444}.modal-footer[data-v-ffe82bf4]{display:flex;gap:10px;padding:12px 16px;border-top:1px solid var(--border-color, #ffe4e9);background:var(--bg-secondary, #fff9fa)}.modal-footer.column[data-v-ffe82bf4]{flex-direction:column;gap:10px}.btn-primary[data-v-ffe82bf4]{flex:1;padding:9px 14px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--primary-color, #ff8fa3),var(--primary-light, #ffb3c1));color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-ffe82bf4]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff8fa366}.btn-primary[data-v-ffe82bf4]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-ffe82bf4]{flex:1;padding:9px 14px;border-radius:10px;border:1.5px solid var(--primary-light, #ffb3c1);background:#fff;color:var(--primary-color, #ff8fa3);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary[data-v-ffe82bf4]:hover{background:var(--primary-light, #ffb3c1);color:#fff}.btn-ghost[data-v-ffe82bf4]{flex:1;padding:10px 14px;border-radius:10px;border:1.5px solid var(--border-color, #ffe4e9);background:#fff;color:var(--text-secondary, #7a7a7a);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-ghost[data-v-ffe82bf4]:hover{border-color:var(--primary-light, #ffb3c1);color:var(--primary-color, #ff8fa3);background:rgba(255,143,163,.06)}.code-desc[data-v-ffe82bf4]{font-size:13px;color:var(--text-secondary, #7a7a7a);margin-bottom:8px}.code-warning[data-v-ffe82bf4]{font-size:13px;color:var(--warn-color, #e67e22);font-weight:600;margin-bottom:12px;text-align:center}.code-hint[data-v-ffe82bf4]{font-size:12px;color:var(--text-light, #a0a0a0);margin:-6px 0 12px;text-align:center}.code-display[data-v-ffe82bf4]{text-align:center;padding:12px;background:#f7f8fa;border-radius:10px}.qr-img[data-v-ffe82bf4]{width:180px;height:180px;border-radius:10px;margin-bottom:8px}.code-row[data-v-ffe82bf4]{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.code-text[data-v-ffe82bf4]{font-family:ui-monospace,monospace;font-size:11px;word-break:break-all;color:var(--text-primary, #4a4a4a);flex:1;min-width:0}.btn-copy[data-v-ffe82bf4]{flex-shrink:0;padding:4px 12px;font-size:12px;border-radius:6px;border:1px solid var(--primary-light, #ffb3c1);background:#fff;color:var(--primary-color, #ff8fa3);cursor:pointer;transition:all .2s}.btn-copy[data-v-ffe82bf4]:hover{background:var(--primary-light, #ffb3c1);color:#fff}.lazy-image-wrapper[data-v-58f5f167]{position:relative;display:block;width:100%;overflow:hidden}.lazy-placeholder[data-v-58f5f167]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f8 0%,#e8eaef 100%);z-index:1}.placeholder-text[data-v-58f5f167]{color:#6b7280;font-size:12px;font-weight:600;-webkit-user-select:none;user-select:none;text-align:center;padding:0 8px;line-height:1.3;word-break:break-word}.loading-dots[data-v-58f5f167]{display:inline-flex;letter-spacing:.02em}.loading-dots .dot[data-v-58f5f167]{display:inline-block;opacity:.2;animation:loading-dot-pulse-58f5f167 1.05s ease-in-out infinite}.loading-dots .dot[data-v-58f5f167]:nth-child(1){animation-delay:0s}.loading-dots .dot[data-v-58f5f167]:nth-child(2){animation-delay:.18s}.loading-dots .dot[data-v-58f5f167]:nth-child(3){animation-delay:.36s}@keyframes loading-dot-pulse-58f5f167{0%,70%,to{opacity:.15;transform:translateY(0)}35%{opacity:1;transform:translateY(-1px)}}.lazy-img[data-v-58f5f167]{position:relative;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease;z-index:2}.lazy-img-loaded[data-v-58f5f167]{opacity:1}.lazy-error[data-v-58f5f167]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f8 0%,#e5e7eb 100%);z-index:1}.error-text[data-v-58f5f167]{color:#d1d5db;font-size:11px;font-weight:400;-webkit-user-select:none;user-select:none;text-align:center;padding:8px;word-break:break-word;opacity:.7}.list-cover-video-wrap[data-v-c9cbb25e]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.list-cover-video[data-v-c9cbb25e]{width:100%;height:100%;display:block;object-fit:cover;object-position:center;background:#f5f5f8}.list-cover-video-loading[data-v-c9cbb25e]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f8 0%,#e8eaef 100%);pointer-events:none}.list-cover-video-loading-text[data-v-c9cbb25e]{color:#6b7280;font-size:12px;font-weight:600;-webkit-user-select:none;user-select:none;text-align:center;padding:0 8px;line-height:1.3}.loading-dots[data-v-c9cbb25e]{display:inline-flex;letter-spacing:.02em}.loading-dots .dot[data-v-c9cbb25e]{display:inline-block;opacity:.2;animation:list-cover-loading-dot-pulse-c9cbb25e 1.05s ease-in-out infinite}.loading-dots .dot[data-v-c9cbb25e]:nth-child(1){animation-delay:0s}.loading-dots .dot[data-v-c9cbb25e]:nth-child(2){animation-delay:.18s}.loading-dots .dot[data-v-c9cbb25e]:nth-child(3){animation-delay:.36s}@keyframes list-cover-loading-dot-pulse-c9cbb25e{0%,70%,to{opacity:.15;transform:translateY(0)}35%{opacity:1;transform:translateY(-1px)}}.pull-refresh[data-v-e6fa4d46]{position:relative;min-height:100%}.pull-refresh-indicator[data-v-e6fa4d46]{position:absolute;top:0;left:0;right:0;height:50px;display:flex;align-items:center;justify-content:center;transform:translateY(-50px);transition:transform .3s ease,opacity .2s ease;opacity:0;z-index:0;pointer-events:none}.pull-refresh-indicator-visible[data-v-e6fa4d46]{opacity:1}.pull-refresh-content[data-v-e6fa4d46]{position:relative;z-index:1;transition:transform .3s cubic-bezier(.4,0,.2,1);min-height:100%}.refresh-text[data-v-e6fa4d46]{font-size:13px;color:var(--text-secondary, #7a7a7a);font-weight:500}.requirement-list[data-v-bbbbb443]{min-height:200px;padding-bottom:180px}.filter-bar[data-v-bbbbb443]{display:flex;align-items:center;gap:8px;padding:10px 0;margin-bottom:8px;flex-wrap:wrap;border-bottom:1px solid var(--border-color, #ffe4e9)}.filter-item[data-v-bbbbb443]{position:relative}.filter-btn[data-v-bbbbb443]{display:flex;align-items:center;gap:3px;padding:6px 12px;border-radius:10px;border:1px solid var(--border-color, #ffe4e9);background:var(--bg-card, #fff);cursor:pointer;font-size:12px;font-weight:600;color:var(--text-secondary, #7a7a7a);transition:all .2s ease;white-space:nowrap}.filter-btn[data-v-bbbbb443]:active{transform:scale(.96)}.filter-btn.active[data-v-bbbbb443]{background:rgba(255,143,163,.15);border-color:var(--primary-color, #ff8fa3);color:var(--primary-color, #ff8fa3)}.filter-btn.open[data-v-bbbbb443]{background:rgba(255,143,163,.2);border-color:var(--primary-color, #ff8fa3);color:var(--primary-color, #ff8fa3)}.filter-btn .arrow[data-v-bbbbb443]{font-size:10px;opacity:.6;transition:transform .2s}.filter-btn.open .arrow[data-v-bbbbb443]{transform:rotate(180deg)}.filter-mask[data-v-bbbbb443]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;background:rgba(17,24,39,.08)}.filter-dropdown[data-v-bbbbb443]{position:absolute;top:calc(100% + 6px);left:0;z-index:1600;min-width:140px;max-width:200px;background:var(--bg-card, #fff);border:1px solid var(--border-color, #ffe4e9);border-radius:14px;box-shadow:0 12px 32px #ff8fa326;overflow:hidden;animation:filterDropIn-bbbbb443 .18s ease-out}@keyframes filterDropIn-bbbbb443{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-head[data-v-bbbbb443]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;border-bottom:1px solid rgba(229,231,235,.7);font-size:12px;font-weight:800;color:#374151}.dropdown-close[data-v-bbbbb443]{width:22px;height:22px;border-radius:8px;border:none;background:rgba(243,244,246,.9);cursor:pointer;font-size:14px;color:#6b7280;display:flex;align-items:center;justify-content:center}.dropdown-options[data-v-bbbbb443]{padding:6px;max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.dropdown-opt[data-v-bbbbb443]{padding:9px 12px;border-radius:10px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:600;color:#374151;text-align:left;transition:all .15s ease}.dropdown-opt[data-v-bbbbb443]:hover{background:rgba(243,244,246,.9)}.dropdown-opt.active[data-v-bbbbb443]{background:rgba(122,167,255,.18);color:#1d4ed8;font-weight:700}.filter-clear[data-v-bbbbb443]{display:flex;align-items:center;gap:2px;padding:6px 10px;border-radius:10px;border:1px solid rgba(239,68,68,.5);background:rgba(254,242,242,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;font-size:12px;font-weight:700;color:#dc2626;transition:all .2s ease;white-space:nowrap}.filter-clear[data-v-bbbbb443]:hover{background:rgba(254,226,226,.95)}.filter-clear[data-v-bbbbb443]:active{transform:scale(.96)}.state[data-v-bbbbb443]{text-align:center;padding:40px 20px;color:var(--text-light, #a0a0a0);font-size:14px}.state-empty[data-v-bbbbb443]{color:var(--text-secondary, #7a7a7a)}.list[data-v-bbbbb443]{display:flex;flex-direction:column;gap:10px}.req-card[data-v-bbbbb443]{background:var(--bg-card, #fff);border-radius:12px;padding:12px 14px;border:1px solid var(--border-color, #ffe4e9);box-shadow:0 1px 8px #ff8fa314;transition:all .2s ease}.req-card[data-v-bbbbb443]:active{transform:scale(.995)}.req-body[data-v-bbbbb443]{display:flex;flex-direction:column;gap:8px}.req-title[data-v-bbbbb443]{font-size:15px;font-weight:700;color:var(--text-primary, #4a4a4a);line-height:1.35}.req-content[data-v-bbbbb443]{font-size:12px;color:#9ca3af;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.req-meta[data-v-bbbbb443]{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;font-size:12px}.meta-budget[data-v-bbbbb443]{color:#f97316;font-weight:600}.meta-time[data-v-bbbbb443],.meta-tag[data-v-bbbbb443]{color:var(--text-secondary, #7a7a7a)}.meta-dot[data-v-bbbbb443]{color:#d1d5db;font-size:10px}.req-location-row[data-v-bbbbb443]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:6px;border-top:1px solid #f3f4f6}.req-location[data-v-bbbbb443]{font-size:12px;color:var(--text-secondary, #7a7a7a);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-btn[data-v-bbbbb443]{flex-shrink:0;padding:6px 16px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--primary-color, #ff8fa3),var(--primary-light, #ffb3c1));color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.contact-btn[data-v-bbbbb443]:active{transform:scale(.96)}.fixed-publish[data-v-bbbbb443]{position:fixed;bottom:70px;left:50%;transform:translate(-50%);width:100%;max-width:640px;padding:12px 16px 24px;background:linear-gradient(0deg,var(--bg-secondary, #fff9fa) 70%,transparent);z-index:100}.publish-btn[data-v-bbbbb443]{width:100%;padding:14px 24px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--primary-color, #ff8fa3),var(--primary-dark, #ff6b8a));color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #ff8fa359;transition:all .2s ease}.publish-btn[data-v-bbbbb443]:active{transform:scale(.98)}.location-modal-overlay[data-v-9ea5d127]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10002;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.location-modal[data-v-9ea5d127]{position:relative;width:100%;max-width:340px;background:var(--bg-card, #fff);border-radius:20px;padding:28px 24px;box-shadow:0 20px 60px #0003}.location-modal-close[data-v-9ea5d127]{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:20px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center}.location-modal-title[data-v-9ea5d127]{font-size:20px;font-weight:800;color:var(--text-primary, #111827);text-align:center;margin-bottom:16px}.location-modal-desc[data-v-9ea5d127]{font-size:15px;color:var(--text-secondary, #6b7280);text-align:center;margin:0 0 6px}.location-modal-btn[data-v-9ea5d127]{width:100%;margin-top:24px;padding:14px 24px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--primary-color, #ff8fa3),var(--primary-light, #ffb3c1));color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #ff8fa359}.location-modal-btn[data-v-9ea5d127]:active{transform:scale(.98)}.location-modal-hint[data-v-9ea5d127]{margin-top:20px;font-size:12px;color:#9ca3af;text-align:center;line-height:1.5}.modal-fade-enter-active[data-v-9ea5d127],.modal-fade-leave-active[data-v-9ea5d127]{transition:opacity .2s ease}.modal-fade-enter-from[data-v-9ea5d127],.modal-fade-leave-to[data-v-9ea5d127]{opacity:0}.home-page[data-v-3e4e41c3]{min-height:100vh;padding-bottom:76px;background:var(--bg-secondary, #fff9fa)}.topbar[data-v-3e4e41c3]{position:sticky;top:0;z-index:1700;padding:12px;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color, #ffe4e9)}.city-wrap[data-v-3e4e41c3]{position:relative;flex:0 0 auto}.city-pill[data-v-3e4e41c3]{display:flex;align-items:center;gap:3px;padding:10px 24px 10px 12px;border-radius:12px;background:var(--bg-card, #fff);border:1px solid var(--border-color, #ffe4e9);flex:0 0 auto;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 20 20'%3E%3Cpath fill='%23ff8fa3' d='M5.6 7.5a1 1 0 0 1 1.4 0L10 10.5l3-3a1 1 0 1 1 1.4 1.4l-3.7 3.7a1 1 0 0 1-1.4 0L5.6 8.9a1 1 0 0 1 0-1.4Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:all .2s ease}.city-pill[data-v-3e4e41c3]:hover{border-color:var(--primary-light, #ffb3c1)}.pin[data-v-3e4e41c3]{font-size:13px;line-height:1;flex-shrink:0}.city-text[data-v-3e4e41c3]{font-size:13px;font-weight:600;color:var(--text-primary, #4a4a4a);max-width:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.city-mask[data-v-3e4e41c3]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(17,24,39,.08);z-index:1600}.city-popover[data-v-3e4e41c3]{position:absolute;top:calc(100% + 8px);left:0;z-index:1750;width:min(220px,calc(100vw - 24px));background:var(--bg-card, #fff);border:1px solid var(--border-color, #ffe4e9);border-radius:16px;box-shadow:0 12px 32px #ff8fa326;padding:12px}.popover-head[data-v-3e4e41c3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.popover-title[data-v-3e4e41c3]{font-size:14px;font-weight:700;color:var(--text-primary, #4a4a4a)}.popover-close[data-v-3e4e41c3]{border:1px solid var(--border-color, #ffe4e9);background:var(--bg-card, #fff);border-radius:8px;padding:6px 12px;font-weight:600;font-size:12px;cursor:pointer;color:var(--text-secondary, #7a7a7a);transition:all .2s ease}.popover-close[data-v-3e4e41c3]:hover{border-color:var(--primary-light, #ffb3c1);color:var(--primary-color, #ff8fa3)}.popover-list[data-v-3e4e41c3]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.popover-item[data-v-3e4e41c3]{padding:10px 8px;border-radius:10px;border:1px solid var(--border-color, #ffe4e9);background:var(--bg-card, #fff);font-weight:600;font-size:13px;color:var(--text-primary, #4a4a4a);cursor:pointer;transition:all .2s ease;text-align:center}.popover-item[data-v-3e4e41c3]:hover{border-color:var(--primary-light, #ffb3c1)}.popover-item.active[data-v-3e4e41c3]{background:var(--primary-light, #ffb3c1);border-color:var(--primary-color, #ff8fa3);color:#fff}.search-pill[data-v-3e4e41c3]{flex:1;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:var(--bg-card, #fff);border:1px solid var(--border-color, #ffe4e9);cursor:text;min-width:0;transition:all .2s ease}.search-pill[data-v-3e4e41c3]:focus-within{border-color:var(--primary-color, #ff8fa3);box-shadow:0 0 0 3px #ff8fa326}.search-icon[data-v-3e4e41c3]{width:20px;height:20px;color:var(--primary-color, #ff8fa3);flex-shrink:0}.search-input[data-v-3e4e41c3]{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--text-primary, #4a4a4a);min-width:0}.search-input[data-v-3e4e41c3]::placeholder{color:var(--text-light, #a0a0a0)}.search-btn[data-v-3e4e41c3]{cursor:pointer;padding:10px 18px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--primary-color, #ff8fa3),var(--primary-light, #ffb3c1));color:#fff;font-weight:700;font-size:14px;white-space:nowrap;flex:0 0 auto;box-shadow:0 4px 12px #ff8fa34d;transition:all .2s ease}.search-btn[data-v-3e4e41c3]:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ff8fa366}.search-btn[data-v-3e4e41c3]:active{transform:translateY(0)}.banner[data-v-3e4e41c3]{margin:12px 12px 8px;border-radius:18px;overflow:hidden;border:1px solid rgba(238,240,245,.9);background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.banner-track[data-v-3e4e41c3]{display:flex;width:100%;transition:transform .38s ease}.banner-item[data-v-3e4e41c3]{min-width:100%;aspect-ratio:750 / 422;position:relative;cursor:pointer}.banner-img[data-v-3e4e41c3]{width:100%;height:100%;display:block;position:absolute;top:0;left:0;z-index:1}.banner-img[data-v-3e4e41c3] .lazy-image-wrapper{width:100%;height:100%}.banner-img[data-v-3e4e41c3] .lazy-img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02)}.banner-img[data-v-3e4e41c3] .lazy-placeholder,.banner-img[data-v-3e4e41c3] .lazy-error{width:100%;height:100%}.banner-mask[data-v-3e4e41c3]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.banner-text[data-v-3e4e41c3]{position:absolute;left:14px;bottom:14px;right:14px;color:#fff;z-index:3}.banner-title[data-v-3e4e41c3]{font-size:18px;font-weight:950;text-shadow:0 8px 24px rgba(0,0,0,.35)}.banner-sub[data-v-3e4e41c3]{margin-top:6px;font-size:12px;font-weight:800;opacity:.92}.banner-nav[data-v-3e4e41c3]{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.4);border:none;color:#ffffffe6;font-size:24px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s ease;box-shadow:0 2px 8px #0000001a;opacity:.7}.banner-nav[data-v-3e4e41c3]:hover{background:rgba(255,255,255,.6);color:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-50%) scale(1.1);opacity:1}.banner-nav[data-v-3e4e41c3]:active{transform:translateY(-50%) scale(.95)}.banner-nav-prev[data-v-3e4e41c3]{left:12px}.banner-nav-next[data-v-3e4e41c3]{right:12px}.banner-dots[data-v-3e4e41c3]{position:absolute;right:12px;bottom:12px;display:flex;gap:6px;z-index:10}.dot[data-v-3e4e41c3]{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.25);cursor:pointer;transition:all .2s ease}.dot[data-v-3e4e41c3]:hover{background:rgba(255,255,255,.7)}.dot.active[data-v-3e4e41c3]{width:16px;background:rgba(255,255,255,.9)}.section[data-v-3e4e41c3]{margin:8px 12px 16px}.section-head[data-v-3e4e41c3]{margin:12px 0 8px}.section-tabs[data-v-3e4e41c3]{display:flex;align-items:stretch;border-bottom:2px solid var(--border-color, #ffe4e9);margin:0 -4px}.tab-btn[data-v-3e4e41c3]{flex:1;padding:12px 16px;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;background:transparent;font-size:15px;font-weight:600;color:var(--text-secondary, #7a7a7a);cursor:pointer;transition:color .2s ease,border-color .2s ease}.tab-btn.active[data-v-3e4e41c3]{color:var(--primary-color, #ff8fa3);border-bottom-color:var(--primary-color, #ff8fa3)}.tab-btn[data-v-3e4e41c3]:active{opacity:.8}.section-title[data-v-3e4e41c3]{font-size:16px;font-weight:700;color:var(--text-primary, #4a4a4a)}.filter-bar[data-v-3e4e41c3]{display:flex;align-items:center;gap:8px;padding:10px 0;margin-bottom:8px;flex-wrap:wrap;border-bottom:1px solid var(--border-color, #ffe4e9)}.filter-item[data-v-3e4e41c3]{position:relative}.filter-btn[data-v-3e4e41c3]{display:flex;align-items:center;gap:3px;padding:6px 12px;border-radius:10px;border:1px solid var(--border-color, #ffe4e9);background:var(--bg-card, #fff);cursor:pointer;font-size:12px;font-weight:600;color:var(--text-secondary, #7a7a7a);transition:all .2s ease;white-space:nowrap}.filter-btn[data-v-3e4e41c3]:active{transform:scale(.96)}.filter-btn.active[data-v-3e4e41c3]{background:rgba(255,143,163,.15);border-color:var(--primary-color, #ff8fa3);color:var(--primary-color, #ff8fa3)}.filter-btn.open[data-v-3e4e41c3]{background:rgba(255,143,163,.2);border-color:var(--primary-color, #ff8fa3);color:var(--primary-color, #ff8fa3)}.filter-btn .arrow[data-v-3e4e41c3]{font-size:10px;opacity:.6;transition:transform .2s}.filter-btn.open .arrow[data-v-3e4e41c3]{transform:rotate(180deg)}.filter-mask[data-v-3e4e41c3]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;background:rgba(17,24,39,.08)}.filter-dropdown[data-v-3e4e41c3]{position:absolute;top:calc(100% + 6px);left:0;z-index:1600;min-width:140px;max-width:200px;width:max-content;background:var(--bg-card, #fff);border:1px solid var(--border-color, #ffe4e9);border-radius:14px;box-shadow:0 12px 32px #ff8fa326;overflow:hidden;animation:dropIn-3e4e41c3 .18s ease-out}.filter-item-right .filter-dropdown[data-v-3e4e41c3]{left:auto;right:0}.filter-dropdown-wide[data-v-3e4e41c3]{min-width:220px;max-width:280px}@keyframes dropIn-3e4e41c3{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-head[data-v-3e4e41c3]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;border-bottom:1px solid rgba(229,231,235,.7);font-size:12px;font-weight:800;color:#374151}.dropdown-close[data-v-3e4e41c3]{width:22px;height:22px;border-radius:8px;border:none;background:rgba(243,244,246,.9);cursor:pointer;font-size:14px;color:#6b7280;display:flex;align-items:center;justify-content:center}.dropdown-options[data-v-3e4e41c3]{padding:6px;max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.dropdown-opt[data-v-3e4e41c3]{padding:9px 12px;border-radius:10px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:600;color:#374151;text-align:left;transition:all .15s ease}.dropdown-opt[data-v-3e4e41c3]:hover{background:rgba(243,244,246,.9)}.dropdown-opt.active[data-v-3e4e41c3]{background:rgba(122,167,255,.18);color:#1d4ed8;font-weight:700}.dropdown-opt.disabled[data-v-3e4e41c3]{color:#9ca3af;background:#f9fafb}.dropdown-opt.disabled[data-v-3e4e41c3]:hover{background:#f9fafb}.dropdown-tags[data-v-3e4e41c3]{padding:8px;max-height:180px;overflow-y:auto;display:flex;flex-wrap:wrap;gap:6px}.tag-opt[data-v-3e4e41c3]{padding:6px 12px;border-radius:999px;border:1px solid var(--border-color, #ffe4e9);background:var(--bg-card, #fff);cursor:pointer;font-size:12px;font-weight:600;color:var(--text-secondary, #7a7a7a);transition:all .15s ease}.tag-opt[data-v-3e4e41c3]:hover{border-color:var(--primary-light, #ffb3c1)}.tag-opt.active[data-v-3e4e41c3]{background:var(--primary-light, #ffb3c1);border-color:var(--primary-color, #ff8fa3);color:#fff}.dropdown-footer[data-v-3e4e41c3]{display:flex;gap:8px;padding:8px 10px;border-top:1px solid rgba(229,231,235,.7)}.dropdown-reset[data-v-3e4e41c3]{flex:1;padding:8px;border-radius:10px;border:1px solid var(--border-color, #ffe4e9);background:var(--bg-card, #fff);cursor:pointer;font-size:12px;font-weight:600;color:var(--text-secondary, #7a7a7a)}.dropdown-reset[data-v-3e4e41c3]:hover{border-color:var(--primary-light, #ffb3c1);color:var(--primary-color, #ff8fa3)}.dropdown-save[data-v-3e4e41c3]{flex:1;padding:8px;border-radius:10px;border:1px solid var(--primary-color, #ff8fa3);background:var(--bg-card, #fff);cursor:pointer;font-size:12px;font-weight:600;color:var(--primary-color, #ff8fa3);transition:all .2s ease}.dropdown-save[data-v-3e4e41c3]:hover{background:var(--primary-light, #ffb3c1);color:#fff}.dropdown-confirm[data-v-3e4e41c3]{flex:1;padding:8px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--primary-color, #ff8fa3),var(--primary-light, #ffb3c1));cursor:pointer;font-size:12px;font-weight:700;color:#fff;box-shadow:0 2px 8px #ff8fa34d}.filter-clear[data-v-3e4e41c3]{display:flex;align-items:center;gap:2px;padding:6px 10px;border-radius:10px;border:1px solid rgba(239,68,68,.5);background:rgba(254,242,242,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;font-size:12px;font-weight:700;color:#dc2626;transition:all .2s ease;white-space:nowrap}.filter-clear[data-v-3e4e41c3]:hover{background:rgba(254,226,226,.95);border-color:#ef4444b3}.filter-clear[data-v-3e4e41c3]:active{transform:scale(.96)}.state[data-v-3e4e41c3]{padding:18px 12px;border-radius:16px;background:rgba(255,255,255,.82);border:1px solid rgba(238,240,245,.9);text-align:center;color:#6b7280;font-weight:800}.state-loading[data-v-3e4e41c3]{display:flex;align-items:center;justify-content:center;min-height:80px}.loading-spinner[data-v-3e4e41c3]{display:inline-block;width:28px;height:28px;border:3px solid rgba(255,143,163,.25);border-top-color:var(--primary-color, #ff8fa3);border-radius:50%;animation:spin-3e4e41c3 .7s linear infinite}@keyframes spin-3e4e41c3{to{transform:rotate(360deg)}}.state-more[data-v-3e4e41c3]{padding:12px 0;font-size:12px;font-weight:400;color:#9ca3af;text-align:center}.load-more-sentinel[data-v-3e4e41c3]{height:1px;width:100%;visibility:hidden;pointer-events:none}.waterfall[data-v-3e4e41c3]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.wf-item[data-v-3e4e41c3]{margin:0;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.86);border:1px solid rgba(238,240,245,.9);box-shadow:0 12px 30px #11182714;cursor:pointer}.photo[data-v-3e4e41c3]{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;background:#f5f5f8}.photo img[data-v-3e4e41c3],.photo[data-v-3e4e41c3] .lazy-img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.photo[data-v-3e4e41c3] .lazy-image-wrapper,.photo[data-v-3e4e41c3] .lazy-placeholder,.photo[data-v-3e4e41c3] .lazy-error{width:100%;height:100%}.photo-placeholder[data-v-3e4e41c3]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#9ca3af;text-align:center;padding:8px;background:#f5f5f8}.badge[data-v-3e4e41c3]{position:absolute;top:10px;left:10px;z-index:2;padding:5px 10px;border-radius:999px;background:rgba(255,248,230,.95);border:1px solid #e6d5a8;color:#9a7b4f;font-size:11px;font-weight:700}.body[data-v-3e4e41c3]{padding:8px 8px 10px}.row1.name[data-v-3e4e41c3]{font-size:14px;font-weight:950;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row2[data-v-3e4e41c3]{margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;line-height:1.3}.row3[data-v-3e4e41c3]{margin-top:3px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;line-height:1.3}.sep[data-v-3e4e41c3]{color:#9ca3af;font-size:11px}.price[data-v-3e4e41c3]{font-size:13px;font-weight:950;color:#6d28d9;white-space:nowrap}.meta[data-v-3e4e41c3]{font-size:11px;color:#6b7280;font-weight:600}.meta[data-v-3e4e41c3]:before{content:" · ";color:#9ca3af}.meta[data-v-3e4e41c3]:first-child:before{display:none}.tags-wrap[data-v-3e4e41c3]{margin-top:4px;display:flex;flex-wrap:wrap;gap:2px 6px}.tag[data-v-3e4e41c3]{color:var(--primary-color, #ff8fa3);font-size:10px;font-weight:600;white-space:nowrap}@media (max-width: 480px){.filter-bar[data-v-3e4e41c3]{gap:2px;flex-wrap:nowrap}.filter-item[data-v-3e4e41c3]{flex:1 1 0;min-width:0}.filter-btn[data-v-3e4e41c3]{width:100%;min-width:0;justify-content:center;gap:1px;padding:5px 2px;font-size:10px;overflow:hidden}.filter-btn .arrow[data-v-3e4e41c3]{flex:0 0 auto}.filter-clear[data-v-3e4e41c3]{flex:0 0 auto;padding:5px 4px;font-size:9px}.filter-dropdown-tags[data-v-3e4e41c3]{right:-2px;min-width:170px;max-width:min(190px,calc(100vw - 16px))}.filter-dropdown-tags .dropdown-head[data-v-3e4e41c3]{padding:8px 10px 6px;font-size:11px}.filter-dropdown-tags .dropdown-tags[data-v-3e4e41c3]{padding:6px;max-height:150px;gap:4px}.filter-dropdown-tags .tag-opt[data-v-3e4e41c3]{padding:5px 10px;font-size:11px}.filter-dropdown-tags .dropdown-footer[data-v-3e4e41c3]{gap:6px;padding:6px 8px}.filter-dropdown-tags .dropdown-reset[data-v-3e4e41c3],.filter-dropdown-tags .dropdown-save[data-v-3e4e41c3],.filter-dropdown-tags .dropdown-confirm[data-v-3e4e41c3]{padding:6px 4px;font-size:11px;border-radius:8px}}@media (max-width: 380px){.topbar[data-v-3e4e41c3]{padding:10px;gap:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.city-pill[data-v-3e4e41c3]{padding:8px 22px 8px 10px;border-radius:10px}.pin[data-v-3e4e41c3]{font-size:12px}.city-text[data-v-3e4e41c3]{font-size:12px;max-width:36px}.search-pill[data-v-3e4e41c3]{padding:8px 10px;min-width:0;gap:8px;border-radius:10px}.search-icon[data-v-3e4e41c3]{width:18px;height:18px}.search-input[data-v-3e4e41c3]{font-size:13px;min-width:0}.search-btn[data-v-3e4e41c3]{padding:8px 12px;border-radius:10px;font-size:13px}.banner[data-v-3e4e41c3]{margin:12px 10px 8px;border-radius:16px}.banner-nav[data-v-3e4e41c3]{width:36px;height:36px;font-size:20px}.banner-nav-prev[data-v-3e4e41c3]{left:8px}.banner-nav-next[data-v-3e4e41c3]{right:8px}.banner-title[data-v-3e4e41c3]{font-size:16px}.banner-sub[data-v-3e4e41c3]{font-size:11px}.section[data-v-3e4e41c3]{margin:8px 10px 14px}.section-head[data-v-3e4e41c3]{margin:10px 0 6px}.section-title[data-v-3e4e41c3]{font-size:15px}.filter-bar[data-v-3e4e41c3]{gap:2px;padding:8px 0;flex-wrap:nowrap}.filter-btn[data-v-3e4e41c3]{padding:5px 2px;font-size:10px;border-radius:8px}.filter-dropdown[data-v-3e4e41c3]{min-width:130px;max-width:min(200px,calc(100vw - 24px))}.filter-dropdown-wide[data-v-3e4e41c3]{min-width:min(200px,calc(100vw - 24px));max-width:min(260px,calc(100vw - 24px))}.filter-dropdown-tags[data-v-3e4e41c3]{right:-4px;min-width:160px;max-width:min(180px,calc(100vw - 12px))}.filter-clear[data-v-3e4e41c3]{padding:5px 4px;font-size:9px;border-radius:8px}.body[data-v-3e4e41c3]{padding:6px 6px 8px}.row1.name[data-v-3e4e41c3]{font-size:13px}.row2[data-v-3e4e41c3],.row3[data-v-3e4e41c3]{margin-top:3px;gap:2px 6px}.price[data-v-3e4e41c3]{font-size:12px}.meta[data-v-3e4e41c3]{font-size:10px}.tag[data-v-3e4e41c3]{font-size:9px}}@media (max-width: 360px){.pin[data-v-3e4e41c3]{font-size:11px}.city-text[data-v-3e4e41c3]{max-width:32px}.waterfall[data-v-3e4e41c3]{grid-template-columns:1fr}}.modal-overlay[data-v-c2642edc]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-wrap[data-v-c2642edc]{width:100%;max-width:320px;max-height:90vh;overflow:auto}.modal-wrap--wide[data-v-c2642edc]{max-width:min(92vw,400px)}.modal-card[data-v-c2642edc]{background:var(--bg-card, #fff);border-radius:var(--border-radius, 16px);box-shadow:0 20px 60px #0003,0 0 0 1px #ffffff1a;padding:24px;animation:modal-in-c2642edc .25s ease-out}@keyframes modal-in-c2642edc{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-title[data-v-c2642edc]{font-size:18px;font-weight:700;color:var(--text-primary, #111827);margin:0 0 14px;text-align:center;letter-spacing:.02em}.modal-body[data-v-c2642edc]{margin-bottom:22px}.modal-message[data-v-c2642edc]{font-size:15px;line-height:1.6;color:var(--text-secondary, #4b5563);margin:0;white-space:pre-wrap;word-break:break-word;text-align:center}.modal-copy-row[data-v-c2642edc]{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:10px 12px;border-radius:12px;background:var(--bg-secondary, #f9fafb);border:1px solid var(--border-color, #e5e7eb);text-align:left}.modal-copy-url[data-v-c2642edc]{flex:1;min-width:0;font-size:13px;line-height:1.45;color:var(--text-primary, #374151);word-break:break-all}.modal-copy-icon-btn[data-v-c2642edc]{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;border:none;border-radius:10px;background:rgba(255,143,163,.12);color:var(--primary-color, #ff8fa3);cursor:pointer;transition:background .2s,color .2s}.modal-copy-icon-btn[data-v-c2642edc]:hover{background:rgba(255,143,163,.22)}.modal-copy-icon-btn.done[data-v-c2642edc]{color:#059669;background:rgba(16,185,129,.12)}.modal-copy-svg[data-v-c2642edc]{width:22px;height:22px;display:block}.modal-copy-tip[data-v-c2642edc]{font-size:11px;font-weight:700;white-space:nowrap}.modal-footer[data-v-c2642edc]{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.modal-btn[data-v-c2642edc]{min-width:100px;padding:12px 20px;font-size:15px;font-weight:600;border-radius:var(--border-radius-sm, 12px);border:none;cursor:pointer;transition:all .2s ease}.modal-btn-full[data-v-c2642edc]{width:100%;min-width:0}.modal-btn-dual[data-v-c2642edc]{flex:1;min-width:0}.modal-btn-confirm[data-v-c2642edc]{background:linear-gradient(135deg,var(--primary-color, #ff8fa3),var(--primary-light, #ffb3c1));color:#fff;box-shadow:0 4px 14px #ff8fa366}.modal-btn-confirm[data-v-c2642edc]:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 18px #ff8fa373}.modal-btn-confirm[data-v-c2642edc]:active{transform:translateY(0)}.modal-btn-cancel[data-v-c2642edc]{background:var(--bg-secondary, #f9fafb);color:var(--text-secondary, #6b7280);border:1px solid var(--border-color, #e5e7eb)}.modal-btn-cancel[data-v-c2642edc]:hover{background:#f3f4f6;color:#374151}.modal-fade-enter-active[data-v-c2642edc],.modal-fade-leave-active[data-v-c2642edc]{transition:opacity .2s ease}.modal-fade-enter-from[data-v-c2642edc],.modal-fade-leave-to[data-v-c2642edc]{opacity:0}.modal-fade-enter-active .modal-card[data-v-c2642edc],.modal-fade-leave-active .modal-card[data-v-c2642edc]{transition:transform .2s ease}.modal-fade-enter-from .modal-card[data-v-c2642edc],.modal-fade-leave-to .modal-card[data-v-c2642edc]{transform:scale(.95) translateY(-10px)}.identity-modal-overlay[data-v-b0f04e68]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:rgba(0,0,0,1);display:flex;align-items:center;justify-content:center;padding:16px}.identity-modal-card[data-v-b0f04e68]{background:#fff;border-radius:16px;padding:20px;width:100%;max-width:360px;box-shadow:0 20px 60px #00000040}.identity-modal-title[data-v-b0f04e68]{font-size:16px;font-weight:700;color:var(--text-primary, #4a4a4a);margin:0 0 16px;text-align:center}.identity-options[data-v-b0f04e68]{display:flex;flex-direction:column;gap:10px}.identity-option[data-v-b0f04e68]{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid var(--border-color, #ffe4e9);border-radius:12px;background:#fff;cursor:pointer;transition:all .2s;text-align:left;font-size:15px;color:var(--text-primary, #4a4a4a)}.identity-option[data-v-b0f04e68]:hover{border-color:var(--primary-color, #ff8fa3);background:rgba(255,143,163,.06)}.option-icon[data-v-b0f04e68]{font-size:24px}.option-text[data-v-b0f04e68]{flex:1}.identity-close-btn[data-v-b0f04e68]{margin-top:16px;width:100%;padding:10px;border:1px solid var(--border-color, #ffe4e9);border-radius:10px;background:#f5f5f5;color:var(--text-secondary, #7a7a7a);font-size:14px;cursor:pointer;transition:all .2s}.identity-close-btn[data-v-b0f04e68]:hover{background:#eee}.post-select-overlay[data-v-ec3a6c2a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10002;background:var(--bg-secondary, #fff9fa);display:flex;align-items:center;justify-content:center;padding:16px}.post-select-card[data-v-ec3a6c2a]{background:#fff;border-radius:16px;padding:20px;width:100%;max-width:360px;box-shadow:0 20px 60px #00000040}.post-select-title[data-v-ec3a6c2a]{font-size:17px;font-weight:700;color:var(--text-primary, #4a4a4a);margin:0 0 8px;text-align:center}.post-select-desc[data-v-ec3a6c2a]{font-size:14px;color:var(--text-secondary, #7a7a7a);margin:0 0 12px;text-align:center}.post-select-list[data-v-ec3a6c2a]{list-style:none;padding:0;margin:0 0 20px;font-size:14px;color:var(--text-primary, #4a4a4a);line-height:1.8}.post-select-list li[data-v-ec3a6c2a]{padding-left:0}.post-select-btns[data-v-ec3a6c2a]{display:flex;flex-direction:column;gap:10px}.btn-primary[data-v-ec3a6c2a]{padding:12px 16px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--primary-color, #ff8fa3),var(--primary-light, #ffb3c1));color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-ec3a6c2a]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff8fa366}.btn-secondary[data-v-ec3a6c2a]{padding:12px 16px;border-radius:12px;border:1.5px solid var(--primary-light, #ffb3c1);background:#fff;color:var(--primary-color, #ff8fa3);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary[data-v-ec3a6c2a]:hover{background:var(--primary-light, #ffb3c1);color:#fff}.teacher-choice-overlay[data-v-77d05426]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.teacher-choice-card[data-v-77d05426]{background:#fff;border-radius:16px;padding:20px;width:100%;max-width:360px;box-shadow:0 20px 60px #00000040}.teacher-choice-title[data-v-77d05426]{font-size:16px;font-weight:700;color:var(--text-primary, #4a4a4a);margin:0 0 12px;text-align:center}.teacher-choice-desc[data-v-77d05426]{font-size:14px;color:var(--text-secondary, #7a7a7a);line-height:1.5;margin:0 0 20px;text-align:center}.teacher-choice-btns[data-v-77d05426]{display:flex;flex-direction:column;gap:10px}.btn-primary[data-v-77d05426]{padding:12px 16px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--primary-color, #ff8fa3),var(--primary-light, #ffb3c1));color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-77d05426]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff8fa366}.btn-secondary[data-v-77d05426]{padding:12px 16px;border-radius:12px;border:1.5px solid var(--primary-light, #ffb3c1);background:#fff;color:var(--primary-color, #ff8fa3);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary[data-v-77d05426]:hover{background:var(--primary-light, #ffb3c1);color:#fff}.recover-overlay[data-v-b742c273]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.recover-card[data-v-b742c273]{background:#fff;border-radius:16px;padding:20px;width:100%;max-width:380px;box-shadow:0 20px 60px #00000040;max-height:90vh;overflow-y:auto}.recover-title[data-v-b742c273]{font-size:16px;font-weight:700;color:var(--text-primary, #4a4a4a);margin:0 0 14px;text-align:center}.recover-desc[data-v-b742c273]{font-size:14px;color:var(--text-secondary, #7a7a7a);margin:0 0 8px}.recover-hint[data-v-b742c273]{font-size:12px;color:var(--text-light, #a0a0a0);margin:0 0 12px;line-height:1.5}.recover-warning[data-v-b742c273]{font-size:13px;color:var(--warn-color, #e67e22);margin:0 0 16px;line-height:1.5}.recover-form[data-v-b742c273]{margin-top:12px}.recover-input[data-v-b742c273]{width:100%;padding:12px 16px;border:2px solid var(--border-color, #ffe4e9);border-radius:10px;font-size:14px;font-family:ui-monospace,monospace;letter-spacing:.5px;margin-bottom:12px}.recover-input[data-v-b742c273]:focus{outline:none;border-color:var(--primary-color, #ff8fa3)}.recover-error[data-v-b742c273]{font-size:13px;color:#e74c3c;margin:-8px 0 12px}.recover-btns[data-v-b742c273]{display:flex;gap:10px}.btn-submit[data-v-b742c273]{flex:1;padding:12px 16px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--primary-color, #ff8fa3),var(--primary-light, #ffb3c1));color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-submit[data-v-b742c273]:hover:not(:disabled){transform:translateY(-1px)}.btn-submit[data-v-b742c273]:disabled{opacity:.6;cursor:not-allowed}.btn-cancel[data-v-b742c273]{padding:12px 16px;border-radius:12px;border:1.5px solid var(--border-color, #ffe4e9);background:#fff;color:var(--text-secondary, #7a7a7a);font-size:14px;cursor:pointer;transition:all .2s}.recover-success-msg[data-v-b742c273]{font-size:14px;color:var(--accent-color, #2d8a6e);line-height:1.6;margin:0 0 20px;text-align:center}.btn-enter[data-v-b742c273]{width:100%;padding:12px 16px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--primary-color, #ff8fa3),var(--primary-light, #ffb3c1));color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}:root{--primary-color: #ff8fa3;--primary-light: #ffb3c1;--primary-dark: #ff6b8a;--secondary-color: #c9b1ff;--secondary-light: #e4d9ff;--accent-color: #98d8c8;--accent-light: #c4ebe2;--bg-primary: #fef6f8;--bg-secondary: #fff9fa;--bg-card: #ffffff;--text-primary: #4a4a4a;--text-secondary: #7a7a7a;--text-light: #a0a0a0;--border-color: #ffe4e9;--border-radius: 16px;--border-radius-sm: 10px;--border-radius-lg: 24px;--shadow-soft: 0 4px 15px rgba(255, 143, 163, .15);--shadow-card: 0 2px 12px rgba(255, 143, 163, .1);--shadow-hover: 0 6px 20px rgba(255, 143, 163, .2)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;height:100%;width:100%}body{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;overflow-x:hidden;-webkit-overflow-scrolling:touch}#app{min-height:var(--tg-viewport-height, 100vh);min-height:var(--tg-viewport-height, 100dvh);padding-bottom:70px;max-width:640px;margin:0 auto;background:var(--bg-secondary);position:relative;overflow-x:hidden}#app:before{content:"";position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:640px;height:200px;background:linear-gradient(180deg,var(--primary-light) 0%,transparent 100%);opacity:.3;pointer-events:none;z-index:0}.cute-card{background:var(--bg-card);border-radius:var(--border-radius);box-shadow:var(--shadow-card);border:1px solid var(--border-color);padding:16px;transition:all .3s ease}.cute-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.cute-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:12px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .25s ease;outline:none;white-space:nowrap}.cute-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.cute-btn-primary,.primary-btn,.edit-btn,.save-header-btn,.location-btn,.cta-btn,.switch-btn{background:linear-gradient(135deg,var(--primary-color, #ff8fa3) 0%,var(--primary-light, #ffb3c1) 100%);color:#fff;border:none;border-radius:12px;font-weight:700;box-shadow:0 4px 12px #ff8fa359}.cute-btn-primary:hover,.primary-btn:hover,.edit-btn:hover,.save-header-btn:hover,.location-btn:hover,.cta-btn:hover,.switch-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff8fa373}.cute-btn-primary:active,.primary-btn:active,.edit-btn:active,.save-header-btn:active,.location-btn:active,.cta-btn:active,.switch-btn:active{transform:translateY(0)}.cute-btn-secondary,.ghost-btn,.cancel-btn,.back-btn,.unfollow-btn,.load-more-btn{background:var(--bg-card, #fff);color:var(--primary-color, #ff8fa3);border:2px solid var(--primary-light, #ffb3c1);border-radius:12px;font-weight:600}.cute-btn-secondary:hover,.ghost-btn:hover,.cancel-btn:hover,.back-btn:hover,.unfollow-btn:hover,.load-more-btn:hover{background:var(--primary-light, #ffb3c1);color:#fff;border-color:var(--primary-light, #ffb3c1)}.cute-btn-soft,.btn-soft{background:rgba(255,143,163,.15);color:var(--primary-color, #ff8fa3);border:1px solid rgba(255,143,163,.3);border-radius:12px;font-weight:600}.cute-btn-soft:hover,.btn-soft:hover{background:rgba(255,143,163,.25);border-color:#ff8fa380}.cute-btn-danger,.danger-btn{background:#fff1f2;color:#e11d48;border:1px solid #fecdd3;border-radius:12px;font-weight:600}.cute-btn-danger:hover,.danger-btn:hover{background:#ffe4e6;border-color:#fda4af}.cute-btn-danger:disabled,.danger-btn:disabled{opacity:.5;cursor:not-allowed}.cute-btn-icon,.icon-btn{width:36px;height:36px;padding:0;border-radius:10px;background:var(--bg-card, #fff);color:var(--primary-color, #ff8fa3);border:1px solid var(--border-color, #ffe4e9);font-size:18px;font-weight:700}.cute-btn-icon:hover,.icon-btn:hover{background:var(--primary-light, #ffb3c1);color:#fff;border-color:var(--primary-light, #ffb3c1)}.cute-btn-sm{padding:6px 14px;font-size:12px;border-radius:10px}.cute-btn-lg{padding:14px 28px;font-size:16px;border-radius:14px}.cute-btn-round{border-radius:999px}.cute-btn-block{width:100%}.filter-btn{padding:6px 12px;border-radius:10px;border:1px solid var(--border-color, #ffe4e9);background:var(--bg-card, #fff);color:var(--text-secondary, #7a7a7a);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:var(--primary-light, #ffb3c1);color:var(--primary-color, #ff8fa3)}.filter-btn.active{background:rgba(255,143,163,.15);border-color:var(--primary-color, #ff8fa3);color:var(--primary-color, #ff8fa3)}.filter-btn.open{background:rgba(255,143,163,.2);border-color:var(--primary-color, #ff8fa3);color:var(--primary-color, #ff8fa3)}.search-btn{padding:10px 16px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--primary-color, #ff8fa3) 0%,var(--primary-light, #ffb3c1) 100%);color:#fff;font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 4px 12px #ff8fa359}.search-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ff8fa373}.tag-btn{padding:8px 14px;border-radius:999px;border:1px solid var(--border-color, #ffe4e9);background:var(--bg-card, #fff);color:var(--text-secondary, #7a7a7a);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.tag-btn:hover{border-color:var(--primary-light, #ffb3c1)}.tag-btn.active{background:var(--primary-light, #ffb3c1);border-color:var(--primary-color, #ff8fa3);color:#fff}.banner-btn{padding:8px 14px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--primary-color, #ff8fa3) 0%,var(--primary-light, #ffb3c1) 100%);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.banner-btn.ghost{background:var(--bg-card, #fff);border:1px solid var(--primary-light, #ffb3c1);color:var(--primary-color, #ff8fa3)}.cute-input{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:14px;color:var(--text-primary);background:var(--bg-card);transition:all .3s ease;outline:none}.cute-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ff8fa333}.cute-input::placeholder{color:var(--text-light)}.cute-tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;background:var(--primary-light);color:var(--primary-dark)}.cute-tag-success{background:var(--accent-light);color:#2d8a6e}.cute-tag-info{background:var(--secondary-light);color:#7c5ce5}.cute-avatar{border-radius:50%;border:3px solid var(--primary-light);box-shadow:var(--shadow-soft)}.cute-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent);margin:16px 0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:3px}::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-fadeIn{animation:fadeIn .4s ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.onboarding-check-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3500;background:var(--bg-primary, #fef6f8);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.onboarding-check-spinner{width:32px;height:32px;border:3px solid var(--border-color, #ffe4e9);border-top-color:var(--primary-color, #ff8fa3);border-radius:50%;animation:onboarding-spin .8s linear infinite}@keyframes onboarding-spin{to{transform:rotate(360deg)}}.onboarding-check-text{font-size:14px;color:var(--text-secondary, #7a7a7a);margin:0}.approval-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:20px}.approval-modal-card{width:min(100%,360px);background:#fff;border-radius:20px;padding:24px 20px 18px;box-shadow:0 18px 48px #0003}.approval-modal-title{font-size:18px;line-height:1.6;font-weight:700;color:var(--text-primary);text-align:center}.approval-modal-actions{display:flex;gap:12px;margin-top:20px}.approval-modal-btn{flex:1;min-height:44px}@media (max-width: 640px){#app{max-width:100%}:root{--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 20px}}.text-primary{color:var(--primary-color)!important}.text-secondary{color:var(--text-secondary)!important}.text-center{text-align:center!important}.bg-primary{background:var(--primary-color)!important}.bg-gradient{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%)!important}.rounded{border-radius:var(--border-radius)!important}.rounded-sm{border-radius:var(--border-radius-sm)!important}.rounded-lg{border-radius:var(--border-radius-lg)!important}.rounded-full{border-radius:50%!important}.shadow{box-shadow:var(--shadow-card)!important}.shadow-lg{box-shadow:var(--shadow-soft)!important}.mt-1{margin-top:4px!important}.mt-2{margin-top:8px!important}.mt-3{margin-top:12px!important}.mt-4{margin-top:16px!important}.mb-1{margin-bottom:4px!important}.mb-2{margin-bottom:8px!important}.mb-3{margin-bottom:12px!important}.mb-4{margin-bottom:16px!important}.p-2{padding:8px!important}.p-3{padding:12px!important}.p-4{padding:16px!important}
