.ff-boot{min-height:100vh;color:var(--ff-muted);place-content:center;justify-items:center;gap:14px;font-size:13px;display:grid}.ff-boot-mark{background:url(/favicon.svg) 50%/cover;border-radius:10px;width:36px;height:36px;animation:1.1s ease-in-out infinite ff-pulse}@keyframes ff-pulse{50%{opacity:.55;transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.ff-boot-mark{animation:none}}:root{--ff-bg:#eef0f2;--ff-surface:#f9fafb;--ff-surface-2:#f3f4f6;--ff-surface-sunken:#e8eaed;--ff-chrome:#f9fafbd1;--ff-border:#e0e3e8;--ff-border-strong:#cfd4db;--ff-text:#2a2f36;--ff-text-2:#4a515c;--ff-muted:#6f7782;--ff-faint:#a1a8b2;--ff-primary:#4766c9;--ff-primary-hover:#3b58b4;--ff-primary-soft:#e6ebf8;--ff-primary-ink:#34509f;--ff-success:#2f7d4f;--ff-success-soft:#e4f1e9;--ff-warning:#a5612a;--ff-warning-soft:#f7ede2;--ff-danger:#b23b3f;--ff-danger-soft:#f7e6e6;--ff-data-spent:#5a76d1;--ff-data-reserved:#dfa255;--ff-data-track:#e1e4e9;--ff-shadow-1:0 1px 2px #1e243009;--ff-shadow-2:0 4px 12px -4px #1e243014;--ff-shadow-3:0 16px 32px -10px #1e243029;--ff-r-sm:6px;--ff-r:8px;--ff-r-lg:12px;--ff-r-xl:16px;--ff-font:"Inter", -apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", "Hiragino Sans", "Segoe UI", sans-serif;--ff-ease-out:cubic-bezier(.23, 1, .32, 1);--ff-ease-in-out:cubic-bezier(.77, 0, .175, 1);--ff-hint-bg:var(--ff-surface-sunken);--ff-hint-fg:var(--ff-muted);--ff-hint-hover:var(--ff-border-strong);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--ff-bg:#0d1015;--ff-surface:#151a21;--ff-surface-2:#1a2029;--ff-surface-sunken:#11151b;--ff-chrome:#11151bc7;--ff-border:#242b35;--ff-border-strong:#313a47;--ff-text:#e8ebf1;--ff-text-2:#c2c8d2;--ff-muted:#8a93a3;--ff-faint:#626b7a;--ff-primary:#7090ff;--ff-primary-hover:#8ba5ff;--ff-primary-soft:#7090ff24;--ff-primary-ink:#a9bcff;--ff-success:#4ac27a;--ff-success-soft:#4ac27a21;--ff-warning:#f0a54a;--ff-warning-soft:#f0a54a21;--ff-danger:#ff6b6b;--ff-danger-soft:#ff6b6b21;--ff-data-spent:#7090ff;--ff-data-reserved:#f0a54a;--ff-data-track:#232a34;--ff-shadow-1:0 1px 2px #0000004d;--ff-shadow-2:0 6px 16px -4px #00000080;--ff-shadow-3:0 18px 40px -10px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--ff-bg);color:var(--ff-text);font-family:var(--ff-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01";margin:0;font-size:14px;line-height:1.55;transition:background-color .24s,color .24s}#app{min-height:100vh}a{color:var(--ff-primary);text-decoration:none;transition:color .12s}@media (hover:hover) and (pointer:fine){a:hover{color:var(--ff-primary-hover)}}code{border-radius:var(--ff-r-sm);background:var(--ff-surface-sunken);color:var(--ff-text-2);padding:1px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}::selection{background:var(--ff-primary-soft)}.ff-page{max-width:1240px;margin:0 auto;padding:28px 32px 48px}.ff-page>h1,.ff-toolbar>h1{letter-spacing:-.015em;color:var(--ff-text);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 4px;font-size:22px;font-weight:650;line-height:1.25;display:flex}.ff-page>h1+.ff-muted,.ff-page>h1+p{margin-top:0;margin-bottom:20px;font-size:13px}.ff-page>h1:only-of-type{margin-bottom:20px}.ff-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.ff-toolbar>h1{flex:1;min-width:200px;margin:0}.ff-page>.ff-toolbar:first-child{margin-bottom:20px}.ff-card{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:var(--ff-r-lg);box-shadow:var(--ff-shadow-1);margin-bottom:14px;padding:18px 20px}.ff-card h2{letter-spacing:-.005em;color:var(--ff-text);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;font-size:15px;font-weight:620;line-height:1.35;display:flex}.ff-card .ff-card{background:var(--ff-surface-2);box-shadow:none;border-radius:var(--ff-r);padding:14px 16px}.ff-card ul{margin:0;padding-left:18px}.ff-card li{margin:4px 0;line-height:1.6}.ff-card li::marker{color:var(--ff-faint)}.ff-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.ff-stat{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:var(--ff-r-lg);box-shadow:var(--ff-shadow-1);padding:14px 16px 16px;transition:box-shadow .2s,border-color .2s;position:relative}.ff-stat .label{color:var(--ff-muted);letter-spacing:.01em;align-items:center;gap:2px;font-size:12px;font-weight:500;display:flex}.ff-stat .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ff-text);margin-top:6px;font-size:22px;font-weight:640;line-height:1.2}@media (hover:hover) and (pointer:fine){.ff-stat:hover{box-shadow:var(--ff-shadow-2);border-color:var(--ff-border-strong)}}.ff-stat.is-accent{background:linear-gradient(180deg, var(--ff-primary-soft), var(--ff-surface) 85%);border-color:color-mix(in srgb, var(--ff-primary) 25%, var(--ff-border))}.ff-stat.is-accent .value{color:var(--ff-primary-ink)}.ff-muted{color:var(--ff-muted);font-size:12.5px;line-height:1.6}.ff-money{font-variant-numeric:tabular-nums;white-space:nowrap;font-feature-settings:"tnum"}.ff-warn{color:var(--ff-warning)}.ff-danger{color:var(--ff-danger)}.ff-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ff-faint);font-size:11px;font-weight:600}.ff-link-btn{all:unset;cursor:pointer;color:var(--ff-primary);padding:2px 0;font-size:12.5px;font-weight:550}@media (hover:hover) and (pointer:fine){.ff-link-btn:hover{color:var(--ff-primary-hover);text-decoration:underline}}.ff-link-btn:focus-visible{outline:2px solid var(--ff-primary);outline-offset:2px;border-radius:2px}.ff-case-dim{align-items:center;gap:4px;margin-right:14px;display:inline-flex}.ff-card table{border-collapse:collapse;width:100%;font-size:13.5px}.ff-card thead th{color:var(--ff-muted);text-align:left;border-bottom:1px solid var(--ff-border);padding:0 10px 8px 0;font-size:12px;font-weight:550}.ff-card tbody td{vertical-align:top;padding:10px 10px 10px 0;border-top:1px solid var(--ff-border)!important}.ff-card tbody tr:first-child td{border-top:0!important}.ff-timeline{margin:0;list-style:none;position:relative;padding:0!important}.ff-timeline li{padding:0 0 14px 22px;position:relative;margin:0!important}.ff-timeline li:before{content:"";background:var(--ff-primary);width:7px;height:7px;box-shadow:0 0 0 3px var(--ff-primary-soft);border-radius:50%;position:absolute;top:7px;left:5px}.ff-timeline li:after{content:"";background:var(--ff-border);width:1px;position:absolute;top:18px;bottom:0;left:8px}.ff-timeline li:last-child:after{display:none}.ff-steps{counter-reset:step;list-style:none;padding:0!important}.ff-steps li{counter-increment:step;border-top:1px solid var(--ff-border);align-items:center;gap:10px;padding:8px 0;display:flex;margin:0!important}.ff-steps li:first-child{border-top:0}.ff-steps li:before{content:counter(step);background:var(--ff-surface-sunken);width:22px;height:22px;color:var(--ff-muted);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.ff-steps li.done:before{content:"✓";background:var(--ff-success-soft);color:var(--ff-success)}.ff-steps li.done a{color:var(--ff-muted);text-decoration:line-through}.n-data-table{--n-th-font-weight:550!important}.n-data-table .n-data-table-th{letter-spacing:.01em;font-size:12px;color:var(--ff-muted)!important}.n-data-table .n-data-table-td{font-variant-numeric:tabular-nums}.n-data-table{border-radius:var(--ff-r-lg);border:1px solid var(--ff-border);background:var(--ff-surface);overflow:hidden}.n-tag{font-weight:520}.n-card{border-radius:var(--ff-r-xl)!important}.n-modal .n-card{box-shadow:var(--ff-shadow-3)}.n-alert{border-radius:var(--ff-r)!important}.n-tabs .n-tabs-nav{margin-bottom:14px}.n-form-item .n-form-item-label{color:var(--ff-text-2);font-weight:520}.n-button{transition:transform .16s var(--ff-ease-out), background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease, opacity .15s ease!important}.n-button:not(.n-button--disabled):active{transform:scale(.97)}.ff-page-enter-active{transition:opacity .2s var(--ff-ease-out), transform .2s var(--ff-ease-out)}.ff-page-leave-active{transition:opacity 90ms}.ff-page-enter-from{opacity:0;transform:translateY(6px)}.ff-page-leave-to{opacity:0}@keyframes ff-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ff-stagger{animation:ff-in .26s var(--ff-ease-out) both}.ff-stagger:nth-child(2){animation-delay:40ms}.ff-stagger:nth-child(3){animation-delay:80ms}.ff-stagger:nth-child(4){animation-delay:.12s}.ff-stagger:nth-child(5){animation-delay:.16s}.ff-stagger:nth-child(n+6){animation-delay:.2s}.ff-grid>.ff-stat{animation:ff-in .26s var(--ff-ease-out) both}.ff-grid>.ff-stat:nth-child(2){animation-delay:40ms}.ff-grid>.ff-stat:nth-child(3){animation-delay:80ms}.ff-grid>.ff-stat:nth-child(4){animation-delay:.12s}.ff-grid>.ff-stat:nth-child(n+5){animation-delay:.16s}@media (width<=760px){.ff-page{padding:18px 14px 40px}.ff-page>h1,.ff-toolbar>h1{font-size:19px}.ff-card{padding:14px}.ff-stat .value{font-size:19px}}@media (prefers-reduced-motion:reduce){.ff-page-enter-active,.ff-page-leave-active{transition:opacity .15s}.ff-page-enter-from{transform:none}.ff-stagger,.ff-grid>.ff-stat{animation:.15s both ff-fade}.n-button:not(.n-button--disabled):active{transform:none}@keyframes ff-fade{0%{opacity:0}to{opacity:1}}}@media (prefers-reduced-transparency:reduce){:root{--ff-chrome:var(--ff-surface)}}
