.landing-page[data-v-9b75730e]{position:relative;display:flex;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:var(--paper);font-family:Microsoft YaHei,PingFang SC,Hiragino Sans GB,sans-serif;-webkit-user-select:none;user-select:none}.landing-glow[data-v-9b75730e]{position:absolute;top:50%;left:50%;width:min(720px,86vw);height:min(720px,86vw);transform:translate(-50%,-50%);background:radial-gradient(circle,color-mix(in srgb,var(--accent-soft) 38%,transparent) 0%,transparent 66%);pointer-events:none}.landing-content[data-v-9b75730e]{position:relative;display:flex;flex-direction:column;align-items:center;animation:landing-fade-in-up-9b75730e 1s ease-out forwards}.landing-brand[data-v-9b75730e]{margin-bottom:64px;text-align:center}.landing-brand h1[data-v-9b75730e]{margin:0 0 16px;color:var(--ink);font-size:4.5rem;font-weight:300;letter-spacing:.5em;line-height:1;text-indent:.5em;text-shadow:0 2px 4px rgba(38,58,50,.05)}.landing-subtitle[data-v-9b75730e]{width:fit-content;margin:0 auto;color:var(--ink-soft);font-size:1.25rem;font-weight:300;letter-spacing:.12em;opacity:.8;text-align:center}.landing-actions[data-v-9b75730e]{display:flex;flex-direction:row;gap:40px}.landing-action[data-v-9b75730e]{position:relative;display:flex;width:192px;height:64px;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:var(--radius-sm);cursor:pointer;font-size:1.125rem;font-weight:400;letter-spacing:.08em;transition:transform .24s ease,box-shadow .24s ease,background-color .24s ease,border-color .24s ease}.landing-action__inner[data-v-9b75730e]{display:inline-flex;align-items:center;gap:10px}.landing-action svg[data-v-9b75730e]{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.landing-action--solid[data-v-9b75730e]{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--accent);color:#f3fbf6;box-shadow:var(--shadow-soft)}.landing-action--plain[data-v-9b75730e]{background:color-mix(in srgb,var(--surface) 78%,transparent);color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-action[data-v-9b75730e]:hover,.landing-action[data-v-9b75730e]:focus-visible{transform:translateY(-2px);outline:none}.landing-action--solid[data-v-9b75730e]:hover,.landing-action--solid[data-v-9b75730e]:focus-visible{background:var(--accent-strong);box-shadow:var(--shadow)}.landing-action--plain[data-v-9b75730e]:hover,.landing-action--plain[data-v-9b75730e]:focus-visible{border-color:var(--accent);color:var(--accent)}.landing-features[data-v-9b75730e]{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:48px;max-width:600px}.landing-feature[data-v-9b75730e]{display:flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid color-mix(in srgb,var(--line) 50%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 60%,transparent);color:var(--ink-soft);cursor:pointer;font-size:.875rem;letter-spacing:.05em;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-feature svg[data-v-9b75730e]{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.landing-feature[data-v-9b75730e]:hover,.landing-feature[data-v-9b75730e]:focus-visible{border-color:var(--line);background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--ink);outline:none}.landing-feature--disabled[data-v-9b75730e]{opacity:.5;cursor:default}.landing-feature--disabled[data-v-9b75730e]:hover{border-color:color-mix(in srgb,var(--line) 50%,transparent);background:color-mix(in srgb,var(--surface) 60%,transparent);color:var(--ink-soft)}.landing-hint[data-v-9b75730e]{position:fixed;top:28px;left:50%;z-index:200;margin:0;padding:10px 20px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:var(--radius-md);background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow);font-size:.875rem;letter-spacing:.04em}.landing-hint-enter-active[data-v-9b75730e],.landing-hint-leave-active[data-v-9b75730e]{transition:opacity .18s ease,transform .18s ease}.landing-hint-enter-from[data-v-9b75730e],.landing-hint-leave-to[data-v-9b75730e]{opacity:0;transform:translate(-50%,-10px)}.landing-hint-enter-to[data-v-9b75730e],.landing-hint-leave-from[data-v-9b75730e]{transform:translate(-50%)}.landing-footer[data-v-9b75730e]{position:absolute;right:0;bottom:28px;left:0;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink-soft);font-size:.75rem;letter-spacing:.08em;opacity:.72}@keyframes landing-fade-in-up-9b75730e{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.landing-brand[data-v-9b75730e]{margin-bottom:44px}.landing-brand h1[data-v-9b75730e]{font-size:3rem;letter-spacing:.28em;text-indent:.28em}.landing-subtitle[data-v-9b75730e]{font-size:1rem}.landing-actions[data-v-9b75730e]{flex-direction:column;gap:16px}.landing-action[data-v-9b75730e]{width:min(280px,calc(100vw - 48px))}.landing-features[data-v-9b75730e]{margin-top:36px;padding:0 16px}}@media(prefers-reduced-motion:reduce){.landing-content[data-v-9b75730e]{animation:none}}:root{color-scheme:light;--paper: #f4faf6;--paper-soft: #e7f5ed;--surface: #ffffff;--surface-muted: #eef7f2;--surface-hover: #e9f4ee;--ink: #263a32;--ink-soft: #486055;--ink-muted: #60766c;--line: #668873;--line-soft: #dfe8e5;--accent: #047857;--accent-bright: #10b981;--accent-strong: #065f46;--accent-soft: #d1fae5;--success: #166534;--warning: #b45309;--danger: #b91c1c;--shadow: 0 12px 30px rgba(38, 58, 50, .12);--shadow-soft: 0 5px 16px rgba(38, 58, 50, .07);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;font-family:Inter,PingFang SC,Microsoft YaHei,Hiragino Sans GB,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;margin:0;background:var(--paper)}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-frame{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 36px;border-bottom:1px solid var(--line-soft);background:var(--surface)}.brand{display:inline-flex;align-items:center;gap:11px}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:var(--radius-sm);color:#f3fbf6;background:var(--accent);font-weight:700}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{margin-top:2px;color:var(--ink-muted);font-size:11px}.topbar-meta{display:inline-flex;align-items:center;gap:8px;color:var(--ink-muted);font-size:12px}.connection-dot{width:8px;height:8px;border-radius:50%;background:#aab8b5}.connection-dot--ready{background:var(--accent-bright)}.connection-dot--error{background:var(--danger)}.connection-dot--loading{background:var(--warning)}.content-frame{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1440px;min-height:calc(100vh - 72px);margin:0 auto}.sidebar{display:flex;flex-direction:column;padding:34px 20px;border-right:1px solid var(--line-soft);background:var(--surface)}.nav-caption{margin:0 12px 12px;color:var(--ink-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nav-link{display:block;margin:3px 0;padding:11px 12px;border-radius:var(--radius-sm);color:var(--ink-soft);font-size:14px}.nav-link:hover{color:var(--accent-strong);background:var(--surface-muted)}.nav-link--active{color:var(--accent-strong);background:var(--accent-soft);font-weight:650}.sidebar-note{margin:auto 8px 0;padding:16px 4px 0;border-top:1px solid var(--line-soft)}.sidebar-note__label{display:block;margin-bottom:7px;color:var(--ink-muted);font-size:11px}.sidebar-note strong{font-size:13px}.sidebar-note p{margin:8px 0 0;color:var(--ink-muted);font-size:12px;line-height:1.6}.main-content{min-width:0;padding:46px clamp(24px,5vw,76px)}.page-view{width:min(100%,960px);margin:0 auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.page-heading--compact{align-items:flex-start}.eyebrow{margin:0 0 9px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.08em}h1,h2,p{margin-top:0}h1{margin-bottom:10px;color:var(--ink);font-size:clamp(28px,4vw,38px);line-height:1.2;letter-spacing:0}h2{margin-bottom:8px;color:var(--ink);font-size:17px;line-height:1.35}.page-summary{max-width:650px;margin-bottom:0;color:var(--ink-muted);font-size:14px;line-height:1.75}.button{min-height:40px;padding:0 16px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:13px;font-weight:650;white-space:nowrap}.button:focus-visible,.nav-link:focus-visible,.brand:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}.button:disabled{cursor:wait;opacity:.65}.button--primary{color:#f3fbf6;background:var(--accent)}.button--primary:hover:not(:disabled){background:var(--accent-strong)}.button--secondary{margin-top:9px;color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--surface)}.button--secondary:hover{background:var(--surface-muted)}.state-panel,.empty-panel{display:flex;align-items:flex-start;gap:17px;padding:26px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface)}.state-panel{min-height:156px}.state-panel p,.empty-panel p{margin-bottom:0;color:var(--ink-muted);font-size:14px;line-height:1.7}.state-panel--error{border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:color-mix(in srgb,var(--danger) 5%,var(--surface))}.state-icon{display:grid;flex:0 0 28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:var(--danger);font-weight:700}.loading-bar{width:4px;height:70px;border-radius:4px;background:linear-gradient(color-mix(in srgb,var(--accent) 45%,var(--surface)) 35%,var(--surface-muted) 35%);animation:loading 1.2s ease-in-out infinite}@keyframes loading{50%{opacity:.4}}.status-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;margin-bottom:24px}.status-card{min-width:0;padding:22px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface)}.status-card--primary{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface))}.status-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.status-card__label{color:var(--ink-muted);font-size:12px}.status-card strong{display:block;overflow-wrap:anywhere;color:var(--ink);font-size:20px}.status-card p{margin:9px 0 0;color:var(--ink-muted);font-size:12px;line-height:1.55}.status-badge{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:13px;font-size:11px;font-weight:650;white-space:nowrap}.status-badge--ready{color:var(--success);background:var(--accent-soft)}.status-badge--pending{color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,var(--surface))}.empty-panel{align-items:center;justify-content:space-between;margin-top:24px}.empty-panel .eyebrow{margin-bottom:8px}.empty-panel h2{margin-bottom:7px}.empty-panel__mark{color:color-mix(in srgb,var(--accent) 40%,var(--surface));font-size:42px;line-height:1}.workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.workspace-card{min-height:180px;padding:22px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface)}.workspace-card__icon{display:grid;width:28px;height:28px;margin-bottom:20px;place-items:center;border-radius:6px;color:var(--accent);background:var(--accent-soft);font-size:24px;line-height:.6}.workspace-card p{min-height:42px;margin-bottom:17px;color:var(--ink-muted);font-size:12px;line-height:1.65}.workspace-card__status{color:var(--warning);font-size:11px}@media(max-width:800px){.content-frame{grid-template-columns:1fr}.sidebar{padding:16px 18px;border-right:0;border-bottom:1px solid var(--line-soft)}.sidebar nav{display:flex;gap:4px;overflow-x:auto}.nav-link{flex:0 0 auto}.sidebar-note{display:none}.main-content{padding:34px 22px 48px}.status-grid,.workspace-grid{grid-template-columns:1fr}}@media(max-width:520px){.topbar{min-height:64px;padding:0 18px}.environment-label{display:none}.main-content{padding-right:16px;padding-left:16px}.page-heading{align-items:flex-start;flex-direction:column;gap:18px}.page-heading .button{width:100%}.state-panel,.empty-panel,.status-card,.workspace-card{padding:20px}}
