.error-boundary[data-v-d3255af5]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;padding:var(--sp-10) var(--sp-6);text-align:center;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);margin:var(--sp-6) auto;max-width:480px}.error-boundary__icon[data-v-d3255af5]{width:56px;height:56px;color:var(--gray-400);margin-bottom:var(--sp-4)}.error-boundary__icon svg[data-v-d3255af5]{width:100%;height:100%}.error-boundary__title[data-v-d3255af5]{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--gray-800);margin-bottom:var(--sp-2)}.error-boundary__message[data-v-d3255af5]{font-size:var(--fs-sm);color:var(--gray-500);line-height:var(--lh-body);margin-bottom:var(--sp-3)}.error-boundary__detail[data-v-d3255af5]{font-size:var(--fs-xs);color:var(--gray-400);font-family:monospace;background:var(--gray-50);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);max-width:100%;overflow:auto;margin-bottom:var(--sp-5)}.error-boundary__actions[data-v-d3255af5]{display:flex;gap:var(--sp-3)}.error-boundary__btn[data-v-d3255af5]{padding:var(--sp-2) var(--sp-5);border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:var(--transition);background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200)}.error-boundary__btn[data-v-d3255af5]:hover{background:var(--gray-150)}.error-boundary__btn--primary[data-v-d3255af5]{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.error-boundary__btn--primary[data-v-d3255af5]:hover{background:var(--color-accent-hover)}.confirm-overlay[data-v-cbfa6186]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000073;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.confirm-box[data-v-cbfa6186]{background:#fff;border-radius:12px;padding:28px 32px 20px;width:380px;max-width:90vw;box-shadow:0 12px 40px #00000026,0 2px 8px #00000014;text-align:center}.confirm-icon[data-v-cbfa6186]{margin-bottom:16px}.confirm-title[data-v-cbfa6186]{margin:0 0 10px;font-size:16px;font-weight:600;color:#000000e0;line-height:1.5}.confirm-message[data-v-cbfa6186]{margin:0 0 24px;font-size:14px;color:#0000008c;line-height:1.6;word-break:break-word}.confirm-actions[data-v-cbfa6186]{display:flex;gap:10px;justify-content:center;padding-top:4px}.confirm-btn[data-v-cbfa6186]{padding:7px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid;transition:all .2s;outline:none;line-height:1.5}.confirm-btn[data-v-cbfa6186]:focus-visible{box-shadow:0 0 0 3px #1677ff33}.confirm-btn-cancel[data-v-cbfa6186]{background:#fff;color:#000000a6;border-color:#d9d9d9}.confirm-btn-cancel[data-v-cbfa6186]:hover{color:#1677ff;border-color:#1677ff}.confirm-btn-warning[data-v-cbfa6186]{background:#ff9800;border-color:#ff9800;color:#fff}.confirm-btn-warning[data-v-cbfa6186]:hover{background:#ffa726;border-color:#ffa726}.confirm-btn-danger[data-v-cbfa6186]{background:#ff4d4f;border-color:#ff4d4f;color:#fff}.confirm-btn-danger[data-v-cbfa6186]:hover{background:#ff7875;border-color:#ff7875}.confirm-btn-info[data-v-cbfa6186]{background:#1677ff;border-color:#1677ff;color:#fff}.confirm-btn-info[data-v-cbfa6186]:hover{background:#4096ff;border-color:#4096ff}.confirm-fade-enter-active[data-v-cbfa6186],.confirm-fade-leave-active[data-v-cbfa6186]{transition:opacity .25s ease}.confirm-fade-enter-from[data-v-cbfa6186],.confirm-fade-leave-to[data-v-cbfa6186]{opacity:0}.confirm-zoom-enter-active[data-v-cbfa6186]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.confirm-zoom-leave-active[data-v-cbfa6186]{transition:all .2s ease-in}.confirm-zoom-enter-from[data-v-cbfa6186]{opacity:0;transform:scale(.85)}.confirm-zoom-leave-to[data-v-cbfa6186]{opacity:0;transform:scale(.9)}:root{--color-ink: #1a1a1a;--color-accent: #1a3c34;--color-accent-hover: #2a5c4e;--color-accent-soft: #e8f0ed;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-150: #f0f0f0;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 19px;--fs-2xl: 22px;--lh-body: 1.6;--lh-heading: 1.3;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 999px;--transition: all .15s ease;--transition-fast: all .1s ease;--tag-positive: #22c55e;--tag-thinking: #3b82f6;--tag-attention: #f59e0b;--tag-improve: #ef4444;--tag-habit: #8b5cf6;--tag-emotion: #ec4899}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--gray-800);background:#f8f7f5;min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.global-shell[data-v-37f7c353]{min-height:100vh}.global-nav[data-v-37f7c353]{position:sticky;top:0;z-index:100;background:#ffffffb8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(0,0,0,.06)}.global-nav--home[data-v-37f7c353]{background:#0a0a0ab8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.08)}.global-nav--home .brand-text[data-v-37f7c353],.global-nav--home .nav-link[data-v-37f7c353],.global-nav--home .nav-link[data-v-37f7c353]:hover{color:#ffffffbf}.global-nav--home .nav-link--active[data-v-37f7c353]{color:#fff;background:#ffffff1a}.global-nav--home .nav-link[data-v-37f7c353]:hover{background:#ffffff14}.global-nav--home .nav-login-btn[data-v-37f7c353]{color:#fffc;background:#ffffff1a}.global-nav--home .nav-login-btn[data-v-37f7c353]:hover{background:#fff3;color:#fff}.global-nav--home .nav-register-btn[data-v-37f7c353]{color:#0a0a0a;background:#ffffffe6}.global-nav--home .nav-register-btn[data-v-37f7c353]:hover{background:#fff}.nav-inner[data-v-37f7c353]{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-6);height:52px}.nav-brand[data-v-37f7c353]{display:flex;align-items:center;gap:8px;text-decoration:none;transition:opacity .2s ease}.nav-brand[data-v-37f7c353]:hover{opacity:.7}.brand-text[data-v-37f7c353]{font-family:Caveat,A Nice Day,cursive;font-size:20px;font-weight:500;color:var(--color-ink);letter-spacing:-.01em}.nav-links[data-v-37f7c353]{display:flex;gap:var(--sp-1)}.nav-link[data-v-37f7c353]{padding:6px 16px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--gray-500);border-radius:var(--radius-sm);transition:var(--transition);text-decoration:none}.nav-link[data-v-37f7c353]:hover{color:var(--gray-800);background:var(--gray-100)}.nav-link--active[data-v-37f7c353]{color:var(--color-ink);background:var(--gray-150)}.global-main[data-v-37f7c353]{min-height:calc(100vh - 52px)}.global-main--home[data-v-37f7c353]{min-height:100vh}@media (max-width: 768px){.nav-inner[data-v-37f7c353]{padding:0 var(--sp-4);height:48px}.brand-text[data-v-37f7c353]{font-size:var(--fs-base)}.nav-link[data-v-37f7c353]{padding:5px 12px;font-size:var(--fs-xs)}.user-name[data-v-37f7c353]{display:none}.nav-login-btn[data-v-37f7c353],.nav-register-btn[data-v-37f7c353]{padding:5px 12px;font-size:var(--fs-xs)}}.nav-user[data-v-37f7c353]{display:flex;align-items:center;gap:8px}.user-menu[data-v-37f7c353]{position:relative;display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:background .15s}.user-menu[data-v-37f7c353]:hover{background:var(--gray-100)}.user-avatar[data-v-37f7c353]{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-avatar--default[data-v-37f7c353]{display:flex;align-items:center;justify-content:center;background:var(--color-ink);color:#fff;font-size:13px;font-weight:600}.user-name[data-v-37f7c353]{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--gray-700);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-arrow[data-v-37f7c353]{width:12px;height:12px;color:var(--gray-400);transition:transform .15s}.user-menu:hover .user-arrow[data-v-37f7c353]{transform:rotate(180deg)}.nav-login-btn[data-v-37f7c353]{padding:6px 16px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-ink);background:var(--gray-100);border-radius:var(--radius-sm);text-decoration:none;transition:var(--transition)}.nav-login-btn[data-v-37f7c353]:hover{background:var(--color-ink);color:#fff}.nav-register-btn[data-v-37f7c353]{padding:6px 16px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:#fff;background:var(--color-ink);border-radius:var(--radius-sm);text-decoration:none;transition:var(--transition)}.nav-register-btn[data-v-37f7c353]:hover{background:var(--color-accent-hover);color:#fff}.user-dropdown[data-v-37f7c353]{position:absolute;top:100%;right:0;margin-top:6px;min-width:200px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:0 8px 30px #00000014;overflow:hidden;z-index:200}.menu-fade-enter-active[data-v-37f7c353],.menu-fade-leave-active[data-v-37f7c353]{transition:all .15s ease}.menu-fade-enter-from[data-v-37f7c353],.menu-fade-leave-to[data-v-37f7c353]{opacity:0;transform:translateY(-6px)}.dropdown-header[data-v-37f7c353]{padding:12px 16px;border-bottom:1px solid var(--gray-150)}.dropdown-name[data-v-37f7c353]{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-ink)}.dropdown-email[data-v-37f7c353]{font-size:var(--fs-xs);color:var(--gray-400);margin-top:2px}.dropdown-item[data-v-37f7c353]{width:100%;padding:10px 16px;font-size:var(--fs-sm);text-align:left;color:var(--gray-700);transition:background .1s}.dropdown-item[data-v-37f7c353]:hover{background:var(--gray-50)}.dropdown-logout[data-v-37f7c353]{color:#c44}.dropdown-logout[data-v-37f7c353]:hover{background:#fef2f2}
