body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background-color:#f5f5f5;color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh}button,.btn{min-height:44px;min-width:44px}.btn-primary{padding:12px 24px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s}.btn-primary:active{background:#45a049}.home-page[data-v-d8ece81f]{background:#f5f6fa;min-height:100vh;padding-bottom:140px}.hero[data-v-d8ece81f]{position:relative;overflow:hidden;padding:32px 20px 28px}.hero-bg[data-v-d8ece81f]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#1a3c34,#2d6a4f,#3d8b6c)}.hero-bg[data-v-d8ece81f]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 70% 20%,rgba(255,255,255,.08) 0%,transparent 60%)}.hero-content[data-v-d8ece81f]{position:relative;z-index:1;text-align:center}.hero-title[data-v-d8ece81f]{font-size:20px;font-weight:800;color:#fff;margin:0 0 4px;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.hero-subtitle[data-v-d8ece81f]{font-size:14px;font-weight:400;color:#fffc;letter-spacing:3px}.hero-tagline[data-v-d8ece81f]{font-size:12px;color:#fff9;margin:4px 0 0;letter-spacing:1px}.content-wrap[data-v-d8ece81f]{padding:14px 14px 0;display:flex;flex-direction:column;gap:12px}.card[data-v-d8ece81f]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.card-title[data-v-d8ece81f]{font-size:15px;font-weight:600;color:#333;margin-bottom:12px;display:flex;align-items:center;gap:6px}.card-icon[data-v-d8ece81f]{font-size:16px}.feature-grid[data-v-d8ece81f]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:4px 0}.feature-item[data-v-d8ece81f]{display:flex;flex-direction:column;align-items:center;padding:12px 8px;border-radius:12px;cursor:pointer;transition:background .15s}.feature-item[data-v-d8ece81f]:hover{background:#f5f6fa}.feature-item[data-v-d8ece81f]:active{background:#eef0f8}.feature-icon-wrap[data-v-d8ece81f]{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:8px}.feature-icon--tomb[data-v-d8ece81f]{background:#d1fae5}.feature-icon--family[data-v-d8ece81f]{background:#dbeafe}.feature-icon--visit[data-v-d8ece81f]{background:#f3e8ff}.feature-icon--add[data-v-d8ece81f]{background:#fef3c7}.feature-label[data-v-d8ece81f]{font-size:13px;color:#444;font-weight:500;text-align:center}.stats-grid[data-v-d8ece81f]{display:grid;grid-template-columns:repeat(3,1fr);gap:0;text-align:center}.stat-item[data-v-d8ece81f]{padding:8px 0}.stat-item[data-v-d8ece81f]:not(:last-child){border-right:1px solid #f0f0f0}.stat-number[data-v-d8ece81f]{font-size:28px;font-weight:700;color:#2d6a4f;line-height:1}.stat-label[data-v-d8ece81f]{font-size:12px;color:#999;margin-top:4px}.recent-list[data-v-d8ece81f]{display:flex;flex-direction:column}.recent-item[data-v-d8ece81f]{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f5f5f5;cursor:pointer}.recent-item[data-v-d8ece81f]:last-child{border-bottom:none}.recent-date[data-v-d8ece81f]{font-size:12px;color:#999;min-width:80px}.recent-info[data-v-d8ece81f]{flex:1}.recent-tomb[data-v-d8ece81f]{font-size:14px;color:#222;font-weight:500}.recent-participants[data-v-d8ece81f]{font-size:12px;color:#999;margin-top:2px}.recent-arrow[data-v-d8ece81f]{color:#bbb;font-size:18px;margin-left:auto}.footer-section[data-v-d8ece81f]{text-align:center;padding:20px 0 4px;color:#bbb;font-size:12px}.footer-section p[data-v-d8ece81f]{margin:0 0 4px}.server-info[data-v-d8ece81f]{color:#ccc}.verify-modal[data-v-d8ece81f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.verify-content[data-v-d8ece81f]{background:#fff;border-radius:24px;padding:28px 24px;width:100%;max-width:340px}.verify-content h3[data-v-d8ece81f]{font-size:18px;color:#222;margin:0 0 6px;text-align:center}.verify-desc[data-v-d8ece81f]{font-size:14px;color:#888;text-align:center;margin:0 0 20px}.verify-input-group[data-v-d8ece81f]{margin-bottom:4px}.verify-input[data-v-d8ece81f]{width:100%;border:1.5px solid #e0e3ee;border-radius:10px;padding:10px 14px;font-size:15px;box-sizing:border-box;outline:none;transition:border-color .2s,box-shadow .2s}.verify-input[data-v-d8ece81f]:focus{border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71a}.verify-error[data-v-d8ece81f]{font-size:12px;color:#ef4444;margin:6px 0 0}.verify-actions[data-v-d8ece81f]{display:flex;gap:10px;margin-top:16px}.btn-cancel[data-v-d8ece81f]{flex:1;background:#f5f5f5;color:#555;border:none;border-radius:10px;padding:10px;font-size:15px;cursor:pointer}.btn-verify[data-v-d8ece81f]{flex:2;background:#4a6cf7;color:#fff;border:none;border-radius:10px;padding:10px;font-size:15px;cursor:pointer;font-weight:600}.add-options[data-v-d8ece81f]{display:flex;flex-direction:column;gap:8px}.btn-option[data-v-d8ece81f]{display:flex;align-items:center;gap:12px;background:#f8f9fc;border:none;border-radius:12px;padding:12px 16px;cursor:pointer;font-size:15px;color:#333;text-align:left;transition:background .15s;width:100%}.btn-option[data-v-d8ece81f]:hover{background:#eef1fb}.option-icon[data-v-d8ece81f]{font-size:22px;width:32px;text-align:center}.btn-cancel-option[data-v-d8ece81f]{color:#999}.footer-link[data-v-d8ece81f]{background:none;border:none;color:#2d6a4f;font-size:13px;font-weight:600;cursor:pointer;padding:6px 0}.floating-actions[data-v-d8ece81f]{position:fixed;right:16px;bottom:20px;z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.floating-menu[data-v-d8ece81f]{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.floating-user[data-v-d8ece81f]{max-width:220px;padding:8px 12px;border-radius:999px;background:#1a3c34e6;color:#fff;font-size:12px;box-shadow:0 10px 24px #1a3c3438}.floating-btn[data-v-d8ece81f]{border:none;border-radius:999px;padding:12px 16px;cursor:pointer;color:#fff;font-size:14px;font-weight:600;box-shadow:0 10px 24px #152f2824}.floating-btn--menu[data-v-d8ece81f]{min-width:104px}.floating-btn--primary[data-v-d8ece81f]{background:linear-gradient(135deg,#2d6a4f,#3d8b6c)}.floating-btn--secondary[data-v-d8ece81f]{background:linear-gradient(135deg,#527c6a,#6e9a87)}.floating-btn--ghost[data-v-d8ece81f]{background:#30473fe0}.floating-btn--fab[data-v-d8ece81f]{position:relative;width:72px;height:72px;padding:0;border-radius:22px;background:linear-gradient(145deg,#f2f5ef38,#f2f5ef00) padding-box,linear-gradient(145deg,#d0dbccf2,#627d71e6) border-box,linear-gradient(160deg,#1f4c40,#183c33);border:2px solid transparent;box-shadow:0 14px 26px #1938303d,inset 0 1px #f0f6eb3d}.floating-btn--fab-open[data-v-d8ece81f]{background:linear-gradient(145deg,#f2f6ef38,#f2f6ef00) padding-box,linear-gradient(145deg,#d6dfccf5,#728670e6) border-box,linear-gradient(160deg,#325f52,#24453b)}.floating-btn--fab[data-v-d8ece81f]:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1.5px solid rgba(224,233,217,.48);border-radius:16px;pointer-events:none}.floating-btn--fab[data-v-d8ece81f]:after{content:"";position:absolute;top:13px;right:13px;bottom:13px;left:13px;border:1px solid rgba(224,233,217,.24);border-radius:12px;pointer-events:none}.fab-seal[data-v-d8ece81f]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;gap:2px}.fab-seal__icon[data-v-d8ece81f]{font-size:24px;color:#f4f7ef;font-weight:700;letter-spacing:2px;text-shadow:0 1px 2px rgba(17,38,32,.28)}.fab-seal__text[data-v-d8ece81f]{font-size:10px;color:#f4f7efe0;letter-spacing:2px;text-shadow:0 1px 2px rgba(17,38,32,.2)}.tomb-list-page[data-v-d133b4d9]{background:#f5f6fa;min-height:100vh}.nav-bar[data-v-d133b4d9]{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px}.back-btn[data-v-d133b4d9]{background:none;border:none;color:#555;font-size:15px;padding:4px 8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:2px}.back-btn[data-v-d133b4d9]:active{opacity:.65}.back-icon[data-v-d133b4d9]{font-size:22px;line-height:1;margin-top:-1px}.btn-add-nav[data-v-d133b4d9]{background:#fff;border:1px solid #dde0ee;color:#4a6cf7;font-size:13px;padding:6px 14px;border-radius:20px;cursor:pointer;font-weight:500}.btn-add-nav[data-v-d133b4d9]:active{opacity:.7}.hero[data-v-d133b4d9]{position:relative;background:linear-gradient(135deg,#2d6a4f,#52b788 60%,#95d5b2);overflow:hidden;padding:28px 20px 32px}.hero-bg[data-v-d133b4d9]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none}.hero-body[data-v-d133b4d9]{position:relative;display:flex;align-items:center;gap:16px}.hero-icon[data-v-d133b4d9]{font-size:48px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.hero-info[data-v-d133b4d9]{display:flex;flex-direction:column;gap:4px}.hero-title[data-v-d133b4d9]{margin:0;font-size:22px;font-weight:700;color:#fff;letter-spacing:.5px}.hero-sub[data-v-d133b4d9]{margin:0;font-size:13px;color:#ffffffd1}.content-wrap[data-v-d133b4d9]{padding:14px 14px 100px;display:flex;flex-direction:column;gap:12px}.card[data-v-d133b4d9]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.search-card[data-v-d133b4d9]{padding:12px 16px}.search-row[data-v-d133b4d9]{position:relative}.search-input[data-v-d133b4d9]{width:100%;border:1.5px solid #e0e3ee;border-radius:10px;padding:10px 14px;font-size:15px;box-sizing:border-box;outline:none;transition:border-color .2s;background:#fafbff}.search-input[data-v-d133b4d9]:focus{border-color:#4a6cf7;background:#fff}.search-results[data-v-d133b4d9]{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001f;z-index:50;overflow:hidden;max-height:280px;overflow-y:auto}.search-result-item[data-v-d133b4d9]{padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#333;transition:background .15s}.search-result-item[data-v-d133b4d9]:hover{background:#f5f6fa}.result-person[data-v-d133b4d9]{color:#aaa;font-size:13px}.loading-state[data-v-d133b4d9],.error-state[data-v-d133b4d9]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#888;gap:12px}.spinner[data-v-d133b4d9]{width:36px;height:36px;border:3px solid #eee;border-top-color:#4a6cf7;border-radius:50%;animation:spin-d133b4d9 .8s linear infinite}@keyframes spin-d133b4d9{to{transform:rotate(360deg)}}.btn-primary[data-v-d133b4d9]{padding:10px 24px;background:#4a6cf7;color:#fff;border:none;border-radius:10px;font-size:14px;cursor:pointer}.tomb-list[data-v-d133b4d9]{display:flex;flex-direction:column;gap:10px}.tomb-card[data-v-d133b4d9]{background:#fff;border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;box-shadow:0 1px 4px #0000000f;transition:transform .15s,box-shadow .15s;border:2px solid transparent}.tomb-card[data-v-d133b4d9]:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}.tomb-card[data-v-d133b4d9]:active{transform:scale(.98)}.tomb-card.highlighted[data-v-d133b4d9]{border-color:#4a6cf7;animation:highlight-pulse-d133b4d9 3s ease-in-out}@keyframes highlight-pulse-d133b4d9{0%,to{box-shadow:0 1px 4px #0000000f}50%{box-shadow:0 0 20px #4a6cf759}}.tomb-icon[data-v-d133b4d9]{font-size:28px;flex-shrink:0}.tomb-info[data-v-d133b4d9]{flex:1;min-width:0}.tomb-name[data-v-d133b4d9]{font-size:16px;font-weight:600;color:#222;margin:0 0 3px}.tomb-person[data-v-d133b4d9],.tomb-location[data-v-d133b4d9]{font-size:13px;color:#777;margin:2px 0}.last-visit[data-v-d133b4d9]{font-size:12px;color:#4a6cf7;margin:2px 0 0}.last-visit.no-visit[data-v-d133b4d9]{color:#bbb}.arrow[data-v-d133b4d9]{color:#bbb;font-size:20px;margin-left:auto;flex-shrink:0}.empty-state[data-v-d133b4d9]{display:flex;flex-direction:column;align-items:center;padding:60px 20px;color:#aaa;gap:6px}.empty-icon[data-v-d133b4d9]{font-size:52px;opacity:.4;margin-bottom:8px}.empty-tip[data-v-d133b4d9]{font-size:13px;color:#bbb}.btn-add[data-v-d133b4d9]{margin-top:12px;padding:10px 28px;background:#4a6cf7;color:#fff;border:none;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer}.fab[data-v-d133b4d9]{position:fixed;right:20px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s}.fab[data-v-d133b4d9]:active{transform:scale(.94)}.fab-add[data-v-d133b4d9]{bottom:24px;width:52px;height:52px;border-radius:50%;background:#4a6cf7;color:#fff;font-size:28px;box-shadow:0 4px 20px #4a6cf766}.fab-add[data-v-d133b4d9]:hover{box-shadow:0 6px 24px #4a6cf78c}.add-icon[data-v-d133b4d9]{width:26px;height:26px}.fab-map[data-v-d133b4d9]{bottom:88px;width:auto;min-width:110px;height:46px;padding:0 16px;border-radius:23px;background:#2d6a4f;color:#fff;box-shadow:0 4px 16px #2d6a4f66;gap:6px}.fab-map[data-v-d133b4d9]:hover{background:#245a42;box-shadow:0 6px 20px #2d6a4f80}.map-icon[data-v-d133b4d9]{width:20px;height:20px;flex-shrink:0}.map-text[data-v-d133b4d9]{font-size:14px;font-weight:500;white-space:nowrap}.tomb-detail-page[data-v-d4059249]{background:#f5f6fa;min-height:100vh;padding-bottom:40px}.nav-bar[data-v-d4059249]{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px}.back-btn[data-v-d4059249]{display:flex;align-items:center;gap:2px;background:none;border:none;color:#555;font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.back-btn[data-v-d4059249]:hover{background:#f0f1f5}.back-icon[data-v-d4059249]{font-size:22px;line-height:1;margin-top:-1px}.btn-edit-nav[data-v-d4059249]{background:#fff;border:1px solid #dde0ee;color:#4a6cf7;font-size:13px;padding:6px 14px;border-radius:20px;cursor:pointer;font-weight:500}.btn-edit-nav[data-v-d4059249]:hover{background:#f0f3ff}.loading-state[data-v-d4059249],.error-state[data-v-d4059249]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#999;gap:12px}.spinner[data-v-d4059249]{width:36px;height:36px;border:3px solid #eee;border-top-color:#4a6cf7;border-radius:50%;animation:spin-d4059249 .8s linear infinite}@keyframes spin-d4059249{to{transform:rotate(360deg)}}.btn-primary[data-v-d4059249]{background:#4a6cf7;color:#fff;border:none;border-radius:10px;padding:9px 18px;font-size:14px;cursor:pointer;font-weight:500}.hero[data-v-d4059249]{position:relative;overflow:hidden;padding:32px 20px 28px}.hero-bg[data-v-d4059249]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#78350f,#b45309 60%,#d97706)}.hero[data-v-d4059249]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 80% 20%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(255,255,255,.08) 0%,transparent 40%);pointer-events:none}.hero-body[data-v-d4059249]{position:relative;z-index:1;display:flex;align-items:center;gap:20px}.hero-icon[data-v-d4059249]{font-size:52px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));flex-shrink:0}.hero-info[data-v-d4059249]{flex:1}.hero-title[data-v-d4059249]{font-size:24px;font-weight:700;color:#fff;margin:0 0 6px;text-shadow:0 1px 4px rgba(0,0,0,.3)}.hero-sub[data-v-d4059249]{color:#ffffffd9;font-size:14px;margin:0}.content-wrap[data-v-d4059249]{padding:14px 14px 0;display:flex;flex-direction:column;gap:12px}.card[data-v-d4059249]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.card-title-row[data-v-d4059249]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.card-title[data-v-d4059249]{font-size:15px;font-weight:600;color:#333;margin-bottom:12px;display:flex;align-items:center;gap:6px}.card-icon[data-v-d4059249]{font-size:16px}.person-card[data-v-d4059249]{display:flex;align-items:flex-start}.person-card--link[data-v-d4059249]{cursor:pointer;border-radius:8px;padding:8px;margin:-8px;transition:background .15s}.person-card--link[data-v-d4059249]:hover{background:#f5f5f5}.person-avatar[data-v-d4059249]{width:56px;height:56px;border-radius:50%;overflow:hidden;margin-right:14px;flex-shrink:0;background:#e0e0e0}.person-avatar img[data-v-d4059249]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-d4059249]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#999;background:#f0f0f0}.person-info[data-v-d4059249]{flex:1}.person-name[data-v-d4059249]{font-size:16px;font-weight:600;color:#222;margin:0 0 4px}.person-dates[data-v-d4059249]{font-size:13px;color:#777;margin:2px 0}.person-generation[data-v-d4059249]{font-size:13px;color:#52b788;margin:2px 0}.person-bio[data-v-d4059249]{font-size:13px;color:#777;margin:2px 0}.person-detail-arrow[data-v-d4059249]{font-size:20px;color:#bbb;align-self:center;margin-left:auto}.photo-badge[data-v-d4059249]{background:#4a6cf7;color:#fff;border-radius:20px;padding:1px 8px;font-size:11px;font-weight:500}.btn-upload-sm[data-v-d4059249]{display:inline-flex;align-items:center;gap:6px;background:#4a6cf7;color:#fff;border-radius:999px;padding:8px 14px;font-size:13px;cursor:pointer}.btn-upload-sm.disabled[data-v-d4059249]{background:#bcc6f4;cursor:not-allowed}.photo-tip[data-v-d4059249],.upload-error[data-v-d4059249]{font-size:12px;line-height:1.6;margin:0 0 10px}.photo-tip[data-v-d4059249]{color:#8a6d3b}.upload-error[data-v-d4059249]{color:#dc2626}.photos-grid[data-v-d4059249]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-radius:8px;overflow:hidden}.photo-item[data-v-d4059249]{aspect-ratio:1;overflow:hidden;cursor:pointer;background:#eee}.photo-item img[data-v-d4059249]{width:100%;height:100%;object-fit:cover;transition:transform .2s}.photo-item:hover img[data-v-d4059249]{transform:scale(1.06)}.empty-photos[data-v-d4059249]{text-align:center;color:#9ca3af;padding:12px 0 4px}.location-info[data-v-d4059249]{margin-bottom:16px}.coordinates[data-v-d4059249]{font-size:13px;color:#888;line-height:1.8;margin:0 0 12px}.btn-map[data-v-d4059249]{width:100%;padding:11px;background:#f5f6fa;border:1px solid #e0e3f0;border-radius:10px;font-size:14px;color:#4a6cf7;cursor:pointer;font-weight:500;transition:background .15s}.btn-map[data-v-d4059249]:hover{background:#eef1fb}.map-layer-segment[data-v-d4059249]{display:flex;margin:14px 0 10px;background:#f0f1f5;border-radius:20px;padding:3px;gap:3px}.segment-btn[data-v-d4059249]{flex:1;padding:7px;background:transparent;border:none;border-radius:17px;font-size:13px;color:#777;cursor:pointer;transition:all .2s;font-weight:500}.segment-btn.active[data-v-d4059249]{background:#4a6cf7;color:#fff}.map-container[data-v-d4059249]{width:100%;height:200px;border-radius:10px;background:#e0e0e0;overflow:hidden}.visit-count-badge[data-v-d4059249]{font-size:12px;color:#999;font-weight:400;margin-left:auto}.last-visit[data-v-d4059249]{font-size:13px;color:#666;margin:0}.last-visit.no-visit[data-v-d4059249]{color:#bbb;font-style:italic}.visit-card[data-v-d4059249]{border-radius:10px;background:#f8f9fc;padding:12px 14px;display:flex;align-items:center;gap:12px;cursor:pointer;margin-bottom:8px;transition:background .15s}.visit-card[data-v-d4059249]:last-child{margin-bottom:0}.visit-card[data-v-d4059249]:hover{background:#eef1fb}.visit-date[data-v-d4059249]{text-align:center;flex-shrink:0;min-width:44px}.date-day[data-v-d4059249]{font-size:24px;font-weight:600;color:#4a6cf7;line-height:1}.date-month[data-v-d4059249]{font-size:11px;color:#999;margin-top:2px}.visit-content[data-v-d4059249]{flex:1;min-width:0}.participants[data-v-d4059249]{font-size:13px;color:#666;margin:0 0 4px}.message[data-v-d4059249]{font-size:13px;color:#666;line-height:1.5;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.photos[data-v-d4059249]{display:flex;gap:6px}.photos img[data-v-d4059249]{width:52px;height:52px;object-fit:cover;border-radius:6px;cursor:pointer}.more-photos[data-v-d4059249]{width:52px;height:52px;background:#e0e0e0;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#666}.empty-state .empty-content[data-v-d4059249]{text-align:center;padding:20px 0 8px;color:#bbb}.empty-icon[data-v-d4059249]{font-size:40px;margin-bottom:10px;opacity:.5}.empty-tip[data-v-d4059249]{font-size:12px;color:#ccc;margin:4px 0 0}.photo-viewer[data-v-d4059249]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:3000;display:flex;flex-direction:column}.viewer-header[data-v-d4059249]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;color:#fff}.viewer-content[data-v-d4059249]{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:20px;overflow:hidden}.viewer-close[data-v-d4059249]{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:8px}.nav-btn[data-v-d4059249]{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff2e;border:none;color:#fff;font-size:2rem;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.nav-btn[data-v-d4059249]:hover{background:#ffffff4d}.nav-btn.prev[data-v-d4059249]{left:16px}.nav-btn.next[data-v-d4059249]{right:16px}.viewer-image-wrapper[data-v-d4059249]{display:flex;align-items:center;justify-content:center;flex:1;height:100%;overflow:hidden}.viewer-image[data-v-d4059249]{max-width:100%;max-height:100%;object-fit:contain;will-change:transform}.viewer-counter[data-v-d4059249]{font-size:14px;display:inline-flex;align-items:center;gap:8px}.zoom-level[data-v-d4059249]{margin-left:8px;opacity:.8}.viewer-footer[data-v-d4059249]{padding:14px 20px;background:#00000080}.thumbnails[data-v-d4059249]{display:flex;gap:8px;overflow-x:auto;justify-content:center}.thumbnails img[data-v-d4059249]{width:56px;height:56px;object-fit:cover;border-radius:6px;cursor:pointer;opacity:.55;transition:all .2s;border:2px solid transparent;flex-shrink:0}.thumbnails img.active[data-v-d4059249]{opacity:1;border-color:#a855f7}.thumbnails img[data-v-d4059249]:hover{opacity:.9}.btn-delete-photo[data-v-d4059249]{border:none;background:#ef444438;color:#fff;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}.photo-delete-modal[data-v-d4059249]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:3200}.photo-delete-content[data-v-d4059249]{background:#fff;border-radius:18px;padding:22px 20px;width:calc(100% - 40px);max-width:320px}.photo-delete-content h3[data-v-d4059249]{margin:0 0 10px}.photo-delete-content p[data-v-d4059249]{margin:0;color:#6b7280;line-height:1.6}.photo-delete-actions[data-v-d4059249]{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.btn-secondary[data-v-d4059249],.btn-danger[data-v-d4059249]{border:none;border-radius:10px;padding:10px 16px;cursor:pointer}.btn-secondary[data-v-d4059249]{background:#f3f4f6;color:#4b5563}.btn-danger[data-v-d4059249]{background:#dc2626;color:#fff}.fab-record[data-v-d4059249]{position:fixed;bottom:24px;right:20px;background:#4a6cf7;color:#fff;border:none;border-radius:20px;padding:12px 20px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #4a6cf766;z-index:50;transition:transform .15s,box-shadow .15s}.fab-record[data-v-d4059249]:hover{transform:translateY(-2px);box-shadow:0 6px 24px #4a6cf780}.add-tomb-page[data-v-b26bbd61]{background:#f5f6fa;min-height:100vh;padding-bottom:40px}.proposal-hint[data-v-b26bbd61]{margin:0 14px 14px;color:#666;font-size:13px;line-height:1.6}.nav-bar[data-v-b26bbd61]{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px;position:relative}.nav-title[data-v-b26bbd61]{position:absolute;left:50%;transform:translate(-50%);font-size:16px;font-weight:600;color:#222;pointer-events:none}.back-btn[data-v-b26bbd61]{display:flex;align-items:center;gap:2px;background:none;border:none;color:#555;font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.back-btn[data-v-b26bbd61]:hover{background:#f0f1f5}.back-icon[data-v-b26bbd61]{font-size:22px;line-height:1;margin-top:-1px}.content-wrap[data-v-b26bbd61]{padding:14px 14px 0;display:flex;flex-direction:column;gap:12px}.card[data-v-b26bbd61]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.card-title[data-v-b26bbd61]{font-size:15px;font-weight:600;color:#333;margin-bottom:14px;display:flex;align-items:center;gap:6px}.card-icon[data-v-b26bbd61]{font-size:16px}.form-group[data-v-b26bbd61]{margin-bottom:14px}.form-group[data-v-b26bbd61]:last-child{margin-bottom:0}.form-group label[data-v-b26bbd61]{font-size:13px;color:#888;font-weight:500;margin-bottom:6px;display:block}.required[data-v-b26bbd61]{color:#ef4444}input[type=text][data-v-b26bbd61],input[type=number][data-v-b26bbd61],select[data-v-b26bbd61],textarea[data-v-b26bbd61]{width:100%;border:1.5px solid #e0e3ee;border-radius:10px;padding:10px 14px;font-size:15px;box-sizing:border-box;outline:none;background:#fff;color:#222;font-family:inherit}input[type=text][data-v-b26bbd61]:focus,input[type=number][data-v-b26bbd61]:focus,select[data-v-b26bbd61]:focus,textarea[data-v-b26bbd61]:focus{border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71a}textarea[data-v-b26bbd61]{resize:vertical;min-height:80px}select[data-v-b26bbd61]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.form-row[data-v-b26bbd61]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn-location[data-v-b26bbd61],.btn-map-picker[data-v-b26bbd61]{display:inline-flex;align-items:center;gap:6px;border:1.5px solid #e0e3ee;background:#fff;color:#555;border-radius:10px;padding:8px 14px;font-size:14px;cursor:pointer;margin-right:8px;margin-bottom:8px}.btn-location[data-v-b26bbd61]:hover,.btn-map-picker[data-v-b26bbd61]:hover{border-color:#4a6cf7;color:#4a6cf7}.btn-location[data-v-b26bbd61]:disabled,.btn-map-picker[data-v-b26bbd61]:disabled{opacity:.65;cursor:not-allowed}.location-tip[data-v-b26bbd61]{font-size:12px;color:#bbb;margin:4px 0 0}.location-tip--info[data-v-b26bbd61]{color:#7a7f8f}.location-tip--success[data-v-b26bbd61]{color:#2e7d32}.location-tip--error[data-v-b26bbd61]{color:#d14343}.photo-upload[data-v-b26bbd61]{text-align:center;padding:16px;border:1.5px dashed #e0e3ee;border-radius:10px;margin-bottom:12px}.btn-photo[data-v-b26bbd61]{display:inline-flex;align-items:center;gap:6px;background:#4a6cf7;color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:14px;cursor:pointer;font-weight:500}.photo-tip[data-v-b26bbd61]{font-size:12px;color:#bbb;margin:8px 0 0}.photo-preview-list[data-v-b26bbd61]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.photo-preview-item[data-v-b26bbd61]{aspect-ratio:1;border-radius:10px;overflow:hidden;position:relative}.photo-preview-item img[data-v-b26bbd61]{width:100%;height:100%;object-fit:cover}.btn-remove-photo[data-v-b26bbd61]{position:absolute;top:4px;right:4px;background:#0009;color:#fff;border:none;border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.btn-submit[data-v-b26bbd61]{display:block;margin:14px 14px 24px;width:calc(100% - 28px);background:#4a6cf7;color:#fff;border:none;border-radius:14px;padding:14px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #4a6cf74d}.btn-submit[data-v-b26bbd61]:hover{background:#3a5ce5}.btn-submit[data-v-b26bbd61]:disabled{background:#b0b8f0;cursor:not-allowed;box-shadow:none}.map-picker-modal[data-v-b26bbd61]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.map-picker-content[data-v-b26bbd61]{background:#fff;border-radius:20px;overflow:hidden;max-width:480px;width:calc(100% - 40px);max-height:80vh;display:flex;flex-direction:column}.map-picker-header[data-v-b26bbd61]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #eee}.map-picker-header h3[data-v-b26bbd61]{margin:0;font-size:16px;font-weight:600;color:#222}.map-controls[data-v-b26bbd61]{display:flex;gap:8px;align-items:center}.btn-layer[data-v-b26bbd61],.btn-close[data-v-b26bbd61]{border:none;border-radius:8px;padding:6px 12px;cursor:pointer;font-size:13px}.btn-layer[data-v-b26bbd61]{background:#f0f0f0;color:#555}.btn-close[data-v-b26bbd61]{background:#f0f0f0;color:#555;font-size:18px}.picker-map-container[data-v-b26bbd61]{width:100%;height:400px;background:#f5f6fa}.map-picker-footer[data-v-b26bbd61]{padding:16px;border-top:1px solid #eee}.selected-coords[data-v-b26bbd61]{font-size:13px;color:#666;margin:0 0 12px}.btn-confirm[data-v-b26bbd61]{background:#4a6cf7;color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:15px;cursor:pointer;font-weight:500;width:100%}.btn-confirm[data-v-b26bbd61]:disabled{background:#ccc;cursor:not-allowed}.success-modal[data-v-b26bbd61]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.success-content[data-v-b26bbd61]{background:#fff;border-radius:20px;padding:32px 24px;text-align:center;max-width:300px;width:90%}.success-icon[data-v-b26bbd61]{width:64px;height:64px;border-radius:50%;background:#d1fae5;color:#059669;font-size:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.success-content h3[data-v-b26bbd61]{font-size:18px;color:#333;margin:0 0 8px}.success-content p[data-v-b26bbd61]{color:#666;margin:0 0 24px}.btn-primary[data-v-b26bbd61]{padding:12px 32px;background:#4a6cf7;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer}.edit-tomb-page[data-v-c68c37f1]{background:#f5f6fa;min-height:100vh;padding-bottom:40px}.proposal-hint[data-v-c68c37f1]{margin:0 14px 14px;color:#666;font-size:13px;line-height:1.6}.nav-bar[data-v-c68c37f1]{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px;position:relative}.nav-title[data-v-c68c37f1]{position:absolute;left:50%;transform:translate(-50%);font-size:16px;font-weight:600;color:#222;pointer-events:none}.back-btn[data-v-c68c37f1]{display:flex;align-items:center;gap:2px;background:none;border:none;color:#555;font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.back-btn[data-v-c68c37f1]:hover{background:#f0f1f5}.back-icon[data-v-c68c37f1]{font-size:22px;line-height:1;margin-top:-1px}.loading-state[data-v-c68c37f1],.error-state[data-v-c68c37f1]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#888;gap:12px}.spinner[data-v-c68c37f1]{width:36px;height:36px;border:3px solid #e0e3ee;border-top-color:#4a6cf7;border-radius:50%;animation:spin-c68c37f1 1s linear infinite}@keyframes spin-c68c37f1{to{transform:rotate(360deg)}}.content-wrap[data-v-c68c37f1]{padding:14px 14px 0;display:flex;flex-direction:column;gap:12px}.card[data-v-c68c37f1]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.card-title[data-v-c68c37f1]{font-size:15px;font-weight:600;color:#333;margin-bottom:14px;display:flex;align-items:center;gap:6px}.card-icon[data-v-c68c37f1]{font-size:16px}.form-group[data-v-c68c37f1]{margin-bottom:14px}.form-group[data-v-c68c37f1]:last-child{margin-bottom:0}.form-group label[data-v-c68c37f1]{font-size:13px;color:#888;font-weight:500;margin-bottom:6px;display:block}.required[data-v-c68c37f1]{color:#ef4444}input[type=text][data-v-c68c37f1],input[type=number][data-v-c68c37f1],select[data-v-c68c37f1],textarea[data-v-c68c37f1]{width:100%;border:1.5px solid #e0e3ee;border-radius:10px;padding:10px 14px;font-size:15px;box-sizing:border-box;outline:none;background:#fff;color:#222;font-family:inherit}input[type=text][data-v-c68c37f1]:focus,input[type=number][data-v-c68c37f1]:focus,select[data-v-c68c37f1]:focus,textarea[data-v-c68c37f1]:focus{border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71a}textarea[data-v-c68c37f1]{resize:vertical;min-height:80px}select[data-v-c68c37f1]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.form-row[data-v-c68c37f1]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn-location[data-v-c68c37f1],.btn-map-picker[data-v-c68c37f1]{display:inline-flex;align-items:center;gap:6px;border:1.5px solid #e0e3ee;background:#fff;color:#555;border-radius:10px;padding:8px 14px;font-size:14px;cursor:pointer;margin-right:8px;margin-bottom:8px}.btn-location[data-v-c68c37f1]:hover,.btn-map-picker[data-v-c68c37f1]:hover{border-color:#4a6cf7;color:#4a6cf7}.btn-location[data-v-c68c37f1]:disabled,.btn-map-picker[data-v-c68c37f1]:disabled{opacity:.65;cursor:not-allowed}.location-tip[data-v-c68c37f1]{font-size:12px;color:#bbb;margin:4px 0 0}.location-tip--info[data-v-c68c37f1]{color:#7a7f8f}.location-tip--success[data-v-c68c37f1]{color:#2e7d32}.location-tip--error[data-v-c68c37f1]{color:#d14343}.photo-upload[data-v-c68c37f1]{text-align:center;padding:16px;border:1.5px dashed #e0e3ee;border-radius:10px;margin-top:12px}.btn-photo[data-v-c68c37f1]{display:inline-flex;align-items:center;gap:6px;background:#4a6cf7;color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:14px;cursor:pointer;font-weight:500}.photo-tip[data-v-c68c37f1]{font-size:12px;color:#bbb;margin:8px 0 0}.upload-error[data-v-c68c37f1]{font-size:12px;color:#dc2626;margin:8px 0 0}.photo-preview-list[data-v-c68c37f1]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.photo-preview-item[data-v-c68c37f1]{aspect-ratio:1;border-radius:10px;overflow:hidden;position:relative}.photo-preview-item img[data-v-c68c37f1]{width:100%;height:100%;object-fit:cover}.btn-remove-photo[data-v-c68c37f1]{position:absolute;top:4px;right:4px;background:#0009;color:#fff;border:none;border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.btn-submit[data-v-c68c37f1]{display:block;margin:14px 14px 8px;width:calc(100% - 28px);background:#4a6cf7;color:#fff;border:none;border-radius:14px;padding:14px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #4a6cf74d}.btn-submit[data-v-c68c37f1]:hover{background:#3a5ce5}.btn-submit[data-v-c68c37f1]:disabled{background:#b0b8f0;cursor:not-allowed;box-shadow:none}.btn-delete[data-v-c68c37f1]{display:block;margin:0 14px 24px;width:calc(100% - 28px);background:#fff;color:#ef4444;border:1.5px solid #fee2e2;border-radius:14px;padding:12px;font-size:15px;cursor:pointer}.btn-delete[data-v-c68c37f1]:hover{background:#fef2f2}.btn-delete[data-v-c68c37f1]:disabled{color:#ccc;border-color:#eee;cursor:not-allowed}.map-picker-modal[data-v-c68c37f1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.map-picker-content[data-v-c68c37f1]{background:#fff;border-radius:20px;overflow:hidden;max-width:480px;width:calc(100% - 40px);max-height:80vh;display:flex;flex-direction:column}.map-picker-header[data-v-c68c37f1]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #eee}.map-picker-header h3[data-v-c68c37f1]{margin:0;font-size:16px;font-weight:600;color:#222}.map-controls[data-v-c68c37f1]{display:flex;gap:8px;align-items:center}.btn-layer[data-v-c68c37f1],.btn-close[data-v-c68c37f1]{border:none;border-radius:8px;padding:6px 12px;cursor:pointer;font-size:13px}.btn-layer[data-v-c68c37f1]{background:#f0f0f0;color:#555}.btn-close[data-v-c68c37f1]{background:#f0f0f0;color:#555;font-size:18px}.picker-map-container[data-v-c68c37f1]{width:100%;height:400px;background:#f5f6fa}.map-picker-footer[data-v-c68c37f1]{padding:16px;border-top:1px solid #eee}.selected-coords[data-v-c68c37f1]{font-size:13px;color:#666;margin:0 0 12px}.btn-confirm[data-v-c68c37f1]{background:#4a6cf7;color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:15px;cursor:pointer;font-weight:500;width:100%}.btn-confirm[data-v-c68c37f1]:disabled{background:#ccc;cursor:not-allowed}.confirm-modal[data-v-c68c37f1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-content[data-v-c68c37f1]{background:#fff;border-radius:20px;padding:32px 24px;text-align:center;max-width:340px;width:calc(100% - 40px)}.confirm-icon[data-v-c68c37f1]{font-size:3rem;margin-bottom:16px}.confirm-content h3[data-v-c68c37f1]{font-size:18px;color:#333;margin:0 0 8px}.confirm-content>p[data-v-c68c37f1]{color:#666;margin:0 0 16px}.confirm-details[data-v-c68c37f1]{text-align:left;background:#f5f6fa;padding:14px 16px;border-radius:10px;margin-bottom:12px}.confirm-details p[data-v-c68c37f1]{margin:0 0 8px;color:#333;font-size:14px}.confirm-details ul[data-v-c68c37f1]{margin:0;padding-left:20px;color:#666;font-size:14px}.confirm-details li[data-v-c68c37f1]{margin-bottom:4px}.confirm-warning[data-v-c68c37f1]{color:#ef4444!important;font-weight:600;margin-bottom:24px!important}.confirm-actions[data-v-c68c37f1]{display:flex;gap:12px}.btn-cancel[data-v-c68c37f1]{flex:1;padding:12px;background:#f5f6fa;color:#666;border:1.5px solid #e0e3ee;border-radius:10px;font-size:15px;cursor:pointer}.btn-confirm-delete[data-v-c68c37f1]{flex:1;padding:12px;background:#ef4444;color:#fff;border:none;border-radius:10px;font-size:15px;cursor:pointer}.btn-confirm-delete[data-v-c68c37f1]:disabled{background:#ccc;cursor:not-allowed}.success-modal[data-v-c68c37f1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.success-content[data-v-c68c37f1]{background:#fff;border-radius:20px;padding:32px 24px;text-align:center;max-width:300px;width:90%}.success-icon[data-v-c68c37f1]{width:64px;height:64px;border-radius:50%;background:#d1fae5;color:#059669;font-size:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.success-content h3[data-v-c68c37f1]{font-size:18px;color:#333;margin:0 0 8px}.success-content p[data-v-c68c37f1]{color:#666;margin:0 0 24px}.btn-primary[data-v-c68c37f1]{padding:12px 32px;background:#4a6cf7;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer}.visit-list-page[data-v-125a8605]{background:#f5f6fa;min-height:100vh;padding-bottom:80px}.nav-bar[data-v-125a8605]{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px}.back-btn[data-v-125a8605]{display:flex;align-items:center;gap:2px;background:none;border:none;color:#555;font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.back-btn[data-v-125a8605]:hover{background:#f0f1f5}.back-icon[data-v-125a8605]{font-size:22px;line-height:1;margin-top:-1px}.btn-record-nav[data-v-125a8605]{background:#fff;border:1px solid #dde0ee;color:#4a6cf7;font-size:13px;padding:6px 14px;border-radius:20px;cursor:pointer;font-weight:500}.hero[data-v-125a8605]{position:relative;overflow:hidden;padding:28px 20px 24px}.hero-bg[data-v-125a8605]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#7c3aed,#a855f7 60%,#c084fc)}.hero-bg[data-v-125a8605]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 80% 20%,rgba(255,255,255,.12) 0%,transparent 60%)}.hero-body[data-v-125a8605]{position:relative;z-index:1;display:flex;align-items:center;gap:16px}.hero-icon[data-v-125a8605]{font-size:48px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.hero-title[data-v-125a8605]{font-size:22px;font-weight:700;color:#fff;margin:0 0 4px;text-shadow:0 1px 4px rgba(0,0,0,.2)}.hero-sub[data-v-125a8605]{color:#ffffffd9;font-size:13px;margin:0}.content-wrap[data-v-125a8605]{padding:14px 14px 0;display:flex;flex-direction:column;gap:12px}.card[data-v-125a8605]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.filter-card[data-v-125a8605]{padding:12px 16px}.filter-card select[data-v-125a8605]{width:100%;border:1.5px solid #e0e3ee;border-radius:10px;padding:8px 14px;font-size:14px;box-sizing:border-box;outline:none;background:#fff;color:#222;-webkit-appearance:none;-moz-appearance:none;appearance:none}.filter-card select[data-v-125a8605]:focus{border-color:#4a6cf7}.visit-list[data-v-125a8605]{display:flex;flex-direction:column;gap:10px}.visit-card[data-v-125a8605]{background:#fff;border-radius:14px;padding:14px 16px;display:flex;align-items:flex-start;gap:14px;cursor:pointer;box-shadow:0 1px 4px #0000000f;transition:transform .15s,box-shadow .15s}.visit-card[data-v-125a8605]:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}.visit-date[data-v-125a8605]{display:flex;flex-direction:column;align-items:center;min-width:40px;padding:6px 10px;background:#f8f0ff;border-radius:10px}.date-day[data-v-125a8605]{font-size:22px;font-weight:700;color:#7c3aed;line-height:1}.date-month[data-v-125a8605]{font-size:11px;color:#a855f7;margin-top:2px}.visit-content[data-v-125a8605]{flex:1}.tomb-name[data-v-125a8605]{font-size:15px;font-weight:600;color:#222;margin:0 0 4px}.participants[data-v-125a8605]{font-size:13px;color:#777;margin:2px 0}.message[data-v-125a8605]{font-size:13px;color:#555;margin:4px 0;line-height:1.5}.photos[data-v-125a8605]{display:flex;gap:4px;margin-top:8px}.photos img[data-v-125a8605]{width:44px;height:44px;border-radius:6px;object-fit:cover;cursor:pointer}.more-photos[data-v-125a8605]{background:#f0f0f0;border-radius:6px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#777}.fab[data-v-125a8605]{position:fixed;bottom:24px;right:20px;width:52px;height:52px;border-radius:50%;background:#7c3aed;color:#fff;border:none;font-size:28px;cursor:pointer;box-shadow:0 4px 20px #7c3aed66;display:flex;align-items:center;justify-content:center}.loading-state[data-v-125a8605],.error-state[data-v-125a8605]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#999;gap:12px}.spinner[data-v-125a8605]{width:36px;height:36px;border:3px solid #eee;border-top-color:#4a6cf7;border-radius:50%;animation:spin-125a8605 .8s linear infinite}@keyframes spin-125a8605{to{transform:rotate(360deg)}}.empty-state[data-v-125a8605]{text-align:center;padding:60px 20px;color:#bbb}.empty-icon[data-v-125a8605]{font-size:48px;margin-bottom:12px}.empty-tip[data-v-125a8605]{font-size:13px;color:#ccc;margin:4px 0 0}.btn-record[data-v-125a8605]{background:#7c3aed;color:#fff;border:none;border-radius:20px;padding:10px 24px;font-size:14px;font-weight:500;cursor:pointer;margin-top:12px}.btn-primary[data-v-125a8605]{background:#4a6cf7;color:#fff;border:none;border-radius:20px;padding:10px 24px;font-size:14px;font-weight:500;cursor:pointer}.visit-detail-page[data-v-07512d9a]{background:#f5f6fa;min-height:100vh;padding-bottom:40px}.nav-bar[data-v-07512d9a]{position:sticky;top:0;z-index:100;background:#fff;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;box-shadow:0 1px #0000000f}.back-btn[data-v-07512d9a]{background:none;border:none;color:#333;font-size:16px;cursor:pointer;display:flex;align-items:center;gap:2px;padding:0}.back-icon[data-v-07512d9a]{font-size:22px;line-height:1;color:#7c3aed}.btn-edit-nav[data-v-07512d9a]{background:#fff;border:1px solid #dde0ee;color:#7c3aed;font-size:13px;padding:6px 14px;border-radius:20px;cursor:pointer;font-weight:500}.loading-state[data-v-07512d9a],.error-state[data-v-07512d9a]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#888;gap:12px}.spinner[data-v-07512d9a]{width:36px;height:36px;border:3px solid #e9e0ff;border-top-color:#7c3aed;border-radius:50%;animation:spin-07512d9a .9s linear infinite}@keyframes spin-07512d9a{to{transform:rotate(360deg)}}.btn-primary[data-v-07512d9a]{background:#7c3aed;color:#fff;border:none;border-radius:20px;padding:9px 20px;font-size:14px;cursor:pointer}.hero[data-v-07512d9a]{position:relative;overflow:hidden;padding:28px 20px 24px}.hero-bg[data-v-07512d9a]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#4c1d95,#7c3aed 60%,#a855f7)}.hero[data-v-07512d9a]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 80% 20%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(255,255,255,.08) 0%,transparent 40%);pointer-events:none}.hero-body[data-v-07512d9a]{position:relative;z-index:1;display:flex;align-items:center;gap:16px}.hero-icon[data-v-07512d9a]{font-size:48px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.hero-title[data-v-07512d9a]{font-size:22px;font-weight:700;color:#fff;margin:0 0 4px}.hero-sub[data-v-07512d9a]{color:#ffffffd9;font-size:13px;margin:0}.content-wrap[data-v-07512d9a]{padding:16px;display:flex;flex-direction:column;gap:14px}.card[data-v-07512d9a]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.card-title[data-v-07512d9a]{font-size:14px;font-weight:600;color:#333;display:flex;align-items:center;gap:6px;margin-bottom:14px}.card-icon[data-v-07512d9a]{font-size:16px}.photo-badge[data-v-07512d9a]{margin-left:auto;background:#f5f3ff;color:#7c3aed;font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px}.info-header[data-v-07512d9a]{display:flex;gap:14px;align-items:flex-start}.visit-date-chip[data-v-07512d9a]{display:flex;flex-direction:column;align-items:center;background:#f5f3ff;border-radius:10px;padding:8px 12px;min-width:44px;flex-shrink:0}.date-day[data-v-07512d9a]{font-size:22px;font-weight:700;color:#7c3aed;line-height:1.1}.date-month[data-v-07512d9a]{font-size:11px;color:#a855f7;margin-top:2px}.info-body[data-v-07512d9a]{flex:1;display:flex;flex-direction:column;gap:8px}.participants[data-v-07512d9a]{font-size:14px;color:#666;margin:0}.message-text[data-v-07512d9a]{font-size:14px;color:#555;line-height:1.7;white-space:pre-wrap;margin:0}.photos-grid[data-v-07512d9a]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-item[data-v-07512d9a]{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;cursor:pointer}.photo-item img[data-v-07512d9a]{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.photo-item:hover img[data-v-07512d9a]{transform:scale(1.05)}.photo-overlay[data-v-07512d9a]{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000047;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.photo-item:hover .photo-overlay[data-v-07512d9a]{opacity:1}.zoom-icon[data-v-07512d9a]{font-size:1.4rem}.action-row[data-v-07512d9a]{display:flex;gap:10px;padding-bottom:8px}.btn-share[data-v-07512d9a]{border:1.5px solid #e0e3ee;color:#555;background:#fff;border-radius:20px;padding:8px 16px;cursor:pointer;font-size:14px;flex:1}.btn-edit[data-v-07512d9a]{border:1.5px solid #dde0ee;color:#7c3aed;background:#fff;border-radius:20px;padding:8px 16px;cursor:pointer;font-size:14px;flex:1}.btn-delete[data-v-07512d9a]{border:1.5px solid #fee2e2;color:#ef4444;background:#fff;border-radius:20px;padding:8px 16px;cursor:pointer;font-size:14px;flex:1}.photo-viewer[data-v-07512d9a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:2000;display:flex;flex-direction:column}.viewer-header[data-v-07512d9a]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;color:#fff}.viewer-counter[data-v-07512d9a]{font-size:14px}.zoom-level[data-v-07512d9a]{margin-left:8px;opacity:.75}.viewer-close[data-v-07512d9a]{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:8px}.viewer-content[data-v-07512d9a]{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:20px;overflow:hidden}.viewer-image-wrapper[data-v-07512d9a]{display:flex;align-items:center;justify-content:center;flex:1;height:100%;overflow:hidden}.viewer-image[data-v-07512d9a]{max-width:100%;max-height:100%;object-fit:contain;will-change:transform}.nav-btn[data-v-07512d9a]{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff2e;border:none;color:#fff;font-size:2rem;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.nav-btn[data-v-07512d9a]:hover{background:#ffffff4d}.nav-btn.prev[data-v-07512d9a]{left:16px}.nav-btn.next[data-v-07512d9a]{right:16px}.viewer-footer[data-v-07512d9a]{padding:14px 20px;background:#00000080}.thumbnails[data-v-07512d9a]{display:flex;gap:8px;overflow-x:auto;justify-content:center}.thumbnails img[data-v-07512d9a]{width:56px;height:56px;object-fit:cover;border-radius:6px;cursor:pointer;opacity:.55;transition:all .2s;border:2px solid transparent;flex-shrink:0}.thumbnails img.active[data-v-07512d9a]{opacity:1;border-color:#a855f7}.thumbnails img[data-v-07512d9a]:hover{opacity:.9}.modal[data-v-07512d9a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:3000;padding:20px}.modal-content[data-v-07512d9a]{background:#fff;border-radius:20px;padding:28px 24px 20px;width:100%;max-width:320px;text-align:center;box-shadow:0 8px 32px #0000002e}.modal-content h3[data-v-07512d9a]{font-size:17px;font-weight:700;color:#222;margin:0 0 10px}.modal-content p[data-v-07512d9a]{font-size:14px;color:#666;margin:0 0 22px;line-height:1.55}.modal-actions[data-v-07512d9a]{display:flex;gap:12px}.btn-cancel[data-v-07512d9a]{flex:1;padding:11px;border:1.5px solid #e5e7ef;border-radius:12px;background:#fff;color:#555;font-size:14px;cursor:pointer}.btn-confirm-delete[data-v-07512d9a]{flex:1;padding:11px;border:none;border-radius:12px;background:#ef4444;color:#fff;font-size:14px;cursor:pointer;font-weight:600}.visit-record-page[data-v-a2e2a181]{background:#f5f6fa;min-height:100vh;padding-bottom:40px}.nav-bar[data-v-a2e2a181]{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px;position:relative}.nav-title[data-v-a2e2a181]{position:absolute;left:50%;transform:translate(-50%);font-size:16px;font-weight:600;color:#222;pointer-events:none}.back-btn[data-v-a2e2a181]{display:flex;align-items:center;gap:2px;background:none;border:none;color:#555;font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.back-btn[data-v-a2e2a181]:hover{background:#f0f1f5}.back-icon[data-v-a2e2a181]{font-size:22px;line-height:1;margin-top:-1px}.content-wrap[data-v-a2e2a181]{padding:14px 14px 0;display:flex;flex-direction:column;gap:12px}.card[data-v-a2e2a181]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.card-title[data-v-a2e2a181]{font-size:15px;font-weight:600;color:#333;margin-bottom:14px;display:flex;align-items:center;gap:6px}.form-group[data-v-a2e2a181]{margin-bottom:14px}.form-group[data-v-a2e2a181]:last-child{margin-bottom:0}.form-group label[data-v-a2e2a181]{display:block;margin-bottom:8px;color:#555;font-size:14px}.required[data-v-a2e2a181]{color:#e74c3c}.form-group input[data-v-a2e2a181],.form-group select[data-v-a2e2a181],.form-group textarea[data-v-a2e2a181]{width:100%;padding:12px;border:1px solid #ddd;border-radius:10px;font-size:14px;transition:border-color .2s;box-sizing:border-box}.form-group input[data-v-a2e2a181]:focus,.form-group select[data-v-a2e2a181]:focus,.form-group textarea[data-v-a2e2a181]:focus{outline:none;border-color:#4caf50}.help-text[data-v-a2e2a181]{font-size:12px;color:#999;margin:6px 0 8px}.multi-select-container[data-v-a2e2a181]{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;border:1.5px solid #e0e3ee;border-radius:10px;padding:4px;background:#fff}.select-option[data-v-a2e2a181]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:14px;color:#333;transition:background .12s}.select-option[data-v-a2e2a181]:hover{background:#f0f3ff}.select-option.selected[data-v-a2e2a181]{background:#eef1ff;color:#4a6cf7;font-weight:500}.select-option input[type=checkbox][data-v-a2e2a181]{accent-color:#4a6cf7;width:16px;height:16px;flex-shrink:0;cursor:pointer}.select-option-empty[data-v-a2e2a181]{color:#bbb;cursor:default}.select-option-empty[data-v-a2e2a181]:hover{background:transparent}.photo-upload[data-v-a2e2a181]{display:flex;align-items:center;gap:12px}.btn-upload[data-v-a2e2a181]{padding:10px 20px;background:#f8f9fa;color:#555;border:1px solid #ddd;border-radius:10px;cursor:pointer;font-size:14px}.upload-tip[data-v-a2e2a181]{color:#999;font-size:13px}.photo-preview[data-v-a2e2a181]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.preview-item[data-v-a2e2a181]{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden}.preview-item img[data-v-a2e2a181]{width:100%;height:100%;object-fit:cover}.preview-badge[data-v-a2e2a181]{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:999px;background:#0000008c;color:#fff;font-size:11px}.btn-remove[data-v-a2e2a181]{position:absolute;top:6px;right:6px;width:24px;height:24px;border:none;border-radius:50%;background:#0009;color:#fff;cursor:pointer;font-size:16px;line-height:1}.btn-submit[data-v-a2e2a181]{width:calc(100% - 28px);margin:18px 14px 0;padding:14px;background:linear-gradient(135deg,#43a047,#66bb6a);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 8px 18px #4caf5033}.btn-submit[data-v-a2e2a181]:disabled{opacity:.6;cursor:not-allowed}.loading-state[data-v-a2e2a181],.error-state[data-v-a2e2a181]{padding:40px 20px;text-align:center;color:#666}.success-modal[data-v-a2e2a181]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:2000}.success-content[data-v-a2e2a181]{width:min(320px,calc(100vw - 32px));background:#fff;border-radius:18px;padding:28px 24px;text-align:center}.success-icon[data-v-a2e2a181]{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:#e8f5e9;color:#43a047;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}.btn-primary[data-v-a2e2a181]{margin-top:14px;padding:10px 24px;border:none;border-radius:10px;background:#43a047;color:#fff;cursor:pointer}.avatar-display[data-v-0d573e6b]{display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#e0e0e0,#f5f5f5);color:#666;font-weight:600;overflow:hidden;flex-shrink:0;box-shadow:0 2px 4px #0000001a}.avatar-display.has-image[data-v-0d573e6b]{background:#f0f0f0}.avatar-image[data-v-0d573e6b]{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-text[data-v-0d573e6b]{-webkit-user-select:none;user-select:none;line-height:1}.avatar-upload[data-v-92c77645]{display:flex;flex-direction:column;align-items:center;gap:12px}.avatar-preview[data-v-92c77645]{position:relative;border-radius:50%;cursor:pointer;overflow:hidden;border:2px dashed #ddd;transition:all .3s ease}.avatar-preview[data-v-92c77645]:hover{border-color:#4caf50;box-shadow:0 4px 12px #4caf5033}.upload-overlay[data-v-92c77645]{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:8px}.spinner[data-v-92c77645]{width:24px;height:24px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-92c77645 .8s linear infinite}@keyframes spin-92c77645{to{transform:rotate(360deg)}}.upload-text[data-v-92c77645]{font-size:12px}.upload-hint[data-v-92c77645]{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;opacity:0;transition:opacity .3s ease}.avatar-preview:hover .upload-hint[data-v-92c77645]{opacity:1}.file-input[data-v-92c77645]{display:none}.avatar-actions[data-v-92c77645]{display:flex;gap:8px}.btn-delete[data-v-92c77645]{padding:6px 12px;font-size:12px;color:#f44336;background:transparent;border:1px solid #f44336;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-preview[data-v-92c77645]{padding:6px 12px;font-size:12px;color:#4a6cf7;background:transparent;border:1px solid #4a6cf7;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-preview[data-v-92c77645]:hover{background:#4a6cf7;color:#fff}.btn-delete[data-v-92c77645]:hover{background:#f44336;color:#fff}.btn-delete[data-v-92c77645]:disabled{opacity:.5;cursor:not-allowed}.error-message[data-v-92c77645]{color:#f44336;font-size:12px;margin:0;text-align:center}.upload-tip[data-v-92c77645]{color:#999;font-size:11px;margin:0;text-align:center}.preview-overlay[data-v-92c77645]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px}.preview-dialog[data-v-92c77645]{position:relative;width:min(92vw,720px);height:min(88vh,720px);display:flex;flex-direction:column;gap:12px}.preview-close[data-v-92c77645]{position:absolute;top:0;right:0;width:40px;height:40px;border-radius:50%;border:none;background:#ffffff29;color:#fff;font-size:28px;cursor:pointer;z-index:2}.preview-toolbar[data-v-92c77645]{display:flex;justify-content:center;gap:10px;padding-top:4px}.preview-btn[data-v-92c77645]{min-width:60px;border:1px solid rgba(255,255,255,.2);background:#ffffff24;color:#fff;border-radius:999px;padding:8px 14px;cursor:pointer}.preview-stage[data-v-92c77645]{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.preview-image[data-v-92c77645]{max-width:100%;max-height:100%;object-fit:contain;transition:transform .15s ease}.partial-date-input[data-v-cfd0fbd1]{display:flex;flex-direction:column;gap:10px}.precision-row[data-v-cfd0fbd1]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.precision-label[data-v-cfd0fbd1]{font-size:12px;color:#6b7280}.precision-options[data-v-cfd0fbd1]{display:flex;gap:8px;flex-wrap:wrap}.precision-btn[data-v-cfd0fbd1],.clear-btn[data-v-cfd0fbd1]{border:1px solid #d8e1dc;background:#fff;color:#35574a;border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer}.precision-btn.active[data-v-cfd0fbd1]{background:#2d6a4f;border-color:#2d6a4f;color:#fff}.clear-btn[data-v-cfd0fbd1]{color:#6b7280}.field-row[data-v-cfd0fbd1]{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px}.field[data-v-cfd0fbd1]{width:100%;border:1.5px solid #e0e3ee;border-radius:10px;padding:10px 14px;font-size:15px;box-sizing:border-box;outline:none;background:#fff;color:#222;font-family:inherit}.field[data-v-cfd0fbd1]:focus{border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71a}@media (max-width: 640px){.field-row[data-v-cfd0fbd1]{grid-template-columns:1fr}}.add-person-page[data-v-dce522a3]{background:#f5f6fa;min-height:100vh;padding-bottom:40px}.proposal-hint[data-v-dce522a3]{margin:0 14px 14px;color:#666;font-size:13px;line-height:1.6}.avatar-note[data-v-dce522a3]{margin-top:12px;color:#8a6d3b;font-size:12px;line-height:1.6}.nav-bar[data-v-dce522a3]{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px}.nav-title[data-v-dce522a3]{position:absolute;left:50%;transform:translate(-50%);font-size:16px;font-weight:600;color:#222;pointer-events:none}.back-btn[data-v-dce522a3]{display:flex;align-items:center;gap:2px;background:none;border:none;color:#555;font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.back-btn[data-v-dce522a3]:hover{background:#f0f1f5}.back-icon[data-v-dce522a3]{font-size:22px;line-height:1;margin-top:-1px}.content-wrap[data-v-dce522a3]{padding:14px 14px 0;display:flex;flex-direction:column;gap:12px}.card[data-v-dce522a3]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.card-title[data-v-dce522a3]{font-size:15px;font-weight:600;color:#333;margin-bottom:14px;display:flex;align-items:center;gap:6px}.card-icon[data-v-dce522a3]{font-size:16px}.avatar-section[data-v-dce522a3]{display:flex;flex-direction:column;align-items:center}.form-group[data-v-dce522a3]{margin-bottom:14px}.form-group[data-v-dce522a3]:last-child{margin-bottom:0}label[data-v-dce522a3]{font-size:13px;color:#888;font-weight:500;margin-bottom:6px;display:block}.required[data-v-dce522a3]{color:#ef4444}input[type=text][data-v-dce522a3],select[data-v-dce522a3],textarea[data-v-dce522a3]{width:100%;border:1.5px solid #e0e3ee;border-radius:10px;padding:10px 14px;font-size:15px;box-sizing:border-box;outline:none;background:#fff;color:#222;font-family:inherit}input[type=text][data-v-dce522a3]:focus,select[data-v-dce522a3]:focus,textarea[data-v-dce522a3]:focus{border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71a}textarea[data-v-dce522a3]{resize:vertical;min-height:100px;line-height:1.6}select[data-v-dce522a3]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-row[data-v-dce522a3]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.help-text[data-v-dce522a3]{font-size:12px;color:#bbb;margin:4px 0 0}.multi-select-container[data-v-dce522a3]{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;border:1.5px solid #e0e3ee;border-radius:10px;padding:4px}.select-option[data-v-dce522a3]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:14px;color:#333;transition:background .12s}.select-option[data-v-dce522a3]:hover{background:#f0f3ff}.select-option.selected[data-v-dce522a3]{background:#eef1ff;color:#4a6cf7;font-weight:500}.select-option input[type=checkbox][data-v-dce522a3]{accent-color:#4a6cf7;width:16px;height:16px;flex-shrink:0;cursor:pointer}.btn-submit[data-v-dce522a3]{display:block;margin:14px 14px 24px;width:calc(100% - 28px);background:#4a6cf7;color:#fff;border:none;border-radius:14px;padding:14px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #4a6cf74d}.btn-submit[data-v-dce522a3]:disabled{background:#b0b8f0;cursor:not-allowed;box-shadow:none}.success-modal[data-v-dce522a3]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.success-content[data-v-dce522a3]{background:#fff;padding:36px 28px;border-radius:20px;text-align:center;width:80%;max-width:300px;box-shadow:0 8px 40px #0000002e}.success-icon[data-v-dce522a3]{width:60px;height:60px;background:#4a6cf7;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 16px}.success-content h3[data-v-dce522a3]{font-size:18px;color:#222;margin:0 0 8px;font-weight:600}.success-content p[data-v-dce522a3]{color:#888;font-size:14px;margin:0 0 24px}.success-actions[data-v-dce522a3]{display:flex;gap:10px;justify-content:center}.btn-primary[data-v-dce522a3],.btn-secondary[data-v-dce522a3]{padding:10px 22px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;border:none}.btn-primary[data-v-dce522a3]{background:#4a6cf7;color:#fff}.btn-secondary[data-v-dce522a3]{background:#f0f1f5;color:#555}.edit-person-page[data-v-450432fc]{background:#f5f6fa;min-height:100vh;padding-bottom:40px}.avatar-note[data-v-450432fc]{margin:12px 0 0;color:#8a6d3b;font-size:12px;line-height:1.6}.account-note[data-v-450432fc],.account-help[data-v-450432fc]{margin:0;color:#666;font-size:13px;line-height:1.7}.account-loading[data-v-450432fc]{color:#888;font-size:14px}.account-panel[data-v-450432fc]{display:flex;flex-direction:column;gap:10px}.account-row[data-v-450432fc]{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;font-size:14px;padding:10px 12px;border-radius:10px;background:#f8faf8;border:1px solid #e3ece3}.account-label[data-v-450432fc]{color:#6b7280;flex-shrink:0}.account-value[data-v-450432fc]{color:#1f2937;font-weight:500;text-align:right;word-break:break-all}.btn-account[data-v-450432fc]{background:#3f6f5a;color:#fff;border:none;border-radius:12px;padding:12px 14px;font-size:15px;font-weight:600;cursor:pointer}.btn-account[data-v-450432fc]:disabled{background:#9bb4a8;cursor:not-allowed}.nav-bar[data-v-450432fc]{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px}.nav-title[data-v-450432fc]{position:absolute;left:50%;transform:translate(-50%);font-size:16px;font-weight:600;color:#222;pointer-events:none}.back-btn[data-v-450432fc]{display:flex;align-items:center;gap:2px;background:none;border:none;color:#555;font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.back-btn[data-v-450432fc]:hover{background:#f0f1f5}.back-icon[data-v-450432fc]{font-size:22px;line-height:1;margin-top:-1px}.loading-state[data-v-450432fc],.error-state[data-v-450432fc]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;color:#999;gap:12px}.btn-retry[data-v-450432fc]{background:#4a6cf7;color:#fff;border:none;border-radius:10px;padding:8px 20px;font-size:14px;cursor:pointer}.content-wrap[data-v-450432fc]{padding:14px 14px 0;display:flex;flex-direction:column;gap:12px}.card[data-v-450432fc]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.card-title[data-v-450432fc]{font-size:15px;font-weight:600;color:#333;margin-bottom:14px;display:flex;align-items:center;gap:6px}.card-icon[data-v-450432fc]{font-size:16px}.avatar-section[data-v-450432fc]{display:flex;flex-direction:column;align-items:center}.form-group[data-v-450432fc]{margin-bottom:14px}.form-group[data-v-450432fc]:last-child{margin-bottom:0}label[data-v-450432fc]{font-size:13px;color:#888;font-weight:500;margin-bottom:6px;display:block}.required[data-v-450432fc]{color:#ef4444}input[type=text][data-v-450432fc],select[data-v-450432fc],textarea[data-v-450432fc]{width:100%;border:1.5px solid #e0e3ee;border-radius:10px;padding:10px 14px;font-size:15px;box-sizing:border-box;outline:none;background:#fff;color:#222;font-family:inherit}input[type=text][data-v-450432fc]:focus,select[data-v-450432fc]:focus,textarea[data-v-450432fc]:focus{border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71a}textarea[data-v-450432fc]{resize:vertical;min-height:100px;line-height:1.6}select[data-v-450432fc]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-row[data-v-450432fc]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.help-text[data-v-450432fc]{font-size:12px;color:#bbb;margin:4px 0 0}.multi-select-container[data-v-450432fc]{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;border:1.5px solid #e0e3ee;border-radius:10px;padding:4px}.select-option[data-v-450432fc]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:14px;color:#333;transition:background .12s}.select-option[data-v-450432fc]:hover{background:#f0f3ff}.select-option.selected[data-v-450432fc]{background:#eef1ff;color:#4a6cf7;font-weight:500}.select-option input[type=checkbox][data-v-450432fc]{accent-color:#4a6cf7;width:16px;height:16px;flex-shrink:0;cursor:pointer}.form-actions[data-v-450432fc]{margin:14px 14px 24px;display:flex;flex-direction:column;gap:10px}.btn-submit[data-v-450432fc]{background:#4a6cf7;color:#fff;border:none;border-radius:14px;padding:14px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #4a6cf74d;width:100%}.btn-submit[data-v-450432fc]:disabled{background:#b0b8f0;cursor:not-allowed;box-shadow:none}.btn-delete[data-v-450432fc]{background:#fff;color:#ef4444;border:1.5px solid #fee2e2;border-radius:14px;padding:12px;font-size:15px;cursor:pointer;width:100%}.btn-delete[data-v-450432fc]:hover{background:#fef2f2}.success-modal[data-v-450432fc],.confirm-modal[data-v-450432fc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.modal-content[data-v-450432fc]{background:#fff;border-radius:20px;padding:24px;width:100%;max-width:340px;text-align:center}.success-icon[data-v-450432fc]{width:56px;height:56px;background:#4a6cf7;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 16px}.modal-content h3[data-v-450432fc]{font-size:17px;font-weight:600;color:#222;margin:0 0 8px}.modal-content p[data-v-450432fc]{color:#666;font-size:14px;margin:0 0 20px}.warning-text[data-v-450432fc]{color:#ef4444;font-size:13px}.confirm-actions[data-v-450432fc]{display:flex;gap:10px;justify-content:center}.btn-primary[data-v-450432fc]{background:#4a6cf7;color:#fff;border:none;border-radius:10px;padding:10px 24px;font-size:15px;cursor:pointer}.btn-secondary[data-v-450432fc]{background:#f5f6fa;color:#555;border:none;border-radius:10px;padding:10px 20px;font-size:15px;cursor:pointer}.btn-danger[data-v-450432fc]{background:#ef4444;color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:15px;cursor:pointer}.btn-danger[data-v-450432fc]:disabled{background:#fca5a5;cursor:not-allowed}.person-detail-page[data-v-0a0e48bd]{min-height:100vh;background:#f0f1f5;padding-bottom:40px}.nav-bar[data-v-0a0e48bd]{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.06)}.back-btn[data-v-0a0e48bd]{display:flex;align-items:center;gap:2px;background:none;border:none;color:#555;font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.back-btn[data-v-0a0e48bd]:hover{background:#f0f1f5}.back-icon[data-v-0a0e48bd]{font-size:22px;line-height:1;margin-top:-1px}.btn-edit-nav[data-v-0a0e48bd]{background:#fff;border:1px solid #dde0ee;color:#4a6cf7;font-size:13px;padding:6px 14px;border-radius:20px;cursor:pointer;font-weight:500}.btn-edit-nav[data-v-0a0e48bd]:hover{background:#f0f3ff}.hero[data-v-0a0e48bd]{position:relative;overflow:hidden;padding:32px 20px 28px}.hero--alive .hero-bg[data-v-0a0e48bd]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#2d6a4f,#52b788 60%,#95d5b2)}.hero--deceased .hero-bg[data-v-0a0e48bd]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#4a4e69,#6b7280 60%,#9ca3af)}.hero[data-v-0a0e48bd]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 80% 20%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(255,255,255,.08) 0%,transparent 40%);pointer-events:none}.hero-body[data-v-0a0e48bd]{position:relative;z-index:1;display:flex;align-items:center;gap:20px}.avatar-ring[data-v-0a0e48bd]{flex-shrink:0;width:88px;height:88px;border-radius:50%;background:#fff3;border:3px solid rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 20px #0003}.avatar-img[data-v-0a0e48bd]{width:100%;height:100%;object-fit:cover}.avatar-ring--clickable[data-v-0a0e48bd]{cursor:zoom-in}.avatar-ring--clickable[data-v-0a0e48bd]:hover{box-shadow:0 0 0 3px #fffc,0 4px 24px #0000004d}.avatar-char[data-v-0a0e48bd]{font-size:36px;font-weight:700;color:#ffffffe6}.hero-name[data-v-0a0e48bd]{font-size:26px;font-weight:700;color:#fff;margin:0 0 8px;text-shadow:0 1px 4px rgba(0,0,0,.2)}.hero-badges[data-v-0a0e48bd]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.badge[data-v-0a0e48bd]{border-radius:20px;padding:3px 10px;font-size:12px;font-weight:500;background:#ffffff38;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.3)}.badge-alive[data-v-0a0e48bd]{background:#ffffff4d}.badge-deceased[data-v-0a0e48bd]{background:#0003}.hero-dates[data-v-0a0e48bd]{color:#ffffffd9;font-size:14px;margin:0;display:flex;align-items:center;gap:6px}.date-icon[data-v-0a0e48bd]{font-size:13px}.content-wrap[data-v-0a0e48bd]{padding:14px 14px 0;display:flex;flex-direction:column;gap:12px}.card[data-v-0a0e48bd]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.card-title[data-v-0a0e48bd]{font-size:15px;font-weight:600;color:#333;margin-bottom:12px;display:flex;align-items:center;gap:6px}.card-icon[data-v-0a0e48bd]{font-size:16px}.card-title-row[data-v-0a0e48bd]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-title-row .card-title[data-v-0a0e48bd]{margin-bottom:0}.bio-text[data-v-0a0e48bd]{color:#555;font-size:14px;line-height:1.85;margin:0;white-space:pre-wrap}.relation-grid[data-v-0a0e48bd]{display:flex;flex-direction:column;gap:8px}.rel-card[data-v-0a0e48bd]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#f8f9fc;cursor:pointer;transition:background .15s,transform .1s;border:1px solid #eef0f8}.rel-card[data-v-0a0e48bd]:hover{background:#eef1fb;transform:translate(2px)}.rel-card[data-v-0a0e48bd]:active{transform:scale(.98)}.rel-card--spouse[data-v-0a0e48bd]{border-left:3px solid #f97316}.rel-card--child[data-v-0a0e48bd]{border-left:3px solid #22c55e}.rel-avatar[data-v-0a0e48bd]{width:38px;height:38px;border-radius:50%;background:#dde3f5;color:#4a6cf7;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.rel-avatar--spouse[data-v-0a0e48bd]{background:#fed7aa;color:#c2410c}.rel-avatar--child[data-v-0a0e48bd]{background:#bbf7d0;color:#15803d}.rel-info[data-v-0a0e48bd]{flex:1;display:flex;flex-direction:column;gap:2px}.rel-role[data-v-0a0e48bd]{font-size:11px;color:#999}.rel-name[data-v-0a0e48bd]{font-size:15px;color:#222;font-weight:500}.rel-arrow[data-v-0a0e48bd]{color:#bbb;font-size:20px}.card--family-tree-link[data-v-0a0e48bd]{border:1px solid #dfe9e2;background:linear-gradient(135deg,#f8fbf9,#fff);cursor:pointer;transition:box-shadow .15s,transform .1s}.card--family-tree-link[data-v-0a0e48bd]:hover{box-shadow:0 4px 16px #2d6a4f1f;transform:translateY(-1px)}.family-tree-entry[data-v-0a0e48bd]{display:flex;align-items:center;justify-content:space-between;gap:12px}.family-tree-entry__title[data-v-0a0e48bd]{font-size:16px;font-weight:600;color:#1f3d31}.family-tree-entry__desc[data-v-0a0e48bd]{margin-top:4px;font-size:13px;color:#6b7280;line-height:1.6}.card--tomb[data-v-0a0e48bd]{border:1px solid #fde68a;background:linear-gradient(135deg,#fefce8,#fff)}.card--tomb-link[data-v-0a0e48bd]{cursor:pointer;transition:box-shadow .15s,transform .1s}.card--tomb-link[data-v-0a0e48bd]:hover{box-shadow:0 4px 16px #fbbf2433;transform:translateY(-1px)}.tomb-row[data-v-0a0e48bd]{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.tomb-name[data-v-0a0e48bd]{font-size:16px;font-weight:600;color:#333}.tomb-loc[data-v-0a0e48bd]{font-size:12px;color:#999}.tomb-link[data-v-0a0e48bd]{font-size:13px;color:#b45309;font-weight:500}.tomb-empty[data-v-0a0e48bd]{font-size:14px;color:#bbb}.photos-card[data-v-0a0e48bd]{padding-bottom:18px}.photo-badge[data-v-0a0e48bd]{background:#4a6cf7;color:#fff;border-radius:20px;padding:1px 8px;font-size:11px;font-weight:500;margin-left:4px}.btn-upload-sm[data-v-0a0e48bd]{display:inline-flex;align-items:center;background:#4a6cf7;color:#fff;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-upload-sm[data-v-0a0e48bd]:hover{background:#3a5ce5}.btn-upload-sm.disabled[data-v-0a0e48bd]{background:#ccc;cursor:not-allowed}.upload-error[data-v-0a0e48bd]{color:#e05555;font-size:12px;margin:0 0 8px}.photos-grid[data-v-0a0e48bd]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-radius:8px;overflow:hidden}.photo-item[data-v-0a0e48bd]{position:relative;aspect-ratio:1;overflow:hidden;background:#eee;cursor:pointer}.photo-item img[data-v-0a0e48bd]{width:100%;height:100%;object-fit:cover;transition:transform .2s}.photo-item:hover img[data-v-0a0e48bd]{transform:scale(1.06)}.photo-caption-bar[data-v-0a0e48bd]{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);color:#fff;font-size:10px;padding:10px 5px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-photos[data-v-0a0e48bd]{text-align:center;padding:28px 0 10px;color:#ccc}.empty-icon[data-v-0a0e48bd]{font-size:44px;margin-bottom:8px}.empty-photos p[data-v-0a0e48bd]{margin:0;font-size:14px;color:#bbb}.empty-hint[data-v-0a0e48bd]{font-size:12px;color:#ccc!important;margin-top:4px!important}.photo-viewer[data-v-0a0e48bd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000ed;z-index:1000;display:flex;align-items:center;justify-content:center}.viewer-content[data-v-0a0e48bd]{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.btn-close-viewer[data-v-0a0e48bd]{position:absolute;top:14px;right:18px;background:#ffffff26;border:none;color:#fff;font-size:28px;width:40px;height:40px;border-radius:50%;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}.btn-nav[data-v-0a0e48bd]{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;font-size:36px;width:48px;height:48px;border-radius:50%;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}.btn-nav.prev[data-v-0a0e48bd]{left:12px}.btn-nav.next[data-v-0a0e48bd]{right:12px}.viewer-image-wrapper[data-v-0a0e48bd]{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;padding:60px 60px 0}.viewer-image[data-v-0a0e48bd]{max-width:100%;max-height:100%;object-fit:contain;transition:transform .15s}.viewer-footer[data-v-0a0e48bd]{width:100%;padding:12px 20px 20px;display:flex;flex-direction:column;align-items:center;gap:6px}.viewer-counter[data-v-0a0e48bd]{color:#fff9;font-size:13px}.viewer-caption[data-v-0a0e48bd]{color:#fff;font-size:14px;text-align:center}.viewer-actions[data-v-0a0e48bd]{display:flex;gap:12px;margin-top:4px}.viewer-zoom-actions[data-v-0a0e48bd]{display:flex;gap:8px;margin-top:6px}.btn-action[data-v-0a0e48bd]{background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer}.btn-action.danger[data-v-0a0e48bd]{background:#dc32324d;border-color:#dc323280}.modal-overlay[data-v-0a0e48bd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.modal-box[data-v-0a0e48bd]{background:#fff;border-radius:18px;padding:24px;width:100%;max-width:340px;box-shadow:0 20px 60px #00000040}.modal-box h3[data-v-0a0e48bd]{margin:0 0 14px;font-size:17px;color:#222}.modal-box p[data-v-0a0e48bd]{color:#666;font-size:14px;margin:0 0 20px}.caption-input[data-v-0a0e48bd]{width:100%;border:1.5px solid #e0e0e0;border-radius:10px;padding:10px 12px;font-size:14px;box-sizing:border-box;margin-bottom:16px}.caption-input[data-v-0a0e48bd]:focus{outline:none;border-color:#4a6cf7}.modal-actions[data-v-0a0e48bd]{display:flex;gap:10px;justify-content:flex-end}.btn-primary[data-v-0a0e48bd]{background:#4a6cf7;color:#fff;border:none;border-radius:10px;padding:9px 18px;font-size:14px;cursor:pointer;font-weight:500}.btn-secondary[data-v-0a0e48bd]{background:#f5f5f5;color:#555;border:1px solid #e0e0e0;border-radius:10px;padding:9px 18px;font-size:14px;cursor:pointer}.btn-danger[data-v-0a0e48bd]{background:#ef4444;color:#fff;border:none;border-radius:10px;padding:9px 18px;font-size:14px;cursor:pointer}.loading-state[data-v-0a0e48bd],.error-state[data-v-0a0e48bd]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;color:#999;gap:12px}.spinner[data-v-0a0e48bd]{width:36px;height:36px;border:3px solid #eee;border-top-color:#4a6cf7;border-radius:50%;animation:spin-0a0e48bd .8s linear infinite}@keyframes spin-0a0e48bd{to{transform:rotate(360deg)}}.node-content[data-v-c6afd6b1]{display:flex;align-items:center;padding:10px 12px;margin:4px 0;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s}.node-content[data-v-c6afd6b1]:hover{box-shadow:0 2px 6px #00000026}.node-content.deceased[data-v-c6afd6b1]{opacity:.75}.node-content.deceased .person-name[data-v-c6afd6b1]{color:#666}.node-content.living .person-name[data-v-c6afd6b1]{color:#333;font-weight:600}.node-content.highlighted[data-v-c6afd6b1]{animation:highlight-c6afd6b1 3s ease-in-out}@keyframes highlight-c6afd6b1{0%,to{box-shadow:0 2px 8px #0000000f}50%{box-shadow:0 0 20px #4caf5080}}.expand-icon[data-v-c6afd6b1]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#999;margin-right:8px;transition:transform .2s}.expand-icon.placeholder[data-v-c6afd6b1]{visibility:hidden}.person-info[data-v-c6afd6b1]{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.person-avatar[data-v-c6afd6b1]{margin-right:4px}.spouse-avatar[data-v-c6afd6b1]{margin-right:2px}.person-name[data-v-c6afd6b1]{font-size:1rem}.spouse-info[data-v-c6afd6b1]{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding-left:8px;border-left:1px solid #e0e0e0}.spouse-connector[data-v-c6afd6b1]{font-size:.9rem;color:#999}.spouse-name[data-v-c6afd6b1]{font-size:1rem;color:#666}.spouse-name.deceased[data-v-c6afd6b1]{opacity:.75;color:#999}.spouse-name.living[data-v-c6afd6b1]{color:#4caf50;font-weight:500}.person-rank[data-v-c6afd6b1]{font-size:.75rem;color:#4caf50;background:#4caf501a;padding:2px 8px;border-radius:4px}.person-dates[data-v-c6afd6b1]{font-size:.75rem;color:#999}.children[data-v-c6afd6b1]{margin-left:24px;padding-left:16px;border-left:2px solid #e0e0e0;margin-top:4px}.family-tree-page[data-v-fe29eeec]{min-height:100vh;background:#f0f0f0;padding-bottom:80px}.nav-bar[data-v-fe29eeec]{position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px}.back-btn[data-v-fe29eeec]{display:flex;align-items:center;gap:2px;background:none;border:none;color:#555;font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.back-btn[data-v-fe29eeec]:hover{background:#f0f1f5}.back-icon[data-v-fe29eeec]{font-size:22px;line-height:1;margin-top:-1px}.page-header[data-v-fe29eeec]{background:#fff;padding:20px 16px;text-align:center;margin-bottom:12px}.page-header h2[data-v-fe29eeec]{font-size:18px;color:#222;margin:0 0 6px;font-weight:700}.subtitle[data-v-fe29eeec]{color:#888;font-size:13px;margin:0}.search-section[data-v-fe29eeec]{padding:12px 16px;background:#fff;margin-bottom:12px}.search-row[data-v-fe29eeec]{display:flex;align-items:center;justify-content:space-between;gap:16px}.search-input[data-v-fe29eeec]{flex:1;min-width:200px;padding:10px 14px;border:1.5px solid #e0e3ee;border-radius:10px;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}.search-input[data-v-fe29eeec]:focus{border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71a}.legend-inline[data-v-fe29eeec]{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;height:40px}.legend-item[data-v-fe29eeec]{display:flex;align-items:center;gap:4px;font-size:11px;color:#888;white-space:nowrap}.legend-item .living-text[data-v-fe29eeec]{background:linear-gradient(90deg,#333 50%,#4a6cf7 50%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dot[data-v-fe29eeec]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot.deceased[data-v-fe29eeec]{background:#aaa}.dot.living[data-v-fe29eeec]{background:linear-gradient(90deg,#333 50%,#4a6cf7 50%)}.search-results[data-v-fe29eeec]{margin-top:8px;background:#fff;border:1.5px solid #e0e3ee;border-top:none;border-radius:0 0 10px 10px;max-height:300px;overflow-y:auto}.search-result-item[data-v-fe29eeec]{padding:11px 14px;cursor:pointer;transition:background .15s;display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#333}.search-result-item[data-v-fe29eeec]:hover{background:#f0f3ff}.result-generation[data-v-fe29eeec]{color:#aaa;font-size:12px}.highlighted[data-v-fe29eeec]{animation:highlight-fe29eeec 3s ease-in-out}@keyframes highlight-fe29eeec{0%,to{box-shadow:0 2px 8px #0000000f}50%{box-shadow:0 0 20px #4a6cf773}}.loading-state[data-v-fe29eeec],.error-state[data-v-fe29eeec]{text-align:center;padding:60px 20px;color:#999}.spinner[data-v-fe29eeec]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#4a6cf7;border-radius:50%;animation:spin-fe29eeec .8s linear infinite;margin:0 auto 16px}@keyframes spin-fe29eeec{to{transform:rotate(360deg)}}.family-tree-content[data-v-fe29eeec]{padding:12px 16px}.export-error-banner[data-v-fe29eeec]{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#fff1f1;color:#d14343;font-size:13px}.tree-scroll-wrapper[data-v-fe29eeec]{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;background:#fff;border-radius:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a;padding:16px}.tree-export-surface[data-v-fe29eeec]{display:inline-flex;flex-direction:column;gap:16px;min-width:max-content}.tree-export-header[data-v-fe29eeec]{display:flex;flex-direction:column;gap:4px}.tree-export-title[data-v-fe29eeec]{font-size:22px;font-weight:700;color:#1f2937}.tree-export-subtitle[data-v-fe29eeec]{font-size:13px;color:#6b7280}.tree-scroll-wrapper[data-v-fe29eeec]::-webkit-scrollbar{height:6px}.tree-scroll-wrapper[data-v-fe29eeec]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.tree-scroll-wrapper[data-v-fe29eeec]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.tree-scroll-wrapper[data-v-fe29eeec]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.tree-container[data-v-fe29eeec]{min-width:max-content;display:flex;flex-direction:column;gap:16px}.tree-branch[data-v-fe29eeec]{min-width:max-content}.modal[data-v-fe29eeec]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-fe29eeec]{background:#fff;border-radius:20px;padding:20px;max-width:360px;width:calc(100% - 40px);box-shadow:0 20px 60px #00000040;max-height:80vh;overflow-y:auto}.modal-content h3[data-v-fe29eeec]{font-size:18px;font-weight:700;color:#222;margin:0;text-align:center}.modal-header[data-v-fe29eeec]{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #f0f0f0}.modal-avatar[data-v-fe29eeec]{box-shadow:0 4px 12px #0000001f}.detail-info p[data-v-fe29eeec]{margin:6px 0;font-size:14px;color:#555;display:flex;gap:8px}.detail-info label[data-v-fe29eeec]{color:#aaa;font-size:12px;min-width:36px}.modal-actions[data-v-fe29eeec]{display:flex;gap:8px;margin-top:16px}.modal-actions button[data-v-fe29eeec]{flex:1;padding:9px 12px;border:none;border-radius:20px;font-size:13px;cursor:pointer;font-weight:500}.btn-detail[data-v-fe29eeec]{background:#4a6cf7;color:#fff;border:none;border-radius:20px;padding:8px 18px;font-size:14px;cursor:pointer;font-weight:500}.btn-edit[data-v-fe29eeec]{background:#f0f3ff;color:#4a6cf7;border:1px solid #dde3ff}.btn-close[data-v-fe29eeec]{background:#f5f5f5;color:#666}.related-section[data-v-fe29eeec]{margin-top:16px;padding-top:14px;border-top:1px solid #f0f0f0}.related-section h4[data-v-fe29eeec]{font-size:13px;color:#555;margin:0 0 10px;display:flex;align-items:center;gap:5px;font-weight:600}.tomb-card[data-v-fe29eeec]{background:#f8f9fc;border-radius:10px;padding:10px 12px;cursor:pointer;transition:background .15s,transform .1s;border:1px solid #eef0f8}.tomb-card[data-v-fe29eeec]:hover{background:#eef1fb;transform:translate(2px)}.tomb-name[data-v-fe29eeec]{font-size:14px;color:#333;margin:0 0 3px;font-weight:500}.tomb-location[data-v-fe29eeec]{font-size:12px;color:#999;margin:0}.visits-list[data-v-fe29eeec]{display:flex;flex-direction:column;gap:6px}.visit-item[data-v-fe29eeec]{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:#f8f9fc;border-radius:10px;cursor:pointer;transition:background .15s;border:1px solid #eef0f8}.visit-item[data-v-fe29eeec]:hover{background:#eef1fb}.visit-date[data-v-fe29eeec]{font-size:13px;color:#4a6cf7;font-weight:500}.visit-tomb[data-v-fe29eeec]{font-size:12px;color:#888}.more-visits[data-v-fe29eeec]{text-align:center;padding:8px;color:#4a6cf7;font-size:13px;cursor:pointer;margin:0}.more-visits[data-v-fe29eeec]:hover{text-decoration:underline}.fab-group[data-v-fe29eeec]{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;align-items:flex-end;gap:12px;z-index:900}.fab-menu[data-v-fe29eeec]{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.fab[data-v-fe29eeec]{width:56px;height:56px;background:linear-gradient(180deg,#edf6eff5,#e2f0e6f0);color:#55786a;border:1px solid rgba(182,209,191,.95);border-radius:50%;cursor:pointer;box-shadow:0 10px 24px #4a6c571f,inset 0 1px #ffffffd9,inset 0 -1px #b2cbbb73;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s,background .15s,color .15s,border-color .15s}.fab[data-v-fe29eeec]:hover{background:linear-gradient(180deg,#f2f9f3fa,#e8f4ebf5);color:#466b5d;border-color:#abc9b5;box-shadow:0 12px 28px #4a6c5729,inset 0 1px #ffffffeb,inset 0 -1px #abc9b585}.fab-toggle--open[data-v-fe29eeec]{background:linear-gradient(180deg,#e7f4eafa,#dbede0f5);color:#3f6f5b;border-color:#a0c4ac}.fab-toggle-dots[data-v-fe29eeec]{font-size:20px;line-height:1;letter-spacing:1px;transform:translateY(-1px)}.fab-menu-item[data-v-fe29eeec]{min-width:132px;border:none;border-radius:999px;padding:12px 16px;color:#fff;display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;cursor:pointer;box-shadow:0 10px 24px #152f2824;font-size:14px;font-weight:600}.fab-menu-item--export[data-v-fe29eeec]{background:linear-gradient(135deg,#0f766e,#0b5d56)}.fab-menu-item--import[data-v-fe29eeec]{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.fab-menu-item--add[data-v-fe29eeec]{background:linear-gradient(135deg,#4a6cf7,#3757dc)}.fab-menu-item[data-v-fe29eeec]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.fab-menu-symbol[data-v-fe29eeec]{font-size:18px;line-height:1}.fab-export-icon[data-v-fe29eeec]{position:relative;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.fab-export-arrow[data-v-fe29eeec]{position:absolute;top:1px;width:2.5px;height:9px;background:currentColor;border-radius:999px}.fab-export-arrow[data-v-fe29eeec]:before,.fab-export-arrow[data-v-fe29eeec]:after{content:"";position:absolute;bottom:-1px;width:2.5px;height:7px;background:currentColor;border-radius:999px}.fab-export-arrow[data-v-fe29eeec]:before{left:-2px;transform:rotate(45deg);transform-origin:bottom center}.fab-export-arrow[data-v-fe29eeec]:after{right:-2px;transform:rotate(-45deg);transform-origin:bottom center}.fab-export-tray[data-v-fe29eeec]{position:absolute;bottom:1px;width:14px;height:6px;border:2px solid currentColor;border-top:0;border-radius:0 0 5px 5px}.fab-export-loading[data-v-fe29eeec]{font-size:1.1rem;line-height:1}.fab[data-v-fe29eeec]:active{transform:scale(.92)}.avatar-viewer[data-v-fe29eeec]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:2000;display:flex;flex-direction:column}.viewer-header[data-v-fe29eeec]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#00000080;color:#fff}.viewer-title[data-v-fe29eeec]{font-size:1.1rem;font-weight:500}.zoom-level[data-v-fe29eeec]{font-size:.9rem;color:#aaa;margin-left:12px}.viewer-close[data-v-fe29eeec]{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:4px 8px;line-height:1}.viewer-close[data-v-fe29eeec]:hover{color:#ff5252}.viewer-content[data-v-fe29eeec]{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:20px;touch-action:none}.viewer-image[data-v-fe29eeec]{max-width:90vw;max-height:80vh;object-fit:contain;transition:transform .1s ease-out;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.viewer-image[data-v-fe29eeec]:active{cursor:grabbing}.viewer-footer[data-v-fe29eeec]{display:flex;align-items:center;justify-content:center;gap:20px;padding:16px 20px;background:#00000080}.zoom-btn[data-v-fe29eeec]{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.zoom-btn[data-v-fe29eeec]:hover{background:#fff3}.zoom-text[data-v-fe29eeec]{color:#aaa;font-size:.9rem}.modal-avatar-wrapper[data-v-fe29eeec]{position:relative;display:inline-block}.modal-avatar-wrapper.clickable[data-v-fe29eeec]{cursor:pointer}.modal-avatar-wrapper.clickable:hover .avatar-view-hint[data-v-fe29eeec]{opacity:1}.avatar-view-hint[data-v-fe29eeec]{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:.7rem;color:#666;white-space:nowrap;opacity:0;transition:opacity .2s;background:#ffffffe6;padding:2px 6px;border-radius:4px}.tomb-map-page[data-v-5604a4df]{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:#f5f6fa}.nav-bar[data-v-5604a4df]{position:relative;z-index:100;background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px;flex-shrink:0}.back-btn[data-v-5604a4df]{display:flex;align-items:center;gap:2px;background:none;border:none;color:#555;font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.back-btn[data-v-5604a4df]:hover{background:#f0f1f5}.back-icon[data-v-5604a4df]{font-size:22px;line-height:1;margin-top:-1px}.page-title[data-v-5604a4df]{font-size:16px;font-weight:600;color:#222;margin:0}.map-type-btn[data-v-5604a4df]{background:#fff;border:1px solid #dde0ee;color:#4a6cf7;font-size:13px;padding:6px 14px;border-radius:20px;cursor:pointer;font-weight:500;white-space:nowrap}.map-type-btn[data-v-5604a4df]:hover{background:#f0f3ff}.map-container[data-v-5604a4df]{position:relative;flex:1;overflow:hidden}.map-view[data-v-5604a4df]{width:100%;height:100%}.loading-overlay[data-v-5604a4df]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10}.spinner[data-v-5604a4df]{width:36px;height:36px;border:3px solid #eee;border-top-color:#4a6cf7;border-radius:50%;animation:spin-5604a4df .8s linear infinite}.error-overlay[data-v-5604a4df],.empty-overlay[data-v-5604a4df]{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10;padding:20px;text-align:center}.retry-btn[data-v-5604a4df],.add-btn[data-v-5604a4df]{background:#4a6cf7;color:#fff;border:none;border-radius:10px;padding:8px 20px;font-size:14px;cursor:pointer}@keyframes spin-5604a4df{to{transform:rotate(360deg)}}.family-import-page[data-v-53365d27]{background:#f5f6fa;min-height:100vh;padding-bottom:40px}.nav-bar[data-v-53365d27]{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px}.nav-title[data-v-53365d27]{position:absolute;left:50%;transform:translate(-50%);font-size:16px;font-weight:600;color:#222;pointer-events:none}.back-btn[data-v-53365d27]{display:flex;align-items:center;gap:2px;background:none;border:none;color:#555;font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.back-btn[data-v-53365d27]:hover{background:#f0f1f5}.back-icon[data-v-53365d27]{font-size:22px;line-height:1;margin-top:-1px}.content-wrap[data-v-53365d27]{padding:14px 14px 0;display:flex;flex-direction:column;gap:12px}.card[data-v-53365d27]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.card-title[data-v-53365d27]{font-size:15px;font-weight:600;color:#333;margin-bottom:14px;display:flex;align-items:center;gap:6px}.card-icon[data-v-53365d27]{font-size:16px}.upload-row[data-v-53365d27]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.file-input[data-v-53365d27]{display:none}.file-name[data-v-53365d27]{font-size:13px;color:#777;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-primary[data-v-53365d27]{background:#4a6cf7;color:#fff;border:none;border-radius:10px;padding:8px 16px;font-size:14px;cursor:pointer;font-weight:500;white-space:nowrap}.btn-primary[data-v-53365d27]:disabled{background:#b0b8f0;cursor:not-allowed}.btn-secondary[data-v-53365d27]{background:#fff;color:#555;border:1.5px solid #e0e3ee;border-radius:10px;padding:8px 16px;font-size:14px;cursor:pointer;white-space:nowrap}.btn-secondary[data-v-53365d27]:hover{border-color:#4a6cf7;color:#4a6cf7}.btn-import[data-v-53365d27]{background:#2d6a4f;color:#fff;border:none;border-radius:10px;padding:8px 16px;font-size:14px;cursor:pointer;font-weight:500;white-space:nowrap}.btn-import[data-v-53365d27]:disabled{background:#a3c4b5;cursor:not-allowed}.btn-small[data-v-53365d27]{padding:5px 10px;font-size:12px}.action-row[data-v-53365d27]{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tip-list[data-v-53365d27]{font-size:13px;color:#888;line-height:1.8;background:#f8f9fc;border-radius:10px;padding:10px 14px;margin-bottom:12px}.tip-list p[data-v-53365d27]{margin:0}.message[data-v-53365d27]{font-size:14px;margin:8px 0 0;padding:10px 14px;border-radius:10px}.message.success[data-v-53365d27]{background:#d1fae5;color:#059669}.message.error[data-v-53365d27]{background:#fee2e2;color:#ef4444}.history-header[data-v-53365d27]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.history-header .card-title[data-v-53365d27]{margin-bottom:0}.summary-grid[data-v-53365d27]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.history-overview-grid[data-v-53365d27]{grid-template-columns:repeat(4,1fr)}.history-summary-grid[data-v-53365d27]{grid-template-columns:repeat(3,1fr);margin-bottom:12px}.summary-item[data-v-53365d27]{background:#f8f9fc;border-radius:10px;padding:10px;text-align:center}.summary-number[data-v-53365d27]{font-size:22px;font-weight:700;color:#222}.summary-number.error[data-v-53365d27]{color:#ef4444}.summary-number.warn[data-v-53365d27]{color:#d97706}.summary-number.success[data-v-53365d27]{color:#059669}.summary-label[data-v-53365d27]{font-size:12px;color:#888;margin-top:2px}.history-filters[data-v-53365d27]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.filter-input[data-v-53365d27],.filter-select[data-v-53365d27]{border:1.5px solid #e0e3ee;border-radius:10px;padding:8px 12px;font-size:13px;background:#fff;color:#333}.filter-input[data-v-53365d27]{flex:1 1 180px}.history-list[data-v-53365d27]{display:flex;flex-direction:column}.history-item[data-v-53365d27]{padding:12px 0;border-bottom:1px solid #f0f1f5}.history-item[data-v-53365d27]:last-child{border-bottom:none}.history-item[data-v-53365d27]:nth-child(2n){background:#fafbfd;padding:12px 8px;border-radius:8px}.history-title-row[data-v-53365d27]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.history-meta[data-v-53365d27],.history-summary[data-v-53365d27]{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:#888;margin-bottom:4px}.history-message[data-v-53365d27]{margin:6px 0;font-size:13px;color:#555}.history-badge[data-v-53365d27]{display:inline-flex;align-items:center;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.history-badge.success[data-v-53365d27]{background:#d1fae5;color:#059669}.history-badge.blocked[data-v-53365d27]{background:#fff7ed;color:#d97706}.history-badge.error[data-v-53365d27]{background:#fee2e2;color:#ef4444}.history-actions[data-v-53365d27]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.history-detail[data-v-53365d27]{margin-top:12px;padding-top:12px;border-top:1px dashed #e0e3ee}.pagination-bar[data-v-53365d27]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.pagination-text[data-v-53365d27]{font-size:13px;color:#888}.pagination-actions[data-v-53365d27]{display:flex;gap:6px}.empty-tip[data-v-53365d27]{margin:0;font-size:14px;color:#888;text-align:center;padding:16px 0}.report-section[data-v-53365d27]{margin-top:16px}.report-section h4[data-v-53365d27]{font-size:14px;font-weight:600;color:#333;margin:0 0 10px}.report-table[data-v-53365d27]{width:100%;border-collapse:collapse;font-size:13px}.report-table th[data-v-53365d27]{background:#f8f9fc;font-weight:600;color:#555}.report-table th[data-v-53365d27],.report-table td[data-v-53365d27]{border:1px solid #e0e3ee;padding:8px 10px;text-align:left}.report-table td.error[data-v-53365d27]{color:#ef4444}.report-table td.warn[data-v-53365d27]{color:#d97706}.issue-list[data-v-53365d27]{display:flex;flex-direction:column;gap:8px}.issue-item[data-v-53365d27]{border-radius:10px;padding:10px 12px;background:#fff7ed;border:1px solid #fed7aa}.issue-item.error[data-v-53365d27]{background:#fee2e2;border-color:#fecaca}.issue-meta[data-v-53365d27]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px;font-size:12px;color:#888}.issue-level[data-v-53365d27]{font-weight:700;color:#555}.issue-category[data-v-53365d27]{color:#4a6cf7}.issue-row[data-v-53365d27]{color:#888}.issue-message[data-v-53365d27]{font-size:13px;color:#333}.report-text[data-v-53365d27]{width:100%;min-height:200px;border:1.5px solid #e0e3ee;border-radius:10px;padding:10px 14px;resize:vertical;font-family:monospace;font-size:13px;background:#f8f9fc;color:#333;box-sizing:border-box}.import-summary[data-v-53365d27]{margin-top:16px}.success-box[data-v-53365d27]{padding:14px 16px;border-radius:10px;background:#d1fae5;color:#059669}.success-box h4[data-v-53365d27]{margin:0 0 8px;font-size:14px}.success-box p[data-v-53365d27]{margin:4px 0 0;font-size:13px}.login-page[data-v-4d8c5a9a]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#f3f6ff,#eef7f1)}.login-card[data-v-4d8c5a9a]{width:min(100%,420px);background:#fff;border-radius:20px;padding:28px 24px;box-shadow:0 20px 40px #00000014}.login-card h1[data-v-4d8c5a9a]{margin:0 0 8px;font-size:28px}.desc[data-v-4d8c5a9a]{color:#666;margin:0 0 20px;line-height:1.6}.field[data-v-4d8c5a9a]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.field span[data-v-4d8c5a9a]{font-size:14px;color:#555}.field input[data-v-4d8c5a9a]{border:1px solid #d9dfeb;border-radius:12px;padding:12px 14px;font-size:15px}.submit-btn[data-v-4d8c5a9a]{width:100%;margin-top:8px}.error-text[data-v-4d8c5a9a]{color:#d23f3f;margin:0 0 12px;font-size:14px}.back-link[data-v-4d8c5a9a]{margin-top:14px;border:none;background:none;color:#4a6cf7;cursor:pointer;width:100%}.requests-page[data-v-ad43a533]{min-height:100vh;background:#f5f6fa}.nav-bar[data-v-ad43a533]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid #ececec}.back-btn[data-v-ad43a533]{border:none;background:none;color:#555;cursor:pointer}.nav-title[data-v-ad43a533]{font-weight:600}.nav-spacer[data-v-ad43a533]{width:44px}.content-wrap[data-v-ad43a533]{padding:14px;display:flex;flex-direction:column;gap:12px}.filter-row select[data-v-ad43a533]{width:100%;padding:12px;border-radius:12px;border:1px solid #dbe0ec}.card[data-v-ad43a533]{background:#fff;border-radius:16px;padding:16px}.request-list[data-v-ad43a533]{display:flex;flex-direction:column;gap:12px}.request-head[data-v-ad43a533]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.request-meta[data-v-ad43a533],.time[data-v-ad43a533]{color:#666;font-size:13px}.reason[data-v-ad43a533]{margin:8px 0;color:#333;line-height:1.6}.status[data-v-ad43a533]{border-radius:999px;padding:4px 10px;font-size:12px}.status--pending[data-v-ad43a533]{background:#fff7db;color:#9a6d00}.status--approved[data-v-ad43a533]{background:#e6f7ec;color:#1b7f42}.status--rejected[data-v-ad43a533]{background:#fdeaea;color:#b93838}.error[data-v-ad43a533]{color:#b93838}.requests-page[data-v-ad4da869]{min-height:100vh;background:#f5f6fa}.nav-bar[data-v-ad4da869]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid #ececec}.back-btn[data-v-ad4da869]{border:none;background:none;color:#555;cursor:pointer}.nav-title[data-v-ad4da869]{font-weight:600}.nav-spacer[data-v-ad4da869]{width:44px}.content-wrap[data-v-ad4da869]{padding:14px;display:flex;flex-direction:column;gap:12px}.filter-row[data-v-ad4da869]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filter-row select[data-v-ad4da869]{width:100%;padding:12px;border-radius:12px;border:1px solid #dbe0ec}.card[data-v-ad4da869]{background:#fff;border-radius:16px;padding:16px}.batch-card[data-v-ad4da869]{display:flex;flex-direction:column;gap:12px}.batch-head[data-v-ad4da869]{display:flex;align-items:center;justify-content:space-between;gap:12px}.select-all-toggle[data-v-ad4da869]{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#2f3542}.select-all-toggle input[data-v-ad4da869]{width:18px;height:18px}.link-btn[data-v-ad4da869]{border:none;background:none;color:#4a6cf7;cursor:pointer;font-size:13px}.link-btn[data-v-ad4da869]:disabled{color:#9aa1b4;cursor:not-allowed}.batch-card textarea[data-v-ad4da869]{width:100%;border:1px solid #dbe0ec;border-radius:12px;padding:12px;resize:vertical;min-height:88px}.batch-actions[data-v-ad4da869]{display:flex;justify-content:flex-end;gap:10px}.batch-tip[data-v-ad4da869]{margin:0;color:#667085;font-size:12px}.request-list[data-v-ad4da869]{display:flex;flex-direction:column;gap:12px}.request-card[data-v-ad4da869]{cursor:pointer;position:relative}.request-card--selectable[data-v-ad4da869]{padding-left:52px}.request-card--selected[data-v-ad4da869]{border:1px solid #cdd8ff;box-shadow:0 0 0 3px #4a6cf714}.request-select[data-v-ad4da869]{position:absolute;top:18px;left:16px;display:flex;align-items:center}.request-select input[data-v-ad4da869]{width:18px;height:18px}.request-head[data-v-ad4da869]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.request-meta[data-v-ad4da869],.time[data-v-ad4da869]{color:#666;font-size:13px}.reason[data-v-ad4da869]{margin:8px 0;color:#333;line-height:1.6}.status[data-v-ad4da869]{border-radius:999px;padding:4px 10px;font-size:12px}.status--pending[data-v-ad4da869]{background:#fff7db;color:#9a6d00}.status--approved[data-v-ad4da869]{background:#e6f7ec;color:#1b7f42}.status--rejected[data-v-ad4da869]{background:#fdeaea;color:#b93838}.error[data-v-ad4da869]{color:#b93838}.btn-danger[data-v-ad4da869],.btn-primary[data-v-ad4da869]{border:none;border-radius:10px;padding:10px 16px;cursor:pointer;color:#fff}.btn-danger[data-v-ad4da869]{background:#d9534f}.btn-primary[data-v-ad4da869]{background:#4a6cf7}.btn-danger[data-v-ad4da869]:disabled,.btn-primary[data-v-ad4da869]:disabled{opacity:.6;cursor:not-allowed}.detail-page[data-v-b9228117]{min-height:100vh;background:#f5f6fa}.nav-bar[data-v-b9228117]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid #ececec}.back-btn[data-v-b9228117]{border:none;background:none;color:#555;cursor:pointer}.nav-title[data-v-b9228117]{font-weight:600}.nav-spacer[data-v-b9228117]{width:44px}.content-wrap[data-v-b9228117]{padding:14px;display:flex;flex-direction:column;gap:12px}.card[data-v-b9228117]{background:#fff;border-radius:16px;padding:16px}.row[data-v-b9228117]{display:flex;justify-content:space-between;align-items:center}.status[data-v-b9228117]{background:#fff7db;color:#9a6d00;padding:4px 10px;border-radius:999px;font-size:12px}.diff-list[data-v-b9228117]{display:flex;flex-direction:column;gap:10px}.diff-item[data-v-b9228117]{padding:12px;background:#f8f9fd;border-radius:12px}.field[data-v-b9228117]{font-weight:600;margin-bottom:6px}.before[data-v-b9228117],.after[data-v-b9228117]{font-size:14px;line-height:1.6}.before[data-v-b9228117]{color:#666}.after[data-v-b9228117]{color:#1b7f42}.diff-label[data-v-b9228117]{margin-bottom:6px}.media-list[data-v-b9228117]{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.media-card[data-v-b9228117]{display:flex;flex-direction:column;gap:6px;width:96px;color:inherit;text-decoration:none}.media-card img[data-v-b9228117]{width:96px;height:96px;border-radius:10px;object-fit:cover;border:1px solid #dbe0ec;background:#fff}.media-card span[data-v-b9228117]{font-size:12px;line-height:1.4;word-break:break-word}textarea[data-v-b9228117]{width:100%;border:1px solid #dbe0ec;border-radius:12px;padding:12px;margin-top:10px}.actions[data-v-b9228117]{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.btn-danger[data-v-b9228117]{border:none;background:#d9534f;color:#fff;border-radius:10px;padding:0 18px;cursor:pointer}.usage-guide-page[data-v-8a72fcee]{min-height:100vh;background:#f5f6fa;padding-bottom:40px}.nav-bar[data-v-8a72fcee]{position:sticky;top:0;z-index:100;background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px}.nav-title[data-v-8a72fcee]{position:absolute;left:50%;transform:translate(-50%);font-size:16px;font-weight:600;color:#222;pointer-events:none}.back-btn[data-v-8a72fcee]{display:flex;align-items:center;gap:2px;background:none;border:none;color:#555;font-size:15px;cursor:pointer;padding:4px 8px;border-radius:8px}.back-icon[data-v-8a72fcee]{font-size:22px;line-height:1;margin-top:-1px}.guide-wrap[data-v-8a72fcee]{max-width:980px;margin:0 auto;padding:16px}.guide-hero[data-v-8a72fcee]{background:linear-gradient(160deg,#1a3c34,#2d6a4f 55%,#3d8b6c);color:#fff;border-radius:22px;padding:24px 18px;margin-bottom:14px;box-shadow:0 12px 28px #1d4a3a2e}.guide-hero__badge[data-v-8a72fcee]{display:inline-block;padding:6px 10px;border-radius:999px;background:#ffffff24;font-size:12px;margin-bottom:12px}.guide-hero h1[data-v-8a72fcee]{margin:0 0 10px;font-size:24px;line-height:1.4}.guide-hero p[data-v-8a72fcee]{margin:0;opacity:.95;line-height:1.8}.guide-hero__tips[data-v-8a72fcee]{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.guide-hero__tips span[data-v-8a72fcee]{padding:6px 10px;border-radius:999px;background:#ffffff1f;font-size:12px}.toc-card[data-v-8a72fcee],.guide-card[data-v-8a72fcee]{background:#fff;border-radius:18px;padding:18px;margin-bottom:12px;box-shadow:0 1px 4px #0000000f,0 4px 12px #0000000a}.toc-card summary[data-v-8a72fcee]{cursor:pointer;font-weight:700;color:#234134}.toc-grid[data-v-8a72fcee]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}.toc-grid a[data-v-8a72fcee]{text-decoration:none;color:#2d6a4f;background:#f7faf8;border:1px solid #e3ece7;border-radius:12px;padding:10px 12px;font-size:14px}.guide-card--focus[data-v-8a72fcee]{border:2px solid rgba(45,106,79,.12)}.guide-card__title[data-v-8a72fcee]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.guide-card__title h2[data-v-8a72fcee]{margin:0;font-size:18px;color:#223b31}.guide-card__icon[data-v-8a72fcee]{font-size:22px}.lead[data-v-8a72fcee]{margin:0 0 14px;color:#4b5563;font-size:14px;line-height:1.9}.path-list[data-v-8a72fcee]{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.path-item[data-v-8a72fcee]{display:flex;flex-direction:column;gap:4px;border-left:4px solid #2d6a4f;background:#f8fbf9;padding:12px 14px;border-radius:12px}.path-label[data-v-8a72fcee]{color:#6b7280;font-size:12px}.path-value[data-v-8a72fcee]{color:#223b31;font-weight:600;line-height:1.7}.step-list[data-v-8a72fcee]{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.step-item[data-v-8a72fcee]{display:flex;gap:12px;align-items:flex-start}.step-index[data-v-8a72fcee]{width:28px;height:28px;border-radius:50%;background:#2d6a4f;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;margin-top:2px}.step-content[data-v-8a72fcee]{flex:1;background:#f8fbf9;border-radius:12px;padding:12px 14px;border:1px solid #e3ece7}.step-title[data-v-8a72fcee]{font-size:15px;font-weight:600;color:#223b31;margin-bottom:4px}.step-content p[data-v-8a72fcee],.plain-list li[data-v-8a72fcee],.faq-item p[data-v-8a72fcee],.status-item p[data-v-8a72fcee],.highlight-value[data-v-8a72fcee]{margin:0;color:#4b5563;line-height:1.8;font-size:14px}.plain-list[data-v-8a72fcee]{padding-left:20px;margin:0}.highlight-grid[data-v-8a72fcee],.status-grid[data-v-8a72fcee]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}.highlight-item[data-v-8a72fcee],.status-item[data-v-8a72fcee]{border-radius:14px;padding:14px;background:#f7faf8;border:1px solid #e3ece7}.highlight-label[data-v-8a72fcee]{font-size:12px;color:#6b7280;margin-bottom:6px}.tip-box[data-v-8a72fcee],.note-box[data-v-8a72fcee]{margin-top:14px;border-radius:12px;padding:12px 14px;line-height:1.8;font-size:14px}.tip-box[data-v-8a72fcee]{background:#fff8eb;border:1px solid #f0dfb5;color:#7a5b1f}.note-box[data-v-8a72fcee]{background:#f5f8ff;border:1px solid #dbe6ff;color:#44536b}.status-badge[data-v-8a72fcee]{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;margin-bottom:8px}.status-badge.pending[data-v-8a72fcee]{background:#fff7e6;color:#b26b00}.status-badge.approved[data-v-8a72fcee]{background:#e9f8ef;color:#1d7a46}.status-badge.rejected[data-v-8a72fcee]{background:#fff0f0;color:#b33a3a}.faq-item+.faq-item[data-v-8a72fcee]{margin-top:14px}.faq-item strong[data-v-8a72fcee]{display:block;margin-bottom:6px;color:#223b31}.shot-card[data-v-8a72fcee]{margin:14px 0 0}.shot-card figcaption[data-v-8a72fcee]{margin-top:10px;color:#6b7280;font-size:13px;line-height:1.7}.shot[data-v-8a72fcee]{width:100%;display:block;border-radius:16px;border:1px solid #e5ece8;box-shadow:0 8px 24px #19383014;object-fit:cover;background:#eef2ef}.shot--menu[data-v-8a72fcee]{height:380px;object-position:right bottom}.shot--tree[data-v-8a72fcee]{height:560px;object-position:center top}.shot--detail[data-v-8a72fcee]{height:460px;object-position:center top}.shot--review[data-v-8a72fcee]{height:235px;object-position:center top}.shot--import[data-v-8a72fcee]{height:500px;object-position:center top}code[data-v-8a72fcee]{background:#ffffffbf;padding:2px 6px;border-radius:6px;font-size:13px}@media (max-width: 640px){.guide-wrap[data-v-8a72fcee]{padding:12px}.guide-hero h1[data-v-8a72fcee]{font-size:21px}.toc-card[data-v-8a72fcee],.guide-card[data-v-8a72fcee]{padding:16px}.shot--menu[data-v-8a72fcee]{height:300px}.shot--tree[data-v-8a72fcee],.shot--detail[data-v-8a72fcee],.shot--import[data-v-8a72fcee]{height:320px}.shot--review[data-v-8a72fcee]{height:180px}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.6;color:#333;background:#f5f5f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media screen and (max-width: 428px){html{font-size:14px}}@media screen and (min-width: 429px){html{font-size:16px}body{max-width:428px;margin:0 auto;background:#e0e0e0}#app{background:#f5f5f5;min-height:100vh}}button,.btn,input[type=button],input[type=submit]{min-height:44px;min-width:44px;padding:.75rem 1rem;font-size:1rem;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:active{transform:scale(.98);opacity:.9}.btn-secondary{background:#f0f0f0;color:#666}.btn-secondary:active{background:#e0e0e0}.btn-danger{background:#ff4757;color:#fff}input,textarea,select{width:100%;min-height:44px;padding:.75rem;font-size:1rem;border:1px solid #ddd;border-radius:8px;background:#fff;transition:border-color .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:#667eea}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.card{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 8px #00000014}.card-title{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;color:#333}.card-content{color:#666;font-size:.875rem}.list{list-style:none}.list-item{padding:1rem;border-bottom:1px solid #eee}.list-item:last-child{border-bottom:none}img{max-width:100%;height:auto;display:block}.thumbnail{width:80px;height:80px;object-fit:cover;border-radius:8px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:inline-block;width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.empty-state{text-align:center;padding:3rem 1rem;color:#999}.empty-state-icon{font-size:3rem;margin-bottom:1rem}a{color:#667eea;text-decoration:none}a:active{opacity:.8}
