.update-prompt[data-v-d8ad0fa0]{position:fixed;top:12px;left:0;right:0;width:max-content;margin:0 auto;z-index:9999;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:8px 8px 8px 16px;border-radius:var(--r-md);background:var(--fg-strong);color:var(--bg);box-shadow:var(--shadow-pop);font-family:var(--font-body);font-size:14px;line-height:1.4}.up-text[data-v-d8ad0fa0]{min-width:0}.up-btn[data-v-d8ad0fa0]{flex:none;padding:5px 14px;border:0;border-radius:var(--r-sm);background:var(--accent);color:#fff;font:inherit;font-weight:500;cursor:pointer}.up-btn[data-v-d8ad0fa0]:hover{background:var(--accent-strong)}.up-slide-enter-active[data-v-d8ad0fa0],.up-slide-leave-active[data-v-d8ad0fa0]{transition:opacity .2s ease,transform .2s ease}.up-slide-enter-from[data-v-d8ad0fa0],.up-slide-leave-to[data-v-d8ad0fa0]{opacity:0;transform:translateY(-8px)}.sc{--_surface: var(--sc-surface, #fff);--_ink: var(--sc-ink, #1b1f27);--_muted: var(--sc-muted, #8a909c);--_track: var(--sc-track, #eef0f3);--_hover: var(--sc-hover, rgb(16 24 40 / .06));--_accent: var(--sc-accent, #3b6ef5);--_accent-soft: var(--sc-accent-soft, #e6edfe);--_on-accent: var(--sc-on-accent, #fff);--_ok: var(--sc-ok, #1f9d63);--_ok-soft: var(--sc-ok-soft, #ddf3e8);--_bad: var(--sc-bad, #d64545);--_bad-soft: var(--sc-bad-soft, #fbe4e4);--_radius: var(--sc-radius, 16px);--_shadow: var(--sc-shadow, 0 1px 2px rgb(16 24 40 / .06), 0 12px 32px rgb(16 24 40 / .12));--_scrim: var(--sc-scrim, rgb(12 15 22 / .5));--_font: var(--sc-font, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif);font-family:var(--_font);color:var(--_ink);-webkit-font-smoothing:antialiased;box-sizing:border-box}.sc *,.sc *:before,.sc *:after{box-sizing:border-box}[data-theme=dark] .sc{--_surface: var(--sc-surface, #1a1d24);--_ink: var(--sc-ink, #e9ebf0);--_muted: var(--sc-muted, #8b93a3);--_track: var(--sc-track, #262a33);--_hover: var(--sc-hover, rgb(255 255 255 / .07));--_accent: var(--sc-accent, #5b87ff);--_accent-soft: var(--sc-accent-soft, rgb(91 135 255 / .2));--_ok: var(--sc-ok, #34c27f);--_ok-soft: var(--sc-ok-soft, rgb(52 194 127 / .18));--_bad: var(--sc-bad, #f06464);--_bad-soft: var(--sc-bad-soft, rgb(240 100 100 / .18));--_shadow: var(--sc-shadow, 0 0 0 1px rgb(255 255 255 / .07), 0 20px 48px rgb(0 0 0 / .55));--_scrim: var(--sc-scrim, rgb(4 6 10 / .62))}@media (prefers-color-scheme: dark){:root:not([data-theme]) .sc{--_surface: var(--sc-surface, #1a1d24);--_ink: var(--sc-ink, #e9ebf0);--_muted: var(--sc-muted, #8b93a3);--_track: var(--sc-track, #262a33);--_hover: var(--sc-hover, rgb(255 255 255 / .07));--_accent: var(--sc-accent, #5b87ff);--_accent-soft: var(--sc-accent-soft, rgb(91 135 255 / .2));--_ok: var(--sc-ok, #34c27f);--_ok-soft: var(--sc-ok-soft, rgb(52 194 127 / .18));--_bad: var(--sc-bad, #f06464);--_bad-soft: var(--sc-bad-soft, rgb(240 100 100 / .18));--_shadow: var(--sc-shadow, 0 0 0 1px rgb(255 255 255 / .07), 0 20px 48px rgb(0 0 0 / .55));--_scrim: var(--sc-scrim, rgb(4 6 10 / .62))}}.sc-popup{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--sc-z, 1000);display:grid;place-items:center;padding:20px}.sc-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--_scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:sc-fade .18s ease-out}.sc-popup .sc-card{position:relative;width:340px;max-width:100%;background:var(--_surface);border-radius:var(--_radius);box-shadow:var(--_shadow);padding:16px 20px 20px;animation:sc-rise .22s cubic-bezier(.22,.61,.36,1)}.sc-hd{display:flex;align-items:flex-start;gap:4px;margin-bottom:14px}.sc-grip{display:none}.sc-hd-text{flex:1;min-width:0}.sc-title{font-size:15px;font-weight:600;line-height:22px}.sc-hint{font-size:12.5px;color:var(--_muted);margin-top:1px}.sc-ib{flex:none;width:30px;height:30px;border:0;padding:0;border-radius:8px;background:transparent;color:var(--_muted);display:grid;place-items:center;cursor:pointer}.sc-ib:hover{background:var(--_hover);color:var(--_ink)}.sc-ib:focus-visible,.sc-knob:focus-visible,.sc-img-refresh:focus-visible{outline:2px solid var(--_accent);outline-offset:2px}.sc-inline{width:100%}.sc-inline .sc-trk{margin-top:10px}.sc-img{position:relative;width:100%;border-radius:10px;overflow:hidden;background:var(--_track);user-select:none;-webkit-user-select:none}.sc-bg{display:block;width:100%;height:100%;pointer-events:none}.sc-piece{position:absolute;pointer-events:none;filter:drop-shadow(0 0 .6px rgb(255 255 255)) drop-shadow(0 3px 5px rgb(0 0 0 / .45));will-change:left}.sc-lift{filter:drop-shadow(0 0 .6px rgb(255 255 255)) drop-shadow(0 6px 10px rgb(0 0 0 / .5))}.sc-shake{animation:sc-shake .36s ease-in-out}.sc-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--_accent)}.sc-retry{border:0;background:transparent;font:inherit;font-size:13px;color:var(--_muted);cursor:pointer}.sc-retry:hover{color:var(--_accent)}.sc-ban{position:absolute;left:0;right:0;bottom:0;height:34px;display:flex;align-items:center;gap:6px;padding:0 12px;color:#fff;font-size:13px;font-weight:500;animation:sc-up .2s ease-out}.sc-ban-ok{background:color-mix(in srgb,var(--_ok) 92%,transparent)}.sc-ban-bad{background:color-mix(in srgb,var(--_bad) 92%,transparent)}.sc-ban-sub{margin-left:6px;font-weight:400;opacity:.85}.sc-img-refresh{position:absolute;right:6px;top:6px;width:26px;height:26px;border:0;padding:0;border-radius:13px;background:#00000059;color:#fff;display:grid;place-items:center;cursor:pointer}.sc-img-refresh:hover{background:#00000080}.sc-trk{position:relative;height:var(--sc-track-h, 44px);margin-top:14px;border-radius:999px;background:var(--_track);display:grid;place-items:center;font-size:13px;color:var(--_muted);overflow:hidden;user-select:none;-webkit-user-select:none}.sc-trk-text{justify-self:stretch;min-width:0;padding:0 14px 0 64px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-trk-text.sc-hidden{visibility:hidden}.sc-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--_accent-soft)}.sc-knob{position:absolute;left:0;top:0;width:56px;height:100%;border-radius:999px;background:var(--_accent);color:var(--_on-accent);display:grid;place-items:center;box-shadow:0 2px 6px #0000002e;cursor:grab;touch-action:none;transition:background-color .15s,box-shadow .15s}.sc-idle .sc-knob,.sc-loading .sc-knob,.sc-error .sc-knob{transition:transform .25s cubic-bezier(.22,.61,.36,1),background-color .15s}.sc-dragging .sc-knob{cursor:grabbing;box-shadow:0 0 0 4px color-mix(in srgb,var(--_accent) 20%,transparent),0 4px 10px #0003}.sc-loading .sc-knob,.sc-error .sc-knob{background:var(--_muted);opacity:.55;box-shadow:none;cursor:default}.sc-checking .sc-knob{cursor:progress}.sc-success .sc-fill{background:var(--_ok-soft)}.sc-success .sc-knob{background:var(--_ok)}.sc-fail .sc-fill{background:var(--_bad-soft)}.sc-fail .sc-knob{background:var(--_bad)}.sc-spin{animation:sc-spin .9s linear infinite}@media (max-width: 480px){.sc-popup{place-items:end stretch;padding:0}.sc-popup .sc-card{width:100%;border-radius:var(--_radius) var(--_radius) 0 0;padding:22px 16px calc(20px + env(safe-area-inset-bottom));animation:sc-sheet .26s cubic-bezier(.22,.61,.36,1)}.sc-popup .sc-hd{align-items:center;margin-bottom:10px}.sc-popup .sc-grip{display:block;position:absolute;top:8px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--_track)}}@keyframes sc-spin{to{transform:rotate(360deg)}}@keyframes sc-fade{0%{opacity:0}}@keyframes sc-rise{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes sc-sheet{0%{transform:translateY(100%)}}@keyframes sc-up{0%{transform:translateY(100%)}}@keyframes sc-shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@media (prefers-reduced-motion: reduce){.sc *,.sc-scrim{animation:none!important;transition:none!important}.sc-spin{animation:sc-spin .9s linear infinite!important}}:root{--font-display: "Iowan Old Style", "Charter", "Source Han Serif SC", "Songti SC", Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "IBM Plex Mono", Menlo, monospace;--r-sm: 8px;--r-md: 11px;--r-lg: 16px;--r-pill: 999px;--rail-w: 66px;--nav-h: 56px;--ease: cubic-bezier(.22, .61, .36, 1)}:root,[data-theme=light]{--bg: oklch(98.6% .003 250);--surface: oklch(100% 0 0);--surface-2: oklch(97% .004 250);--fg: oklch(24% .012 260);--fg-strong: oklch(17% .014 260);--muted: oklch(52% .012 260);--faint: oklch(64% .01 260);--border: oklch(91% .005 260);--border-2: oklch(86% .006 260);--accent: oklch(52% .097 175);--accent-strong: oklch(45% .1 176);--accent-soft: oklch(95% .03 175);--accent-ring: oklch(52% .097 175 / .32);--success: oklch(58% .12 155);--warn: oklch(72% .13 75);--danger: oklch(58% .16 27);--info: oklch(60% .09 235);--shadow-pop: 0 12px 32px -8px oklch(24% .02 260 / .18), 0 2px 6px oklch(24% .02 260 / .08);--shadow-card: 0 1px 2px oklch(24% .02 260 / .05)}[data-theme=paper]{--bg: oklch(96.5% .012 90);--surface: oklch(99.2% .006 90);--surface-2: oklch(94.5% .012 88);--fg: oklch(26% .012 60);--fg-strong: oklch(19% .014 55);--muted: oklch(50% .012 65);--faint: oklch(62% .012 70);--border: oklch(89% .013 85);--border-2: oklch(84% .015 85);--accent: oklch(52% .13 264);--accent-strong: oklch(45% .135 264);--accent-soft: oklch(95% .03 264);--accent-ring: oklch(52% .13 264 / .32);--success: oklch(56% .12 150);--warn: oklch(58% .1 75);--danger: oklch(52% .15 25);--info: oklch(56% .09 235);--shadow-pop: 0 12px 32px -8px oklch(40% .03 70 / .16), 0 2px 6px oklch(40% .03 70 / .07);--shadow-card: 0 1px 2px oklch(40% .03 70 / .06)}[data-theme=klein]{--bg: oklch(20% .045 264);--surface: oklch(24% .05 264);--surface-2: oklch(28% .055 264);--fg: oklch(91% .02 250);--fg-strong: oklch(97% .012 250);--muted: oklch(72% .03 255);--faint: oklch(60% .035 258);--border: oklch(33% .05 264);--border-2: oklch(40% .055 264);--accent: oklch(70% .13 264);--accent-strong: oklch(78% .13 264);--accent-soft: oklch(34% .07 264);--accent-ring: oklch(70% .13 264 / .34);--success: oklch(74% .13 158);--warn: oklch(80% .13 78);--danger: oklch(70% .15 27);--info: oklch(74% .1 235);--shadow-pop: 0 16px 40px -10px oklch(0% 0 0 / .55), 0 2px 8px oklch(0% 0 0 / .4);--shadow-card: 0 1px 2px oklch(0% 0 0 / .3)}[data-theme=dark]{--bg: oklch(19% .012 260);--surface: oklch(22.5% .013 260);--surface-2: oklch(25.5% .014 260);--fg: oklch(90% .008 260);--fg-strong: oklch(96% .006 260);--muted: oklch(70% .012 260);--faint: oklch(58% .012 260);--border: oklch(30% .012 260);--border-2: oklch(36% .014 260);--accent: oklch(74% .11 172);--accent-strong: oklch(80% .11 172);--accent-soft: oklch(34% .05 174);--accent-ring: oklch(74% .11 172 / .34);--success: oklch(74% .13 158);--warn: oklch(80% .13 78);--danger: oklch(70% .15 27);--info: oklch(74% .1 235);--shadow-pop: 0 16px 40px -10px oklch(0% 0 0 / .55), 0 2px 8px oklch(0% 0 0 / .4);--shadow-card: 0 1px 2px oklch(0% 0 0 / .3)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font:15px/1.6 var(--font-body);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .35s var(--ease),color .35s var(--ease);min-height:100vh}#app{min-height:100vh}h1,h2,h3,h4{font-family:var(--font-display);color:var(--fg-strong);font-weight:600;line-height:1.15}h1{font-size:clamp(30px,4.4vw,46px);letter-spacing:-.02em}h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:-.015em}h3{font-size:20px;letter-spacing:-.01em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}::selection{background:var(--accent-soft);color:var(--accent-strong)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}*{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:99px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--faint);background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}.app{display:flex;min-height:100vh}.rail{width:var(--rail-w);flex:none;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:16px 0 14px;gap:6px;position:sticky;top:0;height:100vh;z-index:40}.rail-brand{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--accent);color:#fff;margin-bottom:12px;box-shadow:0 6px 16px -6px var(--accent-ring)}.rail-brand svg{width:22px;height:22px}.rail-item{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;cursor:pointer;color:var(--muted);position:relative;border:none;background:none;transition:background .18s var(--ease),color .18s var(--ease)}.rail-item:hover{background:var(--surface-2);color:var(--fg)}.rail-item.active{background:var(--accent-soft);color:var(--accent-strong)}.rail-item.active:before{content:"";position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:99px;background:var(--accent)}.rail-item svg{width:22px;height:22px}.rail-item .tip{position:absolute;left:58px;top:50%;transform:translateY(-50%) scale(.96);background:var(--fg-strong);color:var(--bg);padding:5px 10px;border-radius:8px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:60}.rail-item:hover .tip{opacity:1;transform:translateY(-50%) scale(1)}.rail-spacer{flex:1}.content{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--nav-h);flex:none;display:flex;align-items:center;gap:14px;padding:0 22px;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--bg) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:30}.topbar .page-title{font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--fg-strong)}.topbar-spacer{flex:1}.btn{display:inline-flex;align-items:center;gap:7px;justify-content:center;height:36px;padding:0 15px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface);color:var(--fg);font-size:14px;font-weight:510;cursor:pointer;white-space:nowrap;transition:transform .08s var(--ease),background .18s,border-color .18s,box-shadow .18s}.btn:hover{background:var(--surface-2);border-color:var(--faint)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:17px;height:17px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover{background:var(--surface-2);color:var(--fg)}.btn-sm{height:30px;padding:0 11px;font-size:13px;border-radius:7px}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:30px}.input{height:38px;padding:0 13px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface);width:100%;transition:border-color .18s,box-shadow .18s}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}textarea.input{height:auto;padding:10px 13px;line-height:1.6;resize:vertical}.input::placeholder{color:var(--faint)}.form-row{display:flex;align-items:center;gap:12px}.form-row>label{flex:none;white-space:nowrap;color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:var(--r-pill);font-size:12px;font-weight:510;letter-spacing:.01em;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.chip-accent{background:var(--accent-soft);color:var(--accent-strong);border-color:transparent}.chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.chip.ok{color:var(--success)}.chip.warn{color:var(--warn)}.chip.danger{color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-card)}.card-pad{padding:18px}.wrap{max-width:1240px;margin:0 auto;width:100%;padding:28px 28px 64px}.theme-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-2);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--muted)}.theme-toggle:hover{color:var(--fg);border-color:var(--faint)}.theme-toggle svg{width:18px;height:18px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#11161f6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:45}.scrim.show{opacity:1;pointer-events:auto}.grid{display:grid;gap:16px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rise{animation:rise .5s var(--ease) both}:root{--sc-surface: var(--surface);--sc-ink: var(--fg);--sc-muted: var(--muted);--sc-track: color-mix(in oklch, var(--fg) 7%, var(--surface));--sc-hover: color-mix(in oklch, var(--fg) 7%, transparent);--sc-accent: var(--accent);--sc-accent-soft: var(--accent-soft);--sc-ok: var(--success);--sc-ok-soft: color-mix(in oklch, var(--success) 18%, var(--surface));--sc-bad: var(--danger);--sc-bad-soft: color-mix(in oklch, var(--danger) 16%, var(--surface));--sc-radius: var(--r-lg);--sc-shadow: var(--shadow-pop);--sc-font: var(--font-body)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-weight:560;color:var(--muted);font-size:12px;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table .actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar .input{max-width:280px}.empty{color:var(--muted);padding:28px;text-align:center}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:13px;color:var(--muted)}.hint{font-size:12.5px;color:var(--muted);line-height:1.6}.err{color:var(--danger);font-size:13px}.pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:12px;color:var(--muted);font-size:13px}.table td.nowrap,.table th,.chip{white-space:nowrap}
