.spinner[data-v-5245207e]{width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin-5245207e .7s linear infinite}@keyframes spin-5245207e{to{transform:rotate(360deg)}}.unsaved-notice[data-v-1fb95528]{position:fixed;z-index:100;left:50%;bottom:24px;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:10px 12px 10px 16px;border-radius:12px;background:var(--raised);color:var(--text);font-size:var(--fs-small);transform:translate(-50%)}.unsaved-notice span[data-v-1fb95528]{flex:1}.unsaved-notice.shake[data-v-1fb95528]{animation:unsaved-notice-shake-1fb95528 .5s}@keyframes unsaved-notice-shake-1fb95528{0%,to{transform:translate(-50%)}20%,60%{transform:translate(calc(-50% - 8px))}40%,80%{transform:translate(calc(-50% + 8px))}}@media (prefers-reduced-motion: reduce){.unsaved-notice.shake[data-v-1fb95528]{animation:none}}.confirm-dialog[data-v-c90923ee]{width:min(420px,calc(100vw - 32px));max-width:none;margin:auto;padding:20px;border:1px solid var(--border);border-radius:var(--radius-inner);background:var(--raised);color:var(--text)}.confirm-dialog[data-v-c90923ee]::backdrop{background:#0009}.message[data-v-c90923ee]{margin:0 0 18px;font-size:var(--fs-body);line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}.actions[data-v-c90923ee]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}:root{color-scheme:dark;--palette-1: #e4e9f0;--palette-2: #aab4c2;--palette-3: #536e91;--palette-4: #34455d;--palette-5: #101821;--bp-group-01: #fbbf24;--bp-group-02: #22d3c7;--bp-group-03: #60a5fa;--bp-group-04: #fb8b63;--bp-group-05: #e879f9;--bp-group-06: #4ade80;--bp-group-07: #b8cf5a;--bp-group-08: #38bdf8;--bp-group-09: #f2708c;--bp-group-10: #9685f7;--bp-group-11: #e18a47;--bp-group-12: #a3d65c;--bp-group-13: #f07fa6;--bp-group-14: #47b4a3;--bp-group-15: #a78bfa;--bp-group-16: #72a7bd;--bp-group-17: #dca16a;--bp-group-18: #fda4af;--bp-group-legacy: #718096;--ground: #000000;--surface: var(--palette-5);--raised: #1b1b1b;--active: #222222;--border: #2a2a2a;--rule: #161616;--control: #62738c;--text: var(--palette-1);--muted: var(--palette-2);--faint: var(--palette-2);--primary: var(--palette-3);--primary-ink: #ffffff;--primary-hover: var(--palette-2);--primary-hover-ink: var(--palette-5);--accent: #a970ff;--positive: #5cc493;--positive-strong: #2f8f63;--negative: #e5484d;--negative-ink: #ee5d61;--warning: #e5a93b;--info: #7ea6d8;--selected: #1a2433;--editor-outline: #38bdf8;--editor-outline-edge: #101821;--chart-1: var(--accent);--chart-2: var(--palette-2);--chart-3: var(--control);--grid: #2a2a2a;--pill-positive-bg: #13251c;--pill-positive-ink: var(--positive);--pill-negative-bg: #2c1a20;--pill-negative-ink: #e5566f;--pill-warning-bg: #2b2414;--pill-warning-ink: #e5a93b;--pill-neutral-bg: #222222;--pill-neutral-ink: #ffffff;--radius-card: 20px;--radius-inner: 12px;--radius-control: 999px;--radius-chip: 999px;--gap: 14px;--pad: 22px;--control-height: 36px;--row-height: 48px;--nav-row: 34px;--sidebar-width: 224px;--topbar-height: 64px;--font: "Inter", "Noto Sans TC", system-ui, sans-serif;--fs-title: 20px;--fs-section: 16px;--fs-kpi: 24px;--fs-body: 14px;--fs-small: 12px;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--fs-body);font-variant-numeric:tabular-nums;font-synthesis:none;background:var(--ground);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100dvh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}.ui-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:6px 14px;border:1px solid var(--control);border-radius:var(--radius-control);background:transparent;color:var(--text);font:inherit;font-size:var(--fs-small);font-weight:500;line-height:1.2;text-decoration:none;text-align:center;text-wrap:balance;overflow-wrap:anywhere;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.ui-button:hover:not(:disabled){background:var(--active)}.ui-button:focus-visible{outline:2px solid var(--info);outline-offset:2px}.ui-button:disabled{opacity:.55;cursor:not-allowed}.ui-button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.ui-button.primary:hover:not(:disabled){background:var(--primary-hover);color:var(--primary-hover-ink)}.ui-button.danger{color:var(--negative-ink);border-color:var(--negative)}.ui-button.danger:hover:not(:disabled){background:var(--pill-negative-bg)}.ui-button.warn{color:var(--warning);border-color:var(--warning)}.ui-button.ghost{background:var(--raised)}button.is-unsaved.is-unsaved{background:var(--negative);border-color:var(--negative);color:#fff}button.is-unsaved.is-unsaved:hover:not(:disabled){background:#c93d42;border-color:#c93d42;color:#fff}.unsaved-shake .is-unsaved{animation:unsaved-shake .5s}@keyframes unsaved-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media (prefers-reduced-motion: reduce){.unsaved-shake .is-unsaved{animation:none}}.card{background:var(--surface);border-radius:var(--radius-card);padding:var(--pad)}.card-title,.section-title{font-size:var(--fs-section);font-weight:600;line-height:1.4}.input,.field-input,.param-input,.search-input{min-width:0;min-height:var(--control-height);padding:6px 12px;background:var(--raised);color:var(--text);border:1px solid var(--control);border-radius:var(--radius-inner);font:inherit;font-size:var(--fs-body)}textarea.input,textarea.field-input{resize:vertical}:focus-visible{outline:2px solid var(--info);outline-offset:2px}::selection{background:var(--primary);color:var(--primary-ink)}input,textarea{caret-color:var(--info)}input[type=checkbox],input[type=radio]{accent-color:var(--info)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--faint)}.page-enter-active{transition:opacity var(--duration-fast) var(--ease-out)}.page-enter-from{opacity:0}.skeleton{background:var(--raised);border-radius:var(--radius-inner)}.text-muted{color:var(--muted)}.text-mono{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.break-anywhere{overflow-wrap:anywhere}.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}.ui-button.small{min-height:30px;padding:0 10px;font-size:var(--fs-small)}.icon-btn{width:32px;height:32px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-inner);color:var(--muted);transition:background var(--duration-fast),color var(--duration-fast)}.icon-btn:hover:not(:disabled){background:var(--raised);color:var(--text)}.icon-btn.danger:hover:not(:disabled){background:var(--pill-negative-bg);color:var(--negative-ink)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.text-button{padding:0;color:var(--text);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.text-button:hover{color:var(--muted)}
