.app-icon[data-v-9f4bc56f]{flex:none;display:inline-block;vertical-align:middle}.toast-host[data-v-374b4a3d]{position:fixed;top:calc(env(safe-area-inset-top,0px) + 16px);left:50%;transform:translate(-50%);z-index:400;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:calc(100vw - 32px)}.toast[data-v-374b4a3d]{pointer-events:auto;display:flex;align-items:center;gap:9px;padding:10px 16px 10px 12px;border-radius:var(--r-pill);background:#141821f0;color:#fff;font-size:var(--fs-sm);font-weight:500;box-shadow:var(--shadow-lg);backdrop-filter:blur(8px);cursor:pointer}.toast-ic[data-v-374b4a3d]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;flex:none}.toast-success .toast-ic[data-v-374b4a3d]{background:var(--success)}.toast-error .toast-ic[data-v-374b4a3d]{background:var(--danger)}.toast-warning .toast-ic[data-v-374b4a3d]{background:var(--warning)}.toast-info .toast-ic[data-v-374b4a3d]{background:var(--info)}.toast-msg[data-v-374b4a3d]{max-width:60vw}.toast-enter-active[data-v-374b4a3d],.toast-leave-active[data-v-374b4a3d]{transition:opacity .25s var(--ease-out),transform .25s var(--ease-spring)}.toast-enter-from[data-v-374b4a3d]{opacity:0;transform:translateY(-10px) scale(.96)}.toast-leave-to[data-v-374b4a3d]{opacity:0;transform:translateY(-6px) scale(.98)}:root{--brand: #4f7cff;--brand-strong: #3a63d9;--brand-soft: rgba(79, 124, 255, .12);--brand-softer: rgba(79, 124, 255, .06);--brand-ring: rgba(79, 124, 255, .28);--brand-contrast: #ffffff;--brand-top: #eef3ff;--bg: #f5f7fa;--bg-elevated: #ffffff;--surface: #ffffff;--surface-muted: #f0f3f8;--surface-sunken: #e9edf4;--text: #14181f;--text-secondary: #545d6b;--text-muted: #8a93a3;--text-faint: #aab2c0;--border: #e7ebf1;--border-strong: #d8dee8;--success: #1f9d6b;--success-soft: rgba(31, 157, 107, .12);--warning: #c9791f;--warning-soft: rgba(201, 121, 31, .13);--danger: #d64545;--danger-soft: rgba(214, 69, 69, .12);--info: #2f6fed;--info-soft: rgba(47, 111, 237, .12);--r-xs: 8px;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--r-pill: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 30px;--fs-4xl: 38px;--shadow-xs: 0 1px 2px rgba(20, 28, 45, .05);--shadow-sm: 0 1px 3px rgba(20, 28, 45, .06), 0 1px 2px rgba(20, 28, 45, .04);--shadow-md: 0 6px 20px -8px rgba(20, 28, 45, .14), 0 2px 6px rgba(20, 28, 45, .05);--shadow-lg: 0 18px 40px -16px rgba(20, 28, 45, .2), 0 4px 12px rgba(20, 28, 45, .06);--shadow-brand: 0 10px 28px -10px var(--brand-ring);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-1: .14s;--dur-2: .24s;--dur-3: .4s;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;--font-mono: "SFMono-Regular", ui-monospace, "JetBrains Mono", "Cascadia Code", Consolas, "Liberation Mono", monospace;--container: 1180px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#app{min-height:100%}h1,h2,h3,h4,p{margin:0}a{color:var(--brand-strong);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}ul,ol{margin:0;padding:0}img{max-width:100%;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#141c2d29;border-radius:var(--r-pill)}::-webkit-scrollbar-track{background:transparent}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--sp-6)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tabular{font-variant-numeric:tabular-nums}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.text-sm{font-size:var(--fs-sm)}.text-xs{font-size:var(--fs-xs)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:40px;padding:0 var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-base);font-weight:600;letter-spacing:.01em;white-space:nowrap;transition:transform var(--dur-1) var(--ease-out),background var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--brand);color:var(--brand-contrast);box-shadow:var(--shadow-brand)}.btn-primary:hover:not(:disabled){background:var(--brand-strong)}.btn-ghost{background:var(--surface-muted);color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-sunken);color:var(--text)}.btn-outline{background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary)}.btn-outline:hover:not(:disabled){border-color:var(--brand-ring);color:var(--brand-strong);background:var(--brand-softer)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-sm{height:32px;padding:0 var(--sp-3);font-size:var(--fs-sm);border-radius:var(--r-sm)}.btn-lg{height:46px;padding:0 var(--sp-6);font-size:var(--fs-md)}.btn-block{width:100%}.btn-icon{width:38px;height:38px;padding:0;border-radius:var(--r-sm)}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field-label{font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary)}.field-label .req{color:var(--danger);margin-left:2px}.input,.textarea,.select{width:100%;padding:0 var(--sp-3);height:40px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:var(--fs-base);transition:border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.textarea{height:auto;min-height:92px;padding:var(--sp-3);line-height:1.6;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.input:disabled,.textarea:disabled,.select:disabled{background:var(--surface-muted);color:var(--text-muted);cursor:not-allowed}.field-hint{font-size:var(--fs-xs);color:var(--text-muted)}.field-error{font-size:var(--fs-xs);color:var(--danger)}.switch{position:relative;display:inline-flex;align-items:center;width:46px;height:26px;border-radius:var(--r-pill);background:var(--surface-sunken);transition:background var(--dur-2) var(--ease-out);flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--dur-2) var(--ease-spring)}.switch[data-on=true]{background:var(--brand)}.switch[data-on=true]:after{transform:translate(20px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;letter-spacing:.01em;line-height:1}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.badge-ready{color:var(--success);background:var(--success-soft)}.badge-processing{color:var(--info);background:var(--info-soft)}.badge-pending{color:var(--warning);background:var(--warning-soft)}.badge-failed{color:var(--danger);background:var(--danger-soft)}.badge-neutral{color:var(--text-muted);background:var(--surface-muted)}.badge-plain:before{display:none}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;display:inline-block;opacity:.8}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{position:relative;overflow:hidden;background:var(--surface-muted);border-radius:var(--r-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur-2) var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
