.going[data-v-7a7a37b1]{z-index:1001;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;overflow:hidden}.going[data-v-7a7a37b1]:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);animation:1.1s cubic-bezier(.4,0,.2,1) infinite going-7a7a37b1;position:absolute;inset:0}@keyframes going-7a7a37b1{0%{transform:translate(-100%)}to{transform:translate(100%)}}.toasts[data-v-7a7a37b1]{z-index:1000;pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast[data-v-7a7a37b1]{background:var(--panel-3);border:1px solid var(--line-2);box-shadow:var(--shadow);border-radius:10px;max-width:560px;padding:9px 16px;font-size:13px}.toast.ok[data-v-7a7a37b1]{border-color:color-mix(in srgb, var(--ok) 40%, transparent)}.toast.bad[data-v-7a7a37b1]{border-color:color-mix(in srgb, var(--bad) 50%, transparent);color:var(--bad)}.toast-enter-active[data-v-7a7a37b1],.toast-leave-active[data-v-7a7a37b1]{transition:all .2s}.toast-enter-from[data-v-7a7a37b1],.toast-leave-to[data-v-7a7a37b1]{opacity:0;transform:translateY(-8px)}.overlay[data-v-7a7a37b1]{z-index:900;background:#00000080;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog[data-v-7a7a37b1]{background:var(--panel);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow-lg);border-radius:14px;gap:14px;padding:22px;display:grid}.dialog h3[data-v-7a7a37b1]{margin:0;font-size:16px}.dialog p[data-v-7a7a37b1]{margin:0}.actions[data-v-7a7a37b1]{justify-content:flex-end;gap:8px;display:flex}.fade-enter-active[data-v-7a7a37b1],.fade-leave-active[data-v-7a7a37b1]{transition:opacity .15s}.fade-enter-from[data-v-7a7a37b1],.fade-leave-to[data-v-7a7a37b1]{opacity:0}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/static/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/static/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/static/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/static/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/static/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/static/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/static/geist-sans-latin-400-normal-gapTbOY8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/static/geist-sans-latin-500-normal-uokXdC-Q.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/static/geist-sans-latin-600-normal-DFOURf8L.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0d0e10;--canvas:#0b0c0e;--panel:#16171a;--panel-2:#1d1e22;--panel-3:#25262b;--raised:#1b1c20;--line:#2a2b31;--line-2:#373942;--text:#ececee;--muted:#a0a2a9;--faint:#6c6e76;--accent:#ff7a45;--accent-2:#ff9466;--accent-ink:#1a0d06;--accent-soft:#ff7a4524;--ok:#3ccf74;--ok-soft:#3ccf7424;--warn:#e8ac3e;--warn-soft:#e8ac3e24;--bad:#f26363;--bad-soft:#f2636324;--info:#6a9bff;--k-text:#a3a5ad;--k-image:#5b93ff;--k-video:#ec6aa8;--k-audio:#3ccf8a;--k-storyboard:#f0b23f;--k-compose:#a98bff;--k-character:#ff9b6a;--k-scene:#3cc4d0;--k-prop:#a6cf4f;--k-note:#c9b45c;--dot:#26272c;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059;--shadow-lg:0 2px 6px #00000059, 0 18px 48px #00000080;--radius:12px;--radius-sm:8px;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans:"Geist Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f6f6f4;--canvas:#f1f1ee;--panel:#fff;--panel-2:#f4f4f1;--panel-3:#ebebe7;--raised:#fff;--line:#e4e3de;--line-2:#d3d2cc;--text:#17181a;--muted:#5f6167;--faint:#9a9ca1;--accent:#e8622c;--accent-2:#f07a49;--accent-ink:#fff;--accent-soft:#e8622c1a;--ok:#16a34a;--ok-soft:#16a34a1a;--warn:#b7791f;--warn-soft:#b7791f1f;--bad:#dc2626;--bad-soft:#dc26261a;--info:#2563eb;--k-text:#6b6d75;--k-image:#2f6fec;--k-video:#d4458a;--k-audio:#14a364;--k-storyboard:#c98a12;--k-compose:#7c5ce6;--k-character:#e2612c;--k-scene:#0f8f9a;--k-prop:#5c8d14;--k-note:#a08a2a;--dot:#d6d5cf;--shadow:0 1px 2px #0000000d, 0 6px 20px #00000012;--shadow-lg:0 2px 6px #0000000f, 0 16px 40px #0000001f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%}html{touch-action:pan-x pan-y;overflow-y:scroll}html:has(.vue-flow){overscroll-behavior:none}html:has(.vue-flow) body{overscroll-behavior:none}html:has(.vue-flow){overflow-y:auto}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img,video{max-width:100%;display:block}::selection{background:var(--accent-soft)}.vue-flow__node ::selection{color:#fff;background:#e3239b}.composer ::selection{color:#fff;background:#e3239b}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);background-clip:padding-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}.btn{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--panel-2);height:34px;color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--panel-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:var(--accent-2)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--panel-3)}.btn.danger{color:var(--bad)}.btn.sm{height:28px;padding:0 10px;font-size:13px}.btn.icon{width:34px;padding:0}.btn.sm.icon{width:28px}.input,.textarea,.select{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--panel);outline:none;width:100%;height:36px;padding:0 12px;transition:border-color .15s}.textarea{resize:vertical;height:auto;min-height:80px;padding:8px 12px;line-height:1.6}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent)}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}.field{gap:6px;display:grid}.field>span{color:var(--muted);font-size:13px}.hint{color:var(--faint);font-size:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.faint{color:var(--faint)}.row{align-items:center;gap:8px;display:flex}.spacer{flex:1}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge{background:var(--panel-3);height:22px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:12px;display:inline-flex}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;color:var(--faint);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 12px}.table tr:last-child td{border-bottom:none}.switch{background:var(--line-2);border:none;border-radius:999px;flex:none;width:34px;height:20px;padding:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(14px)}.empty{color:var(--faint);text-align:center;place-items:center;gap:8px;padding:48px 16px;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.9s linear infinite spin}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
