.toast-host[data-v-942b5f1d]{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast[data-v-942b5f1d]{pointer-events:auto;min-width:280px;max-width:480px;display:inline-flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--r-input);box-shadow:var(--shadow-2);font-size:var(--t-body);color:var(--fg-1);cursor:pointer}.toast__icon[data-v-942b5f1d]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.toast--success .toast__icon[data-v-942b5f1d]{color:var(--success)}.toast--error .toast__icon[data-v-942b5f1d]{color:var(--danger)}.toast--warning .toast__icon[data-v-942b5f1d]{color:var(--warning)}.toast--info .toast__icon[data-v-942b5f1d]{color:var(--info)}.toast--success[data-v-942b5f1d]{border-left:3px solid var(--success)}.toast--error[data-v-942b5f1d]{border-left:3px solid var(--danger)}.toast--warning[data-v-942b5f1d]{border-left:3px solid var(--warning)}.toast--info[data-v-942b5f1d]{border-left:3px solid var(--info)}.toast-enter-active[data-v-942b5f1d],.toast-leave-active[data-v-942b5f1d]{transition:all var(--dur-2) var(--ease)}.toast-enter-from[data-v-942b5f1d],.toast-leave-to[data-v-942b5f1d]{opacity:0;transform:translateY(-8px)}.confirm-mask[data-v-1739b36b]{position:fixed;inset:0;background:radial-gradient(circle at 70% 20%,rgba(232,98,61,.1),transparent 38%),#1f1b168c;backdrop-filter:blur(4px);z-index:calc(var(--z-modal) + 50);display:flex;align-items:center;justify-content:center;padding:var(--sp-5)}.confirm-panel[data-v-1739b36b]{width:100%;max-width:440px;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--r-modal);box-shadow:var(--shadow-3);padding:22px 24px 20px;position:relative;overflow:hidden}.confirm-panel[data-v-1739b36b]:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--ink-12)}.confirm-panel--info[data-v-1739b36b]:before{background:var(--info)}.confirm-panel--success[data-v-1739b36b]:before{background:var(--success)}.confirm-panel--warning[data-v-1739b36b]:before{background:var(--warning)}.confirm-panel--danger[data-v-1739b36b]:before{background:var(--danger)}.confirm-head[data-v-1739b36b]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.confirm-icon[data-v-1739b36b]{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--surface-sunken);color:var(--fg-2);flex-shrink:0}.confirm-panel--info .confirm-icon[data-v-1739b36b]{background:var(--info-soft);color:var(--info)}.confirm-panel--success .confirm-icon[data-v-1739b36b]{background:var(--success-soft);color:var(--success)}.confirm-panel--warning .confirm-icon[data-v-1739b36b]{background:var(--warning-soft);color:var(--warning)}.confirm-panel--danger .confirm-icon[data-v-1739b36b]{background:var(--danger-soft);color:var(--danger)}.confirm-title[data-v-1739b36b]{font-family:var(--font-display);font-size:17px;font-weight:var(--w-semi);letter-spacing:-.01em;color:var(--fg-1);margin:0;flex:1}.confirm-msg[data-v-1739b36b]{color:var(--fg-2);font-size:14px;line-height:1.65;margin:0 0 18px;padding-left:44px;word-break:break-word}.confirm-msg[data-v-1739b36b] strong{color:var(--fg-1);font-weight:var(--w-semi)}.confirm-msg[data-v-1739b36b] ul{padding-left:18px;margin:6px 0}.confirm-msg[data-v-1739b36b] li{margin-bottom:4px}.confirm-msg[data-v-1739b36b] p{margin:4px 0}.confirm-msg[data-v-1739b36b] em{color:var(--primary);font-style:normal}.confirm-input-wrap[data-v-1739b36b]{margin:0 0 18px;padding-left:44px}.confirm-input[data-v-1739b36b]{width:100%;height:40px;padding:0 12px;border-radius:var(--r-input);border:1px solid var(--border-strong);background:var(--surface-3);color:var(--fg-1);font-family:var(--font-mono);font-size:14px;outline:none;transition:border var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.confirm-input[data-v-1739b36b]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.confirm-input-err[data-v-1739b36b]{margin:6px 0 0;font-size:var(--t-caption);color:var(--danger)}.confirm-actions[data-v-1739b36b]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border-2);margin:0 -24px -20px;padding:14px 24px 0}.btn[data-v-1739b36b]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:88px;height:36px;padding:0 18px;font-family:var(--font-body);font-size:13.5px;font-weight:var(--w-medium);border-radius:var(--r-button);border:1px solid transparent;cursor:pointer;transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.btn[data-v-1739b36b]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-1739b36b]{background:var(--primary);color:var(--fg-on-primary)}.btn-primary[data-v-1739b36b]:not(:disabled):hover{background:var(--primary-hover)}.btn-danger[data-v-1739b36b]{background:var(--danger);color:var(--fg-on-primary);border-color:var(--danger)}.btn-danger[data-v-1739b36b]:not(:disabled):hover{background:#8b3122;border-color:#8b3122}.btn-ghost[data-v-1739b36b]{background:var(--surface-2);color:var(--fg-1);border-color:var(--border-1)}.btn-ghost[data-v-1739b36b]:hover{background:var(--surface-1);border-color:var(--border-strong)}.confirm-enter-active[data-v-1739b36b],.confirm-leave-active[data-v-1739b36b]{transition:opacity var(--dur-2) var(--ease)}.confirm-enter-active .confirm-panel[data-v-1739b36b],.confirm-leave-active .confirm-panel[data-v-1739b36b]{transition:transform var(--dur-2) var(--ease)}.confirm-enter-from[data-v-1739b36b],.confirm-leave-to[data-v-1739b36b]{opacity:0}.confirm-enter-from .confirm-panel[data-v-1739b36b],.confirm-leave-to .confirm-panel[data-v-1739b36b]{transform:scale(.96)}.loading-mask[data-v-44a889fe]{position:fixed;inset:0;z-index:var(--z-loading);background:#f4efe3b3;backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3)}.loading-spinner[data-v-44a889fe]{display:inline-flex;gap:6px}.dot[data-v-44a889fe]{width:10px;height:10px;border-radius:999px;background:var(--primary);animation:bounce-44a889fe 1.2s var(--ease) infinite}.dot--2[data-v-44a889fe]{animation-delay:.15s}.dot--3[data-v-44a889fe]{animation-delay:.3s}@keyframes bounce-44a889fe{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.loading-text[data-v-44a889fe]{font-family:var(--font-body);font-size:var(--t-body);color:var(--fg-2)}.loading-fade-enter-active[data-v-44a889fe],.loading-fade-leave-active[data-v-44a889fe]{transition:opacity var(--dur-2) var(--ease)}.loading-fade-enter-from[data-v-44a889fe],.loading-fade-leave-to[data-v-44a889fe]{opacity:0}.btn[data-v-8f19eb36]{font-family:var(--font-body);font-weight:var(--w-medium);border-radius:var(--r-button);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:transform var(--dur-1) var(--ease),background var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),color var(--dur-1) var(--ease);white-space:nowrap;user-select:none}.btn[data-v-8f19eb36]:disabled,.btn.is-loading[data-v-8f19eb36]{cursor:not-allowed;opacity:.6}.btn.is-block[data-v-8f19eb36]{width:100%;justify-content:center}.btn--sm[data-v-8f19eb36]{padding:6px 12px;font-size:13px;border-radius:8px}.btn--md[data-v-8f19eb36]{padding:10px 18px;font-size:14px}.btn--lg[data-v-8f19eb36]{padding:12px 22px;font-size:15px}.btn--primary[data-v-8f19eb36]{background:var(--primary);color:var(--fg-on-primary)}.btn--primary[data-v-8f19eb36]:hover:not(:disabled):not(.is-loading){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-2)}.btn--primary[data-v-8f19eb36]:active:not(:disabled){background:var(--primary-press);transform:translateY(0)}.btn--secondary[data-v-8f19eb36]{background:var(--surface-2);color:var(--fg-1);border-color:var(--border-1)}.btn--secondary[data-v-8f19eb36]:hover:not(:disabled){background:var(--surface-1);box-shadow:var(--shadow-1);transform:translateY(-1px)}.btn--ghost[data-v-8f19eb36]{background:transparent;color:var(--fg-1)}.btn--ghost[data-v-8f19eb36]:hover:not(:disabled){background:var(--ink-04)}.btn--danger[data-v-8f19eb36]{background:transparent;color:var(--danger);border-color:var(--danger)}.btn--danger[data-v-8f19eb36]:hover:not(:disabled){background:var(--danger-soft)}.btn--pill[data-v-8f19eb36]{background:var(--primary);color:var(--fg-on-primary);border-radius:999px;padding:10px 22px}.btn--pill[data-v-8f19eb36]:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-2)}.btn__icon[data-v-8f19eb36]{flex-shrink:0}.btn__label[data-v-8f19eb36]{display:inline-block}.btn__label[data-v-8f19eb36]:empty{display:none}.btn__spinner[data-v-8f19eb36]{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:999px;animation:btn-spin-8f19eb36 .7s linear infinite}@keyframes btn-spin-8f19eb36{to{transform:rotate(360deg)}}.icon-btn[data-v-2e8b9c0d]{width:36px;height:36px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--fg-1);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--dur-1) var(--ease);flex-shrink:0}.icon-btn[data-v-2e8b9c0d]:hover:not(:disabled){background:var(--ink-04)}.icon-btn.is-active[data-v-2e8b9c0d]{background:var(--ink-08)}.icon-btn[data-v-2e8b9c0d]:disabled{opacity:.4;cursor:not-allowed}.field[data-v-de4f137a]{display:block}.field__label[data-v-de4f137a]{display:block;font-size:var(--t-caption);color:var(--fg-2);margin-bottom:6px}.field__wrap[data-v-de4f137a]{position:relative;display:flex;align-items:center;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--r-input);padding:0 12px;height:40px;transition:border var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.field__wrap.is-focus[data-v-de4f137a]{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.field__wrap.is-error[data-v-de4f137a]{border-color:var(--danger)}.field__wrap.is-error.is-focus[data-v-de4f137a]{box-shadow:0 0 0 3px var(--danger-soft)}.field__wrap.is-disabled[data-v-de4f137a]{background:var(--surface-sunken);cursor:not-allowed;opacity:.6}.field__input[data-v-de4f137a]{flex:1;background:transparent;border:none;outline:none;font-family:inherit;font-size:14px;color:var(--fg-1);padding:0;height:100%;min-width:0}.field__input.has-prefix[data-v-de4f137a]{padding-left:8px}.field__input.has-suffix[data-v-de4f137a]{padding-right:8px}.field__input[data-v-de4f137a]::placeholder{color:var(--fg-3)}.field__prefix[data-v-de4f137a],.field__suffix[data-v-de4f137a]{display:inline-flex;align-items:center;color:var(--fg-3);flex-shrink:0}.field__suffix--btn[data-v-de4f137a]{background:transparent;border:none;color:var(--fg-3);cursor:pointer;padding:0;display:inline-flex;align-items:center}.field__suffix--btn[data-v-de4f137a]:hover{color:var(--fg-1)}.field__hint[data-v-de4f137a]{display:block;font-size:var(--t-tiny);color:var(--fg-3);margin-top:6px;letter-spacing:.02em}.field__hint.is-error[data-v-de4f137a]{color:var(--danger)}.card[data-v-0d2cf4d4]{background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--r-card)}.stat__label[data-v-4e927eb8]{font-size:var(--t-tiny);color:var(--fg-2);letter-spacing:.04em;text-transform:uppercase;font-weight:var(--w-semi)}.stat__row[data-v-4e927eb8]{display:flex;align-items:baseline;gap:6px;margin-top:10px}.stat__value[data-v-4e927eb8]{font-family:var(--font-display);font-size:32px;font-weight:var(--w-semi);line-height:1}.stat__value--ink[data-v-4e927eb8]{color:var(--ink-100)}.stat__value--primary[data-v-4e927eb8]{color:var(--primary)}.stat__value--success[data-v-4e927eb8]{color:var(--success)}.stat__value--danger[data-v-4e927eb8]{color:var(--danger)}.stat__unit[data-v-4e927eb8]{font-size:13px;color:var(--fg-3)}.stat__bar[data-v-4e927eb8]{margin-top:12px;height:4px;background:var(--ink-08);border-radius:999px;overflow:hidden}.stat__bar-fill[data-v-4e927eb8]{height:100%;background:var(--primary);border-radius:999px;transition:width var(--dur-2) var(--ease)}.stat__footer[data-v-4e927eb8]{margin-top:10px;display:inline-flex;align-items:center;gap:8px;font-size:var(--t-tiny);color:var(--fg-3)}.stat__delta--success[data-v-4e927eb8]{color:var(--success)}.stat__delta--danger[data-v-4e927eb8]{color:var(--danger)}.stat__hint[data-v-4e927eb8]{color:var(--fg-3)}.tag[data-v-c82ac588]{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:var(--t-tiny);font-weight:var(--w-medium);white-space:nowrap}.tag__dot[data-v-c82ac588]{width:6px;height:6px;border-radius:999px;flex-shrink:0}.tag--success[data-v-c82ac588]{background:var(--success-soft);color:var(--success)}.tag--success .tag__dot[data-v-c82ac588]{background:var(--success)}.tag--warning[data-v-c82ac588]{background:var(--warning-soft);color:var(--warning-ink)}.tag--warning .tag__dot[data-v-c82ac588]{background:var(--warning)}.tag--danger[data-v-c82ac588]{background:var(--danger-soft);color:var(--danger)}.tag--danger .tag__dot[data-v-c82ac588]{background:var(--danger)}.tag--info[data-v-c82ac588]{background:var(--info-soft);color:var(--info)}.tag--info .tag__dot[data-v-c82ac588]{background:var(--info)}.tag--neutral[data-v-c82ac588]{background:var(--surface-sunken);color:var(--fg-2)}.tag--neutral .tag__dot[data-v-c82ac588]{background:var(--fg-3)}.tag--primary[data-v-c82ac588]{background:var(--primary-soft);color:var(--primary-ink)}.tag--primary .tag__dot[data-v-c82ac588]{background:var(--primary)}.empty[data-v-f49bb252]{display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px 24px;text-align:center}.empty__illust[data-v-f49bb252]{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:999px;background:var(--surface-sunken);margin-bottom:4px}.empty__icon[data-v-f49bb252]{color:var(--fg-3)}.empty__title[data-v-f49bb252]{font-family:var(--font-display);font-size:18px;font-weight:var(--w-semi);color:var(--fg-1);margin:0}.empty__desc[data-v-f49bb252]{color:var(--fg-2);font-size:14px;max-width:360px;line-height:1.6;margin:0}.empty__action[data-v-f49bb252]{margin-top:8px}.chips[data-v-56a7a3b5]{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.chip[data-v-56a7a3b5]{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;border-radius:999px;background:var(--surface-2);color:var(--fg-2);border:1px solid var(--border-1);font-size:13px;cursor:pointer;transition:background var(--dur-1) var(--ease)}.chip[data-v-56a7a3b5]:hover{background:var(--ink-04)}.chip.is-active[data-v-56a7a3b5]{background:var(--primary-soft);color:var(--primary-ink);border-color:var(--primary-soft)}.chip__dot[data-v-56a7a3b5]{width:6px;height:6px;border-radius:999px;background:var(--primary)}.chip__close[data-v-56a7a3b5]{background:transparent;border:none;color:inherit;opacity:.6;cursor:pointer;padding:0;display:inline-flex;align-items:center}.chip__close[data-v-56a7a3b5]:hover{opacity:1}.ph[data-v-4ad729a6]{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.ph__title[data-v-4ad729a6]{font-family:var(--font-display);font-size:28px;font-weight:var(--w-semi);color:var(--ink-100);line-height:1.2;margin:0}.ph__subtitle[data-v-4ad729a6]{color:var(--fg-2);font-size:14px;margin-top:6px}.ph__actions[data-v-4ad729a6]{display:flex;gap:8px;flex-shrink:0}.toolbar[data-v-b65b89a6]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;background:var(--surface-1);border-radius:var(--r-card);border:1px solid var(--border-1);margin-bottom:14px}.toolbar__search[data-v-b65b89a6]{position:relative;flex:1 1 280px;max-width:360px;display:flex;align-items:center;background:var(--surface-2);border:1px solid var(--border-1);border-radius:999px;padding:0 12px 0 36px;height:36px}.toolbar__search-icon[data-v-b65b89a6]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--fg-3)}.toolbar__search-input[data-v-b65b89a6]{flex:1;background:transparent;border:none;outline:none;font-family:inherit;font-size:14px;color:var(--fg-1);height:100%;min-width:0}.toolbar__search-input[data-v-b65b89a6]::placeholder{color:var(--fg-3)}.toolbar__left[data-v-b65b89a6]{display:inline-flex;align-items:center;gap:8px}.toolbar__spacer[data-v-b65b89a6]{flex:1}.toolbar__actions[data-v-b65b89a6]{display:inline-flex;align-items:center;gap:8px}.user-menu[data-v-24563cb8]{position:relative}.user-menu__trigger[data-v-24563cb8]{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border-1);border-radius:999px;padding:4px 12px 4px 4px;cursor:pointer;color:var(--fg-1);font-size:13px;transition:background var(--dur-1) var(--ease)}.user-menu__trigger[data-v-24563cb8]:hover{background:var(--ink-04)}.user-menu__avatar[data-v-24563cb8]{width:28px;height:28px;border-radius:999px;background:var(--primary-soft);color:var(--primary-ink);font-family:var(--font-display);font-weight:var(--w-semi);font-size:13px;display:inline-flex;align-items:center;justify-content:center}.user-menu__name[data-v-24563cb8]{font-weight:var(--w-medium)}.user-menu__caret[data-v-24563cb8]{opacity:.6}.user-menu__panel[data-v-24563cb8]{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface-2);border:1px solid var(--border-1);border-radius:12px;box-shadow:var(--shadow-3);min-width:180px;padding:6px;z-index:var(--z-dropdown)}.user-menu__item[data-v-24563cb8]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;width:100%;border:none;background:transparent;font-family:inherit;font-size:13.5px;color:var(--fg-1);text-align:left;cursor:pointer;transition:background var(--dur-1) var(--ease)}.user-menu__item[data-v-24563cb8]:hover{background:var(--ink-04)}.user-menu__item--danger[data-v-24563cb8]{color:var(--danger)}.user-menu__sep[data-v-24563cb8]{height:1px;background:var(--border-2);margin:6px 4px}.dropdown-enter-active[data-v-24563cb8],.dropdown-leave-active[data-v-24563cb8]{transition:all var(--dur-2) var(--ease);transform-origin:top right}.dropdown-enter-from[data-v-24563cb8],.dropdown-leave-to[data-v-24563cb8]{opacity:0;transform:scale(.96) translateY(-4px)}.app-header[data-v-12279312]{position:sticky;top:0;z-index:var(--z-header);height:var(--header-h);background:var(--surface-2);border-bottom:1px solid var(--border-1);display:flex;align-items:center;padding:0 var(--gutter);gap:16px}.brand[data-v-12279312]{display:flex;align-items:baseline;gap:6px;text-decoration:none;flex-shrink:0;white-space:nowrap;font-family:var(--font-display);font-size:18px;font-weight:var(--w-semi);color:var(--ink-100)}.brand__cc[data-v-12279312]{color:var(--ink-100)}.brand__hai[data-v-12279312]{color:var(--primary)}.brand__sub[data-v-12279312]{font-family:var(--font-body);font-size:11px;font-weight:var(--w-medium);color:var(--fg-3);letter-spacing:.04em;margin-left:2px}.capsule[data-v-12279312]{display:flex;align-items:center;gap:4px;flex-shrink:0;background:var(--surface-sunken);border-radius:999px;padding:4px}.capsule__item[data-v-12279312]{padding:7px 14px;border-radius:999px;font-size:13.5px;font-weight:var(--w-medium);color:var(--fg-2);text-decoration:none;white-space:nowrap;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.capsule__item[data-v-12279312]:hover:not(.is-active){color:var(--fg-1);background:var(--ink-04)}.capsule__item.is-active[data-v-12279312]{background:var(--primary);color:var(--fg-on-primary)}.spacer[data-v-12279312]{flex:1}.util-group[data-v-12279312]{display:flex;gap:2px;flex-shrink:0}.app-shell[data-v-83f3c7e4]{position:relative;min-height:100vh;background:radial-gradient(ellipse at 12% -10%,rgba(232,98,61,.08),transparent 36%),radial-gradient(ellipse at 110% 8%,rgba(91,107,191,.06),transparent 40%),url(../watermark.svg) repeat,var(--surface-0);background-size:auto,auto,240px 240px,auto;background-attachment:fixed,fixed,fixed,fixed}.app-shell[data-v-83f3c7e4]:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#f4efe300,#f4efe366 60%,#f4efe3b3);z-index:0}.app-main[data-v-83f3c7e4]{position:relative;z-index:1;max-width:var(--layout-max);margin:0 auto;padding:32px var(--gutter) 64px}.page-enter-active[data-v-83f3c7e4],.page-leave-active[data-v-83f3c7e4]{transition:opacity var(--dur-2) var(--ease),transform var(--dur-2) var(--ease)}.page-enter-from[data-v-83f3c7e4]{opacity:0;transform:translateY(6px)}.page-leave-to[data-v-83f3c7e4]{opacity:0;transform:translateY(-6px)}:root{--surface-0: #f4efe3;--surface-1: #faf6ee;--surface-2: #fffdf7;--surface-3: #ffffff;--surface-sunken: #efe9da;--ink-100: #1f1b16;--ink-88: rgba(31, 27, 22, .88);--ink-72: rgba(31, 27, 22, .72);--ink-56: rgba(31, 27, 22, .56);--ink-40: rgba(31, 27, 22, .4);--ink-24: rgba(31, 27, 22, .24);--ink-16: rgba(31, 27, 22, .16);--ink-12: rgba(31, 27, 22, .12);--ink-08: rgba(31, 27, 22, .08);--ink-04: rgba(31, 27, 22, .04);--primary: #e8623d;--primary-hover: #d5532e;--primary-press: #b8421f;--primary-soft: #fbe4d9;--primary-ink: #6e2a12;--success: #3f6b4e;--success-soft: #dce8dd;--warning: #c28b2e;--warning-soft: #f2e5c2;--warning-ink: #7d5816;--danger: #a23b2a;--danger-soft: #f2d9d2;--info: #5b6bbf;--info-soft: #dde0f0;--fg-1: var(--ink-100);--fg-2: var(--ink-72);--fg-3: var(--ink-56);--fg-4: var(--ink-40);--fg-on-primary: #fffdf7;--bg-0: var(--surface-0);--bg-1: var(--surface-1);--bg-2: var(--surface-2);--border-1: var(--ink-12);--border-2: var(--ink-08);--border-strong: var(--ink-24);--font-display: "Noto Serif SC", "Songti SC", "STSong", serif;--font-display-italic-en: "Cormorant Garamond", "Noto Serif SC", serif;--font-body: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--t-display: 2.5rem;--t-h1: 1.75rem;--t-h2: 1.25rem;--t-h3: 1rem;--t-body: .9375rem;--t-caption: .8125rem;--t-mono: .875rem;--t-tiny: .75rem;--lh-tight: 1.2;--lh-snug: 1.35;--lh-normal: 1.5;--lh-loose: 1.7;--w-regular: 400;--w-medium: 500;--w-semi: 600;--w-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--r-chip: 999px;--r-input: 10px;--r-button: 10px;--r-card: 14px;--r-modal: 18px;--r-image: 8px;--r-pill: 999px;--shadow-1: 0 1px 0 rgba(31, 27, 22, .04), 0 2px 6px rgba(31, 27, 22, .04);--shadow-2: 0 1px 0 rgba(31, 27, 22, .04), 0 8px 20px rgba(31, 27, 22, .06);--shadow-3: 0 24px 64px rgba(31, 27, 22, .12);--shadow-focus: 0 0 0 2px var(--surface-1), 0 0 0 4px var(--primary);--ease: cubic-bezier(.2, .8, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--dur-1: .12s;--dur-2: .2s;--dur-3: .32s;--layout-max: 1280px;--header-h: 64px;--gutter: 32px;--row-h: 56px;--row-h-compact: 44px;--z-header: 40;--z-dropdown: 60;--z-modal: 100;--z-toast: 200;--z-loading: 300}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--surface-0);color:var(--fg-1);font-family:var(--font-body);font-size:var(--t-body);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#app{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}table{font-feature-settings:"tnum" 1;border-collapse:collapse}img,svg{display:block;max-width:100%}h1,.t-h1{font-family:var(--font-display);font-size:var(--t-h1);line-height:var(--lh-tight);font-weight:var(--w-semi);letter-spacing:-.01em;margin:0}h2,.t-h2{font-family:var(--font-display);font-size:var(--t-h2);line-height:var(--lh-snug);font-weight:var(--w-semi);margin:0}h3,.t-h3{font-family:var(--font-body);font-size:var(--t-h3);line-height:var(--lh-snug);font-weight:var(--w-semi);margin:0}p,.t-body{font-size:var(--t-body);line-height:var(--lh-normal);color:var(--fg-1);margin:0}.t-display{font-family:var(--font-display);font-size:var(--t-display);line-height:var(--lh-tight);font-weight:var(--w-semi);letter-spacing:-.015em}.t-caption{font-size:var(--t-caption);color:var(--fg-2);line-height:var(--lh-snug)}.t-tiny{font-size:var(--t-tiny);color:var(--fg-3);letter-spacing:.02em}code,.t-mono{font-family:var(--font-mono);font-size:var(--t-mono)}.t-italic-en{font-family:var(--font-display-italic-en);font-style:italic;font-weight:500}.num,table,.t-mono{font-feature-settings:"tnum" 1,"lnum" 1}::selection{background:var(--primary-soft);color:var(--primary-ink)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-input)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ink-12);border-radius:999px;border:2px solid var(--surface-0)}::-webkit-scrollbar-thumb:hover{background:var(--ink-24)}.cc-page{display:grid;gap:18px;animation:cc-rise var(--dur-3) var(--ease)}.cc-grid{display:grid;gap:14px}.cc-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.cc-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.cc-filter-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.cc-filter-row>*{min-width:168px}.cc-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.cc-table-wrap{overflow:auto}.cc-table{width:100%;border-collapse:collapse}.cc-table th{text-align:left;padding:13px 16px;font-size:12px;font-weight:var(--w-semi);color:var(--fg-2);letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2);border-bottom:1px solid var(--border-1);white-space:nowrap}.cc-table td{padding:15px 16px;border-bottom:1px solid var(--border-2);vertical-align:middle;font-size:14px}.cc-table tbody tr{transition:background var(--dur-1) var(--ease)}.cc-table tbody tr:hover{background:var(--ink-04)}.cc-table__mono,.cc-mono{font-family:var(--font-mono);color:var(--fg-2);font-size:13px}.cc-table__muted,.cc-muted{color:var(--fg-3);font-size:13px}.cc-row-title{display:grid;gap:2px}.cc-row-title strong{color:var(--fg-1);font-weight:var(--w-semi)}.cc-row-title span{color:var(--fg-3);font-family:var(--font-mono);font-size:12px}.cc-checkbox{width:16px;height:16px;accent-color:var(--primary)}.cc-link{border:none;background:transparent;color:var(--primary);padding:0}.cc-link:hover{text-decoration:underline}.cc-panel{background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--r-card);box-shadow:var(--shadow-1)}.cc-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.cc-product-card{position:relative;display:grid;gap:14px;padding:20px;background:linear-gradient(145deg,#fffdf7e6,#faf6eef2),radial-gradient(circle at 0 0,rgba(232,98,61,.12),transparent 34%);border:1px solid var(--border-1);border-radius:18px;box-shadow:var(--shadow-1);overflow:hidden}.cc-product-card:after{content:"";position:absolute;inset:auto -30px -54px auto;width:140px;height:140px;border-radius:999px;background:var(--primary-soft);opacity:.55}.cc-product-card>*{position:relative;z-index:1}.cc-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cc-avatar{width:40px;height:40px;border-radius:12px;background:var(--primary-soft);color:var(--primary-ink);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--w-bold);overflow:hidden}.cc-price{font-family:var(--font-display);font-size:30px;color:var(--primary);font-weight:var(--w-semi);line-height:1}.cc-stat-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cc-stat-line span{color:var(--fg-3);font-size:13px}.cc-stat-line b{color:var(--fg-1);font-family:var(--font-mono)}.cc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cc-form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.cc-form-full{grid-column:1 / -1}.cc-summary{background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--r-card);padding:16px;display:grid;gap:10px}.cc-summary-row{display:flex;justify-content:space-between;gap:12px}.cc-summary-row span:first-child{color:var(--fg-3)}.cc-summary-row strong{font-family:var(--font-mono)}.cc-loading{padding:32px;text-align:center;color:var(--fg-3)}.cc-danger-text{color:var(--danger)}.cc-success-text{color:var(--success)}.cc-warning-text{color:var(--warning)}.cc-primary-text{color:var(--primary)}@keyframes cc-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 960px){.cc-grid--2,.cc-grid--3,.cc-grid--4,.cc-form-grid,.cc-form-grid--3{grid-template-columns:1fr}}
