.app-header[data-v-a8789a30]{height:var(--header-height);justify-content:flex-end;align-items:flex-start;display:flex}.app-header__links[data-v-a8789a30]{align-items:center;gap:12px;margin:10px 30px 0 0;display:flex}.app-header__item[data-v-a8789a30]{border-radius:var(--radius-8);height:36px;color:var(--color-text);font-size:var(--text-14);line-height:var(--line-20);white-space:nowrap;align-items:center;gap:4px;padding:8px;text-decoration:none;display:inline-flex}.app-header__item img[data-v-a8789a30]{width:16px;height:16px}.app-header__item[data-v-a8789a30]:hover{background:#ffffffb8}.project-sidebar[data-v-a3ad23fc]{z-index:20;border-right:1px solid var(--color-line-soft);background:var(--color-surface);grid-template-rows:54px 62px minmax(0,1fr) 60px;min-width:0;height:100vh;display:grid;position:sticky;top:0;overflow:hidden}.brand-row[data-v-a3ad23fc]{align-items:center;gap:6px;min-width:0;padding:12px 10px 10px;display:flex}.brand-mark[data-v-a3ad23fc]{border-radius:var(--radius-8);background:var(--color-dudu-red);flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid;overflow:hidden}.brand-mark img[data-v-a3ad23fc]{border-radius:var(--radius-8);object-fit:cover;width:28px;height:28px}.brand-name[data-v-a3ad23fc]{color:#1f1f1f;font-family:var(--font-brand);font-size:var(--text-20);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:28px;overflow:hidden}.brand-spark[data-v-a3ad23fc]{object-fit:contain;flex:0 0 16px;width:16px;height:16px}.sidebar-collapse-button[data-v-a3ad23fc]{border-radius:var(--radius-6);cursor:pointer;background:0 0;border:0;flex:0 0 28px;place-items:center;width:28px;height:28px;margin-left:auto;padding:0;display:grid}.sidebar-collapse-button[data-v-a3ad23fc]:hover{background:var(--color-sidebar-selected)}.sidebar-collapse-button img[data-v-a3ad23fc]{width:18px;height:18px;transition:transform .18s}.new-project-button[data-v-a3ad23fc]{border-radius:var(--radius-8);height:40px;color:var(--color-text);background:var(--color-sidebar-selected);cursor:pointer;font-size:var(--text-14);font-weight:500;line-height:var(--line-20);border:0;align-items:center;gap:8px;margin:8px 10px 14px;padding:10px;display:flex}.new-project-button img[data-v-a3ad23fc],.sidebar-empty-links img[data-v-a3ad23fc]{width:16px;height:16px}.new-project-button[data-v-a3ad23fc]:hover,.new-project-button--active[data-v-a3ad23fc]{color:var(--color-text);background:#edf3fc}.sidebar-empty-links[data-v-a3ad23fc]{flex-direction:column;gap:0;padding:0 10px;display:flex}.sidebar-empty-links button[data-v-a3ad23fc]{border-radius:var(--radius-8);height:40px;color:var(--color-text);cursor:pointer;font-size:var(--text-14);line-height:var(--line-20);background:0 0;border:0;align-items:center;gap:8px;padding:10px;display:flex}.sidebar-empty-links button[data-v-a3ad23fc]:hover{background:var(--color-sidebar-selected)}.project-list-section[data-v-a3ad23fc]{flex-direction:column;min-width:0;min-height:0;padding:10px 9px 10px 10px;display:flex}.sidebar-section-title[data-v-a3ad23fc]{color:var(--color-text-muted);font-size:var(--text-14);font-weight:400;line-height:var(--line-20);margin:0 10px 8px}.project-list[data-v-a3ad23fc],.sidebar-skeletons[data-v-a3ad23fc]{scrollbar-width:thin;scrollbar-color:#dfe3e8 transparent;min-width:0;min-height:0;overflow-y:auto}.project-list-item[data-v-a3ad23fc]{border-radius:var(--radius-8);min-width:0;height:40px;padding:10px}.project-list-item+.project-list-item[data-v-a3ad23fc]{margin-top:0}.project-list-item__button[data-v-a3ad23fc]{cursor:pointer;width:154px;min-width:0;height:20px;font-size:var(--text-14);font-weight:500;line-height:var(--line-20);text-align:left;background:0 0;border:0;flex:0 154px;padding:0;display:block}.project-list-item[data-v-a3ad23fc]:not(.project-list-item--active):hover,.project-list-item[data-v-a3ad23fc]:not(.project-list-item--active):focus-within,.project-list-item--menu-open[data-v-a3ad23fc]{background:var(--color-sidebar-selected)}.project-list-item--active[data-v-a3ad23fc]{background:var(--color-sidebar-selected);height:auto}.project-list--has-active[data-v-a3ad23fc]{margin-top:4px}.project-list-item__heading[data-v-a3ad23fc]{justify-content:space-between;align-items:center;width:100%;min-width:0;height:20px;display:flex}.project-actions[data-v-a3ad23fc]{flex:0 0 20px;width:20px;height:20px;position:relative}.project-generation-status[data-v-a3ad23fc]{border-radius:var(--radius-4);width:20px;height:20px;color:var(--color-brand);cursor:pointer;background:0 0;border:0;flex:0 0 20px;place-items:center;padding:2px;display:grid}.project-generation-status[data-v-a3ad23fc]:hover,.project-generation-status[data-v-a3ad23fc]:focus-visible{background:#eef2fa}.project-generation-status svg[data-v-a3ad23fc]{animation:.8s linear infinite project-generation-spin-a3ad23fc}@keyframes project-generation-spin-a3ad23fc{to{transform:rotate(360deg)}}.project-actions__trigger[data-v-a3ad23fc]{border-radius:var(--radius-4);opacity:0;cursor:pointer;pointer-events:none;background:0 0;border:0;place-items:center;width:20px;height:20px;padding:2px;display:grid}.project-list-item:hover .project-actions__trigger[data-v-a3ad23fc],.project-list-item:focus-within .project-actions__trigger[data-v-a3ad23fc],.project-list-item--menu-open .project-actions__trigger[data-v-a3ad23fc]{opacity:1;pointer-events:auto}.project-actions__trigger[data-v-a3ad23fc]:hover,.project-actions__trigger[data-v-a3ad23fc]:focus-visible,.project-list-item--menu-open .project-actions__trigger[data-v-a3ad23fc]{background:#eef2fa}.project-actions__trigger[data-v-a3ad23fc]:disabled{cursor:default}.project-actions__trigger img[data-v-a3ad23fc]{width:16px;height:16px}.project-actions-menu[data-v-a3ad23fc]{z-index:30;border-radius:var(--radius-8);background:var(--color-surface);flex-direction:column;align-items:flex-start;width:120px;height:68px;padding:6px 0;display:flex;position:absolute;top:24px;right:0;box-shadow:0 4px 8px #00000014}.project-actions-menu button[data-v-a3ad23fc]{width:100%;height:28px;color:var(--color-text);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:2px 12px;display:flex}.project-actions-menu button img[data-v-a3ad23fc]{flex:0 0 16px;width:16px;height:16px}.project-actions-menu button span[data-v-a3ad23fc]{font-size:var(--text-13);font-weight:400;line-height:var(--line-18);white-space:nowrap;padding:3px 4px}.project-actions-menu .project-actions-menu__delete[data-v-a3ad23fc]{color:var(--color-dudu-red)}.project-version-links[data-v-a3ad23fc]{color:var(--color-text-secondary);font-size:var(--text-14);line-height:var(--line-20);flex-direction:column;gap:8px;margin-top:12px;display:flex}.project-version-links>span[data-v-a3ad23fc],.project-version-links>button[data-v-a3ad23fc]{border-radius:var(--radius-8);background:var(--color-surface);width:100%;height:36px;color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-14);line-height:var(--line-20);text-align:left;text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;align-items:center;padding:8px;display:flex;overflow:hidden}.project-version-links>button[data-v-a3ad23fc]:hover,.project-version-links>button.active[data-v-a3ad23fc]{border-color:var(--color-brand);color:var(--color-brand)}.project-version-links>button[data-v-a3ad23fc]:disabled{color:var(--color-text-muted);cursor:not-allowed}.project-version-empty[data-v-a3ad23fc]{color:var(--color-text-muted)}.sidebar-feedback[data-v-a3ad23fc]{min-height:144px;color:var(--color-text-muted);text-align:center;place-content:center;justify-items:center;gap:12px;padding:16px 12px;display:grid}.sidebar-feedback p[data-v-a3ad23fc]{max-width:180px;font-size:var(--text-13);line-height:var(--line-20);margin:0}.sidebar-feedback button[data-v-a3ad23fc]{border:1px solid var(--color-line);border-radius:var(--radius-6);min-height:30px;color:var(--color-brand);background:var(--color-surface);cursor:pointer;font-size:var(--text-13);padding:0 12px}.sidebar-skeleton[data-v-a3ad23fc]{border-radius:var(--radius-8);background:linear-gradient(90deg,#f0f2f5 22%,#f8f9fb 38%,#f0f2f5 62%) 0 0/300% 100%;height:40px;margin-bottom:2px;animation:1.4s infinite shimmer;display:block}.sidebar-user[data-v-a3ad23fc]{min-width:0;margin:0 10px;padding:4px 0 8px;position:relative}.sidebar-user__trigger[data-v-a3ad23fc]{border-radius:var(--radius-8);width:100%;min-width:0;height:48px;color:var(--color-text);cursor:pointer;font-size:var(--text-14);line-height:var(--line-20);text-align:left;background:0 0;border:0;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:6px 8px;display:grid}.sidebar-user__trigger[data-v-a3ad23fc]:hover,.sidebar-user__trigger[aria-expanded=true][data-v-a3ad23fc]{background:var(--color-sidebar-selected)}.sidebar-user__avatar[data-v-a3ad23fc]{color:#fff;background:var(--color-brand);width:32px;height:32px;font-size:var(--text-14);border-radius:50%;place-items:center;font-weight:600;display:grid;overflow:hidden}.sidebar-user__identity[data-v-a3ad23fc]{flex-direction:column;min-width:0;display:flex}.sidebar-user__identity strong[data-v-a3ad23fc],.sidebar-user__identity span[data-v-a3ad23fc]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user__identity strong[data-v-a3ad23fc]{font-size:var(--text-14);font-weight:500;line-height:var(--line-20)}.sidebar-user__identity span[data-v-a3ad23fc]{color:var(--color-text-muted);font-size:var(--text-12);line-height:var(--line-18)}.sidebar-user__more[data-v-a3ad23fc]{color:var(--color-text-muted);font-size:var(--text-12);letter-spacing:1px;line-height:18px}.sidebar-user-menu[data-v-a3ad23fc]{z-index:40;border:1px solid var(--color-line);border-radius:var(--radius-8);background:var(--color-surface);flex-direction:column;width:220px;padding:6px;display:flex;position:absolute;bottom:60px;right:0;box-shadow:0 8px 24px #1f23291f}.sidebar-user-menu__summary[data-v-a3ad23fc]{border-bottom:1px solid var(--color-line-soft);flex-direction:column;min-width:0;padding:8px 10px 10px;display:flex}.sidebar-user-menu__summary strong[data-v-a3ad23fc],.sidebar-user-menu__summary span[data-v-a3ad23fc]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user-menu__summary strong[data-v-a3ad23fc]{font-size:var(--text-14);line-height:var(--line-20)}.sidebar-user-menu__summary span[data-v-a3ad23fc]{color:var(--color-text-muted);font-size:var(--text-12);line-height:var(--line-18)}.sidebar-user-menu>button[data-v-a3ad23fc]{border-radius:var(--radius-6);width:100%;height:36px;color:var(--color-danger);cursor:pointer;font-size:var(--text-13);text-align:left;background:0 0;border:0;align-items:center;gap:8px;margin-top:4px;padding:8px 10px;display:flex}.sidebar-user-menu>button[data-v-a3ad23fc]:hover{background:#fff2f3}.project-sidebar-toast[data-v-a3ad23fc]{z-index:40;border-radius:var(--radius-8);color:#fff;background:var(--color-success);min-width:128px;font-size:var(--text-13);line-height:var(--line-18);text-align:center;pointer-events:none;padding:8px 14px;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #1ccc8c3d}.project-sidebar--collapsed .brand-row[data-v-a3ad23fc]{justify-content:center;padding-left:0;padding-right:0}.project-sidebar--collapsed[data-v-a3ad23fc]{overflow:visible}.project-sidebar--collapsed .brand-mark[data-v-a3ad23fc],.project-sidebar--collapsed .brand-name[data-v-a3ad23fc],.project-sidebar--collapsed .brand-spark[data-v-a3ad23fc],.project-sidebar--collapsed .new-project-button span[data-v-a3ad23fc],.project-sidebar--collapsed .sidebar-empty-links span[data-v-a3ad23fc],.project-sidebar--collapsed .sidebar-user__identity[data-v-a3ad23fc],.project-sidebar--collapsed .sidebar-user__more[data-v-a3ad23fc]{display:none}.project-sidebar--collapsed .sidebar-collapse-button[data-v-a3ad23fc]{margin-left:0}.project-sidebar--collapsed .sidebar-collapse-button img[data-v-a3ad23fc]{transform:rotate(180deg)}.project-sidebar--collapsed .new-project-button[data-v-a3ad23fc]{justify-content:center;width:40px;margin-left:auto;margin-right:auto;padding:12px}.project-sidebar--collapsed .sidebar-empty-links[data-v-a3ad23fc]{padding:0 12px}.project-sidebar--collapsed .sidebar-empty-links button[data-v-a3ad23fc]{justify-content:center;width:40px;padding:12px}.project-sidebar--collapsed .project-list-section[data-v-a3ad23fc]{visibility:hidden}.project-sidebar--collapsed .sidebar-user[data-v-a3ad23fc]{width:40px;margin-left:auto;margin-right:auto;padding:4px 0 8px}.project-sidebar--collapsed .sidebar-user__trigger[data-v-a3ad23fc]{grid-template-columns:32px;gap:0;width:40px;height:40px;padding:4px}.project-sidebar--collapsed .sidebar-user-menu[data-v-a3ad23fc]{bottom:54px;left:0;right:auto}.app-shell[data-v-474e44c4]{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--color-surface);min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-shell--sidebar-collapsed[data-v-474e44c4]{grid-template-columns:var(--sidebar-collapsed-width) minmax(0, 1fr)}.app-shell--sidebar-hidden[data-v-474e44c4]{grid-template-columns:0 minmax(0,1fr)}.app-main[data-v-474e44c4]{background:linear-gradient(180deg, var(--color-page-top) 0, #f8faff 26%, #fff 72%);grid-column:2;min-width:0}.app-notice[data-v-474e44c4]{z-index:100;border:1px solid var(--color-line);border-radius:var(--radius-8);width:min(420px,100vw - 32px);color:var(--color-text);background:var(--color-surface);font-size:var(--text-14);line-height:var(--line-20);padding:12px 16px;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #1f232924}:root{--font-ui:"PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-brand:"Douyin Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--color-brand:#155dfc;--color-brand-hover:#0f4fdc;--color-brand-disabled:#155dfc4d;--color-brand-soft:#e9f1fe;--color-icon-blue:#315bf4;--color-dudu-red:#d32d3e;--color-success:#1ccc8c;--color-warning:#f79844;--color-danger:#d32d3e;--color-text:#333;--color-text-secondary:#666;--color-text-muted:#999;--color-text-disabled:#b8b8b8;--color-line:#e8e8e8;--color-line-soft:#f2f3f7;--color-surface:#fff;--color-surface-soft:#f6f7fa;--color-sidebar-selected:#f5f8fd;--color-page-top:#f1f5fb;--text-12:12px;--text-13:13px;--text-14:14px;--text-16:16px;--text-18:18px;--text-20:20px;--text-36:36px;--line-18:18px;--line-20:20px;--line-22:22px;--line-26:26px;--line-50:50px;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--radius-4:4px;--radius-6:6px;--radius-8:8px;--radius-12:12px;--radius-16:16px;--radius-20:20px;--radius-pill:999px;--sidebar-width:250px;--sidebar-collapsed-width:64px;--content-width:1030px;--create-width:932px;--header-height:56px;color:var(--color-text);background:var(--color-surface);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#app{min-width:1180px;min-height:100%;margin:0}body{min-height:100vh;overflow-x:auto}button,input,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #155dfc6b}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.page-surface{min-height:calc(100vh - var(--header-height))}@keyframes analysis-pulse{0%{opacity:.45;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}@keyframes caret-blink{50%{opacity:0}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
