.notif-dropdown[data-v-b0d7f306]{background:var(--color-surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:320px;z-index:var(--z-dropdown)}.notif-dropdown--sheet[data-v-b0d7f306]{background:none;border-radius:0;box-shadow:none;position:static;width:100%}.notif-dropdown--sheet .notif-header[data-v-b0d7f306]{justify-content:flex-end;padding:0 var(--space-6)}.notif-dropdown--sheet .mark-all-btn[data-v-b0d7f306]{font-size:.8125rem;min-height:44px}.notif-dropdown--sheet .notif-list[data-v-b0d7f306]{max-height:none}.notif-dropdown--sheet .notif-row[data-v-b0d7f306],.notif-dropdown--sheet .notif-skeleton[data-v-b0d7f306]{padding:var(--space-4) var(--space-6)}.notif-dropdown--sheet .notif-row-title[data-v-b0d7f306]{font-size:.9375rem}.notif-dropdown--sheet .notif-row-body[data-v-b0d7f306]{font-size:.8125rem}.notif-header[data-v-b0d7f306]{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-3) var(--space-4)}.notif-title[data-v-b0d7f306]{color:var(--color-text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.03em}.mark-all-btn[data-v-b0d7f306]{color:var(--blue-deep);font-size:.75rem;transition:opacity var(--dur-fast)}.mark-all-btn[data-v-b0d7f306]:hover{opacity:.8}.notif-list[data-v-b0d7f306]{max-height:360px;overflow-y:auto}.notif-skeleton[data-v-b0d7f306]{align-items:center;border-bottom:1px solid var(--color-border-subtle);display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.skel-icon[data-v-b0d7f306]{animation:pulse-b0d7f306 1.5s ease-in-out infinite;background:var(--color-surface);border-radius:50%;flex-shrink:0;height:28px;width:28px}.skeleton-body[data-v-b0d7f306]{display:flex;flex-direction:column;gap:6px}.skel-line[data-v-b0d7f306]{animation:pulse-b0d7f306 1.5s ease-in-out infinite;background:var(--color-surface);border-radius:4px;height:11px}.skel-line-lg[data-v-b0d7f306]{width:140px}.skel-line-sm[data-v-b0d7f306]{width:80px}@keyframes pulse-b0d7f306{0%,to{opacity:1}50%{opacity:.4}}.notif-empty[data-v-b0d7f306]{color:var(--color-text-muted);font-size:.85rem;padding:var(--space-8) var(--space-4);text-align:center}.notif-row[data-v-b0d7f306]{align-items:center;border-bottom:1px solid var(--color-border-subtle);display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);position:relative;text-align:left;transition:background var(--dur-fast);width:100%}.notif-row[data-v-b0d7f306]:hover{background:var(--color-surface)}.notif-row.unread[data-v-b0d7f306]{background:#3b66dd0a}.notif-icon[data-v-b0d7f306]{color:var(--color-text-secondary);display:flex;flex-shrink:0}.notif-content[data-v-b0d7f306]{flex:1;min-width:0}.notif-row-title[data-v-b0d7f306]{color:var(--color-text-primary);font-size:.82rem;font-weight:500;line-height:1.3}.notif-row-body[data-v-b0d7f306]{color:var(--color-text-secondary);font-size:.78rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-time[data-v-b0d7f306]{color:var(--color-text-muted);font-size:.72rem;margin-top:3px}.unread-dot[data-v-b0d7f306]{background:var(--color-accent-blue);border-radius:50%;flex-shrink:0;height:7px;width:7px}.app-header[data-v-25b7bd6d]{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:color-mix(in srgb,var(--color-neutral) 85%,transparent);border-bottom:1px solid var(--color-border);height:64px;left:0;position:fixed;right:0;top:0;z-index:var(--z-nav)}.header-inner[data-v-25b7bd6d]{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;height:100%;margin:0 auto;max-width:var(--content);padding:0 var(--pad-x)}.wordmark[data-v-25b7bd6d]{color:var(--color-text-primary);flex-shrink:0;font-family:var(--font-display);font-size:1.75rem;font-weight:800;justify-self:start;letter-spacing:-.05em;text-decoration:none}.wordmark .tick[data-v-25b7bd6d]{color:var(--color-primary)}.header-nav[data-v-25b7bd6d]{align-items:center;display:flex;gap:var(--space-1)}.nav-link[data-v-25b7bd6d]{border-radius:var(--radius-md);color:var(--color-text-muted);font-family:var(--font-body);font-size:.875rem;font-weight:500;padding:var(--space-2) var(--space-3);text-decoration:none;transition:color .15s,background .15s;white-space:nowrap}.nav-link[data-v-25b7bd6d]:hover{background:var(--color-border-subtle)}.nav-link.router-link-active[data-v-25b7bd6d],.nav-link[data-v-25b7bd6d]:hover{color:var(--color-text-primary)}.header-auth[data-v-25b7bd6d]{align-items:center;display:flex;gap:var(--space-3);justify-self:end}.btn-ghost[data-v-25b7bd6d]{border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);font-family:var(--font-body);font-size:.875rem;font-weight:500;padding:var(--space-2) var(--space-4);text-decoration:none;transition:color var(--dur-fast),border-color var(--dur-fast);white-space:nowrap}.btn-ghost[data-v-25b7bd6d]:hover{border-color:var(--color-text-secondary)}.btn-filled[data-v-25b7bd6d],.btn-ghost[data-v-25b7bd6d]:hover{color:var(--color-text-primary)}.btn-filled[data-v-25b7bd6d]{background:var(--color-primary);border-radius:var(--radius-full);font-family:var(--font-body);font-size:.875rem;font-weight:600;padding:var(--space-2) var(--space-4);text-decoration:none;transition:opacity var(--dur-fast);white-space:nowrap}.btn-filled[data-v-25b7bd6d]:hover{opacity:.9}.bell-btn[data-v-25b7bd6d],.bell-menu[data-v-25b7bd6d]{position:relative}.bell-btn[data-v-25b7bd6d]{align-items:center;border-radius:var(--radius-lg);color:var(--color-text-secondary);display:flex;height:36px;justify-content:center;transition:color .15s,background .15s;width:36px}.bell-btn[data-v-25b7bd6d]:hover{background:var(--color-surface-raised)}.bell-badge[data-v-25b7bd6d],.bell-btn[data-v-25b7bd6d]:hover{color:var(--color-text-primary)}.bell-badge[data-v-25b7bd6d]{align-items:center;background:var(--color-primary);border-radius:var(--radius-full);display:flex;font-size:.55rem;font-weight:700;height:14px;justify-content:center;min-width:14px;padding:0 3px;position:absolute;right:2px;top:2px}.avatar-link[data-v-25b7bd6d]{border-radius:var(--radius-lg);text-decoration:none;transition:opacity var(--dur-fast)}.avatar-link[data-v-25b7bd6d]:hover{opacity:.8}.avatar-placeholder[data-v-25b7bd6d]{background:var(--color-surface-raised);border-radius:var(--radius-full);display:block;flex-shrink:0;height:32px;width:32px}.btn-settings[data-v-25b7bd6d]{border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-body);font-size:.8rem;font-weight:500;padding:var(--space-1) var(--space-2);text-decoration:none;transition:color var(--dur-fast)}.btn-settings.router-link-active[data-v-25b7bd6d],.btn-settings[data-v-25b7bd6d]:hover{color:var(--color-text-primary)}.btn-signout[data-v-25b7bd6d]{background:none;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:.8rem;font-weight:500;padding:var(--space-1) var(--space-2);transition:color var(--dur-fast)}.btn-signout[data-v-25b7bd6d]:hover{color:var(--color-text-primary)}.desktop-only[data-v-25b7bd6d]{display:flex}.mobile-only[data-v-25b7bd6d]{display:none}@media(max-width:1023px){.desktop-only[data-v-25b7bd6d]{display:none!important}.mobile-only[data-v-25b7bd6d]{display:flex!important}.header-inner[data-v-25b7bd6d]{grid-template-columns:auto 1fr}.mobile-cluster[data-v-25b7bd6d]{justify-self:end}}.mobile-cluster[data-v-25b7bd6d]{align-items:center;display:none;gap:var(--space-3)}.hamburger[data-v-25b7bd6d]{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:5px;height:36px;justify-content:center;margin:-7px;padding:11px;position:relative;width:36px;z-index:110}.hamburger span[data-v-25b7bd6d]{background:var(--color-text-primary);border-radius:2px;display:block;height:2px;transform-origin:center;transition:transform var(--dur-slow) ease,opacity var(--dur-slow) ease;width:22px}.hamburger.open span[data-v-25b7bd6d]:first-child{transform:translateY(7px) rotate(45deg)}.hamburger.open span[data-v-25b7bd6d]:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span[data-v-25b7bd6d]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-overlay{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in srgb,var(--color-neutral) 97%,transparent);inset:0;overflow-y:auto;position:fixed;z-index:var(--z-modal)}.mobile-overlay-content{flex-direction:column;min-height:100vh;padding:80px 24px 48px;position:relative}.mobile-overlay-content,.overlay-close{align-items:center;display:flex;justify-content:center}.overlay-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:8px;position:absolute;right:24px;top:20px;transition:color .15s,transform .15s;z-index:1}.overlay-close:hover{color:var(--color-text-primary);transform:rotate(90deg)}.mobile-nav-links{align-items:center;display:flex;flex-direction:column;gap:28px;margin-bottom:48px}.mobile-nav-link{color:var(--color-text-secondary);font-family:var(--font-display);font-size:2.5rem;letter-spacing:.01em;text-decoration:none;transition:color var(--dur-base)}.mobile-nav-link.router-link-active,.mobile-nav-link:hover{color:var(--color-primary)}.mobile-nav-actions{align-items:center;display:flex;flex-direction:column;gap:var(--space-3);max-width:280px;width:100%}.mobile-action-link{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-body);font-size:.9rem;text-decoration:none;transition:color var(--dur-fast)}.mobile-action-link:hover{color:var(--color-text-primary)}.mobile-action-link.danger{color:var(--color-error);font-weight:700}.mobile-full{text-align:center;width:100%}.menu-enter-active,.menu-leave-active{transition:opacity var(--dur-base) ease}.menu-enter-from,.menu-leave-to{opacity:0}.menu-enter-active .mobile-nav-link{animation:slide-up var(--dur-slow) ease forwards;opacity:0}.mobile-nav-link:first-child{animation-delay:.05s}.mobile-nav-link:nth-child(2){animation-delay:.1s}.mobile-nav-link:nth-child(3){animation-delay:.15s}.mobile-nav-link:nth-child(4){animation-delay:.2s}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.mobile-nav-link{font-size:2rem}.mobile-nav-links{gap:20px}}
