.header[data-v-8dff2217]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);flex-shrink:0;gap:10px}.left[data-v-8dff2217]{display:flex;align-items:center;min-width:0;gap:10px}.title-group[data-v-8dff2217]{display:flex;flex-direction:column;min-width:0}.title[data-v-8dff2217]{margin:0;font-size:17px;font-weight:600;letter-spacing:.5px;white-space:nowrap}.narrative[data-v-8dff2217]{font-size:11px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.back-ghost[data-v-8dff2217]{display:inline-flex;align-items:center;gap:2px;padding:6px 10px 6px 6px;border-radius:999px;background:transparent;color:var(--ink-soft);font-size:13px;font-weight:500;border:1px solid var(--line);transition:background .15s ease,color .15s ease;flex-shrink:0}.back-ghost[data-v-8dff2217]:hover{background:var(--bg);color:var(--ink)}.back-ghost[data-v-8dff2217]:active{transform:scale(.96)}.back-ghost .back-arrow[data-v-8dff2217]{font-size:18px;line-height:1;margin-top:-1px}.back-ghost .back-text[data-v-8dff2217]{font-size:12px;letter-spacing:.3px}.header--province[data-v-8dff2217]{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center}.province-center[data-v-8dff2217]{display:flex;flex-direction:column;align-items:center;min-width:0;padding:0 8px}.province-name[data-v-8dff2217]{font-size:17px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.province-stat[data-v-8dff2217]{font-size:11px;color:var(--ink-soft);margin-top:1px}.center[data-v-8dff2217]{display:flex;align-items:center;gap:10px;padding:6px 14px;background:var(--bg);border-radius:12px}.stat[data-v-8dff2217]{display:flex;align-items:baseline;gap:3px}.stat-num[data-v-8dff2217]{font-size:18px;font-weight:600;color:var(--accent)}.stat-label[data-v-8dff2217]{font-size:12px;color:var(--ink-soft)}.divider[data-v-8dff2217]{width:1px;height:14px;background:var(--line)}.right[data-v-8dff2217]{display:flex;align-items:center;gap:6px}.icon-btn[data-v-8dff2217]{width:34px;height:34px;border-radius:50%;background:var(--bg);border:1px solid var(--line);font-size:16px;display:flex;align-items:center;justify-content:center;position:relative}.avatar-btn[data-v-8dff2217]{width:34px;height:34px;border-radius:50%;background:var(--accent);border:2px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #d97a5b40;transition:transform .08s ease,box-shadow .2s ease;overflow:hidden;position:relative}.avatar-btn.has-photo[data-v-8dff2217]{border-color:var(--accent)}.avatar-btn .avatar-img[data-v-8dff2217]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.avatar-btn[data-v-8dff2217]:hover{box-shadow:0 3px 12px #d97a5b59}.avatar-btn[data-v-8dff2217]:active{transform:scale(.94)}.avatar-char[data-v-8dff2217]{font-size:15px;font-weight:700;color:#fff;line-height:1}.timeline-btn[data-v-8dff2217]{cursor:pointer;color:var(--accent);transition:all .15s ease}.timeline-btn.active[data-v-8dff2217]{background:var(--accent);border-color:var(--accent);color:#fff}.footprint-svg[data-v-8dff2217]{display:block}.icon-btn.badges .trophy[data-v-8dff2217]{font-size:16px;line-height:1}.icon-btn .count[data-v-8dff2217]{position:absolute;top:-4px;right:-4px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;min-width:16px;height:16px;border-radius:8px;padding:0 4px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--surface)}@media (max-width: 480px){.header[data-v-8dff2217]{padding:8px 10px;gap:6px}.title[data-v-8dff2217]{font-size:15px}.province-name[data-v-8dff2217]{font-size:14px}.center[data-v-8dff2217]{padding:4px 10px;gap:6px}.stat-num[data-v-8dff2217]{font-size:16px}}.confirm-overlay[data-v-21a53c13]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px}.confirm-dialog[data-v-21a53c13]{background:var(--surface, #fff);border-radius:16px;padding:28px 24px 20px;max-width:320px;width:100%;text-align:center;box-shadow:0 8px 32px #0000002e}.confirm-icon[data-v-21a53c13]{font-size:36px;line-height:1;margin-bottom:12px}.confirm-title[data-v-21a53c13]{margin:0 0 8px;font-size:17px;font-weight:600;color:var(--ink, #2d2a26)}.confirm-message[data-v-21a53c13]{margin:0 0 20px;font-size:14px;color:var(--ink-soft, #7a7268);line-height:1.5}.confirm-actions[data-v-21a53c13]{display:flex;gap:10px}.confirm-btn[data-v-21a53c13]{flex:1;padding:12px 16px;border-radius:10px;border:none;font-size:15px;font-weight:600;cursor:pointer;transition:transform .1s ease,opacity .15s ease}.confirm-btn[data-v-21a53c13]:active{transform:scale(.96)}.cancel-btn[data-v-21a53c13]{background:var(--bg, #f5f0e8);color:var(--ink, #2d2a26)}.danger-btn[data-v-21a53c13]{background:#e74c3c;color:#fff}.danger-btn.disabled[data-v-21a53c13]{opacity:.4;cursor:not-allowed}.danger-btn.disabled[data-v-21a53c13]:active{transform:none}.confirm-fade-enter-active[data-v-21a53c13]{transition:opacity .2s ease}.confirm-fade-enter-active .confirm-dialog[data-v-21a53c13]{transition:transform .2s ease,opacity .2s ease}.confirm-fade-leave-active[data-v-21a53c13]{transition:opacity .15s ease}.confirm-fade-leave-active .confirm-dialog[data-v-21a53c13]{transition:transform .15s ease,opacity .15s ease}.confirm-fade-enter-from[data-v-21a53c13]{opacity:0}.confirm-fade-enter-from .confirm-dialog[data-v-21a53c13]{transform:scale(.9);opacity:0}.confirm-fade-leave-to[data-v-21a53c13]{opacity:0}.confirm-fade-leave-to .confirm-dialog[data-v-21a53c13]{transform:scale(.9);opacity:0}@media (max-width: 480px){.confirm-dialog[data-v-21a53c13]{padding:24px 20px 16px}.confirm-btn[data-v-21a53c13]{padding:11px 12px;font-size:14px}}.personal-center[data-v-6d7c2521]{max-width:420px;padding:0;overflow-y:auto}.pc-header[data-v-6d7c2521]{position:relative;display:flex;flex-direction:column;align-items:center;padding:28px 18px 18px;background:linear-gradient(160deg,#fdf5e8,#f8e5c8);border-radius:18px 18px 0 0}.close-x[data-v-6d7c2521]{position:absolute;top:12px;right:14px;width:30px;height:30px;border-radius:50%;background:#fff9;border:none;font-size:18px;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;cursor:pointer}.close-x[data-v-6d7c2521]:active{background:#fffc}.avatar-wrap[data-v-6d7c2521]{position:relative;cursor:pointer;margin-bottom:10px}.avatar[data-v-6d7c2521]{width:64px;height:64px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #d97a5b4d;overflow:hidden}.avatar.has-photo[data-v-6d7c2521]{border:3px solid var(--accent)}.avatar-img[data-v-6d7c2521]{width:100%;height:100%;object-fit:cover;display:block}.avatar-char[data-v-6d7c2521]{font-size:28px;font-weight:700;color:#fff;line-height:1}.avatar-edit-hint[data-v-6d7c2521]{position:absolute;bottom:-2px;right:-2px;width:22px;height:22px;border-radius:50%;background:var(--surface);border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center}.camera-icon[data-v-6d7c2521]{font-size:12px;line-height:1}.avatar-loading[data-v-6d7c2521]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#0000004d;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center}.hidden-input[data-v-6d7c2521]{position:absolute;width:0;height:0;opacity:0;overflow:hidden}.remove-avatar-btn[data-v-6d7c2521]{font-size:11px;color:var(--ink-soft);background:none;border:none;padding:2px 6px;cursor:pointer;margin-bottom:4px}.remove-avatar-btn[data-v-6d7c2521]:hover{color:#c0392b}.pc-name[data-v-6d7c2521]{font-size:20px;font-weight:700;color:var(--ink)}.pc-subtitle[data-v-6d7c2521]{font-size:13px;color:var(--ink-soft);margin-top:2px}.stats-row[data-v-6d7c2521]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px 16px 0}.stat-card[data-v-6d7c2521]{text-align:center;padding:10px 4px 8px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}.stat-card .stat-num[data-v-6d7c2521]{display:block;font-size:20px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.stat-card .stat-label[data-v-6d7c2521]{font-size:11px;color:var(--ink-soft);margin-top:2px}.guest-banner[data-v-6d7c2521]{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;font-size:12px;color:#92400e;margin:12px 18px 0}.guest-icon[data-v-6d7c2521]{font-size:14px}.first-trip[data-v-6d7c2521]{text-align:center;font-size:11px;color:var(--ink-soft);padding:8px 16px 0}.children-section[data-v-6d7c2521]{margin:14px 16px 0;padding:14px;background:var(--bg);border-radius:12px;border:1px solid var(--line)}.children-list[data-v-6d7c2521]{display:flex;flex-wrap:wrap;gap:8px}.child-chip[data-v-6d7c2521]{display:flex;align-items:center;gap:6px;padding:6px 12px 6px 6px;background:var(--surface);border:1.5px solid var(--line);border-radius:999px;cursor:pointer;transition:all .15s;position:relative}.child-chip.active[data-v-6d7c2521]{border-color:var(--accent);background:#fdf5e8}.child-chip[data-v-6d7c2521]:hover{background:#f4eee3}.child-chip.active[data-v-6d7c2521]:hover{background:#fdf5e8}.child-avatar-mini[data-v-6d7c2521]{width:24px;height:24px;border-radius:50%;background:var(--line);color:var(--ink-soft);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.child-avatar-mini.active[data-v-6d7c2521]{background:var(--accent);color:#fff}.child-chip-name[data-v-6d7c2521]{font-size:13px;font-weight:500;color:var(--ink)}.child-remove[data-v-6d7c2521]{width:20px;height:20px;border-radius:50%;background:#fdecea;border:none;color:#c0392b;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:2px;flex-shrink:0;transition:background .15s,transform .1s}.child-remove[data-v-6d7c2521]:hover{background:#f9c8c2}.child-remove[data-v-6d7c2521]:active{transform:scale(.9)}.section-actions[data-v-6d7c2521]{display:flex;align-items:center;gap:10px}.manage-hint[data-v-6d7c2521]{margin:10px 0 0;font-size:11px;color:var(--ink-soft)}.add-child-form[data-v-6d7c2521]{margin-top:10px}.add-child-input[data-v-6d7c2521]{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px;margin-bottom:8px}.add-child-actions[data-v-6d7c2521]{display:flex;gap:8px;justify-content:flex-end}.profile-section[data-v-6d7c2521]{margin:14px 16px 0;padding:14px;background:var(--bg);border-radius:12px;border:1px solid var(--line)}.profile-section.editing[data-v-6d7c2521]{background:#fffaf3;border-color:var(--accent-soft, #f1dfc6)}.section-header[data-v-6d7c2521]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header h3[data-v-6d7c2521]{margin:0;font-size:14px;font-weight:600;color:var(--ink)}.edit-link[data-v-6d7c2521]{background:none;border:none;color:var(--accent);font-size:13px;font-weight:500;cursor:pointer;padding:2px 6px}.info-grid[data-v-6d7c2521]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.info-item[data-v-6d7c2521]{display:flex;flex-direction:column;gap:3px}.info-item.full[data-v-6d7c2521]{grid-column:1 / -1}.info-label[data-v-6d7c2521]{font-size:11px;color:var(--ink-soft);letter-spacing:.5px}.info-value[data-v-6d7c2521]{font-size:14px;font-weight:500;color:var(--ink)}.field[data-v-6d7c2521]{margin-bottom:12px}.field label[data-v-6d7c2521]{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:4px;font-weight:500}.field input[data-v-6d7c2521],.field select[data-v-6d7c2521]{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px}.bp-row[data-v-6d7c2521]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bp-row select[data-v-6d7c2521]{padding:9px 28px 9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b655c'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.bp-row select[data-v-6d7c2521]:disabled{background-color:#f7f4ee;color:var(--ink-soft)}.hint[data-v-6d7c2521]{font-size:11px;color:var(--ink-soft);margin-top:6px}.edit-actions[data-v-6d7c2521]{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:4px}.saved-flash[data-v-6d7c2521]{margin-right:auto;padding:4px 10px;border-radius:999px;background:#e6f3e1;color:#3f8a52;font-size:12px;font-weight:600}.more-section[data-v-6d7c2521]{margin:14px 16px 16px}.more-toggle[data-v-6d7c2521]{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg);border:1px solid var(--line);border-radius:12px;cursor:pointer;font-size:13px;color:var(--ink-soft);transition:background .15s}.more-toggle[data-v-6d7c2521]:hover{background:#f4eee3}.more-label[data-v-6d7c2521]{font-weight:500}.more-chevron[data-v-6d7c2521]{font-size:16px;transition:transform .2s;transform:rotate(0)}.more-chevron.open[data-v-6d7c2521]{transform:rotate(90deg)}.more-body[data-v-6d7c2521]{margin-top:8px;padding:14px;background:var(--bg);border:1px solid var(--line);border-radius:12px}.acct-row[data-v-6d7c2521]{display:flex;align-items:center;justify-content:space-between}.acct-item[data-v-6d7c2521]{display:flex;flex-direction:column;gap:3px}.pwd-mask[data-v-6d7c2521]{letter-spacing:2px;color:var(--ink-soft)!important}.acct-divider[data-v-6d7c2521]{height:1px;background:var(--line);margin:10px 0}.acct-edit-block[data-v-6d7c2521]{padding:4px 0 2px}.acct-edit-block .field[data-v-6d7c2521]{margin-bottom:10px}.inline-msg[data-v-6d7c2521]{font-size:12px;padding:6px 10px;border-radius:8px;margin-bottom:10px}.inline-msg.ok[data-v-6d7c2521]{background:#e6f3e1;color:#3f8a52}.inline-msg.err[data-v-6d7c2521]{background:#fef2f0;color:#c0392b}.more-action[data-v-6d7c2521]{display:block;width:100%;background:none;border:none;text-align:left;padding:10px 0;font-size:13px;color:var(--ink-soft);cursor:pointer}.more-action[data-v-6d7c2521]:hover{color:var(--ink)}.more-action.danger[data-v-6d7c2521]{color:#c0392b}.more-action.danger[data-v-6d7c2521]:hover{text-decoration:underline}.fold-enter-active[data-v-6d7c2521]{transition:all .2s ease}.fold-leave-active[data-v-6d7c2521]{transition:all .15s ease}.fold-enter-from[data-v-6d7c2521],.fold-leave-to[data-v-6d7c2521]{opacity:0;transform:translateY(-6px)}.nav-entries[data-v-6d7c2521]{padding:14px 16px 0;display:flex;flex-direction:column;gap:8px}.entry-btn[data-v-6d7c2521]{width:100%;display:flex;align-items:center;gap:12px;padding:13px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-align:left;transition:transform .05s ease,box-shadow .2s ease;cursor:pointer}.entry-btn[data-v-6d7c2521]:hover{box-shadow:0 3px 12px #3c322314}.entry-btn[data-v-6d7c2521]:active{transform:scale(.99)}.entry-icon[data-v-6d7c2521]{font-size:22px;line-height:1}.entry-text[data-v-6d7c2521]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.entry-title[data-v-6d7c2521]{font-size:14px;font-weight:600;color:var(--ink)}.entry-sub[data-v-6d7c2521]{font-size:11px;color:var(--ink-soft)}.entry-arrow[data-v-6d7c2521]{font-size:20px;color:var(--ink-soft);line-height:1}@media (max-width: 480px){.stats-row[data-v-6d7c2521]{gap:6px;padding:12px 12px 0}.stat-card .stat-num[data-v-6d7c2521]{font-size:18px}.profile-section[data-v-6d7c2521]{margin:12px 12px 0}.nav-entries[data-v-6d7c2521]{padding:12px 12px 0}.more-section[data-v-6d7c2521]{margin:12px 12px 14px}}.badge-icon[data-v-c79d3831]{width:1em;height:1em;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.badge-icon-missing[data-v-c79d3831]{display:inline-block;width:1em;height:1em;line-height:1;text-align:center;color:#b5ada0}.badge-sheet[data-v-d60881cd]{max-width:540px;padding:0 18px 12px}.sheet-header[data-v-d60881cd]{position:sticky;top:0;z-index:3;display:flex;align-items:baseline;justify-content:space-between;background:var(--surface);margin:0 -18px 14px;padding:16px 18px 12px;border-bottom:1px solid var(--line);border-radius:18px 18px 0 0}.sheet-header h2[data-v-d60881cd]{margin:0;font-size:18px}.progress[data-v-d60881cd]{display:flex;align-items:baseline;gap:3px}.progress-num[data-v-d60881cd]{font-size:20px;font-weight:700;color:var(--accent)}.progress-total[data-v-d60881cd]{font-size:12px;color:var(--ink-soft)}.sec[data-v-d60881cd]{margin-bottom:18px}.sec-title[data-v-d60881cd]{font-size:11px;color:var(--ink-soft);margin:0 0 8px;letter-spacing:1.5px;font-weight:500;text-transform:uppercase}.grid[data-v-d60881cd]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.badge[data-v-d60881cd]{position:relative;padding:10px 4px 8px;text-align:center;transition:transform .15s ease}.badge .emoji[data-v-d60881cd]{font-size:56px;line-height:1;margin-bottom:6px;filter:grayscale(1) opacity(.3);display:flex;justify-content:center}.badge .name[data-v-d60881cd]{font-size:12px;font-weight:500;color:#b5ada0}.badge .locked-info[data-v-d60881cd]{margin-top:2px}.badge .progress-hint[data-v-d60881cd]{font-size:10px;color:#c0b8a8;line-height:1.4}.badge.nearest .emoji[data-v-d60881cd]{filter:grayscale(.5) opacity(.55)}.badge.nearest .name[data-v-d60881cd]{color:#8a7430}.badge.nearest .progress-hint[data-v-d60881cd]{color:#9a8530;font-weight:600}.badge.unlocked .emoji[data-v-d60881cd]{font-size:64px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.15));margin-bottom:8px}.badge.unlocked .name[data-v-d60881cd]{font-size:13px;font-weight:700;color:var(--ink)}.badge.unlocked .tagline[data-v-d60881cd]{font-size:10px;color:var(--ink-soft);margin-top:4px;line-height:1.4}.badge.unlocked .date[data-v-d60881cd]{font-size:10px;margin-top:4px;letter-spacing:.5px;font-variant-numeric:tabular-nums;color:var(--ink-soft);opacity:.7}.badge.unlocked .check[data-v-d60881cd]{display:none}.badge.legendary .emoji[data-v-d60881cd]{filter:drop-shadow(0 4px 12px rgba(228,159,50,.5));animation:legendGlow-d60881cd 3s ease-in-out infinite}.badge.legendary .name[data-v-d60881cd]{color:#8a4b15;font-size:14px}.badge.legendary .tagline[data-v-d60881cd],.badge.legendary .date[data-v-d60881cd]{color:#a76423}@keyframes legendGlow-d60881cd{0%,to{filter:drop-shadow(0 4px 12px rgba(228,159,50,.4))}50%{filter:drop-shadow(0 6px 18px rgba(228,159,50,.7))}}.sticky-actions[data-v-d60881cd]{position:sticky;bottom:-12px;background:var(--surface);margin:6px -18px -12px;padding:10px 18px 12px;border-top:1px solid var(--line)}@media (min-width: 480px){.grid[data-v-d60881cd]{grid-template-columns:repeat(3,1fr)}}.badge-overlay[data-v-b2c5dcae]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#281e1466;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);cursor:pointer;padding:20px}.badge-card[data-v-b2c5dcae]{position:relative;background:linear-gradient(160deg,#fffcf5,#fef3dc);border:2px solid #f0d49a;border-radius:22px;padding:32px 28px 24px;text-align:center;box-shadow:0 16px 48px #c8963240,0 0 0 1px #ffffff80 inset;max-width:300px;width:100%;animation:cardGlow-b2c5dcae 2s ease-in-out infinite}.badge-card.legendary[data-v-b2c5dcae]{background:linear-gradient(160deg,#fff8d6,#ffe480 60%,#f5b84a);border-color:#d99326;box-shadow:0 16px 48px #e49f3266,0 0 0 1px #fff9 inset}.close-x[data-v-b2c5dcae]{position:absolute;top:10px;right:12px;width:28px;height:28px;border-radius:50%;background:#fff9;border:none;font-size:16px;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;cursor:pointer}.confetti[data-v-b2c5dcae]{font-size:28px;line-height:1;margin-bottom:6px;animation:sparkle-b2c5dcae 1.5s ease-in-out infinite}.unlock-label[data-v-b2c5dcae]{font-size:12px;letter-spacing:2px;color:#a87830;font-weight:600;margin-bottom:14px}.badge-emoji[data-v-b2c5dcae]{font-size:96px;line-height:1;margin-bottom:14px;display:flex;justify-content:center;filter:drop-shadow(0 6px 12px rgba(200,150,50,.35));animation:badgeBounce-b2c5dcae .6s cubic-bezier(.34,1.56,.64,1) both;animation-delay:.15s}.badge-name[data-v-b2c5dcae]{font-size:22px;font-weight:700;color:#3d2e15;margin-bottom:6px}.badge-tagline[data-v-b2c5dcae]{font-size:14px;color:#8a6f40;line-height:1.5;margin-bottom:16px}.tap-hint[data-v-b2c5dcae]{font-size:11px;color:#b89e70;letter-spacing:.5px}@keyframes cardGlow-b2c5dcae{0%,to{box-shadow:0 16px 48px #c8963240,0 0 0 1px #ffffff80 inset}50%{box-shadow:0 16px 48px #c8963259,0 0 20px #ffdc6426,0 0 0 1px #ffffff80 inset}}@keyframes sparkle-b2c5dcae{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.15) rotate(-8deg)}75%{transform:scale(1.15) rotate(8deg)}}@keyframes badgeBounce-b2c5dcae{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.badge-pop-enter-active[data-v-b2c5dcae]{transition:opacity .3s ease}.badge-pop-enter-active .badge-card[data-v-b2c5dcae]{animation:popIn-b2c5dcae .4s cubic-bezier(.34,1.56,.64,1) both}.badge-pop-leave-active[data-v-b2c5dcae]{transition:opacity .25s ease}.badge-pop-leave-to[data-v-b2c5dcae]{opacity:0}@keyframes popIn-b2c5dcae{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 380px){.badge-card[data-v-b2c5dcae]{padding:28px 20px 20px}.badge-emoji[data-v-b2c5dcae]{font-size:52px}.badge-name[data-v-b2c5dcae]{font-size:20px}}.mem-sheet[data-v-fe47674d]{max-width:520px;padding:0 18px 12px}.sheet-header[data-v-fe47674d]{position:sticky;top:0;z-index:3;background:var(--surface);margin:0 -18px 12px;padding:16px 18px 12px;border-bottom:1px solid var(--line);border-radius:18px 18px 0 0}.sheet-header h2[data-v-fe47674d]{margin:0 0 4px;font-size:18px}.sub[data-v-fe47674d]{font-size:12px;color:var(--ink-soft)}.sub .num[data-v-fe47674d]{font-weight:700;color:var(--accent);font-size:14px;font-variant-numeric:tabular-nums}.empty[data-v-fe47674d]{padding:32px 12px;text-align:center;color:var(--ink-soft);font-size:13px;line-height:1.7}.year-block[data-v-fe47674d]{margin-bottom:14px}.year-head[data-v-fe47674d]{font-size:11px;color:var(--ink-soft);letter-spacing:2px;margin:0 0 8px;font-weight:500}.row[data-v-fe47674d]{display:flex;align-items:stretch;background:var(--bg);border-radius:12px;margin-bottom:8px;border:1px solid var(--line);transition:border-color .15s ease}.row.editing[data-v-fe47674d]{border-color:var(--accent-soft);background:#fffaf3}.row-main[data-v-fe47674d]{flex:1;padding:10px 12px;min-width:0;cursor:pointer}.row-top[data-v-fe47674d]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-date[data-v-fe47674d]{font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}.row-city[data-v-fe47674d]{display:flex;align-items:baseline;gap:4px;margin-top:4px}.city-name[data-v-fe47674d]{font-size:15px;font-weight:600;color:var(--ink)}.prov-name[data-v-fe47674d]{font-size:12px;color:var(--ink-soft)}.row-note[data-v-fe47674d]{font-size:13px;color:var(--ink-soft);margin-top:4px;line-height:1.5;word-break:break-word}.row-note-empty[data-v-fe47674d]{font-size:11px;color:#c4bdb0;margin-top:4px;font-style:italic}.row-facts[data-v-fe47674d]{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.fact-chip[data-v-fe47674d]{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:11px;line-height:1.4;background:var(--surface);color:var(--ink-soft);border:1px solid var(--line)}.fact-people[data-v-fe47674d]{background:#eef4ff;color:#3b5b8f;border-color:#d6e1f5}.fact-duration[data-v-fe47674d]{background:#fff7e6;color:#8c5a1a;border-color:#f3e0bd}.fact-tag[data-v-fe47674d]{background:#eef7ee;color:#2f6a3a;border-color:#d2e6d6}.age-chip[data-v-fe47674d]{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:11px;color:#2d2a26;font-weight:500}.born-tag[data-v-fe47674d]{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:11px;background:#fce4ec;color:#c2185b;border:1px solid #f8bbd0}.row-edit[data-v-fe47674d]{padding:0 14px;font-size:16px;color:var(--ink-soft);border-left:1px dashed var(--line)}.edit-form[data-v-fe47674d]{flex:1;padding:12px 14px}.edit-city[data-v-fe47674d]{font-size:14px;font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.edit-actions[data-v-fe47674d]{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.edit-actions .btn-danger[data-v-fe47674d]{margin-right:auto}.sticky-actions[data-v-fe47674d]{position:sticky;bottom:-12px;background:var(--surface);margin:6px -18px -12px;padding:10px 18px 12px;border-top:1px solid var(--line)}.welcome-backdrop[data-v-e4f28a90]{position:fixed;top:0;right:0;bottom:0;left:0;background:#281e1480;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.welcome-card[data-v-e4f28a90]{background:var(--surface);border-radius:22px;width:100%;max-width:380px;box-shadow:0 16px 48px #3c322333;overflow:hidden}.step[data-v-e4f28a90]{padding:36px 28px 28px;display:flex;flex-direction:column;align-items:center;text-align:center}.step-icon[data-v-e4f28a90]{font-size:56px;line-height:1;margin-bottom:16px}.step-title[data-v-e4f28a90]{margin:0 0 6px;font-size:22px;font-weight:700;color:var(--ink)}.step-desc[data-v-e4f28a90]{margin:0 0 24px;font-size:14px;color:var(--ink-soft);line-height:1.5}.step-field[data-v-e4f28a90]{width:100%;text-align:left;margin-bottom:20px}.step-field label[data-v-e4f28a90]{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:6px;font-weight:500}.step-field input[data-v-e4f28a90]{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);font-size:16px;color:var(--ink);text-align:center;transition:border-color .15s ease}.step-field input[data-v-e4f28a90]:focus{outline:none;border-color:var(--accent)}.step-actions[data-v-e4f28a90]{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.btn-lg[data-v-e4f28a90]{width:100%;padding:13px 20px;font-size:16px;border-radius:12px;font-weight:600}.skip-link[data-v-e4f28a90]{background:none;border:none;color:var(--ink-soft);font-size:13px;cursor:pointer;padding:4px 8px}.skip-link[data-v-e4f28a90]:hover{text-decoration:underline}.age-colors[data-v-e4f28a90]{display:flex;align-items:center;gap:6px;margin-bottom:20px;padding:8px 14px;background:var(--bg);border-radius:999px}.color-dot[data-v-e4f28a90]{width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(255,255,255,.8);box-shadow:0 1px 3px #0000001a}.color-label[data-v-e4f28a90]{font-size:11px;color:var(--ink-soft);margin-left:4px}.step-enter-active[data-v-e4f28a90],.step-leave-active[data-v-e4f28a90]{transition:all .25s ease}.step-enter-from[data-v-e4f28a90]{opacity:0;transform:translate(30px)}.step-leave-to[data-v-e4f28a90]{opacity:0;transform:translate(-30px)}@media (max-width: 380px){.step[data-v-e4f28a90]{padding:28px 20px 24px}.step-icon[data-v-e4f28a90]{font-size:44px}.step-title[data-v-e4f28a90]{font-size:20px}}.app[data-v-a381a56d]{display:flex;flex-direction:column;height:100%;background:var(--bg)}.main[data-v-a381a56d]{flex:1;min-height:0;position:relative;overflow:hidden}.loading[data-v-a381a56d]{height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg)}.loading-inner[data-v-a381a56d]{display:flex;flex-direction:column;align-items:center;gap:12px}.loading-icon[data-v-a381a56d]{font-size:48px;animation:pulse-a381a56d 1.5s ease-in-out infinite}.loading-text[data-v-a381a56d]{font-size:14px;color:var(--ink-soft)}@keyframes pulse-a381a56d{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}.china-map-wrap[data-v-0106bcfc]{position:relative;width:100%;height:100%}.map[data-v-0106bcfc]{width:100%;height:100%}.overlay[data-v-0106bcfc]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg)}.loading[data-v-0106bcfc]{color:var(--ink-soft)}.error[data-v-0106bcfc]{color:#c0392b;padding:12px 16px;background:#fdecea;border-radius:10px}.legend[data-v-81a2f56e]{background:var(--surface);border-radius:12px;padding:10px 14px;box-shadow:var(--shadow-sm);border:1px solid var(--line)}.legend-title[data-v-81a2f56e]{font-size:11px;color:var(--ink-soft);margin-bottom:6px;letter-spacing:.3px}.bands[data-v-81a2f56e]{display:flex;flex-wrap:wrap;gap:8px 12px}.band[data-v-81a2f56e]{display:flex;align-items:center;gap:5px}.swatch[data-v-81a2f56e]{width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.06)}.band-label[data-v-81a2f56e]{font-size:11px;color:var(--ink-soft)}.poetry-overlay[data-v-804c9d13]{position:absolute;right:18px;bottom:18px;z-index:8;max-width:220px;padding:14px 16px;background:#fffcf7eb;border:1px solid rgba(200,185,160,.4);border-radius:14px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #3c32231a;pointer-events:none}.poem-lines[data-v-804c9d13]{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.line[data-v-804c9d13]{font-size:14px;line-height:1.7;color:#3d3428;letter-spacing:1.5px;font-weight:500}.poem-meta[data-v-804c9d13]{display:flex;flex-direction:column;gap:2px;padding-top:8px;border-top:1px solid rgba(200,185,160,.35)}.poem-author[data-v-804c9d13]{font-size:11px;color:#8a7e6e;letter-spacing:.5px}.poem-title[data-v-804c9d13]{font-size:11px;color:#a89880;font-style:italic}.poem-fade-enter-active[data-v-804c9d13]{transition:opacity .35s ease,transform .35s ease}.poem-fade-leave-active[data-v-804c9d13]{transition:opacity .3s ease,transform .3s ease}.poem-fade-enter-from[data-v-804c9d13]{opacity:0;transform:translateY(8px)}.poem-fade-leave-to[data-v-804c9d13]{opacity:0;transform:translateY(4px)}@media (max-width: 480px){.poetry-overlay[data-v-804c9d13]{right:12px;bottom:12px;max-width:180px;padding:10px 12px}.line[data-v-804c9d13]{font-size:12px;letter-spacing:1px}}.timeline[data-v-bcbbdbac]{position:absolute;left:14px;right:14px;bottom:14px;z-index:6;background:#fffffff0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;padding:12px 14px 10px;box-shadow:0 4px 16px #00000014}.year-row[data-v-bcbbdbac]{position:relative;display:flex;gap:6px;overflow-x:auto;margin:-2px 0 10px;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.year-row[data-v-bcbbdbac]::-webkit-scrollbar{display:none}.year-chip[data-v-bcbbdbac]{flex:none;font-size:12px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink-soft);cursor:pointer;font-variant-numeric:tabular-nums;transition:all .15s ease;white-space:nowrap}.year-chip.active[data-v-bcbbdbac]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;box-shadow:0 1px 4px #d97a5b4d}.controls[data-v-bcbbdbac]{display:flex;align-items:center;gap:10px}.play-btn[data-v-bcbbdbac]{width:34px;height:34px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:transform .15s}.play-btn[data-v-bcbbdbac]:active{transform:scale(.9)}.slider-wrap[data-v-bcbbdbac]{flex:1;position:relative;height:24px;display:flex;align-items:center}.slider[data-v-bcbbdbac]{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5dcc9;border-radius:2px;outline:none;cursor:pointer}.slider[data-v-bcbbdbac]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);border:3px solid white;box-shadow:0 1px 4px #0003;cursor:pointer;position:relative;z-index:2}.slider[data-v-bcbbdbac]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:3px solid white;box-shadow:0 1px 4px #0003;cursor:pointer}.dots[data-v-bcbbdbac]{position:absolute;left:0;right:0;top:50%;pointer-events:none}.dot[data-v-bcbbdbac]{position:absolute;width:6px;height:6px;border-radius:50%;background:#d8d0c2;transform:translate(-50%,-50%);transition:background .3s}.dot.active[data-v-bcbbdbac]{background:var(--accent)}.snd-btn[data-v-bcbbdbac]{width:28px;height:28px;border-radius:50%;border:none;background:transparent;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;opacity:.85;transition:opacity .15s,transform .1s}.snd-btn[data-v-bcbbdbac]:hover{opacity:1}.snd-btn[data-v-bcbbdbac]:active{transform:scale(.88)}.close-btn[data-v-bcbbdbac]{width:28px;height:28px;border-radius:50%;border:none;background:#0000000f;color:var(--ink-soft);font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.info-row[data-v-bcbbdbac]{display:flex;align-items:center;gap:10px;margin-top:8px;min-height:20px}.info-stats[data-v-bcbbdbac]{display:flex;align-items:baseline;gap:2px;flex-shrink:0}.stat-accent[data-v-bcbbdbac]{font-size:16px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.stat-label[data-v-bcbbdbac]{font-size:12px;color:var(--ink-soft)}.info-detail[data-v-bcbbdbac]{font-size:13px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.route-text[data-v-bcbbdbac]{font-size:12px;color:var(--ink-soft)}.mode-toggle[data-v-bcbbdbac]{display:flex;flex-shrink:0;margin-left:auto;background:#0000000d;border-radius:8px;padding:2px;gap:2px}.mode-btn[data-v-bcbbdbac]{font-size:12px;padding:3px 10px;border:none;border-radius:6px;background:transparent;color:var(--ink-soft);cursor:pointer;font-weight:500;transition:all .15s ease;white-space:nowrap}.mode-btn.active[data-v-bcbbdbac]{background:var(--accent);color:#fff;box-shadow:0 1px 4px #d97a5b4d}@media (max-width: 480px){.timeline[data-v-bcbbdbac]{left:10px;right:10px;bottom:10px;padding:10px 10px 8px;gap:8px}.controls[data-v-bcbbdbac]{gap:8px}.play-btn[data-v-bcbbdbac]{width:30px;height:30px;font-size:12px}.info-row[data-v-bcbbdbac]{margin-top:6px}}.swap-handle[data-v-0ef8dd00]{position:absolute;top:50%;transform:translateY(-50%);width:26px;height:70px;padding:6px 2px 8px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;z-index:8;touch-action:pan-y;color:var(--ink-soft);cursor:pointer;user-select:none;-webkit-user-select:none}.swap-handle--right[data-v-0ef8dd00]{right:0;border-right:none;border-top-left-radius:18px;border-bottom-left-radius:18px}.swap-handle--left[data-v-0ef8dd00]{left:0;border-left:none;border-top-right-radius:18px;border-bottom-right-radius:18px}.swap-icon[data-v-0ef8dd00]{font-size:13px;line-height:1;color:var(--accent)}.swap-label[data-v-0ef8dd00]{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:11px;letter-spacing:1px}.swap-char[data-v-0ef8dd00]{line-height:1.1}.swap-handle--hint.swap-handle--right[data-v-0ef8dd00]{animation:wiggle-right-0ef8dd00 1.5s ease-in-out 1}.swap-handle--hint.swap-handle--left[data-v-0ef8dd00]{animation:wiggle-left-0ef8dd00 1.5s ease-in-out 1}@keyframes wiggle-right-0ef8dd00{0%,25%,55%,to{transform:translateY(-50%)}15%,45%{transform:translate(-4px,-50%)}}@keyframes wiggle-left-0ef8dd00{0%,25%,55%,to{transform:translateY(-50%)}15%,45%{transform:translate(4px,-50%)}}.map-pager[data-v-0dabb689]{position:relative;width:100%;height:100%;overflow:hidden}.pager-track[data-v-0dabb689]{display:flex;width:200%;height:100%;will-change:transform}.page[data-v-0dabb689]{width:50%;height:100%;position:relative;flex-shrink:0}.world-map-wrap[data-v-9b0b46b1]{position:relative;width:100%;height:100%;background:var(--bg)}.map[data-v-9b0b46b1]{width:100%;height:100%}.overlay[data-v-9b0b46b1]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg)}.loading[data-v-9b0b46b1]{color:var(--ink-soft)}.error[data-v-9b0b46b1]{color:#c0392b;padding:12px 16px;background:#fdecea;border-radius:10px}.stub-card[data-v-9b0b46b1]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;background:var(--bg)}.stub-icon[data-v-9b0b46b1]{font-size:36px}.stub-title[data-v-9b0b46b1]{font-size:16px;font-weight:600;color:var(--ink)}.stub-body[data-v-9b0b46b1]{margin:0;font-size:13px;color:var(--ink-soft);line-height:1.7;max-width:280px}.stub-meta[data-v-9b0b46b1]{margin:8px 0 0;font-size:11px;color:var(--ink-soft)}.stub-meta code[data-v-9b0b46b1]{background:var(--surface);border:1px solid var(--line);padding:2px 5px;border-radius:4px}.stat-chip[data-v-9b0b46b1]{position:absolute;top:16px;right:16px;z-index:5;max-width:200px}.stat-line[data-v-9b0b46b1]{font-size:13px;color:var(--ink)}.stat-num[data-v-9b0b46b1]{font-weight:600;color:var(--accent);font-size:15px}.stat-sub[data-v-9b0b46b1]{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.cont-chip[data-v-9b0b46b1]{font-size:10px;color:var(--ink-soft);background:var(--bg);border-radius:6px;padding:1px 6px}.hint-title[data-v-9b0b46b1]{font-size:13px;font-weight:600;color:var(--ink)}.hint-body[data-v-9b0b46b1]{font-size:12px;color:var(--ink-soft);margin-top:3px}.hint-card[data-v-9b0b46b1]{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;box-shadow:var(--shadow-sm)}@media (max-width: 480px){.stat-chip[data-v-9b0b46b1]{top:10px;right:10px;max-width:170px;padding:8px 12px}}.photo-uploader[data-v-55d2017c]{display:flex;flex-wrap:wrap;gap:8px}.thumb[data-v-55d2017c]{position:relative;width:72px;height:72px;border-radius:10px;overflow:hidden;background:var(--bg);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0}.thumb img[data-v-55d2017c]{width:100%;height:100%;object-fit:cover;display:block}.thumb-placeholder[data-v-55d2017c]{color:var(--ink-soft);font-size:14px}.remove-btn[data-v-55d2017c]{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:999px;background:#281e14a6;color:#fff;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}.remove-btn[data-v-55d2017c]:hover{background:#281e14d9}.add-btn[data-v-55d2017c]{border-style:dashed;color:var(--ink-soft);font-size:26px;font-weight:300;background:#fff}.add-btn[data-v-55d2017c]:hover{background:#fcfaf5;color:var(--accent);border-color:var(--accent-soft)}.thumb-loading[data-v-55d2017c]{background:#fff}.spinner[data-v-55d2017c]{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin-55d2017c .8s linear infinite}@keyframes spin-55d2017c{to{transform:rotate(360deg)}}.section-title[data-v-54cef0bc]{margin:12px 0 8px;font-size:13px;color:var(--ink-soft);font-weight:500}.visits[data-v-54cef0bc]{margin-bottom:4px}.visit-row[data-v-54cef0bc]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px;background:var(--bg);border-radius:10px;margin-bottom:6px}.visit-main[data-v-54cef0bc]{flex:1;min-width:0}.visit-date[data-v-54cef0bc]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink);flex-wrap:wrap}.visit-note[data-v-54cef0bc]{font-size:13px;color:var(--ink-soft);margin-top:4px;word-break:break-word}.age-chip[data-v-54cef0bc]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;color:#2d2a26;font-weight:500}.age-preview[data-v-54cef0bc]{display:flex;align-items:center;gap:8px;margin:-6px 0 12px;padding:8px 10px;background:var(--bg);border-radius:10px}.age-band-label[data-v-54cef0bc]{font-size:13px;color:var(--ink)}.age-hint[data-v-54cef0bc]{font-size:12px;color:var(--ink-soft)}.visit-photos[data-v-54cef0bc]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.visit-photo-thumb[data-v-54cef0bc]{width:56px;height:56px;border-radius:8px;overflow:hidden;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.visit-photo-thumb img[data-v-54cef0bc]{width:100%;height:100%;object-fit:cover;display:block}.visit-photo-loading[data-v-54cef0bc]{color:var(--ink-soft);font-size:12px}.upload-error[data-v-54cef0bc]{margin-top:6px;font-size:12px;color:#c0392b}.add-form[data-v-54cef0bc]{margin-top:4px}.add-form textarea[data-v-54cef0bc]{resize:none;overflow:hidden;min-height:56px;transition:height .1s ease}.home[data-v-d3207f84],.china-slot[data-v-d3207f84],.world-slot[data-v-d3207f84]{width:100%;height:100%;position:relative}.legend-wrap[data-v-d3207f84]{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);z-index:5}.world-legend[data-v-d3207f84]{bottom:46px}.hint-card[data-v-d3207f84]{position:absolute;top:18px;right:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;box-shadow:var(--shadow-sm);max-width:240px;z-index:5}.hint-title[data-v-d3207f84]{font-size:13px;font-weight:600;color:var(--ink)}.hint-body[data-v-d3207f84]{font-size:12px;color:var(--ink-soft);margin-top:3px}.slide-up-enter-active[data-v-d3207f84]{transition:transform .3s ease,opacity .3s ease}.slide-up-leave-active[data-v-d3207f84]{transition:transform .2s ease,opacity .2s ease}.slide-up-enter-from[data-v-d3207f84],.slide-up-leave-to[data-v-d3207f84]{transform:translateY(20px);opacity:0}.slide-up-page-enter-active[data-v-d3207f84]{transition:transform .32s cubic-bezier(.34,1.16,.64,1),opacity .25s ease}.slide-up-page-leave-active[data-v-d3207f84]{transition:transform .25s ease,opacity .2s ease}.slide-up-page-enter-from[data-v-d3207f84]{transform:translateY(100%);opacity:.6}.slide-up-page-leave-to[data-v-d3207f84]{transform:translateY(100%);opacity:0}@media (max-width: 480px){.hint-card[data-v-d3207f84]{top:12px;right:12px;max-width:200px;padding:8px 12px}}.prov-map-wrap[data-v-ee0051fa]{position:relative;width:100%;height:100%}.map[data-v-ee0051fa]{width:100%;height:100%}.overlay[data-v-ee0051fa]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg)}.loading[data-v-ee0051fa]{color:var(--ink-soft)}.error[data-v-ee0051fa]{color:#c0392b;padding:12px 16px;background:#fdecea;border-radius:10px}.celebrate[data-v-b0b394e6]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1e191299;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .35s ease;cursor:pointer;overflow:hidden}.celebrate.entered[data-v-b0b394e6]{opacity:1}.celebrate.leaving[data-v-b0b394e6]{opacity:0}.glow-ring[data-v-b0b394e6]{position:absolute;width:240px;height:240px;border-radius:50%;border:3px solid rgba(217,122,91,.25);animation:ring-grow-b0b394e6 1.2s ease-out forwards;pointer-events:none}.ring2[data-v-b0b394e6]{width:320px;height:320px;border-color:#f59e0b26;animation-delay:.15s;animation-duration:1.4s}@keyframes ring-grow-b0b394e6{0%{transform:scale(.3);opacity:0}40%{opacity:1}to{transform:scale(1);opacity:0}}.center-card[data-v-b0b394e6]{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;animation:card-pop-b0b394e6 .5s cubic-bezier(.34,1.56,.64,1) forwards;transform:scale(0)}@keyframes card-pop-b0b394e6{0%{transform:scale(0) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.big-emoji[data-v-b0b394e6]{font-size:56px;line-height:1;animation:emoji-bounce-b0b394e6 .6s .3s ease-out both}@keyframes emoji-bounce-b0b394e6{0%{transform:scale(0) rotate(-15deg)}50%{transform:scale(1.3) rotate(5deg)}70%{transform:scale(.9) rotate(-2deg)}to{transform:scale(1) rotate(0)}}.city-name[data-v-b0b394e6]{font-size:28px;font-weight:800;color:#fff;margin-top:12px;text-shadow:0 2px 12px rgba(217,122,91,.5);letter-spacing:2px;animation:text-up-b0b394e6 .4s .2s ease-out both}.lit-msg[data-v-b0b394e6]{font-size:18px;font-weight:600;color:#fcd34d;margin-top:4px;letter-spacing:4px;animation:text-up-b0b394e6 .4s .3s ease-out both}@keyframes text-up-b0b394e6{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.count-row[data-v-b0b394e6]{display:flex;align-items:center;gap:10px;margin-top:14px;animation:text-up-b0b394e6 .4s .5s ease-out both}.count-badge[data-v-b0b394e6]{display:flex;align-items:baseline;gap:3px}.count-num[data-v-b0b394e6]{font-size:22px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}.count-label[data-v-b0b394e6]{font-size:13px;color:#ffffffb3}.count-dot[data-v-b0b394e6]{color:#fff6;font-size:16px}.new-province[data-v-b0b394e6]{margin-top:12px;padding:6px 14px;border-radius:999px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fde68a;font-size:14px;font-weight:600;animation:text-up-b0b394e6 .4s .6s ease-out both}.particle[data-v-b0b394e6]{position:absolute;width:var(--size);height:var(--size);background:var(--color);z-index:1;pointer-events:none;animation:burst-b0b394e6 var(--dur) var(--delay) cubic-bezier(.25,.46,.45,.94) forwards;opacity:0}.particle.circle[data-v-b0b394e6]{border-radius:50%}.particle.square[data-v-b0b394e6]{border-radius:1px;transform:rotate(45deg)}@keyframes burst-b0b394e6{0%{transform:translate(0) scale(1) rotate(0);opacity:1}70%{opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(.2) rotate(360deg);opacity:0}}.sparkle-item[data-v-b0b394e6]{position:absolute;font-size:20px;z-index:1;pointer-events:none;animation:sparkle-fly-b0b394e6 1s var(--delay) ease-out forwards;opacity:0}@keyframes sparkle-fly-b0b394e6{0%{transform:translate(0) scale(0) rotate(0);opacity:0}30%{opacity:1;transform:translate(calc(var(--tx) * .3),calc(var(--ty) * .3)) scale(1.2) rotate(var(--rotate))}to{transform:translate(var(--tx),var(--ty)) scale(.5) rotate(var(--rotate));opacity:0}}.tap-hint[data-v-b0b394e6]{position:absolute;bottom:max(32px,env(safe-area-inset-bottom,16px));color:#ffffff80;font-size:12px;letter-spacing:1px;animation:text-up-b0b394e6 .3s 1.2s ease-out both}.chip-strip[data-v-62f8768c]{display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-62f8768c]{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;background:var(--surface);border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--ink-soft);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease,transform .05s ease;line-height:1.3}.chip[data-v-62f8768c]:hover{background:#fcfaf5}.chip[data-v-62f8768c]:active{transform:scale(.97)}.chip.selected[data-v-62f8768c]{background:var(--accent);color:#fff;border-color:var(--accent)}.chip-add[data-v-62f8768c]{border-style:dashed}.chip-custom .chip-x[data-v-62f8768c]{margin-left:2px;opacity:.75;font-size:13px;line-height:1}.chip-input-wrap[data-v-62f8768c]{display:inline-flex}.chip-input[data-v-62f8768c]{padding:5px 10px;border:1px solid var(--accent);border-radius:999px;background:#fff;font-size:12px;color:var(--ink);width:90px;outline:none}.chip-input[data-v-62f8768c]:focus{box-shadow:0 0 0 3px #d97a5b2e}.intro-card[data-v-0f5d57ed]{display:flex;gap:10px;padding:12px;background:linear-gradient(135deg,#fdf5e8,#fbe6c9);border-radius:12px;margin-bottom:14px;border:1px solid #f1dfc6}.intro-icon[data-v-0f5d57ed]{font-size:22px;line-height:1;flex-shrink:0;margin-top:2px}.intro-body[data-v-0f5d57ed]{flex:1;min-width:0}.intro-label[data-v-0f5d57ed]{font-size:10px;color:#a76423;letter-spacing:1.5px;margin-bottom:4px;font-weight:600}.intro-text[data-v-0f5d57ed]{margin:0;font-size:13px;color:var(--ink);line-height:1.6}.intro-fact[data-v-0f5d57ed]{margin:6px 0 0;font-size:12px;color:var(--ink-soft);line-height:1.5;background:#ffffff80;padding:6px 8px;border-radius:8px}.fact-emoji[data-v-0f5d57ed]{margin-right:4px}.section-title[data-v-0f5d57ed]{margin:12px 0 8px;font-size:13px;color:var(--ink-soft);font-weight:500}.visits[data-v-0f5d57ed]{margin-bottom:4px}.visit-row[data-v-0f5d57ed]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px;background:var(--bg);border-radius:10px;margin-bottom:6px}.visit-main[data-v-0f5d57ed]{flex:1;min-width:0}.visit-date[data-v-0f5d57ed]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink);flex-wrap:wrap}.visit-main[data-v-0f5d57ed]{cursor:pointer}.visit-main[data-v-0f5d57ed]:active{opacity:.7}.visit-note[data-v-0f5d57ed]{font-size:13px;color:var(--ink-soft);margin-top:4px;word-break:break-word}.visit-note-hint[data-v-0f5d57ed]{font-size:11px;color:#c4bdb0;margin-top:4px;font-style:italic}.visit-editing[data-v-0f5d57ed]{border-color:var(--accent-soft, #f1dfc6);background:#fffaf3}.edit-form[data-v-0f5d57ed]{flex:1;padding:4px 0}.edit-actions[data-v-0f5d57ed]{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.edit-actions .btn-danger[data-v-0f5d57ed]{margin-right:auto}.age-chip[data-v-0f5d57ed]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;color:#2d2a26;font-weight:500}.born-tag[data-v-0f5d57ed]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;background:#fce4ec;color:#c2185b;border:1px solid #f8bbd0}.age-preview[data-v-0f5d57ed]{display:flex;align-items:center;gap:8px;margin:-6px 0 12px;padding:8px 10px;background:var(--bg);border-radius:10px}.age-band-label[data-v-0f5d57ed]{font-size:13px;color:var(--ink)}.age-hint[data-v-0f5d57ed]{font-size:12px;color:var(--ink-soft)}.inline-birthday[data-v-0f5d57ed]{background:#fef7eb;border-radius:10px;padding:10px 12px;margin-bottom:12px;display:flex;flex-direction:column;gap:6px}.inline-label[data-v-0f5d57ed]{font-size:12px;color:#a76423;font-weight:500}.inline-date-input[data-v-0f5d57ed]{padding:7px 10px;border:1px solid #f1dfc6;border-radius:8px;background:#fff;font-size:14px;color:var(--ink)}.visit-photos[data-v-0f5d57ed]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.visit-photo-thumb[data-v-0f5d57ed]{width:56px;height:56px;border-radius:8px;overflow:hidden;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.visit-photo-thumb img[data-v-0f5d57ed]{width:100%;height:100%;object-fit:cover;display:block}.visit-photo-loading[data-v-0f5d57ed]{color:var(--ink-soft);font-size:12px}.upload-error[data-v-0f5d57ed]{margin-top:6px;font-size:12px;color:#c0392b}.photos-disabled-hint[data-v-0f5d57ed]{margin:-4px 0 14px;font-size:12px;color:var(--ink-soft)}.add-form[data-v-0f5d57ed]{margin-top:4px}.add-form textarea[data-v-0f5d57ed]{resize:none;overflow:hidden;min-height:56px;transition:height .1s ease}.visit-facts[data-v-0f5d57ed]{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.fact-chip[data-v-0f5d57ed]{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:11px;line-height:1.4;background:var(--surface);color:var(--ink-soft);border:1px solid var(--line)}.fact-people[data-v-0f5d57ed]{background:#eef4ff;color:#3b5b8f;border-color:#d6e1f5}.fact-duration[data-v-0f5d57ed]{background:#fff7e6;color:#8c5a1a;border-color:#f3e0bd}.fact-tag[data-v-0f5d57ed]{background:#eef7ee;color:#2f6a3a;border-color:#d2e6d6}.single-chip-strip[data-v-0f5d57ed]{display:flex;flex-wrap:wrap;gap:6px}.single-chip-strip .chip[data-v-0f5d57ed]{display:inline-flex;align-items:center;padding:5px 11px;background:var(--surface);border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--ink-soft);cursor:pointer;line-height:1.3;transition:background .12s ease,color .12s ease,border-color .12s ease,transform .05s ease}.single-chip-strip .chip[data-v-0f5d57ed]:hover{background:#fcfaf5}.single-chip-strip .chip[data-v-0f5d57ed]:active{transform:scale(.97)}.single-chip-strip .chip.selected[data-v-0f5d57ed]{background:var(--accent);color:#fff;border-color:var(--accent)}.wish-btn[data-v-0f5d57ed]{gap:4px;font-size:13px;color:var(--ink-soft);border-color:var(--line);transition:all .15s ease}.wish-btn.wished[data-v-0f5d57ed]{background:#fffbeb;border-color:#fde68a;color:#92400e}.wish-star[data-v-0f5d57ed]{font-size:14px;line-height:1}.actions-spacer[data-v-0f5d57ed]{flex:1}.info-card[data-v-93779ac3]{background:linear-gradient(135deg,#fdf5e8,#fbe6c9);border:1px solid #f1dfc6;border-radius:14px;padding:12px 14px}.info-head[data-v-93779ac3]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.info-emoji[data-v-93779ac3]{font-size:18px;line-height:1}.info-name[data-v-93779ac3]{margin:0;font-size:15px;font-weight:600;color:var(--ink)}.info-teaser[data-v-93779ac3]{margin:0 0 10px;font-size:12px;color:var(--ink-soft);line-height:1.6;background:#ffffff8c;padding:6px 8px;border-radius:8px}.stats[data-v-93779ac3]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.stat[data-v-93779ac3]{background:#ffffff80;border-radius:10px;padding:6px 4px;text-align:center}.stat-num[data-v-93779ac3]{font-size:15px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-label[data-v-93779ac3]{font-size:10px;color:var(--ink-soft);margin-top:1px;letter-spacing:.5px}.hint[data-v-93779ac3]{margin:8px 0 0;font-size:11px;color:#a76423;font-style:italic}@media (max-width: 360px){.stat-num[data-v-93779ac3]{font-size:13px}}.sheet-host[data-v-070f91d7]{position:absolute;left:0;right:0;bottom:0;pointer-events:none;z-index:10}.sheet-backdrop[data-v-070f91d7]{position:fixed;top:0;right:0;bottom:0;left:0;background:#281e142e;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:auto;z-index:-1}.sheet[data-v-070f91d7]{pointer-events:auto;background:var(--surface);border:1px solid var(--line);border-bottom:none;border-radius:18px 18px 0 0;box-shadow:var(--shadow-md);max-height:65vh;display:flex;flex-direction:column;transform:translateY(0);transition:max-height .28s ease,transform .28s ease}.sheet-peek[data-v-070f91d7]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 14px 10px;background:transparent;border:none;text-align:left;cursor:pointer;width:100%;flex-shrink:0}.sheet-handle[data-v-070f91d7]{display:none}.sheet-peek[data-v-070f91d7]:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:999px;background:var(--line)}.sheet-peek[data-v-070f91d7]{position:relative;padding-top:16px}.peek-line[data-v-070f91d7]{display:flex;flex-direction:column;min-width:0;gap:2px}.peek-title[data-v-070f91d7]{font-size:13px;font-weight:600;color:var(--ink)}.peek-summary[data-v-070f91d7]{font-size:11px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peek-chevron[data-v-070f91d7]{font-size:16px;color:var(--ink-soft);width:24px;text-align:center;transition:transform .2s ease}.peek-chevron.flipped[data-v-070f91d7]{transform:rotate(180deg)}.sheet-body[data-v-070f91d7]{flex:1;min-height:0;overflow-y:auto;padding:0 14px 14px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch}.section-title[data-v-070f91d7]{margin:4px 0 0;font-size:12px;color:var(--ink-soft);font-weight:500;letter-spacing:1px}.timeline[data-v-070f91d7]{display:flex;flex-direction:column}.year-block[data-v-070f91d7]{margin-bottom:8px}.year-head[data-v-070f91d7]{font-size:11px;color:var(--ink-soft);letter-spacing:2px;margin:4px 0 6px;font-weight:500}.row[data-v-070f91d7]{display:block;width:100%;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:6px;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .05s ease}.row[data-v-070f91d7]:hover{background:#fcfaf5;border-color:var(--accent-soft, #f1dfc6)}.row[data-v-070f91d7]:active{transform:scale(.99)}.row-top[data-v-070f91d7]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-date[data-v-070f91d7]{font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.row-city[data-v-070f91d7]{margin-top:4px;font-size:15px;font-weight:600;color:var(--ink)}.row-note[data-v-070f91d7]{margin-top:4px;font-size:13px;color:var(--ink-soft);line-height:1.5;word-break:break-word}.age-chip[data-v-070f91d7]{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:11px;color:#2d2a26;font-weight:500}.born-tag[data-v-070f91d7]{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:11px;background:#fce4ec;color:#c2185b;border:1px solid #f8bbd0}.row-facts[data-v-070f91d7]{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.fact-chip[data-v-070f91d7]{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:11px;line-height:1.4;background:var(--surface);color:var(--ink-soft);border:1px solid var(--line)}.fact-people[data-v-070f91d7]{background:#eef4ff;color:#3b5b8f;border-color:#d6e1f5}.fact-duration[data-v-070f91d7]{background:#fff7e6;color:#8c5a1a;border-color:#f3e0bd}.fact-tag[data-v-070f91d7]{background:#eef7ee;color:#2f6a3a;border-color:#d2e6d6}.row-photos[data-v-070f91d7]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.thumb[data-v-070f91d7]{width:56px;height:56px;border-radius:8px;overflow:hidden;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.thumb img[data-v-070f91d7]{width:100%;height:100%;object-fit:cover;display:block}.thumb-dot[data-v-070f91d7]{color:var(--ink-soft);font-size:12px}.empty-timeline[data-v-070f91d7]{padding:16px;background:var(--bg);border-radius:12px;font-size:13px;color:var(--ink-soft);line-height:1.7;text-align:center}@media (max-width: 380px){.peek-summary[data-v-070f91d7]{font-size:10px}.row-city[data-v-070f91d7]{font-size:14px}}.prov[data-v-e43209e2]{width:100%;height:100%;position:relative}.legend-wrap[data-v-e43209e2]{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);z-index:5;transition:bottom .2s ease}.legend-above-peek[data-v-e43209e2]{bottom:88px}.teaser-card[data-v-e43209e2]{position:absolute;top:16px;right:16px;display:flex;gap:10px;max-width:280px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);z-index:5}.teaser-icon[data-v-e43209e2]{font-size:22px;line-height:1;flex-shrink:0;margin-top:1px}.teaser-body[data-v-e43209e2]{flex:1;min-width:0}.teaser-text[data-v-e43209e2]{margin:0;font-size:13px;color:var(--ink);line-height:1.6}.teaser-hint[data-v-e43209e2]{margin:6px 0 0;font-size:11px;color:var(--ink-soft)}.checkin-entry[data-v-e43209e2]{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;gap:6px;padding:7px 14px 7px 12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:999px;font-size:13px;line-height:1.2;box-shadow:var(--shadow-sm);cursor:pointer;z-index:6;transition:background .15s ease,transform .05s ease,box-shadow .15s ease}.checkin-entry[data-v-e43209e2]:hover{background:#fff;box-shadow:var(--shadow-md)}.checkin-entry[data-v-e43209e2]:active{transform:scale(.96)}.entry-emoji[data-v-e43209e2]{font-size:15px;line-height:1}.entry-label[data-v-e43209e2]{font-weight:500}.teaser-card+.checkin-entry[data-v-e43209e2]{top:90px}.fade-in-enter-active[data-v-e43209e2]{transition:opacity .4s ease}.fade-in-leave-active[data-v-e43209e2]{transition:opacity .2s ease}.fade-in-enter-from[data-v-e43209e2],.fade-in-leave-to[data-v-e43209e2]{opacity:0}@media (max-width: 480px){.teaser-card[data-v-e43209e2]{top:10px;right:10px;max-width:220px;padding:10px 12px}.teaser-text[data-v-e43209e2]{font-size:12px}.checkin-entry[data-v-e43209e2]{top:10px;right:10px;padding:6px 12px 6px 10px;font-size:12px}.teaser-card+.checkin-entry[data-v-e43209e2]{top:78px}}.login-page[data-v-db3e8811]{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(160deg,#faf7f2,#f5ede0)}.login-card[data-v-db3e8811]{width:100%;max-width:380px;text-align:center}.logo[data-v-db3e8811]{font-size:56px;line-height:1;margin-bottom:12px}.title[data-v-db3e8811]{font-size:26px;font-weight:700;margin:0 0 6px;color:var(--ink);letter-spacing:2px}.subtitle[data-v-db3e8811]{font-size:14px;color:var(--ink-soft);margin:0 0 32px}.form[data-v-db3e8811]{background:var(--surface);border-radius:18px;padding:24px 20px;box-shadow:var(--shadow-md);text-align:left}.tabs[data-v-db3e8811]{display:flex;border-radius:10px;background:var(--bg);padding:3px;margin-bottom:20px}.tab[data-v-db3e8811]{flex:1;padding:10px 0;font-size:14px;font-weight:500;border-radius:8px;text-align:center;color:var(--ink-soft);cursor:pointer;transition:all .2s;background:transparent;border:none}.tab.active[data-v-db3e8811]{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #00000014;font-weight:600}.field[data-v-db3e8811]{margin-bottom:16px}.field label[data-v-db3e8811]{font-size:13px;font-weight:500;color:var(--ink-soft);margin-bottom:6px;display:block}.optional[data-v-db3e8811]{font-weight:400;color:#c4bdb3}.field input[data-v-db3e8811]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:16px;transition:border-color .15s,outline .15s}.field input[data-v-db3e8811]:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.field input[data-v-db3e8811]::placeholder{color:#c4bdb3}.error[data-v-db3e8811]{background:#fef2f0;color:#c0392b;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:16px}.submit-btn[data-v-db3e8811]{width:100%;padding:14px;font-size:16px;font-weight:600;border-radius:12px;letter-spacing:1px;justify-content:center}.submit-btn[data-v-db3e8811]:disabled{opacity:.6;cursor:not-allowed}.guest-divider[data-v-db3e8811]{display:flex;align-items:center;margin:20px 0 16px;gap:12px}.guest-divider[data-v-db3e8811]:before,.guest-divider[data-v-db3e8811]:after{content:"";flex:1;height:1px;background:var(--line)}.guest-divider span[data-v-db3e8811]{font-size:12px;color:var(--ink-soft)}.guest-btn[data-v-db3e8811]{width:100%;padding:12px;font-size:15px;font-weight:500;border-radius:12px;background:var(--bg);border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:background .15s;text-align:center}.guest-btn[data-v-db3e8811]:hover{background:var(--line)}.guest-btn[data-v-db3e8811]:active{transform:scale(.98)}.guest-btn[data-v-db3e8811]:disabled{opacity:.6;cursor:not-allowed}.guest-hint[data-v-db3e8811]{display:block;text-align:center;margin-top:8px;font-size:11px;color:var(--ink-soft)}.cat-emoji[data-v-0aa86b6d]{margin-right:6px}.cat-pill[data-v-0aa86b6d]{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--bg);color:var(--ink-soft);font-size:11px;margin-right:8px;border:1px solid var(--line)}.intro-card[data-v-0aa86b6d]{display:flex;gap:10px;padding:12px;background:linear-gradient(135deg,#fdf5e8,#fbe6c9);border-radius:12px;margin-bottom:14px;border:1px solid #f1dfc6}.intro-icon[data-v-0aa86b6d]{font-size:22px;line-height:1;flex-shrink:0;margin-top:2px}.intro-body[data-v-0aa86b6d]{flex:1;min-width:0}.intro-text[data-v-0aa86b6d]{margin:0;font-size:13px;color:var(--ink);line-height:1.6}.intro-fact[data-v-0aa86b6d]{margin:6px 0 0;font-size:12px;color:var(--ink-soft);line-height:1.5;background:#ffffff8c;padding:6px 8px;border-radius:8px}.fact-emoji[data-v-0aa86b6d]{margin-right:4px}.meta[data-v-0aa86b6d]{margin:6px 0 0;font-size:12px;color:var(--ink-soft);line-height:1.5}.address[data-v-0aa86b6d]{margin:4px 0 0;font-size:11px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.section-title[data-v-0aa86b6d]{margin:12px 0 8px;font-size:13px;color:var(--ink-soft);font-weight:500}.visits[data-v-0aa86b6d]{margin-bottom:4px}.visit-row[data-v-0aa86b6d]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px;background:var(--bg);border-radius:10px;margin-bottom:6px}.visit-main[data-v-0aa86b6d]{flex:1;min-width:0;cursor:pointer}.visit-main[data-v-0aa86b6d]:active{opacity:.7}.visit-date[data-v-0aa86b6d]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink);flex-wrap:wrap}.visit-note[data-v-0aa86b6d]{font-size:13px;color:var(--ink-soft);margin-top:4px;word-break:break-word}.visit-editing[data-v-0aa86b6d]{border-color:var(--accent-soft, #f1dfc6);background:#fffaf3}.edit-form[data-v-0aa86b6d]{flex:1;padding:4px 0}.edit-actions[data-v-0aa86b6d]{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.edit-actions .btn-danger[data-v-0aa86b6d]{margin-right:auto}.age-chip[data-v-0aa86b6d]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;color:#2d2a26;font-weight:500}.age-preview[data-v-0aa86b6d]{display:flex;align-items:center;gap:8px;margin:-6px 0 12px;padding:8px 10px;background:var(--bg);border-radius:10px}.age-band-label[data-v-0aa86b6d]{font-size:13px;color:var(--ink)}.visit-photos[data-v-0aa86b6d]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.visit-photo-thumb[data-v-0aa86b6d]{width:56px;height:56px;border-radius:8px;overflow:hidden;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.visit-photo-thumb img[data-v-0aa86b6d]{width:100%;height:100%;object-fit:cover;display:block}.visit-photo-loading[data-v-0aa86b6d]{color:var(--ink-soft);font-size:12px}.upload-error[data-v-0aa86b6d]{margin-top:6px;font-size:12px;color:#c0392b}.photos-disabled-hint[data-v-0aa86b6d]{margin:-4px 0 14px;font-size:12px;color:var(--ink-soft)}.add-form[data-v-0aa86b6d]{margin-top:4px}.add-form textarea[data-v-0aa86b6d]{resize:none;overflow:hidden;min-height:56px;transition:height .1s ease}.actions-spacer[data-v-0aa86b6d]{flex:1}.sheet-host[data-v-77aa36ec]{position:absolute;left:0;right:0;bottom:0;pointer-events:none;z-index:10}.sheet-backdrop[data-v-77aa36ec]{position:fixed;top:0;right:0;bottom:0;left:0;background:#281e142e;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:auto;z-index:-1}.sheet[data-v-77aa36ec]{pointer-events:auto;background:var(--surface);border:1px solid var(--line);border-bottom:none;border-radius:18px 18px 0 0;box-shadow:var(--shadow-md);max-height:70vh;display:flex;flex-direction:column}.sheet-peek[data-v-77aa36ec]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:16px 14px 10px;background:transparent;border:none;text-align:left;cursor:pointer;width:100%;flex-shrink:0;position:relative}.sheet-peek[data-v-77aa36ec]:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:999px;background:var(--line)}.peek-line[data-v-77aa36ec]{display:flex;flex-direction:column;min-width:0;gap:2px}.peek-title[data-v-77aa36ec]{font-size:13px;font-weight:600;color:var(--ink)}.peek-summary[data-v-77aa36ec]{font-size:11px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.peek-chevron[data-v-77aa36ec]{font-size:16px;color:var(--ink-soft);width:24px;text-align:center;transition:transform .2s ease}.peek-chevron.flipped[data-v-77aa36ec]{transform:rotate(180deg)}.sheet-body[data-v-77aa36ec]{flex:1;min-height:0;overflow-y:auto;padding:0 14px 14px;display:flex;flex-direction:column;gap:12px;-webkit-overflow-scrolling:touch}.progress-card[data-v-77aa36ec]{background:linear-gradient(135deg,#fdf5e8,#fbe6c9);border:1px solid #f1dfc6;border-radius:14px;padding:12px 14px}.big-num[data-v-77aa36ec]{font-size:26px;font-weight:700;color:var(--accent);line-height:1.1;font-variant-numeric:tabular-nums}.slash[data-v-77aa36ec]{font-size:15px;font-weight:500;color:var(--ink-soft)}.prog-label[data-v-77aa36ec]{font-size:11px;color:var(--ink-soft);letter-spacing:1px;margin-top:2px}.prog-bar[data-v-77aa36ec]{height:6px;background:#fff9;border-radius:999px;margin-top:8px;overflow:hidden}.prog-fill[data-v-77aa36ec]{height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease}.group[data-v-77aa36ec]{display:flex;flex-direction:column;gap:6px}.group-head[data-v-77aa36ec]{margin:0;font-size:13px;color:var(--ink);font-weight:600;display:flex;align-items:center;gap:6px}.g-emoji[data-v-77aa36ec]{font-size:14px}.g-count[data-v-77aa36ec]{margin-left:auto;font-size:11px;color:var(--ink-soft);font-weight:400;font-variant-numeric:tabular-nums}.card-grid[data-v-77aa36ec]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.point-card[data-v-77aa36ec]{display:block;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .05s ease;min-width:0}.point-card[data-v-77aa36ec]:hover{background:#fcfaf5;border-color:var(--accent-soft, #f1dfc6)}.point-card[data-v-77aa36ec]:active{transform:scale(.99)}.point-card.visited[data-v-77aa36ec]{background:linear-gradient(135deg,#f1f8ec,#e4f1d8);border-color:#c4dfa8}.card-head[data-v-77aa36ec]{display:flex;align-items:flex-start;gap:6px;justify-content:space-between}.card-name[data-v-77aa36ec]{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;word-break:break-word;min-width:0}.visited-tick[data-v-77aa36ec]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#6a9a47;color:#fff;font-size:13px;line-height:1;font-weight:700}.card-meta[data-v-77aa36ec]{margin-top:4px;font-size:11px;color:var(--ink-soft)}.card-intro[data-v-77aa36ec]{margin:6px 0 0;font-size:11px;color:var(--ink-soft);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 380px){.card-grid[data-v-77aa36ec]{grid-template-columns:1fr}}.checkin-view[data-v-c427c4ef]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg)}.ckv-header[data-v-c427c4ef]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);flex-shrink:0;gap:8px;z-index:3}.back-ghost[data-v-c427c4ef]{display:inline-flex;align-items:center;gap:2px;padding:6px 10px 6px 6px;border-radius:999px;background:transparent;color:var(--ink-soft);font-size:13px;font-weight:500;border:1px solid var(--line);flex-shrink:0;cursor:pointer}.back-ghost[data-v-c427c4ef]:active{transform:scale(.96)}.back-arrow[data-v-c427c4ef]{font-size:18px;line-height:1;margin-top:-1px}.back-text[data-v-c427c4ef]{font-size:12px;letter-spacing:.3px}.title-block[data-v-c427c4ef]{display:flex;flex-direction:column;align-items:center;min-width:0}.title[data-v-c427c4ef]{margin:0;font-size:16px;font-weight:600;color:var(--ink)}.progress[data-v-c427c4ef]{font-size:11px;color:var(--ink-soft);margin-top:1px;font-variant-numeric:tabular-nums}.progress b[data-v-c427c4ef]{color:var(--accent);font-size:13px;font-weight:700}.right-spacer[data-v-c427c4ef]{width:56px}.cat-filter[data-v-c427c4ef]{display:flex;gap:6px;padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--line);overflow-x:auto;z-index:2;flex-shrink:0;-webkit-overflow-scrolling:touch}.cat-chip[data-v-c427c4ef]{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:var(--bg);color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;font-size:12px;line-height:1.4;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.cat-chip[data-v-c427c4ef]:active{transform:scale(.96)}.cat-chip.active[data-v-c427c4ef]{background:var(--accent);color:#fff;border-color:var(--accent)}.cat-chip .cnt[data-v-c427c4ef]{font-size:11px;font-variant-numeric:tabular-nums;opacity:.85}.amap-host[data-v-c427c4ef]{flex:1;min-height:0;position:relative}.map-overlay[data-v-c427c4ef]{position:absolute;top:0;right:0;bottom:0;left:0;background:#faf7f2eb;display:flex;align-items:center;justify-content:center;z-index:5}.loading-card[data-v-c427c4ef]{padding:16px 22px;background:var(--surface);border:1px solid var(--line);border-radius:14px;font-size:14px;color:var(--ink);box-shadow:var(--shadow-md)}.error-card[data-v-c427c4ef]{max-width:320px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);text-align:center}.err-title[data-v-c427c4ef]{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:6px}.err-body[data-v-c427c4ef]{font-size:13px;color:var(--ink-soft);line-height:1.5;word-break:break-word}.err-hint[data-v-c427c4ef]{margin-top:8px;font-size:11px;color:var(--ink-soft);line-height:1.5}.err-card .btn[data-v-c427c4ef]{margin-top:10px}[data-v-c427c4ef] .ckm{position:relative;pointer-events:auto;user-select:none;-webkit-user-select:none;cursor:pointer}[data-v-c427c4ef] .ckm-unvisited{width:16px;height:16px;display:flex;align-items:center;justify-content:center}[data-v-c427c4ef] .ckm-dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px #00000038;transition:transform .12s ease}[data-v-c427c4ef] .ckm-museum .ckm-dot{background:#8b7ab8}[data-v-c427c4ef] .ckm-liaison .ckm-dot{background:#5a8c7a;border-radius:3px;transform:rotate(45deg)}[data-v-c427c4ef] .ckm-unvisited:hover .ckm-dot{transform:scale(1.18)}[data-v-c427c4ef] .ckm-liaison:hover .ckm-dot{transform:rotate(45deg) scale(1.18)}[data-v-c427c4ef] .ckm-visited{display:flex;align-items:center;justify-content:center}[data-v-c427c4ef] .ckm-visited .ckm-star{font-size:28px;line-height:1;color:#f5a623;text-shadow:0 0 2px #fff,0 0 3px #fff,0 2px 4px rgba(0,0,0,.35);transition:transform .12s ease}[data-v-c427c4ef] .ckm-visited:hover .ckm-star{transform:scale(1.15)}@media (max-width: 480px){.ckv-header[data-v-c427c4ef]{padding:8px 10px}.title[data-v-c427c4ef]{font-size:15px}.right-spacer[data-v-c427c4ef]{width:48px}.cat-filter[data-v-c427c4ef]{padding:8px 10px}}:root{--bg: #faf7f2;--surface: #ffffff;--ink: #2d2a26;--ink-soft: #6b655c;--line: #ece7dd;--accent: #d97a5b;--accent-soft: #f4cdb8;--shadow-sm: 0 2px 8px rgba(60, 50, 35, .06);--shadow-md: 0 8px 24px rgba(60, 50, 35, .12);--radius: 14px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);overflow:hidden}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:14px;color:var(--ink);transition:transform .05s ease,background .15s ease}.btn:hover{background:#fcfaf5}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:#c46a4d}.btn-danger{background:transparent;color:#c0392b;border-color:#f0d4cf}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;color:var(--ink-soft)}.field input,.field textarea{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:15px}.field input:focus,.field textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}input[type=date]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:15px;color:var(--ink);line-height:1.3}input[type=date]:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;padding:2px;border-radius:4px;transition:opacity .15s ease,background .15s ease}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.8;background:var(--accent-soft)}input[type=date]::-webkit-datetime-edit{color:var(--ink)}input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}input[type=date]:invalid,input[type=date][value=""]{color:var(--ink-soft)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#281e1459;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.dialog{background:var(--surface);border-radius:18px;padding:22px;width:100%;max-width:420px;box-shadow:var(--shadow-md);max-height:90vh;overflow-y:auto}.dialog h2{margin:0 0 6px;font-size:18px}.dialog .subtitle{margin:0 0 18px;color:var(--ink-soft);font-size:13px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
