.auth-container[data-v-e067b26c]{min-height:100vh}.auth-wall[data-v-e067b26c]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#fce7f3,#fbcfe8,#fae8ff,#fde2e4,#fce7f3)}.auth-box[data-v-e067b26c]{background:#fff;border-radius:24px;padding:40px 32px;width:100%;max-width:320px;text-align:center;box-shadow:0 20px 60px #ec489926}.auth-icon[data-v-e067b26c]{font-size:48px;margin-bottom:16px}.auth-title[data-v-e067b26c]{font-size:20px;font-weight:600;color:#374151;margin-bottom:8px}.auth-desc[data-v-e067b26c]{font-size:14px;color:#9ca3af;margin-bottom:24px}.auth-input-wrapper[data-v-e067b26c]{margin-bottom:12px}.auth-input[data-v-e067b26c]{width:100%;padding:14px 16px;font-size:16px;border:2px solid #f3f4f6;border-radius:12px;text-align:center;outline:none;transition:all .2s;box-sizing:border-box}.auth-input[data-v-e067b26c]:focus{border-color:#ec4899;background:#fdf2f8}.auth-error[data-v-e067b26c]{font-size:13px;color:#ef4444;margin-bottom:16px}.auth-btn[data-v-e067b26c]{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#ec4899,#f472b6);border:none;border-radius:12px;cursor:pointer;transition:all .2s}.auth-btn[data-v-e067b26c]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ec48994d}.auth-btn[data-v-e067b26c]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-de2765f5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;z-index:300}.modal-sheet[data-v-de2765f5]{background:var(--surface);width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:20px}.modal-header[data-v-de2765f5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3[data-v-de2765f5]{font-size:18px;font-weight:600}.close-btn[data-v-de2765f5]{width:32px;height:32px;border:none;background:var(--bg);border-radius:var(--radius-full);cursor:pointer;font-size:16px;color:var(--text-secondary)}.form-group[data-v-de2765f5]{margin-bottom:16px}.form-group label[data-v-de2765f5]{display:block;font-size:14px;color:var(--text-secondary);margin-bottom:6px}.form-group input[data-v-de2765f5]{width:100%;padding:14px;border:2px solid var(--border);border-radius:var(--radius);font-size:16px}.submit-btn[data-v-de2765f5]{width:100%;padding:16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:16px;font-weight:600;cursor:pointer;margin-top:8px}.fade-enter-active[data-v-de2765f5],.fade-leave-active[data-v-de2765f5]{transition:opacity var(--transition)}.fade-enter-from[data-v-de2765f5],.fade-leave-to[data-v-de2765f5]{opacity:0}.modal-overlay[data-v-e5650fdf]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;z-index:300}.modal-sheet[data-v-e5650fdf]{background:var(--surface);width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:20px}.modal-header[data-v-e5650fdf]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3[data-v-e5650fdf]{font-size:18px;font-weight:600}.close-btn[data-v-e5650fdf]{width:32px;height:32px;border:none;background:var(--bg);border-radius:var(--radius-full);cursor:pointer;font-size:16px;color:var(--text-secondary)}.form-group[data-v-e5650fdf]{margin-bottom:16px}.form-group label[data-v-e5650fdf]{display:block;font-size:14px;color:var(--text-secondary);margin-bottom:6px}.required[data-v-e5650fdf]{color:#ef4444}.form-group input[data-v-e5650fdf]{width:100%;padding:14px;border:2px solid var(--border);border-radius:var(--radius);font-size:16px}.form-group input[data-v-e5650fdf]:focus{border-color:var(--primary);outline:none}.submit-btn[data-v-e5650fdf]{width:100%;padding:16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:16px;font-weight:600;cursor:pointer;margin-top:8px}.submit-btn[data-v-e5650fdf]:hover{background:var(--primary-dark)}.fade-enter-active[data-v-e5650fdf],.fade-leave-active[data-v-e5650fdf]{transition:opacity var(--transition)}.fade-enter-from[data-v-e5650fdf],.fade-leave-to[data-v-e5650fdf]{opacity:0}.slide-content[data-v-d9884af0]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.slide-media[data-v-d9884af0]{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.empty-content[data-v-d9884af0]{width:100%;height:100%}.unsupported-video[data-v-d9884af0]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.video-overlay[data-v-d9884af0]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0006;color:#fff;pointer-events:none}.video-icon[data-v-d9884af0]{font-size:72px;margin-bottom:16px;opacity:.9}.video-hint[data-v-d9884af0]{font-size:16px;padding:8px 16px;background:#0009;border-radius:8px;opacity:.95}.viewer-overlay[data-v-3a34ef1c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:400;overflow:hidden}.viewer-wrapper[data-v-3a34ef1c]{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pan-y}.viewer-track[data-v-3a34ef1c]{display:flex;width:100%;height:100%;align-items:center}.viewer-track.is-animating[data-v-3a34ef1c]{transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.slide[data-v-3a34ef1c]{flex:0 0 100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:80px 0 120px;box-sizing:border-box}.empty-slide[data-v-3a34ef1c]{pointer-events:none}.slide-loading[data-v-3a34ef1c]{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff}.slide-error[data-v-3a34ef1c]{display:flex;flex-direction:column;align-items:center;gap:16px;color:#ff6b6b;font-size:16px;padding:20px;background:#000c;border-radius:8px}.spinner[data-v-3a34ef1c]{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-3a34ef1c 1s linear infinite}@keyframes spin-3a34ef1c{to{transform:rotate(360deg)}}.close-btn[data-v-3a34ef1c]{position:absolute;top:20px;right:20px;width:44px;height:44px;border:none;background:#fff3;color:#fff;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:410}.close-btn[data-v-3a34ef1c]:hover{background:#ffffff4d}.nav-btn[data-v-3a34ef1c]{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;background:#fff3;color:#fff;border-radius:50%;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:410}.nav-btn[data-v-3a34ef1c]:hover{background:#ffffff4d}.nav-btn.prev[data-v-3a34ef1c]{left:20px}.nav-btn.next[data-v-3a34ef1c]{right:20px}@media (max-width: 768px){.nav-btn[data-v-3a34ef1c]{display:none}}.milestones-bar[data-v-3a34ef1c]{position:absolute;top:70px;left:50%;transform:translate(-50%);z-index:410;max-width:90vw;max-height:calc(50vh - 100px);overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;pointer-events:none}.milestones-bar[data-v-3a34ef1c]::-webkit-scrollbar{width:4px}.milestones-bar[data-v-3a34ef1c]::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.milestone-list[data-v-3a34ef1c]{display:flex;flex-direction:column;gap:6px;align-items:center}.milestone-item[data-v-3a34ef1c]{padding:8px 14px;background:#ec4899e6;color:#fff;border-radius:10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:80vw;min-width:120px;text-align:center;pointer-events:auto}.milestone-title[data-v-3a34ef1c]{font-size:13px;font-weight:600}.milestone-desc[data-v-3a34ef1c]{font-size:11px;opacity:.9;line-height:1.3;margin-top:2px}.viewer-actions[data-v-3a34ef1c]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:410}.bottom-bar[data-v-3a34ef1c]{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#000000b3;border-radius:28px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-info[data-v-3a34ef1c]{display:flex;align-items:center}.photo-index[data-v-3a34ef1c]{font-size:13px;color:#ffffffe6;font-weight:500;min-width:50px;text-align:center}.photo-datetime[data-v-3a34ef1c]{display:flex;gap:12px;font-size:12px;color:#ffffffd9}.photo-datetime span[data-v-3a34ef1c]{display:flex;align-items:center;gap:4px}.action-buttons[data-v-3a34ef1c]{display:flex;gap:8px}.action-btn[data-v-3a34ef1c]{display:flex;align-items:center;gap:4px;padding:8px 14px;border:none;border-radius:18px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.action-btn[data-v-3a34ef1c]:disabled{opacity:.6;cursor:not-allowed}.milestone-btn[data-v-3a34ef1c]{background:#ffffff26;color:#fff}.milestone-btn[data-v-3a34ef1c]:hover:not(:disabled){background:#ffffff40}.milestone-btn.has-milestone[data-v-3a34ef1c]{background:#ec4899cc}.milestone-btn.has-milestone[data-v-3a34ef1c]:hover:not(:disabled){background:#ec4899}.download-btn[data-v-3a34ef1c]{background:linear-gradient(135deg,#ec4899,#f472b6);color:#fff}.download-btn[data-v-3a34ef1c]:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #ec489966}.download-btn.downloading[data-v-3a34ef1c]{background:linear-gradient(135deg,#9ca3af,#d1d5db)}.download-btn.oversized[data-v-3a34ef1c]{background:linear-gradient(135deg,#6b7280,#9ca3af)}.btn-icon[data-v-3a34ef1c],.btn-text[data-v-3a34ef1c]{font-size:12px}.btn-spinner[data-v-3a34ef1c]{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-3a34ef1c .8s linear infinite}.fade-enter-active[data-v-3a34ef1c],.fade-leave-active[data-v-3a34ef1c]{transition:opacity .3s}.fade-enter-from[data-v-3a34ef1c],.fade-leave-to[data-v-3a34ef1c]{opacity:0}.modal-overlay[data-v-c33232fe]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:350;padding:20px}.modal-content[data-v-c33232fe]{background:var(--surface);width:100%;max-width:900px;max-height:90vh;border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl)}.modal-header[data-v-c33232fe]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h3[data-v-c33232fe]{font-size:16px;font-weight:600}.close-btn[data-v-c33232fe]{width:32px;height:32px;border:none;background:var(--bg);border-radius:var(--radius-full);cursor:pointer;font-size:16px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.close-btn[data-v-c33232fe]:hover{background:var(--border)}.photos-container[data-v-c33232fe]{flex:1;overflow-y:auto;padding:20px}.timeline[data-v-c33232fe]{display:flex;flex-direction:column;gap:32px}.timeline-day[data-v-c33232fe]{display:flex;flex-direction:column;gap:12px}.day-header[data-v-c33232fe]{display:flex;align-items:center;gap:12px;padding-bottom:8px;border-bottom:2px solid var(--primary);position:sticky;top:0;background:var(--surface);z-index:10}.day-date[data-v-c33232fe]{font-size:15px;font-weight:600;color:var(--primary)}.day-count[data-v-c33232fe]{font-size:12px;color:var(--text-tertiary);background:var(--bg);padding:2px 8px;border-radius:12px}.photos-grid[data-v-c33232fe]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (min-width: 768px){.photos-grid[data-v-c33232fe]{grid-template-columns:repeat(6,1fr)}}.photo-item[data-v-c33232fe]{aspect-ratio:1;border-radius:var(--radius);overflow:hidden;position:relative;cursor:pointer;background:var(--bg)}.photo-item img[data-v-c33232fe]{width:100%;height:100%;object-fit:cover;transition:transform .2s}.photo-item:hover img[data-v-c33232fe]{transform:scale(1.05)}.photo-item.video[data-v-c33232fe]:after{content:"▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:20px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.photo-time[data-v-c33232fe]{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;font-size:11px;padding:4px;text-align:center}.fade-enter-active[data-v-c33232fe],.fade-leave-active[data-v-c33232fe]{transition:opacity .3s}.fade-enter-from[data-v-c33232fe],.fade-leave-to[data-v-c33232fe]{opacity:0}.modal-overlay[data-v-f62970c2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:350;padding:20px}.modal-content[data-v-f62970c2]{background:var(--surface);width:100%;max-width:700px;max-height:90vh;border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl)}.modal-header[data-v-f62970c2]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h3[data-v-f62970c2]{font-size:16px;font-weight:600}.close-btn[data-v-f62970c2]{width:32px;height:32px;border:none;background:var(--bg);border-radius:var(--radius-full);cursor:pointer;font-size:16px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.close-btn[data-v-f62970c2]:hover{background:var(--border)}.photos-container[data-v-f62970c2]{flex:1;overflow-y:auto;padding:20px}.photos-grid[data-v-f62970c2]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (min-width: 768px){.photos-grid[data-v-f62970c2]{grid-template-columns:repeat(4,1fr)}}.photo-item[data-v-f62970c2]{aspect-ratio:1;border-radius:var(--radius);overflow:hidden;position:relative;cursor:pointer;background:var(--bg)}.photo-item img[data-v-f62970c2]{width:100%;height:100%;object-fit:cover;transition:transform .2s}.photo-item:hover img[data-v-f62970c2]{transform:scale(1.05)}.photo-item.video[data-v-f62970c2]:after{content:"▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:20px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.photo-time[data-v-f62970c2]{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;font-size:11px;padding:4px;text-align:center}.pagination[data-v-f62970c2]{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px;border-top:1px solid var(--border);flex-shrink:0}.page-btn[data-v-f62970c2]{padding:8px 16px;border:1px solid var(--border);background:#fff;border-radius:var(--radius);font-size:14px;cursor:pointer;transition:all .2s}.page-btn[data-v-f62970c2]:hover:not(:disabled){background:var(--bg);border-color:var(--primary)}.page-btn[data-v-f62970c2]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-f62970c2]{font-size:14px;color:var(--text-secondary);min-width:60px;text-align:center}.fade-enter-active[data-v-f62970c2],.fade-leave-active[data-v-f62970c2]{transition:opacity .3s}.fade-enter-from[data-v-f62970c2],.fade-leave-to[data-v-f62970c2]{opacity:0}.editor-overlay[data-v-05b700c3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.editor-container[data-v-05b700c3]{background:#fff;border-radius:20px;width:100%;max-width:400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp-05b700c3 .3s ease}@keyframes slideUp-05b700c3{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.editor-header[data-v-05b700c3]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f3f4f6}.editor-header h3[data-v-05b700c3]{font-size:16px;font-weight:600;color:#374151;margin:0}.close-btn[data-v-05b700c3]{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:14px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn[data-v-05b700c3]:hover{background:#e5e7eb;color:#374151}.editor-body[data-v-05b700c3]{padding:20px;overflow-y:auto;flex:1}.photo-preview[data-v-05b700c3]{width:120px;height:120px;margin:0 auto 20px;border-radius:12px;overflow:hidden;background:#f3f4f6}.photo-preview img[data-v-05b700c3]{width:100%;height:100%;object-fit:cover}.form-group[data-v-05b700c3]{margin-bottom:16px;position:relative}.form-group label[data-v-05b700c3]{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input[data-v-05b700c3],.form-group textarea[data-v-05b700c3]{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;font-size:14px;background:#f9fafb;transition:all .2s;box-sizing:border-box}.form-group input[data-v-05b700c3]:focus,.form-group textarea[data-v-05b700c3]:focus{outline:none;border-color:#ec4899;background:#fff;box-shadow:0 0 0 3px #ec48991a}.form-group textarea[data-v-05b700c3]{resize:none;font-family:inherit}.char-count[data-v-05b700c3]{position:absolute;right:12px;bottom:12px;font-size:11px;color:#9ca3af}.form-group textarea+.char-count[data-v-05b700c3]{bottom:12px}.existing-milestones[data-v-05b700c3]{margin-top:20px;padding-top:20px;border-top:1px dashed #e5e7eb}.existing-milestones label[data-v-05b700c3]{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:10px}.milestone-list[data-v-05b700c3]{display:flex;flex-wrap:wrap;gap:8px}.milestone-tag[data-v-05b700c3]{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:#ec48991a;border-radius:20px;font-size:12px;color:#ec4899}.tag-text[data-v-05b700c3]{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-tag[data-v-05b700c3]{width:16px;height:16px;border:none;background:#ec489933;border-radius:50%;font-size:10px;color:#ec4899;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.delete-tag[data-v-05b700c3]:hover{background:#ec4899;color:#fff}.editor-footer[data-v-05b700c3]{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #f3f4f6}.editor-footer button[data-v-05b700c3]{flex:1;padding:12px;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-secondary[data-v-05b700c3]{background:#f3f4f6;color:#6b7280}.btn-secondary[data-v-05b700c3]:hover{background:#e5e7eb}.btn-primary[data-v-05b700c3]{background:linear-gradient(135deg,#ec4899,#f472b6);color:#fff;display:flex;align-items:center;justify-content:center;gap:6px}.btn-primary[data-v-05b700c3]:hover:not(:disabled){box-shadow:0 4px 12px #ec48994d}.btn-primary[data-v-05b700c3]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-05b700c3]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-05b700c3 .8s linear infinite}@keyframes spin-05b700c3{to{transform:rotate(360deg)}}.fade-enter-active[data-v-05b700c3],.fade-leave-active[data-v-05b700c3]{transition:opacity .25s ease}.fade-enter-from[data-v-05b700c3],.fade-leave-to[data-v-05b700c3]{opacity:0}.app[data-v-7fa7b2a0]{min-height:100vh;min-height:100dvh;background:var(--bg)}.app-container[data-v-7fa7b2a0]{width:100%;max-width:100%;margin:0 auto;padding-bottom:80px}@media (min-width: 768px){.app[data-v-7fa7b2a0]{background:linear-gradient(135deg,#fce7f3,#fbcfe8,#fae8ff,#fde2e4,#fce7f3);padding:40px 20px}.app-container[data-v-7fa7b2a0]{max-width:680px;background:var(--bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:0;overflow:hidden}}.tab-bar[data-v-7fa7b2a0]{position:fixed;bottom:0;left:0;right:0;height:64px;background:#fff;border-top:1px solid rgba(0,0,0,.06);z-index:100;padding-bottom:env(safe-area-inset-bottom,0px)}.tab-bar-inner[data-v-7fa7b2a0]{display:flex;align-items:center;justify-content:space-around;height:64px;max-width:680px;margin:0 auto}.tab-item[data-v-7fa7b2a0]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:none;background:none;cursor:pointer;padding:8px;height:64px;transition:all .2s ease}.tab-icon[data-v-7fa7b2a0]{font-size:22px;line-height:1;transition:all .2s ease}.tab-label[data-v-7fa7b2a0]{font-size:11px;color:#9ca3af;font-weight:500;transition:all .2s ease}.tab-item.active .tab-icon[data-v-7fa7b2a0]{transform:scale(1.1)}.tab-item.active .tab-label[data-v-7fa7b2a0],.tab-item.add .tab-label[data-v-7fa7b2a0]{color:#ec4899;font-weight:600}.add-btn[data-v-7fa7b2a0]{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#ec4899,#f472b6);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ec48994d;transition:all .2s ease}.add-btn[data-v-7fa7b2a0]:active{transform:scale(.95)}.add-icon[data-v-7fa7b2a0]{color:#fff;font-size:24px;font-weight:300;line-height:1;margin-top:-1px}@media (min-width: 768px){.tab-bar[data-v-7fa7b2a0]{max-width:680px;left:50%;transform:translate(-50%);border-radius:0 0 var(--radius-xl) var(--radius-xl);border-top:none;box-shadow:0 -4px 20px #00000014}}.action-sheet-overlay[data-v-7fa7b2a0]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:200;display:flex;align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.action-sheet[data-v-7fa7b2a0]{background:#fff;width:100%;max-width:680px;border-radius:24px 24px 0 0;padding:20px 24px 32px;animation:slideUp-7fa7b2a0 .3s ease}@keyframes slideUp-7fa7b2a0{0%{transform:translateY(100%)}to{transform:translateY(0)}}.action-sheet-handle[data-v-7fa7b2a0]{width:40px;height:4px;background:#e5e7eb;border-radius:2px;margin:0 auto 16px}.action-sheet-title[data-v-7fa7b2a0]{font-size:17px;font-weight:600;color:#374151;text-align:center;margin-bottom:24px}.action-grid[data-v-7fa7b2a0]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.action-card[data-v-7fa7b2a0]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;background:#f9fafb;border:2px solid transparent;border-radius:16px;cursor:pointer;transition:all .2s ease}.action-card[data-v-7fa7b2a0]:hover{border-color:#ec489933;background:#fdf2f8;transform:translateY(-2px)}.action-card[data-v-7fa7b2a0]:active{transform:scale(.98)}.action-card-icon[data-v-7fa7b2a0]{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px}.action-card-icon.pink[data-v-7fa7b2a0]{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.action-card-icon.green[data-v-7fa7b2a0]{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.action-card-text[data-v-7fa7b2a0]{font-size:15px;font-weight:500;color:#374151}.cancel-btn[data-v-7fa7b2a0]{width:100%;padding:16px;background:#f3f4f6;border:none;border-radius:12px;font-size:16px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.cancel-btn[data-v-7fa7b2a0]:hover{background:#e5e7eb}.fade-enter-active[data-v-7fa7b2a0],.fade-leave-active[data-v-7fa7b2a0]{transition:opacity .25s ease}.fade-enter-from[data-v-7fa7b2a0],.fade-leave-to[data-v-7fa7b2a0]{opacity:0}.month-selector[data-v-e40bcec1]{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:16px 16px 0;padding:12px 16px;border-radius:20px;box-shadow:0 4px 20px #ec48991a,0 1px 3px #0000000d;border:1px solid rgba(255,255,255,.6)}.nav-btn[data-v-e40bcec1]{width:36px;height:36px;border:none;background:#fdf2f8cc;border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#be185d}.nav-btn[data-v-e40bcec1]:hover{background:#ec48991a;transform:scale(1.05)}.nav-btn[data-v-e40bcec1]:active{transform:scale(.95)}.nav-btn svg[data-v-e40bcec1]{width:18px;height:18px}.month-display[data-v-e40bcec1]{display:flex;flex-direction:column;align-items:center;gap:1px}.month-year[data-v-e40bcec1]{font-size:11px;color:#be185d;opacity:.7;font-weight:500}.month-month[data-v-e40bcec1]{font-size:18px;font-weight:700;color:#831843;line-height:1.2}@media (min-width: 768px){.month-selector[data-v-e40bcec1]{max-width:600px;margin:20px auto 0;padding:14px 24px;border-radius:24px}.nav-btn[data-v-e40bcec1]{width:40px;height:40px;border-radius:16px}.nav-btn svg[data-v-e40bcec1]{width:20px;height:20px}.month-year[data-v-e40bcec1]{font-size:12px}.month-month[data-v-e40bcec1]{font-size:20px}}.header[data-v-e71d25fc]{position:relative;padding:20px 0 16px;background:linear-gradient(160deg,#fce7f3,#fbcfe8 40%,#f5d0fe);border-radius:0 0 24px 24px}.header-content[data-v-e71d25fc]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 16px}.baby-card[data-v-e71d25fc]{display:flex;align-items:center;gap:14px;flex:1}.baby-avatar[data-v-e71d25fc]{width:64px;height:64px;background:linear-gradient(135deg,#fff,#fdf2f8);border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ec489926,inset 0 1px 2px #fffc;flex-shrink:0}.avatar-icon[data-v-e71d25fc]{font-size:32px;line-height:1}.baby-info[data-v-e71d25fc]{display:flex;flex-direction:column;gap:4px}.baby-name[data-v-e71d25fc]{font-size:22px;font-weight:700;color:#831843;line-height:1.2;letter-spacing:-.5px}.baby-meta[data-v-e71d25fc]{display:flex;align-items:center;gap:6px;font-size:13px}.meta-tag[data-v-e71d25fc]{padding:2px 8px;border-radius:12px;font-weight:500;font-size:11px}.meta-tag.gender[data-v-e71d25fc]{background:#ec48991f;color:#be185d}.meta-divider[data-v-e71d25fc]{color:#f472b6;opacity:.6}.meta-age[data-v-e71d25fc]{color:#9f1239;font-weight:500}.baby-birthday[data-v-e71d25fc]{font-size:11px;color:#be185d;opacity:.7}.quick-stats[data-v-e71d25fc]{display:flex;align-items:center;gap:12px;background:#fff9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:10px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.5)}.stat-item[data-v-e71d25fc]{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:36px}.stat-value[data-v-e71d25fc]{font-size:18px;font-weight:700;color:#db2777;line-height:1}.stat-label[data-v-e71d25fc]{font-size:10px;color:#9f1239;opacity:.7;font-weight:500}.stat-divider[data-v-e71d25fc]{width:1px;height:24px;background:linear-gradient(180deg,transparent,rgba(236,72,153,.3),transparent)}@media (min-width: 768px){.header[data-v-e71d25fc]{padding:24px 0 20px;border-radius:0 0 32px 32px}.header-content[data-v-e71d25fc]{max-width:720px;margin:0 auto;padding:0 24px}.baby-card[data-v-e71d25fc]{gap:18px}.baby-avatar[data-v-e71d25fc]{width:72px;height:72px;border-radius:24px}.avatar-icon[data-v-e71d25fc]{font-size:36px}.baby-name[data-v-e71d25fc]{font-size:26px}.baby-meta[data-v-e71d25fc]{font-size:14px;gap:8px}.meta-tag[data-v-e71d25fc]{font-size:12px;padding:3px 10px}.baby-birthday[data-v-e71d25fc]{font-size:12px}.quick-stats[data-v-e71d25fc]{padding:12px 18px;gap:16px}.stat-item[data-v-e71d25fc]{min-width:44px}.stat-value[data-v-e71d25fc]{font-size:20px}.stat-label[data-v-e71d25fc]{font-size:11px}}.growth-section[data-v-4fa75e4e]{background:var(--surface);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow);margin-bottom:20px}.section-header[data-v-4fa75e4e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title[data-v-4fa75e4e]{font-size:14px;font-weight:600;color:var(--text-secondary)}.add-btn[data-v-4fa75e4e]{width:32px;height:32px;border:none;background:var(--primary);color:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.add-btn[data-v-4fa75e4e]:hover{background:var(--primary-dark);transform:scale(1.05)}.add-btn svg[data-v-4fa75e4e]{width:18px;height:18px}.growth-content[data-v-4fa75e4e]{display:flex;flex-direction:column;gap:16px}.growth-cards[data-v-4fa75e4e]{display:flex;gap:12px}.growth-card[data-v-4fa75e4e]{background:var(--bg);border-radius:var(--radius);padding:16px;min-width:80px;text-align:center;flex:1}.growth-value[data-v-4fa75e4e]{font-size:20px;font-weight:700;color:var(--primary)}.growth-unit[data-v-4fa75e4e]{font-size:11px;color:var(--text-tertiary);margin-bottom:4px}.growth-label[data-v-4fa75e4e]{font-size:12px;color:var(--text-secondary)}.chart-wrapper[data-v-4fa75e4e]{display:flex;flex-direction:column;gap:8px}.chart-container[data-v-4fa75e4e]{height:220px;background:var(--bg);border-radius:var(--radius);padding:12px}.empty-state[data-v-4fa75e4e]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px;color:var(--text-tertiary)}.empty-icon[data-v-4fa75e4e]{font-size:32px}.history-section[data-v-4fa75e4e]{margin-top:16px}.history-title[data-v-4fa75e4e]{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:12px}.history-list[data-v-4fa75e4e]{display:flex;flex-direction:column;gap:16px}.date-group[data-v-4fa75e4e]{display:flex;flex-direction:column;gap:8px}.date-header[data-v-4fa75e4e]{font-size:13px;font-weight:600;color:var(--text);padding:4px 0}.metrics-list[data-v-4fa75e4e]{display:flex;flex-direction:column;gap:8px}.metric-item[data-v-4fa75e4e]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);transition:all var(--transition-fast)}.metric-item[data-v-4fa75e4e]:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.metric-icon[data-v-4fa75e4e]{font-size:20px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ec48991a,#ec48990d);border-radius:var(--radius-sm)}.metric-info[data-v-4fa75e4e]{flex:1}.metric-label[data-v-4fa75e4e]{font-size:13px;color:var(--text-secondary);margin-bottom:2px}.metric-value[data-v-4fa75e4e]{font-size:16px;font-weight:600;color:var(--text)}.delete-btn[data-v-4fa75e4e]{width:28px;height:28px;padding:0;border:none;background:#fee2e2;color:#991b1b;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.delete-btn[data-v-4fa75e4e]:hover{background:#fecaca;transform:scale(1.05)}.delete-btn svg[data-v-4fa75e4e]{width:16px;height:16px}.empty-history[data-v-4fa75e4e]{text-align:center;padding:16px}.empty-hint[data-v-4fa75e4e]{font-size:13px;color:var(--text-tertiary)}.photo-section[data-v-e40ecd2f]{background:var(--surface);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow);margin-bottom:20px}.section-header[data-v-e40ecd2f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title[data-v-e40ecd2f]{font-size:14px;font-weight:600;color:var(--text-secondary)}.loading-indicator[data-v-e40ecd2f]{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.loading-indicator svg[data-v-e40ecd2f]{width:20px;height:20px}.loading-indicator svg.spinning[data-v-e40ecd2f]{animation:spin-e40ecd2f 1s linear infinite}@keyframes spin-e40ecd2f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.timeline[data-v-e40ecd2f]{display:flex;flex-direction:column;gap:24px}.timeline-day[data-v-e40ecd2f]{display:flex;flex-direction:column;gap:12px}.day-header[data-v-e40ecd2f]{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:2px solid var(--primary)}.day-date[data-v-e40ecd2f]{font-size:15px;font-weight:600;color:var(--primary)}.day-count[data-v-e40ecd2f]{font-size:12px;color:var(--text-tertiary);background:var(--bg);padding:2px 8px;border-radius:12px}.photo-grid[data-v-e40ecd2f]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media (min-width: 768px){.photo-grid[data-v-e40ecd2f]{grid-template-columns:repeat(6,1fr);gap:12px}}.view-more-btn[data-v-e40ecd2f]{width:100%;padding:8px;margin-top:8px;border:1px dashed var(--primary);background:transparent;color:var(--primary);border-radius:var(--radius);font-size:13px;cursor:pointer;transition:all var(--transition-fast)}.view-more-btn[data-v-e40ecd2f]:hover{background:#ec48990d;border-style:solid}.photo-item[data-v-e40ecd2f]{aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;position:relative;cursor:pointer;background:var(--bg)}.photo-item img[data-v-e40ecd2f]{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-item:hover img[data-v-e40ecd2f]{transform:scale(1.05)}.photo-item.video[data-v-e40ecd2f]:after{content:"▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:16px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.photo-time[data-v-e40ecd2f]{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;font-size:9px;padding:2px 4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state[data-v-e40ecd2f]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px;color:var(--text-tertiary)}.empty-icon[data-v-e40ecd2f]{font-size:40px}.empty-hint[data-v-e40ecd2f]{font-size:12px;opacity:.8;margin-top:4px}.milestone-section[data-v-2c867bff]{background:var(--surface);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.milestone-section.empty[data-v-2c867bff]{padding-bottom:16px}.section-header[data-v-2c867bff]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title[data-v-2c867bff]{font-size:14px;font-weight:600;color:var(--text-secondary)}.header-actions[data-v-2c867bff]{display:flex;align-items:center;gap:8px}.manage-link[data-v-2c867bff]{font-size:13px;color:var(--primary);text-decoration:none;padding:6px 14px;border-radius:16px;background:#ec48991a;transition:all .2s;display:flex;align-items:center;gap:4px;font-weight:500}.manage-link[data-v-2c867bff]:hover{background:#ec489933;transform:scale(1.05)}.empty-content[data-v-2c867bff]{display:flex;flex-direction:column;gap:12px}.empty-hint[data-v-2c867bff]{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;padding:16px;color:var(--text-tertiary);font-size:13px;background:var(--bg);border-radius:var(--radius)}.hint-icon[data-v-2c867bff]{font-size:16px}.enter-manage-btn[data-v-2c867bff]{display:flex;align-items:center;justify-content:center;padding:12px 20px;background:linear-gradient(135deg,#ec4899,#f472b6);color:#fff;text-decoration:none;border-radius:12px;font-size:14px;font-weight:500;transition:all .2s;box-shadow:0 2px 8px #ec48994d}.enter-manage-btn[data-v-2c867bff]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ec489966}.timeline-scroll[data-v-2c867bff]{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;margin:0 -20px;padding:4px 20px}.timeline-scroll[data-v-2c867bff]::-webkit-scrollbar{display:none}.timeline-container[data-v-2c867bff]{display:flex;gap:10px;padding-bottom:4px;width:fit-content}.milestone-card[data-v-2c867bff]{flex-shrink:0;width:130px;background:var(--bg);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.milestone-card[data-v-2c867bff]:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#ec489933}.milestone-thumb[data-v-2c867bff]{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#f3f4f6}.milestone-thumb img[data-v-2c867bff]{width:100%;height:100%;object-fit:cover}.video-badge[data-v-2c867bff]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;background:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px}.milestone-info[data-v-2c867bff]{padding:8px;min-height:0}.milestone-date[data-v-2c867bff]{font-size:11px;color:var(--primary);font-weight:500;margin-bottom:4px}.milestone-title[data-v-2c867bff]{font-size:13px;color:var(--text-primary);font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.milestone-desc[data-v-2c867bff]{font-size:10px;color:var(--text-tertiary);margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}@media (min-width: 768px){.milestone-card[data-v-2c867bff]{width:140px}.milestone-info[data-v-2c867bff]{padding:10px}.milestone-desc[data-v-2c867bff]{font-size:11px;margin-top:4px}.timeline-scroll[data-v-2c867bff]{margin:0 -24px;padding:4px 24px}.timeline-container[data-v-2c867bff]{gap:12px}}.home[data-v-c5cf1f88]{min-height:100vh;min-height:100dvh;background:var(--bg)}.main-content[data-v-c5cf1f88]{display:flex;flex-direction:column;gap:16px;padding:20px 16px 0}.safe-area[data-v-c5cf1f88]{height:80px}.beian-footer[data-v-c5cf1f88]{text-align:center;padding:12px 16px 24px;margin-top:-10px}.beian-link[data-v-c5cf1f88]{font-size:11px;color:#be185d;opacity:.5;text-decoration:none;transition:opacity .2s ease}.beian-link[data-v-c5cf1f88]:hover{opacity:.8;text-decoration:underline}@media (min-width: 768px){.home[data-v-c5cf1f88]{background:linear-gradient(135deg,#fce7f3,#fbcfe8,#fae8ff,#fde2e4,#fce7f3);padding:40px 20px}.main-content[data-v-c5cf1f88]{padding:24px 24px 0}.safe-area[data-v-c5cf1f88]{display:none}.beian-footer[data-v-c5cf1f88]{padding:20px 24px 24px;margin-top:0}.beian-link[data-v-c5cf1f88]{font-size:12px}}.manage-view[data-v-030ecec5]{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.manage-header[data-v-030ecec5]{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-bottom:1px solid #f3f4f6;position:sticky;top:0;z-index:10}.back-btn[data-v-030ecec5]{font-size:14px;color:var(--primary);text-decoration:none;padding:8px 12px;border-radius:8px;background:#ec48991a;transition:all .2s}.back-btn[data-v-030ecec5]:hover{background:#ec489933}.manage-header h1[data-v-030ecec5]{font-size:17px;font-weight:600;color:#374151;flex:1;margin:0}.count-badge[data-v-030ecec5]{font-size:13px;color:var(--primary);background:#ec48991a;padding:4px 12px;border-radius:12px;font-weight:500}.manage-body[data-v-030ecec5]{flex:1;display:flex;overflow:hidden}.timeline-sidebar[data-v-030ecec5]{width:160px;background:#fff;border-right:1px solid #f3f4f6;padding:16px 0;overflow-y:auto}.timeline-sidebar h3[data-v-030ecec5]{font-size:13px;font-weight:600;color:#9ca3af;padding:0 16px 12px;margin:0}.month-list[data-v-030ecec5]{display:flex;flex-direction:column}.month-item[data-v-030ecec5]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer;transition:all .2s;font-size:14px;color:#4b5563}.month-item[data-v-030ecec5]:hover{background:#f9fafb}.month-item.active[data-v-030ecec5]{background:#ec48991a;color:var(--primary);font-weight:500}.month-badge[data-v-030ecec5]{font-size:11px;background:var(--primary);color:#fff;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.month-item.active .month-badge[data-v-030ecec5]{background:#fff;color:var(--primary)}.photos-content[data-v-030ecec5]{flex:1;overflow-y:auto;padding:16px}.loading-state[data-v-030ecec5],.empty-state[data-v-030ecec5]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:#9ca3af}.empty-icon[data-v-030ecec5]{font-size:48px}.spinner[data-v-030ecec5]{width:32px;height:32px;border:3px solid #f3f4f6;border-top-color:var(--primary);border-radius:50%;animation:spin-030ecec5 1s linear infinite}@keyframes spin-030ecec5{to{transform:rotate(360deg)}}.photos-grid[data-v-030ecec5]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (min-width: 768px){.photos-grid[data-v-030ecec5]{grid-template-columns:repeat(5,1fr)}}@media (min-width: 1024px){.photos-grid[data-v-030ecec5]{grid-template-columns:repeat(6,1fr)}}.photo-card[data-v-030ecec5]{aspect-ratio:1;border-radius:12px;overflow:hidden;position:relative;cursor:pointer;background:#f3f4f6;border:2px solid transparent;transition:all .2s}.photo-card[data-v-030ecec5]:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.photo-card.has-milestone[data-v-030ecec5]{border-color:#ec489980}.photo-card img[data-v-030ecec5]{width:100%;height:100%;object-fit:cover}.video-badge[data-v-030ecec5]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;background:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px}.milestone-indicator[data-v-030ecec5]{position:absolute;top:6px;right:6px;padding:3px 8px;background:#ec4899e6;color:#fff;border-radius:12px;font-size:11px;font-weight:500}.photo-overlay[data-v-030ecec5]{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.photo-card:hover .photo-overlay[data-v-030ecec5]{opacity:1}.overlay-text[data-v-030ecec5]{color:#fff;font-size:13px;font-weight:500;padding:8px 16px;background:#fff3;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.editor-overlay[data-v-030ecec5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.editor-modal[data-v-030ecec5]{background:#fff;border-radius:20px;width:100%;max-width:420px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp-030ecec5 .3s ease}@keyframes slideUp-030ecec5{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.editor-header[data-v-030ecec5]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f3f4f6}.editor-header h3[data-v-030ecec5]{font-size:16px;font-weight:600;color:#374151;margin:0}.close-btn[data-v-030ecec5]{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:14px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center}.close-btn[data-v-030ecec5]:hover{background:#e5e7eb}.editor-body[data-v-030ecec5]{padding:20px;overflow-y:auto;flex:1}.photo-preview[data-v-030ecec5]{width:100%;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#f3f4f6;margin-bottom:20px}.photo-preview img[data-v-030ecec5]{width:100%;height:100%;object-fit:cover}.add-milestone-form[data-v-030ecec5]{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.add-milestone-form input[data-v-030ecec5],.add-milestone-form textarea[data-v-030ecec5]{padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;font-size:14px;background:#f9fafb;transition:all .2s}.add-milestone-form input[data-v-030ecec5]:focus,.add-milestone-form textarea[data-v-030ecec5]:focus{outline:none;border-color:#ec4899;background:#fff}.add-milestone-form textarea[data-v-030ecec5]{resize:none;font-family:inherit}.add-btn[data-v-030ecec5]{padding:12px;background:linear-gradient(135deg,#ec4899,#f472b6);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.add-btn[data-v-030ecec5]:disabled{opacity:.6;cursor:not-allowed}.existing-list h4[data-v-030ecec5]{font-size:13px;font-weight:600;color:#9ca3af;margin:0 0 12px}.milestone-items[data-v-030ecec5]{display:flex;flex-direction:column;gap:8px}.milestone-item[data-v-030ecec5]{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f9fafb;border-radius:12px}.item-content[data-v-030ecec5]{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.item-title[data-v-030ecec5]{font-size:14px;font-weight:500;color:#374151}.item-desc[data-v-030ecec5]{font-size:12px;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-btn[data-v-030ecec5]{width:32px;height:32px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}.delete-btn[data-v-030ecec5]:hover{background:#fee2e2}.fade-enter-active[data-v-030ecec5],.fade-leave-active[data-v-030ecec5]{transition:opacity .25s ease}.fade-enter-from[data-v-030ecec5],.fade-leave-to[data-v-030ecec5]{opacity:0}.direct-view[data-v-619e4d35]{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center}.loading-state[data-v-619e4d35],.error-state[data-v-619e4d35]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px;text-align:center}.spinner[data-v-619e4d35]{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:var(--primary);border-radius:50%;animation:spin-619e4d35 1s linear infinite}@keyframes spin-619e4d35{to{transform:rotate(360deg)}}.loading-state span[data-v-619e4d35]{color:#6b7280;font-size:14px}.error-icon[data-v-619e4d35]{font-size:48px}.error-title[data-v-619e4d35]{font-size:16px;color:#374151;font-weight:500}.back-link[data-v-619e4d35]{padding:10px 20px;background:var(--primary);color:#fff;text-decoration:none;border-radius:12px;font-size:14px;font-weight:500;margin-top:8px}.back-link[data-v-619e4d35]:hover{opacity:.9}:root{--primary: #ec4899;--primary-light: #f9a8d4;--primary-dark: #db2777;--secondary: #f472b6;--bg: #fdf2f8;--surface: #ffffff;--surface-elevated: #ffffff;--text: #831843;--text-secondary: #9f1239;--text-tertiary: #be185d;--border: #fbcfe8;--divider: #fce7f3;--feeding: #f97316;--sleep: #a855f7;--diaper: #06b6d4;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: 8px;--radius: 12px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--text);min-height:100vh;min-height:100dvh;overflow-x:hidden}#app{min-height:100vh;min-height:100dvh}@supports (padding-top: env(safe-area-inset-top)){.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn var(--transition) forwards}.animate-fadeInUp{animation:fadeInUp var(--transition) forwards}.animate-fadeInDown{animation:fadeInDown var(--transition) forwards}.animate-slideInRight{animation:slideInRight var(--transition) forwards}.animate-scaleIn{animation:scaleIn var(--transition-spring) forwards}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.touch-none{touch-action:none}.touch-pan-y{touch-action:pan-y}.touch-pan-x{touch-action:pan-x}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary-light);color:#fff}
