:root{--bg-canvas:#0f172a;--bg-surface-1:#1e293b;--bg-surface-2:#243447;--bg-surface-3:#0b1120;--bg-overlay:#0f172a99;--bg-glass:#0f172a8c;--bg-card-glass:#1e293bbf;--bg-card-glass-soft:#1e293b99;--bg-card-hover-glass:#243447d9;--hairline:#334155;--hairline-strong:#475569;--hairline-soft:#33415566;--hairline-soft-strong:#33415599;--ink:#e2e8f0;--ink-strong:#f1f5f9;--ink-secondary:#cbd5e1;--ink-muted:#94a3b8;--ink-faint:#64748b;--brand:#00a8ff;--brand-fixed:#00a8ff;--brand-hover:#0086cc;--brand-light:#66c7ff;--brand-soft:#00a8ff24;--brand-border:#00a8ff66;--hover-wash:#ffffff14;--hover-wash-strong:#ffffff24;--port-border:#ffffffd9;--hero-glow:#ffffff09;--accent:#0ea5e9;--accent-soft:#0ea5e926;--accent-strong:#7dd3fc;--edge-glow:#00a8ff8c;--success:#4ade80;--warning:#fbbf24;--warning-active:#f59e0b;--warning-bg:#7c2d12;--warning-bg-soft:#451a03;--warning-text-soft:#fde68a;--danger:#ef4444;--danger-text:#fca5a5;--danger-bg:#7f1d1d;--danger-bg-soft:#450a0a;--ai-thinking:#fbbf24;--ai-generate:#4ade80;--ai-debug:#7c3aed;--ai-diagnose:#94a3b8;--fs-caption:12px;--fs-body-sm:13px;--fs-body:14px;--fs-body-lg:16px;--fs-title:18px;--fs-headline:22px;--fs-display:30px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:20px;--r-pill:9999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 20px 60px #00000080;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}button,.icon-btn,.btn-primary,.btn-ghost,.composer-send,.composer-icon-btn,.composer-mode-trigger,.vt-act,.vt-act-primary,.qmt-btn-primary,.qmt-btn-ghost,.qmt-btn-danger{touch-action:manipulation}.vh-100{height:100dvh}.minh-100{min-height:100dvh}[data-theme=linear]{--bg-canvas:#08090a;--bg-surface-1:#131517;--bg-surface-2:#1c1f23;--bg-surface-3:#050607;--bg-overlay:#08090ab3;--bg-glass:#08090ab3;--bg-card-glass:#131517d9;--bg-card-glass-soft:#131517b3;--bg-card-hover-glass:#1c1f23e6;--hairline:#23252a;--hairline-strong:#34343a;--hairline-soft:#23252a80;--hairline-soft-strong:#23252ab3;--ink:#f7f8f8;--ink-strong:#fff;--ink-secondary:#d0d6e0;--ink-muted:#8a8f98;--ink-faint:#62666d;--brand:#5e6ad2;--brand-hover:#828fff;--brand-light:#aab0ff;--brand-soft:#5e6ad226;--brand-border:#5e6ad266;--edge-glow:#5e6ad28c}[data-theme=supabase]{--bg-canvas:#1c1c1c;--bg-surface-1:#2e2e2e;--bg-surface-2:#3a3a3a;--bg-surface-3:#121212;--bg-overlay:#000000a6;--bg-glass:#1c1c1cb3;--bg-card-glass:#2e2e2ed9;--bg-card-glass-soft:#2e2e2eb3;--bg-card-hover-glass:#3a3a3ae6;--hairline:#2f2f2f;--hairline-strong:#404040;--hairline-soft:#2f2f2f80;--hairline-soft-strong:#2f2f2fb3;--ink:#ededed;--ink-strong:#fff;--ink-secondary:#d4d4d4;--ink-muted:#a0a0a0;--ink-faint:#707070;--brand:#3ecf8e;--brand-hover:#65d9a5;--brand-light:#a7f3d0;--brand-soft:#3ecf8e26;--brand-border:#3ecf8e66;--edge-glow:#3ecf8e8c}[data-theme=stripe]{--bg-canvas:#0a0e27;--bg-surface-1:#141829;--bg-surface-2:#1e2238;--bg-surface-3:#060818;--bg-overlay:#0a0e27b3;--bg-glass:#0a0e27b3;--bg-card-glass:#141829d9;--bg-card-glass-soft:#141829b3;--bg-card-hover-glass:#1e2238e6;--hairline:#262a40;--hairline-strong:#353a55;--hairline-soft:#262a4080;--hairline-soft-strong:#262a40b3;--ink:#e6e9f0;--ink-strong:#fff;--ink-secondary:#c5c9d6;--ink-muted:#8b8fa3;--ink-faint:#5d6378;--brand:#635bff;--brand-hover:#7a70ff;--brand-light:#b3acff;--brand-soft:#635bff26;--brand-border:#635bff66;--edge-glow:#635bff8c}[data-theme=paperwhite]{--bg-canvas:#f7f7f8;--bg-surface-1:#fff;--bg-surface-2:#ececec;--bg-surface-3:#f0f0f0;--bg-overlay:#0006;--bg-glass:#ffffffbf;--bg-card-glass:#ffffffd9;--bg-card-glass-soft:#ffffffb3;--bg-card-hover-glass:#f5f5f6e6;--hairline:#e5e5e5;--hairline-strong:#d4d4d4;--hairline-soft:#00000014;--hairline-soft-strong:#0000001f;--ink:#2d2d2d;--ink-strong:#0d0d0d;--ink-secondary:#5d5d5d;--ink-muted:#8e8e8e;--ink-faint:#a5a5a5;--brand:#2f2f2f;--brand-hover:#1f1f1f;--brand-light:#4a4a4a;--brand-soft:#0000000d;--brand-border:#00000026;--hover-wash:#0000000a;--hover-wash-strong:#00000014;--port-border:#0006;--hero-glow:#00000005;--accent:#6b7280;--accent-soft:#6b72801f;--accent-strong:#4b5563;--edge-glow:#00000038}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--hairline-strong) transparent;margin:0;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:var(--r-xs)}::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}html,body,#root{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif}.edge-glow-band{stroke:var(--brand-light);stroke-width:2.5px;stroke-linecap:round;opacity:.5;filter:drop-shadow(0 0 5px var(--edge-glow))}.edge-glow-band.danger{stroke:var(--danger-text);opacity:.6;filter:drop-shadow(0 0 5px #ef444480)}.edge-orb-halo{fill:var(--brand-light);filter:drop-shadow(0 0 6px var(--edge-glow)) drop-shadow(0 0 16px var(--edge-glow))}.edge-orb.danger .edge-orb-halo{fill:var(--danger-text);filter:drop-shadow(0 0 6px #ef44448c)drop-shadow(0 0 14px #ef444459)}@media (prefers-reduced-motion:reduce){.edge-glow-band{filter:none;opacity:.4}.edge-orb{display:none}.app-logo{animation:none}}.progress-overlay{z-index:1000;background:var(--bg-glass);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.progress-track{background:var(--bg-surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);width:82%;max-width:820px;height:22px;position:relative;overflow:hidden;box-shadow:inset 0 0 24px #00a8ff40}.progress-fill{background:linear-gradient(90deg, transparent, var(--brand), #8b5cf6, #ec4899, transparent);border-radius:var(--r-lg);width:42%;animation:1.5s ease-in-out infinite progress-slide;position:absolute;top:0;bottom:0;left:-42%}@keyframes progress-slide{0%{left:-42%}to{left:100%}}.node-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);color:var(--ink);border-right:1px solid var(--hairline-soft);flex-shrink:0;height:100%}.node-panel-title{font-size:var(--fs-body-sm);opacity:.9;margin-bottom:10px;font-weight:600}.domain-label{font-size:var(--fs-caption);color:var(--ink-muted);margin-bottom:var(--sp-1);text-transform:uppercase;letter-spacing:.5px}.node-item{align-items:center;gap:var(--sp-2);padding:6px var(--sp-2);background:var(--bg-card-glass);border:1px solid var(--hairline);border-radius:var(--r-xs);cursor:grab;font-size:var(--fs-caption);margin:3px 0;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s,opacity .18s;display:flex}.node-item:hover{border-color:var(--hairline-strong);background:var(--bg-card-hover-glass);transform:translate(4px);box-shadow:0 4px 14px #00000059}.node-icon{border-radius:var(--r-pill);width:26px;height:26px;font-size:var(--fs-body-sm);flex-shrink:0;justify-content:center;align-items:center;transition:transform .18s,background .18s;display:inline-flex}.node-item:hover .node-icon{transform:scale(1.15)rotate(-4deg)}.node-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.must-star{color:var(--danger)}.node-tooltip{z-index:2000;pointer-events:none;background:var(--bg-surface-1);border:1px solid var(--hairline-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-md);white-space:nowrap;padding:6px 10px;animation:.15s tooltip-fade;position:fixed;transform:translateY(-50%)}.node-tooltip .tt-name{font-size:var(--fs-body-sm);color:var(--ink);font-weight:600}.node-tooltip .tt-desc{font-size:var(--fs-caption);color:var(--ink-muted);white-space:normal;max-width:200px;margin-top:2px}@keyframes tooltip-fade{0%{opacity:0}to{opacity:1}}.launch-root{background:radial-gradient(circle at 10% 8%, color-mix(in srgb, var(--brand) 18%, transparent), transparent 31%), radial-gradient(circle at 84% 18%, color-mix(in srgb, var(--brand-light) 11%, transparent), transparent 28%), radial-gradient(1000px 500px at 50% -10%, var(--hero-glow), transparent 60%), var(--bg-canvas);width:100vw;height:100dvh;color:var(--ink);overflow:hidden}.launch-root:before{z-index:0;content:"";pointer-events:none;opacity:.16;background-image:linear-gradient(var(--hairline-soft) 1px, transparent 1px), linear-gradient(90deg, var(--hairline-soft) 1px, transparent 1px);background-size:46px 46px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 20%,#0000 78%);mask-image:radial-gradient(#000 20%,#0000 78%)}.launch-shell{z-index:1;border:1px solid color-mix(in srgb, var(--ink-strong) 13%, transparent);background:linear-gradient(155deg, color-mix(in srgb, var(--bg-surface-1) 74%, transparent), color-mix(in srgb, var(--bg-surface-3) 66%, transparent));-webkit-backdrop-filter:blur(32px)saturate(118%);backdrop-filter:blur(32px)saturate(118%);border-radius:30px;flex-direction:column;min-width:0;min-height:0;display:flex;position:fixed;inset:24px 24px 40px;overflow:hidden;box-shadow:0 28px 90px #00000047,inset 0 1px #ffffff09}.launch-shell:before,.launch-shell:after{z-index:0;content:"";border-radius:inherit;pointer-events:none;position:absolute}.launch-shell:before{background:radial-gradient(circle, var(--brand-soft), transparent 70%);width:620px;height:480px;top:-160px;left:-100px}.launch-shell:after{background:radial-gradient(circle at 40% 40%, color-mix(in srgb, var(--brand-light) 8%, transparent), transparent 65%), radial-gradient(circle at 75% 55%, #ef44440e, transparent 66%);width:680px;height:620px;bottom:-220px;right:-180px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.launch-shell{background:var(--bg-surface-1)}}.launch-topbar{z-index:2;border-bottom:1px solid color-mix(in srgb, var(--ink-strong) 9%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--bg-surface-1) 28%, transparent), transparent 55%);flex:0 0 64px;justify-content:space-between;align-items:center;gap:24px;height:64px;padding:0 28px;display:flex;position:relative}.launch-bg-brand{z-index:0;pointer-events:none;letter-spacing:.5px;white-space:nowrap;color:var(--brand-fixed);opacity:.9;filter:drop-shadow(0 0 40px var(--edge-glow)) drop-shadow(0 0 140px var(--brand-soft));font-family:Consolas,SF Mono,monospace;font-size:clamp(220px,28vw,460px);font-weight:700;line-height:1;position:fixed;top:38%;left:50%;transform:translate(-50%,-50%)}.launch-topbar-side{align-items:center;gap:10px;min-width:0;display:flex}.launch-path{margin-top:14px}.launch-scroll{z-index:1;flex:1;min-height:0;position:relative;overflow-y:auto}.launch-inner{flex-direction:column;align-items:stretch;width:100%;max-width:none;margin:0;padding:36px clamp(28px,6vw,84px) 80px;display:flex}.launch-hero{text-align:left;align-self:stretch;margin-bottom:32px}.launch-logo{justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.launch-logo img{border-radius:10px}.launch-title{letter-spacing:-1.2px;color:var(--ink-strong);margin:0;font-size:clamp(32px,3.8vw,46px);font-weight:680;line-height:1.18}.launch-title-brand{color:var(--brand)}.launch-subtitle{letter-spacing:-.2px;color:var(--ink-strong);margin:4px 0 0 1.4em;font-size:clamp(17px,1.6vw,21px);font-weight:600}.launch-slogan{max-width:640px;font-family:Georgia,Songti SC,STSong,serif;font-size:var(--fs-body-sm);color:var(--ink-muted);margin:16px 0 0;line-height:1.8}.launch-hero-rule{background:linear-gradient(90deg, var(--brand-border), var(--hairline-soft) 32%, transparent);width:100%;max-width:640px;height:1px;margin-top:20px}.launch-path{font-size:var(--fs-body-lg);letter-spacing:2px;background:linear-gradient(100deg, var(--ink-muted) 0%, var(--ink-muted) 38%, var(--brand-light) 46%, var(--brand) 50%, var(--brand-light) 54%, var(--ink-muted) 62%, var(--ink-muted) 100%);-webkit-text-fill-color:transparent;color:#0000;filter:drop-shadow(0 0 14px var(--edge-glow));background-repeat:no-repeat;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;margin-top:12px;font-weight:400;animation:3.2s linear infinite launch-path-flow}.lp-sep{background:var(--ink-faint);vertical-align:middle;width:28px;height:1px;margin:0 8px;display:inline-block}@keyframes launch-path-flow{0%{background-position:100% 0}75%{background-position:0 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.launch-path{animation:none}}[data-theme=paperwhite] .launch-path{-webkit-text-fill-color:var(--ink);color:var(--ink);filter:none;background:0 0;animation:none}[data-theme=paperwhite] .lp-word{animation:3.6s ease-in-out infinite lp-pulse;display:inline-block}[data-theme=paperwhite] .lp-word:nth-child(3){animation-delay:1.2s}[data-theme=paperwhite] .lp-word:nth-child(5){animation-delay:2.4s}@keyframes lp-pulse{0%,27%,to{transform:scale(1)}8%,19%{transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){[data-theme=paperwhite] .lp-word{animation:none}}.launch-features{border-top:1px solid var(--hairline-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;width:100%;margin-bottom:36px;padding-top:18px;display:grid}.feature-item{min-width:0}.feature-head{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.feature-num{color:var(--brand);font-family:Consolas,SF Mono,monospace;font-size:var(--fs-caption);letter-spacing:1px;font-weight:400}.feature-title{font-size:var(--fs-body-lg);color:var(--ink);letter-spacing:-.2px;font-weight:400}.feature-desc{font-size:var(--fs-caption);color:var(--ink-muted);line-height:1.7}@media (width<=720px){.launch-features{grid-template-columns:1fr;gap:14px 0}}.launch-actions{flex-wrap:wrap;justify-content:flex-start;align-self:stretch;gap:14px;display:flex}.launch-new-btn{align-items:center;gap:var(--sp-2);font-size:var(--fs-body);color:var(--ink);border:1px solid var(--hairline-soft-strong);cursor:pointer;background:color-mix(in srgb, var(--bg-surface-1) 45%, transparent);-webkit-backdrop-filter:blur(12px)saturate(118%);backdrop-filter:blur(12px)saturate(118%);border-radius:10px;padding:14px 36px;font-weight:400;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s,color .18s;display:inline-flex}.launch-new-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 8px 24px var(--brand-soft);transform:translateY(-2px)}.launch-new-btn:active{background:var(--brand-hover);transform:translateY(0)}.launch-pool{width:100%;margin-top:8px}.pool-header{font-size:var(--fs-body);border-bottom:1px solid var(--hairline-soft-strong);justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:10px;font-weight:400;display:flex}.pool-count{font-size:var(--fs-caption);color:var(--ink-faint);font-weight:400}.pool-empty{text-align:center;color:var(--ink-faint);font-size:var(--fs-body-sm);padding:36px 0}.pool-list{flex-direction:column;display:flex}.strategy-row-item{border-bottom:1px solid var(--hairline-soft);border-radius:var(--r-xs);cursor:pointer;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:18px;padding:11px 12px;transition:background-color .15s;display:grid}.strategy-row-item:hover{background:var(--hover-wash)}.strategy-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-body);color:var(--ink-strong);font-weight:400;transition:color .15s;overflow:hidden}.strategy-row-item:hover .strategy-row-name{color:var(--brand-light)}.strategy-row-meta,.strategy-row-time{font-size:var(--fs-caption);color:var(--ink-faint);white-space:nowrap;font-family:Consolas,SF Mono,monospace}.strategy-row-actions{align-items:center;gap:6px;display:flex}.strategy-row-item .card-rename-input{margin:0}.card-btn{padding:3px var(--sp-2);font-size:var(--fs-caption);color:var(--ink-muted);border:1px solid var(--hairline);border-radius:var(--r-xs);cursor:pointer;background:0 0;transition:background .15s,color .15s}.card-btn:hover{background:var(--hairline);color:var(--ink)}.card-btn.danger{color:var(--danger-text);border-color:var(--danger-bg)}.card-btn.danger:hover{background:var(--danger-bg);color:#fecaca}.card-rename-input{background:var(--bg-canvas);border:1px solid var(--brand);width:100%;color:var(--ink);border-radius:var(--r-xs);font-size:var(--fs-body);outline:none;padding:4px 6px;font-weight:600}.modal-mask{z-index:2000;background:var(--bg-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:center;animation:.15s tooltip-fade;display:flex;position:fixed;inset:0}.modal-card{width:460px;max-width:calc(100vw - 32px);padding:var(--sp-5);border-radius:var(--r-lg);background:var(--bg-surface-1);border:1px solid var(--hairline);box-shadow:var(--shadow-lg);color:var(--ink)}.modal-title{font-size:var(--fs-title);margin-bottom:18px;font-weight:700}.modal-label{font-size:var(--fs-caption);color:var(--ink-muted);margin:14px 0 6px;display:block}.modal-input{background:var(--bg-canvas);border:1px solid var(--hairline);width:100%;color:var(--ink);border-radius:var(--r-sm);font-size:var(--fs-body);outline:none;padding:9px 12px;transition:border-color .15s}.modal-input:focus{border-color:var(--brand)}.mode-options{gap:var(--sp-3);display:flex}.mode-card{padding:var(--sp-4) var(--sp-3);background:var(--bg-canvas);border:1px solid var(--hairline);cursor:pointer;text-align:center;border-radius:10px;flex:1;transition:border-color .15s,background .15s}.mode-card:hover{border-color:var(--hairline-strong)}.mode-card.active{border-color:var(--brand);background:var(--brand-soft)}.mode-num{border-radius:var(--r-pill);border:1px solid var(--ink-faint);width:30px;height:30px;color:var(--ink-muted);font-size:var(--fs-caption);justify-content:center;align-items:center;margin:0 auto 6px;font-family:Consolas,SF Mono,monospace;font-weight:700;display:inline-flex}.mode-card.active .mode-num{border-color:var(--brand);color:var(--brand)}.mode-name{font-size:var(--fs-body-sm);margin-bottom:4px;font-weight:600}.mode-desc{font-size:var(--fs-caption);color:var(--ink-muted);line-height:1.4}.modal-err{margin-top:var(--sp-3);font-size:var(--fs-caption);color:var(--danger-text);background:var(--danger-bg-soft);padding:var(--sp-2) 10px;border-radius:var(--r-sm)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.btn-ghost{font-size:var(--fs-body-sm);color:var(--ink-muted);border:1px solid var(--hairline);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:9px 18px}.btn-ghost:hover{background:var(--hairline);color:var(--ink)}.btn-primary{font-size:var(--fs-body-sm);color:#fff;border-radius:var(--r-sm);cursor:pointer;background:var(--brand);border:none;padding:9px 20px;font-weight:600;transition:background .15s}.btn-primary:hover{background:var(--brand-hover)}.btn-primary:disabled{opacity:.6;cursor:default}.icon-btn{border-radius:var(--r-sm);cursor:pointer;width:32px;height:32px;color:var(--ink-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--hover-wash);color:var(--ink)}.icon-btn:active:not(:disabled){background:var(--hover-wash-strong)}.icon-btn:disabled{color:var(--hairline-strong);cursor:default}.node-item.highlight{border-color:var(--brand);background:var(--brand-soft);z-index:1;transform:scale(1.06);box-shadow:0 0 0 2px #00a8ff59,0 4px 14px #00000059}.node-item.highlight:hover{border-color:var(--brand-light);background:var(--brand-soft);transform:scale(1.08)}.node-item.dimmed{opacity:.35}.node-item.dimmed:hover{opacity:.35;box-shadow:none;border-color:var(--hairline);background:var(--bg-card-glass);transform:none}.doc-chips{gap:var(--sp-1);flex-wrap:wrap;margin-bottom:6px;display:flex}.doc-chip{align-items:center;gap:var(--sp-1);max-width:100%;padding:3px 4px 3px var(--sp-2);background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:var(--r-xs);font-size:var(--fs-caption);color:var(--brand-light);display:inline-flex}.doc-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.doc-chip-x{width:16px;height:16px;color:var(--brand-light);cursor:pointer;font-size:var(--fs-body);background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.doc-chip-x:hover{background:var(--brand);color:#fff}.react-flow__controls{box-shadow:none!important;border:none!important}.react-flow__controls-button{color:var(--brand)!important;background:0 0!important;border-bottom:1px solid #00a8ff26!important}.react-flow__controls-button:hover{background:var(--brand-soft)!important}.react-flow__controls-button svg{fill:var(--brand)!important}.react-flow__controls-button svg line,.react-flow__controls-button svg path{stroke:var(--brand)!important}.react-flow__attribution{display:none!important}.app-logo{filter:brightness(1.25)drop-shadow(0 0 5px #00a8ffd6)drop-shadow(0 0 12px #00a8ff5c);animation:3s ease-in-out infinite logo-blink}@keyframes logo-blink{0%,to{filter:brightness(1.25)drop-shadow(0 0 5px #00a8ffd6)drop-shadow(0 0 12px #00a8ff5c)}30%{filter:brightness(1.75)drop-shadow(0 0 9px #00a8ff)drop-shadow(0 0 22px #00a8ff99)}65%{filter:brightness(.05);opacity:.15}}.vt-badge{color:#fff;border-radius:var(--r-xs);padding:1px 5px;font-size:10px;font-weight:600;line-height:1.4;display:inline-block}.vt-act{color:var(--ink-secondary);background:var(--bg-surface-1);border:1px solid var(--hairline);border-radius:var(--r-xs);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:3px;padding:2px 8px;font-size:11px;transition:border-color .15s,color .15s;display:inline-flex}.vt-act:hover:not(:disabled){border-color:var(--hairline-strong);color:var(--ink)}.vt-act:disabled{cursor:not-allowed}.vt-act-primary{background:var(--ai-debug);border-color:var(--ai-debug);color:#fff}.vt-act-primary:hover:not(:disabled){color:#fff;opacity:.9}.vt-cur-float{z-index:6;white-space:nowrap;background:var(--bg-surface-1);border:1px solid var(--brand-border);border-radius:var(--r-pill);box-shadow:var(--shadow-md);align-items:center;gap:4px;padding:3px 6px;display:inline-flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.vt-cur-btn,.vt-cur-yes,.vt-cur-no{border-radius:var(--r-pill);font-family:inherit;font-size:var(--fs-caption);cursor:pointer;border:none;padding:5px 10px;line-height:1}.vt-cur-btn,.vt-cur-yes{background:var(--brand);color:#fff}.vt-cur-btn:hover:not(:disabled),.vt-cur-yes:hover:not(:disabled){background:var(--brand-hover)}.vt-cur-yes:disabled{opacity:.6;cursor:wait}.vt-cur-q{font-size:var(--fs-caption);color:var(--ink);padding:0 2px}.vt-cur-no{color:var(--ink-muted);background:0 0;padding:5px 6px}.vt-cur-no:hover:not(:disabled){color:var(--ink)}.qmt-modal-backdrop{z-index:2000;background:var(--bg-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:center;animation:.15s tooltip-fade;display:flex;position:fixed;inset:0}.qmt-modal-card{padding:var(--sp-5);border-radius:var(--r-lg);background:var(--bg-surface-1);border:1px solid var(--hairline);box-shadow:var(--shadow-lg);color:var(--ink)}.qmt-input{background:var(--bg-canvas);border:1px solid var(--hairline);width:100%;color:var(--ink);border-radius:var(--r-sm);font-size:var(--fs-body);outline:none;padding:9px 12px;transition:border-color .15s}.qmt-input:focus{border-color:var(--brand)}.qmt-input::placeholder{color:var(--ink-muted)}.qmt-btn-primary{font-size:var(--fs-body-sm);color:#fff;border-radius:var(--r-sm);cursor:pointer;background:var(--brand);border:none;padding:9px 20px;font-weight:600;transition:background .15s,opacity .15s}.qmt-btn-primary:hover{background:var(--brand-hover)}.qmt-btn-primary:disabled{opacity:.6;cursor:default}.qmt-btn-ghost{font-size:var(--fs-body-sm);color:var(--ink-muted);border:1px solid var(--hairline);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:9px 18px;transition:background .15s,color .15s}.qmt-btn-ghost:hover{background:var(--hairline);color:var(--ink)}.qmt-btn-danger{font-size:var(--fs-body-sm);color:#fff;border-radius:var(--r-sm);cursor:pointer;background:var(--danger);border:none;padding:9px 20px;font-weight:600;transition:background .15s,opacity .15s}.qmt-btn-danger:hover{background:#dc2626}.qmt-btn-danger:disabled{opacity:.6;cursor:default}.qmt-hoverable{cursor:pointer;transition:background .15s,border-color .15s}.qmt-hoverable:hover{background:var(--bg-surface-2);border-color:var(--hairline-strong)}.brand-wordmark{font-family:Consolas,SF Mono,monospace;font-weight:700;font-size:var(--fs-body-lg);letter-spacing:.5px;color:var(--brand-fixed);white-space:nowrap;line-height:1}.brand-wordmark--lg{font-size:39px}.brand-wordmark--sm{font-size:29px}.mention-wrap{bottom:100%;left:var(--sp-2);right:var(--sp-2);margin-bottom:var(--sp-1);background:var(--bg-surface-1);border:1px solid var(--brand);border-radius:var(--r-xs);z-index:10;max-height:200px;position:absolute;overflow-y:auto;box-shadow:0 -4px 12px #0006}.mention-header{padding:var(--sp-1) 10px;font-size:var(--fs-caption);color:var(--ink-faint);border-bottom:1px solid var(--bg-canvas)}.mention-empty{padding:var(--sp-2) 10px;font-size:var(--fs-caption);color:var(--ink-faint)}.mention-item{font-size:var(--fs-caption);cursor:pointer;color:var(--ink);justify-content:space-between;gap:var(--sp-2);background:0 0;padding:4px 10px;display:flex}.mention-item.active{background:var(--brand-soft);color:var(--brand-light)}.mention-item:hover{background:var(--hairline);color:var(--ink)}.mention-item-id{opacity:.4;font-size:var(--fs-caption)}.composer-wrap-center{z-index:7;padding:var(--sp-5);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.composer-wrap-center.hero-hidden{justify-content:center}.composer-wrap-dock{z-index:7;padding:0 var(--sp-4);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:34px;left:0;right:0}.composer-slot{pointer-events:auto;flex-shrink:0;width:72%;max-width:560px}.composer-wrap-center .composer-slot{margin:auto 0}.composer-inpanel{border-top:1px solid var(--hairline);flex-shrink:0;padding:8px 10px}.quick-add-backdrop{z-index:1499;position:fixed;inset:0}.quick-add-menu{z-index:1500;background:var(--bg-surface-1);border:1px solid var(--hairline-strong);border-radius:var(--r-md);width:260px;box-shadow:var(--shadow-lg);animation:.12s tooltip-fade;position:fixed;overflow:hidden}.quick-add-title{color:var(--ink-strong);border-bottom:1px solid var(--hairline);padding:8px 12px 6px;font-size:11px;font-weight:700}.quick-add-type{color:var(--ink-muted);font-weight:400}.quick-add-list{max-height:264px;padding:4px;overflow-y:auto}.quick-add-item{border-radius:var(--r-xs);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 8px;font-family:inherit;font-size:12px;transition:background .12s;display:flex}.quick-add-item:hover{background:var(--brand-soft)}.quick-add-dot{border-radius:var(--r-pill);flex-shrink:0;width:8px;height:8px}.quick-add-name{white-space:nowrap;font-weight:600}.quick-add-star{color:var(--warning);font-weight:700}.quick-add-port{color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;max-width:96px;margin-left:auto;font-size:11px;overflow:hidden}.quick-add-hint{color:var(--ink-faint);border-top:1px solid var(--hairline);-webkit-user-select:none;user-select:none;padding:5px 12px;font-size:10px}.composer-card{padding:var(--sp-2) var(--sp-3);background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);border:1px solid var(--hairline);border-radius:var(--r-xl);box-shadow:var(--shadow-md);transition:border-color .15s,box-shadow .15s;position:relative}.composer-card:focus-within{border-color:var(--brand-border);box-shadow:0 0 0 3px var(--brand-soft), var(--shadow-md)}.composer-opts{padding:2px 2px var(--sp-2);flex-wrap:wrap;gap:6px;display:flex}.composer-opt{font-size:var(--fs-caption);background:var(--bg-surface-1);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-pill);cursor:pointer;padding:5px 12px;font-family:inherit;transition:border-color .15s,color .15s,background .15s}.composer-opt:hover:not(:disabled){border-color:var(--brand);color:var(--brand-light)}.composer-opt:disabled{opacity:.5;cursor:default}.composer-opt.ghost{color:var(--ink-faint);background:0 0}.composer-inputbox{position:relative}.composer-input{width:100%;color:var(--ink);font-size:var(--fs-body);resize:none;background:0 0;border:none;outline:none;min-height:72px;max-height:220px;padding:6px 4px 2px;font-family:inherit;line-height:1.5;display:block;overflow-y:auto}.composer-input::placeholder,.composer-input:disabled{color:var(--ink-faint)}.composer-bar{align-items:center;gap:var(--sp-2);margin-top:var(--sp-1);display:flex}.composer-bar-hint{min-width:0;font-size:var(--fs-caption);color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;flex:1;overflow:hidden}.composer-bar-actions{align-items:center;gap:var(--sp-1);flex-shrink:0;display:flex}.composer-icon-btn{border-radius:var(--r-pill);width:32px;height:32px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.composer-icon-btn:hover:not(.is-disabled){background:var(--hover-wash);color:var(--ink)}.composer-icon-btn.is-disabled{opacity:.5;cursor:default}.paper-expand-btn{border-radius:var(--r-xs);width:22px;height:22px;color:var(--ink-faint);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.paper-expand-btn:hover{background:var(--hover-wash);color:var(--ink);border-color:var(--hairline)}.composer-expand{z-index:5;position:absolute;top:2px;right:2px}.paper-card{background:var(--bg-surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);width:min(1040px,100vw - 32px);height:min(76vh,800px);box-shadow:var(--shadow-lg);flex-direction:column;animation:.15s tooltip-fade;display:flex;overflow:hidden}.paper-head{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--hairline);display:flex}.paper-title{min-width:0;font-size:var(--fs-body-lg);color:var(--ink-strong);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.paper-fsz-group{gap:var(--sp-1);display:flex}.paper-fsz-btn{font-size:var(--fs-caption);color:var(--ink-muted);border:1px solid var(--hairline);border-radius:var(--r-xs);cursor:pointer;background:0 0;padding:2px 8px;font-family:inherit;transition:background .15s,color .15s}.paper-fsz-btn:hover:not(:disabled){background:var(--hover-wash);color:var(--ink)}.paper-fsz-btn:disabled{opacity:.4;cursor:default}.paper-close{width:26px;height:26px;font-size:var(--fs-body-sm);color:var(--ink-faint);border-radius:var(--r-xs);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.paper-close:hover{background:var(--hover-wash-strong);color:var(--ink)}.paper-textarea{resize:none;background:var(--bg-canvas);width:100%;color:var(--ink);padding:var(--sp-4) var(--sp-5);border:none;outline:none;flex:1;font-family:inherit;line-height:1.9}.paper-textarea::placeholder{color:var(--ink-faint)}.paper-foot{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--hairline);display:flex}.paper-count{font-size:var(--fs-caption);color:var(--ink-faint);-webkit-user-select:none;user-select:none}.paper-foot-btns{gap:var(--sp-2);flex-shrink:0;display:flex}.composer-mode-trigger{border-radius:var(--r-pill);background:var(--brand-soft);height:32px;color:var(--brand-light);font-size:var(--fs-caption);cursor:pointer;white-space:nowrap;box-shadow:inset 0 0 8px var(--brand-soft), inset 0 0 3px var(--brand-border), 0 0 6px var(--brand-soft);border:none;align-items:center;gap:4px;padding:0 10px;font-family:inherit;font-weight:600;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.composer-mode-trigger:hover,.composer-mode-trigger.open{background:var(--hover-wash);color:var(--brand-light);box-shadow:inset 0 0 10px var(--brand-soft), inset 0 0 4px var(--brand-border), 0 0 10px var(--brand-soft)}.composer-mode-pop{background:var(--bg-surface-1);border:1px solid var(--hairline);border-radius:var(--r-md);min-width:220px;box-shadow:var(--shadow-lg);z-index:20;padding:6px;animation:.15s tooltip-fade;position:absolute;bottom:calc(100% + 8px);right:0}.composer-mode-item{text-align:left;border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:stretch;gap:2px;width:100%;padding:8px 10px;font-family:inherit;transition:background .15s;display:flex}.composer-mode-item:hover{background:var(--hover-wash)}.composer-mode-head{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;display:flex}.composer-mode-check{color:var(--brand);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.composer-mode-name{font-size:var(--fs-body-sm);color:var(--ink-strong);font-weight:600;line-height:1.4}.composer-mode-desc{font-size:var(--fs-caption);color:var(--ink-muted);line-height:1.4}.composer-mode-pop.pop-left{left:0;right:auto}.composer-mode-item.is-disabled{opacity:.45;cursor:not-allowed}.composer-mode-item.is-disabled:hover{background:0 0}.src-upload-panel{gap:var(--sp-2);padding:var(--sp-2) 0;flex-direction:column;display:flex}.src-upload-title{font-size:var(--fs-body-sm);color:var(--ink-strong);font-weight:700;line-height:1.5}.src-upload-desc{font-size:var(--fs-caption);color:var(--ink-muted);line-height:1.6}.src-upload-error{font-size:var(--fs-caption);color:var(--danger-text);background:var(--danger-bg-soft);border:1px solid var(--danger-bg);border-radius:var(--r-xs);word-break:break-all;padding:6px 8px;line-height:1.6}.src-upload-drop{justify-content:center;align-items:center;gap:var(--sp-2);margin-top:var(--sp-1);padding:var(--sp-4) var(--sp-3);border:1px dashed var(--hairline-strong);border-radius:var(--r-md);color:var(--ink-secondary);font-size:var(--fs-body-sm);cursor:pointer;background:0 0;font-family:inherit;transition:border-color .15s,color .15s,background .15s;display:flex}.src-upload-drop:hover:not(:disabled){border-color:var(--brand);color:var(--brand-light);background:var(--brand-soft)}.src-upload-drop:disabled{opacity:.5;cursor:wait}.composer-send{border-radius:var(--r-pill);background:var(--brand);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background .15s,transform .15s,box-shadow .15s,opacity .15s;display:inline-flex}.composer-send:hover:not(:disabled){background:var(--brand-hover);transform:scale(1.06);box-shadow:0 4px 12px #0000004d}.composer-send:active:not(:disabled){transform:scale(1)}.composer-send:disabled{background:var(--hairline-strong);color:var(--ink-faint);cursor:default;opacity:.6;box-shadow:none;transform:none}.composer-mini{align-items:center;gap:var(--sp-1);background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);border:1px solid var(--hairline);border-radius:var(--r-pill);width:236px;box-shadow:var(--shadow-md);cursor:text;margin:0 auto;padding:4px 4px 4px 14px;transition:border-color .15s,box-shadow .15s;animation:.2s tooltip-fade;display:flex}.composer-mini:hover{border-color:var(--brand-border);box-shadow:0 0 0 3px var(--brand-soft), var(--shadow-md)}.composer-mini-text{min-width:0;font-size:var(--fs-body-sm);color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;flex:1;overflow:hidden}.composer-mini .composer-send{width:28px;height:28px}.flow-path-card{text-align:left;background:var(--bg-canvas);border:1px solid var(--hairline);border-radius:var(--r-md);color:var(--ink);align-items:flex-start;gap:10px;padding:11px 12px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.flow-path-card:disabled{cursor:default}.flow-path-card:not(:disabled){cursor:pointer}.flow-path-card:not(:disabled):hover{border-color:var(--warning-active);background:var(--bg-surface-2)}.qmt-menu-item{text-align:left;border-radius:var(--r-sm);cursor:pointer;width:100%;color:var(--ink);font-size:var(--fs-body-sm);background:0 0;border:none;padding:8px 10px;font-family:inherit;transition:background .15s;display:block}.qmt-menu-item:hover{background:var(--bg-canvas)}.qmt-menu-item.danger{color:var(--danger-text)}.mobile-toolbar-scroll{scrollbar-width:none;overflow:auto hidden}.mobile-toolbar-scroll::-webkit-scrollbar{display:none}.mobile-toolbar-scroll>*{flex-shrink:0}.mobile-chat-fab{right:12px;bottom:calc(195px + var(--safe-bottom));z-index:6;border-radius:var(--r-pill);background:var(--brand);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:flex;position:absolute;box-shadow:0 4px 14px #00a8ff66}.mobile-theme-fab{right:20px;bottom:calc(255px + var(--safe-bottom));z-index:6;position:absolute}.mobile-chat-badge{border-radius:var(--r-pill);background:var(--danger);color:#fff;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;line-height:1;display:flex;position:absolute;top:-7px;right:-7px}.mobile-chat-close{flex-shrink:0;margin-left:auto}.mobile-launch-header{padding:calc(10px + var(--safe-top)) 12px 8px;justify-content:space-between;align-items:center;gap:8px;display:flex}.composer-add-node{z-index:3;border-radius:var(--r-pill);border:1px solid var(--brand-border);background:var(--bg-surface-1);width:34px;height:34px;color:var(--brand-light);cursor:pointer;box-shadow:var(--shadow-md);justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-13px;right:12px}.composer-add-node:active{background:var(--brand-soft)}.composer-mini-add{border-radius:var(--r-pill);border:1px solid var(--brand-border);background:var(--brand-soft);width:26px;height:26px;color:var(--brand-light);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-type-sheet{z-index:1499;background:var(--bg-surface-1);border-top:1px solid var(--hairline-strong);max-height:72vh;padding-bottom:var(--safe-bottom);border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #00000080}.mobile-type-sheet-head{border-bottom:1px solid var(--hairline);font-size:var(--fs-body-lg);color:var(--ink-strong);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;font-weight:600;display:flex}.mobile-type-sheet-list{-webkit-overflow-scrolling:touch;padding:8px 12px;overflow-y:auto}.node-del-btn{border-radius:var(--r-pill);background:var(--danger);color:#fff;cursor:pointer;z-index:5;border:2px solid #fff;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:flex;position:absolute;top:-12px;right:-12px;box-shadow:0 2px 8px #0006}@media (width<=768px){.react-flow__handle{width:28px!important;height:28px!important}.quick-add-item{min-height:44px}.composer-slot{width:100%;max-width:100%}.composer-wrap-dock{bottom:calc(10px + var(--safe-bottom));padding:0 var(--sp-3)}.composer-wrap-center{padding:0 var(--sp-3)}.composer-inpanel{padding-bottom:calc(8px + var(--safe-bottom))}.composer-bar-hint{display:none}.composer-mini{width:min(100%,320px)}.byok-provider-grid{grid-template-columns:1fr!important}.launch-shell{border-radius:20px;inset:10px 10px 40px}.launch-inner{padding:12px 16px 72px}}
