.header[data-v-1e0a5a63]{background:var(--header-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-header);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-inner[data-v-1e0a5a63]{max-width:600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.6rem var(--sp-5)}.logo[data-v-1e0a5a63]{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--color-text)}.logo[data-v-1e0a5a63]:hover{color:var(--color-text)}.logo-icon[data-v-1e0a5a63]{width:34px;height:34px;border-radius:var(--radius-sm);object-fit:cover;box-shadow:var(--shadow-sm)}.nav[data-v-1e0a5a63]{display:flex;align-items:center;gap:.15rem}.nav-link[data-v-1e0a5a63]{color:var(--color-secondary);font-weight:500;font-size:.875rem;padding:.45rem .7rem;border-radius:var(--radius-sm);min-height:40px;display:inline-flex;align-items:center;transition:color var(--dur-fast) ease,background var(--dur-fast) ease}.nav-link[data-v-1e0a5a63]:hover{color:var(--color-text);background:var(--color-primary-subtle)}.nav-link.router-link-active[data-v-1e0a5a63]{color:var(--color-primary)}.icon-only[data-v-1e0a5a63]{padding:.45rem;position:relative}.badge-wrap[data-v-1e0a5a63]{position:relative}.user-badge[data-v-1e0a5a63]{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.nav-link[data-v-1e0a5a63]:not(.icon-only),.nav .btn[data-v-1e0a5a63]{display:none}.icon-only[data-v-1e0a5a63]:not(.keep-mobile){display:none}.logo-text[data-v-1e0a5a63]{display:inline}}.bottom-nav a .icon-svg[data-v-c5b5c6c1]{width:22px;height:22px}.badge-wrap[data-v-c5b5c6c1]{position:relative}.badge-wrap .badge-count[data-v-c5b5c6c1]{top:-2px;right:50%;margin-right:-16px}.route-loading[data-v-94344ccb]{display:flex;flex-direction:column;align-items:center;padding:2rem 0 1rem;min-height:40vh}.route-loading-spinner[data-v-94344ccb]{width:2rem;height:2rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:route-spin-94344ccb .7s linear infinite}@keyframes route-spin-94344ccb{to{transform:rotate(360deg)}}.route-loading-text[data-v-94344ccb]{margin:.75rem 0 1.25rem;font-size:.9rem;color:var(--color-secondary);font-weight:500}.route-loading-skeleton[data-v-94344ccb]{width:100%;max-width:640px}.app[data-v-dc1e9e32]{min-height:100vh}.route-viewport[data-v-dc1e9e32]{position:relative;min-height:50vh}.route-shell[data-v-dc1e9e32]{min-height:inherit}.route-shell--chat[data-v-dc1e9e32]{flex:1;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.route-loading-overlay[data-v-dc1e9e32]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:var(--color-bg);overflow:auto}.hero[data-v-1198a327]{padding:1rem 0 2rem}.hero-card[data-v-1198a327]{text-align:center;padding:2.5rem 1.75rem}.hero-badge[data-v-1198a327]{display:inline-block;padding:.3rem .75rem;border-radius:999px;background:var(--color-primary-subtle);color:var(--color-primary);font-size:.78rem;font-weight:600;margin-bottom:1rem}h1[data-v-1198a327]{font-family:var(--font-display);font-size:2rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.75rem;line-height:1.2}.subtitle[data-v-1198a327]{font-size:1rem;color:var(--color-secondary);margin-bottom:1.75rem;max-width:440px;margin-left:auto;margin-right:auto;line-height:1.65}.actions[data-v-1198a327]{display:flex;gap:.75rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.feature-grid[data-v-1198a327]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;text-align:left}.feature-item[data-v-1198a327]{display:flex;gap:.65rem;padding:.85rem;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border)}.feature-item .icon-svg[data-v-1198a327]{color:var(--color-primary);margin-top:2px}.feature-item strong[data-v-1198a327]{display:block;font-size:.875rem;margin-bottom:.1rem}.feature-item p[data-v-1198a327]{font-size:.78rem;color:var(--color-secondary)}@media(max-width:640px){h1[data-v-1198a327]{font-size:1.6rem}.feature-grid[data-v-1198a327]{grid-template-columns:1fr}}.avatar-wrap[data-v-69161e2f]{position:relative;display:inline-block;flex-shrink:0;width:var(--avatar-size, 40px);height:var(--avatar-size, 40px);vertical-align:middle}.avatar-wrap>.avatar[data-v-69161e2f]{position:relative;z-index:2;width:100%;height:100%}.avatar-fx-stage[data-v-69161e2f]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.avatar-fx-ring[data-v-69161e2f],.avatar-fx-particle[data-v-69161e2f]{position:absolute;top:50%;left:50%;pointer-events:none}.avatar-fx-ring[data-v-69161e2f]{width:calc(var(--avatar-size) + 8px);height:calc(var(--avatar-size) + 8px);margin:calc((var(--avatar-size) + 8px) / -2);border-radius:50%;box-sizing:border-box}.avatar-fx-particle[data-v-69161e2f]{width:7px;height:7px;margin:-3.5px;border-radius:50%;background:var(--avatar-fx-color);box-shadow:0 0 6px var(--avatar-fx-strong)}.hashtag[data-v-a10ad0e3],.mention[data-v-a10ad0e3]{color:var(--color-primary);font-weight:600}.hashtag[data-v-a10ad0e3]:hover,.mention[data-v-a10ad0e3]:hover{text-decoration:underline}.post-card[data-v-db5a983b]{padding:var(--sp-4) var(--sp-5)}.post-header[data-v-db5a983b]{margin-bottom:.75rem;display:flex;align-items:flex-start;justify-content:space-between}.author[data-v-db5a983b]{display:inline-flex;align-items:center;gap:.65rem;color:var(--color-text)}.author[data-v-db5a983b] .avatar-wrap{flex-shrink:0;align-self:center}.author[data-v-db5a983b]:hover{color:var(--color-text)}.author:hover .author-name[data-v-db5a983b]{color:var(--color-primary)}.author-name[data-v-db5a983b]{display:block;font-size:.95rem;font-weight:600}.post-time[data-v-db5a983b]{display:block;font-size:.78rem;color:var(--color-secondary);margin-top:.05rem}.menu-wrap[data-v-db5a983b]{position:relative}.menu-trigger[data-v-db5a983b]{background:none;border:none;color:var(--color-tertiary);padding:.3rem;border-radius:var(--radius-pill);display:inline-flex}.menu-trigger[data-v-db5a983b]:hover{color:var(--color-primary);background:var(--color-primary-subtle)}.menu-trigger .icon-svg[data-v-db5a983b]{width:20px;height:20px}.menu[data-v-db5a983b]{position:absolute;right:0;top:100%;z-index:var(--z-dropdown);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:.35rem;min-width:120px}.menu button[data-v-db5a983b]{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .6rem;border:none;background:none;color:var(--color-text);border-radius:8px;font-size:.875rem}.menu button[data-v-db5a983b]:hover{background:var(--color-surface-muted)}.menu button.danger[data-v-db5a983b]{color:var(--color-danger)}.menu button .icon-svg[data-v-db5a983b]{width:16px;height:16px}.menu-confirm-text[data-v-db5a983b]{margin:0;padding:.45rem .6rem .55rem;font-size:.85rem;color:var(--color-text);line-height:1.4}.menu-confirm-actions[data-v-db5a983b]{display:flex;gap:.35rem;padding:0 .35rem .35rem}.menu-confirm-actions button[data-v-db5a983b]{flex:1;justify-content:center;font-size:.82rem;padding:.45rem .5rem}.menu-backdrop[data-v-db5a983b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-dropdown) - 1)}.edit-box[data-v-db5a983b]{margin-bottom:.5rem}.edit-actions[data-v-db5a983b]{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.edit-actions .spacer[data-v-db5a983b]{flex:1}.edit-actions .icon-btn[data-v-db5a983b]{min-height:36px;padding:.35rem;color:var(--color-primary);border-radius:var(--radius-pill)}.edit-actions .icon-btn .icon-svg[data-v-db5a983b]{width:20px;height:20px}.edit-preview[data-v-db5a983b]{position:relative;margin:.5rem 0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.edit-preview img[data-v-db5a983b]{display:block;width:100%;max-height:320px;object-fit:cover}.edit-preview .preview-remove[data-v-db5a983b]{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:none;background:var(--scrim);color:#fff;display:flex;align-items:center;justify-content:center}.edit-preview .preview-remove .icon-svg[data-v-db5a983b]{width:16px;height:16px}.visually-hidden[data-v-db5a983b]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.post-body[data-v-db5a983b]{display:block;color:var(--color-text)}.post-body[data-v-db5a983b]:hover{color:var(--color-text)}.post-content[data-v-db5a983b]{line-height:1.65;white-space:pre-wrap;word-break:break-word}.post-image[data-v-db5a983b]{margin-top:.75rem;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.post-image img[data-v-db5a983b]{display:block;width:100%;max-height:480px;object-fit:cover}.post-footer[data-v-db5a983b]{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--color-border);display:flex;gap:.5rem;align-items:center;font-size:.875rem}.action-btn[data-v-db5a983b],.action-link[data-v-db5a983b]{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-secondary);background:none;border:none;padding:.4rem .7rem;border-radius:var(--radius-pill);font:inherit;cursor:pointer;text-decoration:none;transition:color var(--dur-fast) ease,background var(--dur-fast) ease}.action-btn.bookmark[data-v-db5a983b]{margin-left:auto}.action-link[data-v-db5a983b]:hover,.action-btn[data-v-db5a983b]:hover:not(:disabled){color:var(--color-primary);background:var(--color-primary-subtle)}.action-btn[data-v-db5a983b]:disabled{cursor:default}.action-btn .icon-svg[data-v-db5a983b],.action-link .icon-svg[data-v-db5a983b]{width:18px;height:18px}.action-btn.liked[data-v-db5a983b]{color:var(--color-like)}.action-btn.liked[data-v-db5a983b]:hover{background:var(--color-like-subtle)}.action-btn.bookmark.active[data-v-db5a983b]{color:var(--color-primary)}.action-btn .is-filled[data-v-db5a983b]{fill:currentColor;stroke:currentColor}.action-btn:active:not(:disabled) .icon-svg[data-v-db5a983b]{transform:scale(1.25);transition:transform var(--dur-fast) var(--ease-out)}.mention-input[data-v-7973baab]{position:relative;flex:1;min-width:0;display:flex}.input[data-v-7973baab]{flex:1;min-width:0}.mention-dropdown[data-v-7973baab]{position:absolute;left:0;right:0;z-index:var(--z-dropdown, 50);margin:0;padding:.25rem;list-style:none;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius, 12px);box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto}.mention-dropdown.up[data-v-7973baab]{bottom:calc(100% + 6px)}.mention-dropdown.down[data-v-7973baab]{top:calc(100% + 6px)}.mention-dropdown li[data-v-7973baab]{display:flex;align-items:center;gap:.55rem;padding:.45rem .55rem;border-radius:8px;cursor:pointer}.mention-dropdown li.active[data-v-7973baab]{background:var(--color-primary-subtle)}.cand-name[data-v-7973baab]{font-size:.9rem;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer[data-v-52764308]{margin-bottom:var(--sp-4);padding:var(--sp-4) var(--sp-5)}.composer-row[data-v-52764308]{display:flex;gap:.7rem}.composer-body[data-v-52764308]{flex:1;min-width:0}.composer-input-wrap[data-v-52764308]{width:100%}.composer-input-wrap[data-v-52764308] .input{border:none;background:transparent;padding:.4rem 0;min-height:60px;font-size:1rem}.composer-input-wrap[data-v-52764308] .input:focus{box-shadow:none}.preview[data-v-52764308]{position:relative;margin:.5rem 0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.preview img[data-v-52764308]{display:block;width:100%;max-height:320px;object-fit:cover}.preview-remove[data-v-52764308]{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:none;background:var(--scrim);color:#fff;display:flex;align-items:center;justify-content:center}.preview-remove .icon-svg[data-v-52764308]{width:16px;height:16px}.composer-actions[data-v-52764308]{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--color-border);padding-top:.6rem}.left[data-v-52764308]{display:flex;align-items:center;gap:.6rem}.icon-btn[data-v-52764308]{min-height:36px;padding:.35rem;color:var(--color-primary);border-radius:var(--radius-pill)}.icon-btn .icon-svg[data-v-52764308]{width:22px;height:22px}.icon-btn[data-v-52764308]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-subtle)}.char-count[data-v-52764308],.hint[data-v-52764308]{font-size:.78rem;color:var(--color-secondary)}.visually-hidden[data-v-52764308]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.row[data-v-5df5134c]{display:flex;gap:.7rem;margin-bottom:1rem}.avatar-skel[data-v-5df5134c]{width:40px;height:40px;border-radius:50%;flex-shrink:0}.lines[data-v-5df5134c]{flex:1;padding-top:.3rem}.sentinel[data-v-c5cd9b71]{height:1px}.feed[data-v-39c45326]{display:flex;flex-direction:column;gap:var(--sp-3)}.login-prompt[data-v-39c45326]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:var(--sp-4);color:var(--color-secondary);text-align:center}.login-prompt .icon-svg[data-v-39c45326]{width:18px;height:18px}.loading-more[data-v-39c45326],.feed-end[data-v-39c45326]{text-align:center;color:var(--color-secondary);font-size:.85rem;padding:var(--sp-4) 0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{--color-bg: #f7f9f9;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-muted: #f0f3f5;--color-text: #0f1419;--color-secondary: #536471;--color-tertiary: #8b98a5;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-muted: #e0e7ff;--color-on-primary: #ffffff;--color-accent: #8b5cf6;--color-accent-hover: #7c3aed;--color-border: #eff3f4;--color-border-strong: #cfd9de;--color-danger: #f4212e;--color-danger-subtle: rgba(244, 33, 46, .08);--color-success: #00ba7c;--color-success-subtle: rgba(0, 186, 124, .1);--color-like: #f91880;--color-like-subtle: rgba(249, 24, 128, .12);--color-primary-subtle: rgba(99, 102, 241, .1);--gradient-brand: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--shadow-sm: 0 1px 2px rgba(15, 20, 25, .06);--shadow-md: 0 4px 12px rgba(15, 20, 25, .08);--shadow-lg: 0 12px 28px rgba(15, 20, 25, .12);--header-bg: rgba(255, 255, 255, .88);--scrim: rgba(15, 20, 25, .55);--app-header-height: 52px;--bottom-nav-height: calc(52px + env(safe-area-inset-bottom, 0px)) }[data-theme=dark]{--color-bg: #000000;--color-surface: #16181c;--color-surface-elevated: #1d1f23;--color-surface-muted: #202327;--color-text: #e7e9ea;--color-secondary: #71767b;--color-tertiary: #536471;--color-primary: #818cf8;--color-primary-hover: #a5b4fc;--color-primary-muted: #312e81;--color-on-primary: #ffffff;--color-accent: #a78bfa;--color-accent-hover: #c4b5fd;--color-border: #2f3336;--color-border-strong: #3e4144;--color-danger: #f87171;--color-danger-subtle: rgba(248, 113, 113, .12);--color-success: #34d399;--color-success-subtle: rgba(52, 211, 153, .12);--color-like: #f472b6;--color-like-subtle: rgba(244, 114, 182, .16);--color-primary-subtle: rgba(129, 140, 248, .14);--gradient-brand: linear-gradient(135deg, #6366f1, #a78bfa);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .55);--header-bg: rgba(0, 0, 0, .78);--scrim: rgba(0, 0, 0, .72)}:root{--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--radius: 16px;--radius-sm: 12px;--radius-pill: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .13s;--dur: .2s;--z-header: 100;--z-bottomnav: 100;--z-chat-composer: 95;--z-dropdown: 200;--z-modal: 1000;--z-toast: 2000;--font-display: "Plus Jakarta Sans", "Noto Sans TC", system-ui, sans-serif;--font-body: "Inter", "Noto Sans TC", system-ui, sans-serif}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--dur) ease,color var(--dur) ease;overflow-x:clip}body.chat-shell-active{overflow:hidden;height:100dvh}a{color:var(--color-primary);text-decoration:none;font-weight:500}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.container{max-width:600px;margin:0 auto;padding:var(--sp-4) var(--sp-5) calc(var(--sp-10) + env(safe-area-inset-bottom))}.container--wide{max-width:min(100%,1280px)}@media(min-width:1024px){.container:not(.container--wide){max-width:720px}}.container--thread{display:flex;flex-direction:column;overflow:hidden;padding:0;height:calc(100dvh - var(--app-header-height));max-width:100%}@media(max-width:720px){.container--thread{height:calc(100dvh - var(--app-header-height) - var(--bottom-nav-height))}}.container--thread .route-viewport{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.container--thread .route-shell--chat{flex:1;min-height:0}.container--thread .route-shell--chat>*{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}:root{--chat-dock-bottom: 0px;--chat-composer-pad: 80px}@media(max-width:720px){body.chat-shell-active{--chat-dock-bottom: var(--bottom-nav-height)}}.chat-composer-dock{position:fixed;left:0;right:0;bottom:var(--chat-dock-bottom);z-index:var(--z-chat-composer);border-top:1px solid var(--color-border);background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:.55rem var(--sp-4);padding-bottom:.6rem}.chat-composer-dock__inner{max-width:600px;margin:0 auto}@media(min-width:1024px){.chat-composer-dock__inner{max-width:720px}}.chat-scroll-pad{padding-bottom:var(--chat-composer-pad, 80px)}.page-header{margin-bottom:var(--sp-5)}.page-header h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}.page-header .subtitle{color:var(--color-secondary);font-size:.9rem}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:var(--sp-5);transition:box-shadow var(--dur) ease,border-color var(--dur) ease,transform var(--dur) var(--ease-out)}[data-theme=dark] .card{box-shadow:none}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.65rem 1.25rem;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);font-weight:600;font-size:.95rem;transition:background var(--dur-fast) ease,transform var(--dur-fast) ease,opacity var(--dur-fast) ease}.btn:hover:not(:disabled){background:var(--color-primary-hover)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{min-height:36px;padding:.4rem .85rem;font-size:.85rem}.btn-full{width:100%}.btn-outline{background:transparent;border:1.5px solid var(--color-border-strong);color:var(--color-text);box-shadow:none}.btn-outline:hover:not(:disabled){background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary)}.btn-ghost{background:transparent;color:var(--color-secondary);box-shadow:none;min-height:auto;padding:.4rem .75rem}.btn-ghost:hover:not(:disabled){color:var(--color-primary);background:var(--color-primary-subtle)}.input{width:100%;min-height:44px;padding:.7rem .95rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);font-size:1rem;transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}textarea.input{min-height:96px;resize:vertical}.input::placeholder{color:var(--color-tertiary)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;margin-bottom:1rem}.alert-error{background:var(--color-danger-subtle);color:var(--color-danger);border:1px solid var(--color-danger-subtle)}.alert-success{background:var(--color-success-subtle);color:var(--color-success);border:1px solid var(--color-success-subtle)}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0;overflow:hidden;-webkit-user-select:none;user-select:none}.avatar-wrap .avatar{width:100%;height:100%}.avatar-wrap.avatar-sm{--avatar-size: 32px}.avatar-wrap.avatar-lg{--avatar-size: 64px}.avatar-wrap:not(.avatar-sm):not(.avatar-lg){--avatar-size: 40px}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:32px;height:32px;font-size:.8rem}.avatar-lg{width:64px;height:64px;font-size:1.4rem}.muted{color:var(--color-secondary)}.empty-state{text-align:center;color:var(--color-secondary);padding:var(--sp-10) var(--sp-4)}.empty-state .icon-svg{width:40px;height:40px;margin-bottom:var(--sp-3);color:var(--color-tertiary)}.section-title{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:.75rem;color:var(--color-text)}.icon-svg{width:20px;height:20px;flex-shrink:0}.badge-count{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-danger);color:#fff;font-size:.62rem;font-weight:700;line-height:16px;text-align:center}.skeleton{background:linear-gradient(90deg,var(--color-surface-muted) 25%,var(--color-border) 50%,var(--color-surface-muted) 75%);background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{padding:var(--sp-5);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);margin-bottom:var(--sp-3)}.skeleton-line{height:13px;margin-bottom:.5rem}.skeleton-line.short{width:40%}.skeleton-line.medium{width:70%}.skeleton-line.long{width:100%}.theme-segment{display:flex;padding:3px;border-radius:var(--radius-sm);background:var(--color-surface-muted);border:1px solid var(--color-border)}.theme-segment button{flex:1;min-height:40px;border:none;border-radius:6px;background:transparent;color:var(--color-secondary);font-size:.875rem;font-weight:500;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.theme-segment button.active{background:var(--color-surface);color:var(--color-primary);font-weight:600;box-shadow:var(--shadow-sm)}.toast-host{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--sp-2);width:max-content;max-width:calc(100vw - 2rem);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--sp-2);padding:.7rem 1rem;border-radius:var(--radius-pill);background:var(--color-text);color:var(--color-bg);font-size:.875rem;font-weight:500;box-shadow:var(--shadow-lg);pointer-events:auto}.toast.toast-error{background:var(--color-danger);color:#fff}.toast.toast-success{background:var(--color-success);color:#fff}.toast .icon-svg{width:16px;height:16px}.toast-enter-active{transition:all var(--dur) var(--ease-out)}.toast-leave-active{transition:all var(--dur-fast) ease-in}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(8px)}.bottom-nav{display:none}@media(max-width:720px){.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-bottomnav);background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:.5rem 0;min-height:52px;color:var(--color-secondary);font-size:.66rem;font-weight:500;position:relative}.bottom-nav a.router-link-active{color:var(--color-primary)}.container:not(.container--thread){padding-bottom:calc(72px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur) ease}.fade-enter-from,.fade-leave-to{opacity:0}.avatar-wrap[class*=avatar-fx-]{overflow:visible}.avatar-wrap[class*=avatar-fx-] .avatar-fx-ring,.avatar-wrap[class*=avatar-fx-] .avatar-fx-ring-outer,.avatar-wrap[class*=avatar-fx-] .avatar-fx-particle{opacity:0;animation:none}.avatar-wrap.avatar-fx-10-glow .avatar-fx-ring{opacity:1;border:2.5px solid var(--avatar-fx-color);animation:avatar-fx-glow-pulse 2.2s ease-in-out infinite}@keyframes avatar-fx-glow-pulse{0%,to{box-shadow:0 0 0 1px var(--avatar-fx-soft),0 0 10px var(--avatar-fx-soft),0 0 18px rgba(var(--avatar-fx-r),var(--avatar-fx-g),var(--avatar-fx-b),.35)}50%{box-shadow:0 0 0 2px var(--avatar-fx-strong),0 0 16px var(--avatar-fx-strong),0 0 28px rgba(var(--avatar-fx-r),var(--avatar-fx-g),var(--avatar-fx-b),.55)}}.avatar-wrap.avatar-fx-10-ring .avatar-fx-ring{opacity:1;border:3px solid var(--avatar-fx-color);box-shadow:0 0 0 1px rgba(var(--avatar-fx-r),var(--avatar-fx-g),var(--avatar-fx-b),.25),0 0 12px var(--avatar-fx-soft)}.avatar-wrap.avatar-fx-10-pulse .avatar-fx-ring{opacity:1;border:2.5px solid var(--avatar-fx-color);box-shadow:0 0 10px var(--avatar-fx-soft)}.avatar-wrap.avatar-fx-10-pulse .avatar{animation:avatar-fx-scale-pulse 2s ease-in-out infinite;transform-origin:center center}@keyframes avatar-fx-scale-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.avatar-wrap.avatar-fx-10-shimmer .avatar-fx-ring{opacity:1;background:conic-gradient(from 0deg,transparent 0deg,var(--avatar-fx-color) 50deg,color-mix(in srgb,var(--avatar-fx-color) 40%,white) 90deg,transparent 140deg,var(--avatar-fx-soft) 200deg,transparent 260deg,var(--avatar-fx-color) 310deg,transparent 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 3px));animation:avatar-fx-spin 3.2s linear infinite}.avatar-wrap.avatar-fx-10-bubbles .avatar-fx-ring{opacity:1;border:2px solid var(--avatar-fx-soft);box-shadow:0 0 10px var(--avatar-fx-soft)}.avatar-wrap.avatar-fx-10-bubbles .avatar-fx-p1,.avatar-wrap.avatar-fx-10-bubbles .avatar-fx-p2,.avatar-wrap.avatar-fx-10-bubbles .avatar-fx-p3{opacity:1;width:6px;height:6px;margin:-3px}.avatar-wrap.avatar-fx-10-bubbles .avatar-fx-p1{animation:avatar-fx-orbit 2.8s linear infinite}.avatar-wrap.avatar-fx-10-bubbles .avatar-fx-p2{width:5px;height:5px;margin:-2.5px;opacity:.85;animation:avatar-fx-orbit 2.8s linear infinite reverse;animation-delay:-.9s}.avatar-wrap.avatar-fx-10-bubbles .avatar-fx-p3{width:4px;height:4px;margin:-2px;opacity:.7;animation:avatar-fx-orbit 3.6s linear infinite;animation-delay:-1.6s}.avatar-wrap.avatar-fx-100-spin .avatar-fx-ring{opacity:1;width:calc(var(--avatar-size) + 10px);height:calc(var(--avatar-size) + 10px);margin:calc((var(--avatar-size) + 10px) / -2);background:conic-gradient(from 0deg,var(--avatar-fx-color),color-mix(in srgb,var(--avatar-fx-color) 35%,white),var(--avatar-fx-color),color-mix(in srgb,var(--avatar-fx-color) 60%,white),var(--avatar-fx-color));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 3px));animation:avatar-fx-spin 2.4s linear infinite;filter:drop-shadow(0 0 6px var(--avatar-fx-soft))}.avatar-wrap.avatar-fx-100-orbit .avatar-fx-ring{opacity:1;border:2.5px solid var(--avatar-fx-color);box-shadow:0 0 0 1px rgba(var(--avatar-fx-r),var(--avatar-fx-g),var(--avatar-fx-b),.3),0 0 14px var(--avatar-fx-soft)}.avatar-wrap.avatar-fx-100-orbit .avatar-fx-p1,.avatar-wrap.avatar-fx-100-orbit .avatar-fx-p2,.avatar-wrap.avatar-fx-100-orbit .avatar-fx-p3,.avatar-wrap.avatar-fx-100-orbit .avatar-fx-p4{opacity:1}.avatar-wrap.avatar-fx-100-orbit .avatar-fx-p1{width:8px;height:8px;margin:-4px;animation:avatar-fx-orbit 2.2s linear infinite}.avatar-wrap.avatar-fx-100-orbit .avatar-fx-p2{width:6px;height:6px;margin:-3px;animation:avatar-fx-orbit 2.2s linear infinite reverse;animation-delay:-.55s}.avatar-wrap.avatar-fx-100-orbit .avatar-fx-p3{width:5px;height:5px;margin:-2.5px;opacity:.8;animation:avatar-fx-orbit-wide 3.4s linear infinite;animation-delay:-1.1s}.avatar-wrap.avatar-fx-100-orbit .avatar-fx-p4{width:4px;height:4px;margin:-2px;opacity:.65;animation:avatar-fx-orbit-wide 3.4s linear infinite reverse;animation-delay:-2s}.avatar-wrap.avatar-fx-100-aurora .avatar-fx-ring{opacity:1;width:calc(var(--avatar-size) + 12px);height:calc(var(--avatar-size) + 12px);margin:calc((var(--avatar-size) + 12px) / -2);background:conic-gradient(from 0deg,var(--avatar-fx-color),rgba(var(--avatar-fx-r),var(--avatar-fx-g),var(--avatar-fx-b),.15),color-mix(in srgb,var(--avatar-fx-color) 70%,white),var(--avatar-fx-color));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 3px));animation:avatar-fx-spin 4s linear infinite;filter:blur(.5px)}.avatar-wrap.avatar-fx-100-aurora .avatar-fx-ring-outer{opacity:.75;width:calc(var(--avatar-size) + 16px);height:calc(var(--avatar-size) + 16px);margin:calc((var(--avatar-size) + 16px) / -2);border:2px solid var(--avatar-fx-soft);animation:avatar-fx-aurora-pulse 2.8s ease-in-out infinite}@keyframes avatar-fx-aurora-pulse{0%,to{box-shadow:0 0 8px var(--avatar-fx-soft);transform:rotate(0)}50%{box-shadow:0 0 20px var(--avatar-fx-strong);transform:rotate(180deg)}}.avatar-wrap.avatar-fx-100-flare .avatar-fx-ring{opacity:1;border:3px solid var(--avatar-fx-color);animation:avatar-fx-flare-pulse 1.6s ease-in-out infinite}.avatar-wrap.avatar-fx-100-flare .avatar-fx-ring-outer{opacity:1;width:calc(var(--avatar-size) + 14px);height:calc(var(--avatar-size) + 14px);margin:calc((var(--avatar-size) + 14px) / -2);border:2px solid transparent;border-top-color:var(--avatar-fx-color);border-right-color:color-mix(in srgb,var(--avatar-fx-color) 50%,transparent);animation:avatar-fx-spin 1.8s linear infinite}@keyframes avatar-fx-flare-pulse{0%,to{box-shadow:0 0 8px var(--avatar-fx-soft),0 0 rgba(var(--avatar-fx-r),var(--avatar-fx-g),var(--avatar-fx-b),.4)}50%{box-shadow:0 0 22px var(--avatar-fx-strong),0 0 0 6px rgba(var(--avatar-fx-r),var(--avatar-fx-g),var(--avatar-fx-b),.15)}}.avatar-wrap.avatar-fx-100-sparkle .avatar-fx-ring{opacity:1;border:2.5px solid var(--avatar-fx-color);box-shadow:0 0 12px var(--avatar-fx-soft)}.avatar-wrap.avatar-fx-100-sparkle .avatar-fx-p1,.avatar-wrap.avatar-fx-100-sparkle .avatar-fx-p2,.avatar-wrap.avatar-fx-100-sparkle .avatar-fx-p3,.avatar-wrap.avatar-fx-100-sparkle .avatar-fx-p4{opacity:1;border-radius:2px;background:linear-gradient(135deg,#fff,var(--avatar-fx-color));box-shadow:0 0 8px var(--avatar-fx-strong)}.avatar-wrap.avatar-fx-100-sparkle .avatar-fx-p1{width:5px;height:5px;margin:-2.5px;animation:avatar-fx-orbit 2s linear infinite}.avatar-wrap.avatar-fx-100-sparkle .avatar-fx-p2{width:4px;height:4px;margin:-2px;animation:avatar-fx-orbit 2s linear infinite reverse;animation-delay:-.5s}.avatar-wrap.avatar-fx-100-sparkle .avatar-fx-p3{width:6px;height:6px;margin:-3px;animation:avatar-fx-orbit-wide 3s linear infinite;animation-delay:-1s}.avatar-wrap.avatar-fx-100-sparkle .avatar-fx-p4{width:3px;height:3px;margin:-1.5px;animation:avatar-fx-orbit-wide 3s linear infinite reverse;animation-delay:-1.8s}@keyframes avatar-fx-spin{to{transform:rotate(360deg)}}@keyframes avatar-fx-orbit{0%{transform:rotate(0) translate(var(--avatar-orbit-r)) rotate(0)}to{transform:rotate(360deg) translate(var(--avatar-orbit-r)) rotate(-360deg)}}@keyframes avatar-fx-orbit-wide{0%{transform:rotate(0) translate(calc(var(--avatar-orbit-r) + 4px)) rotate(0)}to{transform:rotate(360deg) translate(calc(var(--avatar-orbit-r) + 4px)) rotate(-360deg)}}.avatar-wrap.avatar-sm .avatar-fx-particle{width:5px;height:5px;margin:-2.5px}.avatar-wrap.avatar-sm.avatar-fx-100-orbit .avatar-fx-p1{width:6px;height:6px;margin:-3px}@media(prefers-reduced-motion:reduce){.avatar-wrap[class*=avatar-fx-] .avatar-fx-ring,.avatar-wrap[class*=avatar-fx-] .avatar-fx-ring-outer,.avatar-wrap[class*=avatar-fx-] .avatar-fx-particle,.avatar-wrap[class*=avatar-fx-] .avatar{animation:none!important}.avatar-wrap.avatar-fx-10-glow .avatar-fx-ring,.avatar-wrap.avatar-fx-10-ring .avatar-fx-ring,.avatar-wrap.avatar-fx-10-shimmer .avatar-fx-ring,.avatar-wrap.avatar-fx-10-bubbles .avatar-fx-ring,.avatar-wrap.avatar-fx-100-spin .avatar-fx-ring,.avatar-wrap.avatar-fx-100-orbit .avatar-fx-ring,.avatar-wrap.avatar-fx-100-aurora .avatar-fx-ring,.avatar-wrap.avatar-fx-100-flare .avatar-fx-ring,.avatar-wrap.avatar-fx-100-sparkle .avatar-fx-ring{opacity:1;box-shadow:0 0 8px var(--avatar-fx-soft);border:2px solid var(--avatar-fx-color)}.avatar-wrap.avatar-fx-10-bubbles .avatar-fx-p1,.avatar-wrap.avatar-fx-100-orbit .avatar-fx-p1,.avatar-wrap.avatar-fx-100-sparkle .avatar-fx-p1{opacity:.85;transform:translate(var(--avatar-orbit-r))}}
