.toast-leave-active[data-v-d4598e9c]{transition:opacity .2s ease,transform .2s ease}.toast-leave-to[data-v-d4598e9c]{opacity:0;transform:translate(20px)}*,*:before,*:after{box-sizing:border-box}:root{--font-sans: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;--accent: #c8f04a;--accent-rgb: 200, 240, 74;--accent-ink: #0b0d0c;--ok: #6fe3a1;--warn: #f5b544;--danger: #ff6b5e;--radius: 4px;--sidebar: 248px;--topbar: 66px}:root[data-theme=dark]{--accent-text: var(--accent);--bg: #080a09;--bg-grid: rgba(255, 255, 255, .022);--panel: #0f1412;--panel-2: #131916;--panel-3: #18201c;--line: #222b26;--line-strong: #35423a;--text: #e9f0ea;--text-dim: #98a79e;--text-faint: #61706a;--shadow: 0 24px 70px rgba(0, 0, 0, .55);--overlay: rgba(4, 6, 5, .72);--input-bg: #0b100e;--hover: rgba(255, 255, 255, .045)}:root[data-theme=light]{--accent-text: color-mix(in srgb, var(--accent) 62%, #14532d);--ok: #1d9e5f;--warn: #b07408;--danger: #d43a2b;--bg: #f5f7fa;--bg-grid: rgba(10, 20, 15, .04);--panel: #ffffff;--panel-2: #f7f9fb;--panel-3: #eef1f5;--line: #e2e6ec;--line-strong: #c3cad4;--text: #161a1f;--text-dim: #4d5762;--text-faint: #87909c;--shadow: 0 24px 60px rgba(25, 35, 50, .14);--overlay: rgba(24, 28, 34, .36);--input-bg: #ffffff;--hover: rgba(10, 20, 15, .05)}html,body,#app{height:100%;margin:0}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.6}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(var(--bg-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bg-grid) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 50% 0%,black 25%,transparent 78%);mask-image:radial-gradient(ellipse at 50% 0%,black 25%,transparent 78%)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}::selection{background:rgba(var(--accent-rgb),.32);color:var(--text)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}h1,h2,h3,h4,p{margin:0}.mono{font-family:var(--font-mono)}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.accent-text{color:var(--accent-text)}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint)}.nowrap{white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--radius);border:1px solid var(--line-strong);background:transparent;color:var(--text);font-size:13px;font-weight:600;letter-spacing:.02em;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .1s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:hover{background:var(--hover);border-color:var(--text-faint)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent);border-color:var(--accent);filter:brightness(1.08)}.btn-danger{color:var(--danger);border-color:#ff6b5e61}.btn-danger:hover{background:#ff6b5e1a;border-color:var(--danger)}.btn-warn{color:var(--warn);border-color:#f5b54466}.btn-warn:hover{background:#f5b5441a;border-color:var(--warn)}.btn-ghost{border-color:transparent;color:var(--text-dim)}.btn-ghost:hover{color:var(--text);background:var(--hover);border-color:transparent}.btn-sm{height:30px;padding:0 10px;font-size:12px}.btn-block{width:100%}.btn-icon{width:38px;height:38px;padding:0;border-color:var(--line);color:var(--text-dim)}.btn-icon:hover{color:var(--text)}.btn-link{color:var(--accent-text);font-size:12px;font-weight:600;padding:0;height:auto}.btn-link:hover{text-decoration:underline}.field{display:flex;flex-direction:column;gap:7px}.field-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.field-hint{font-size:12px;color:var(--text-faint)}.field-error{font-size:12px;color:var(--danger)}.input,.textarea,.select{width:100%;height:42px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--input-bg);padding:0 13px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.textarea{height:auto;padding:11px 13px;resize:vertical;min-height:110px;line-height:1.6}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-faint) 50%),linear-gradient(135deg,var(--text-faint) 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 13px) 18px;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.input.invalid,.textarea.invalid{border-color:var(--danger)}.input-row{display:flex;gap:8px;align-items:stretch}.input-row .input{flex:1}.checkbox{display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;color:var(--text-dim)}.checkbox input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:1px solid var(--line-strong);border-radius:3px;background:var(--input-bg);display:grid;place-items:center;margin:0}.checkbox input:checked{background:var(--accent);border-color:var(--accent)}.checkbox input:checked:after{content:"";width:8px;height:4px;border-left:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);transform:rotate(-45deg) translateY(-1px)}.card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card:before,.card:after{content:"";position:absolute;width:9px;height:9px;border-color:var(--line-strong);border-style:solid;opacity:.9;pointer-events:none}.card:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.card:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid var(--line)}.card-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:.01em}.card-title:before{content:"//";font-family:var(--font-mono);color:var(--accent-text);font-size:13px;letter-spacing:-.1em}.card-desc{margin-top:5px;font-size:12.5px;color:var(--text-dim);line-height:1.55}.card-body{padding:20px 22px 22px}.card-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card+.card{margin-top:14px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px;flex-wrap:wrap}.page-index{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--accent-text);margin-bottom:8px}.page-title{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.2}.page-sub{margin-top:7px;color:var(--text-dim);font-size:13px;max-width:680px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.divider{height:1px;background:var(--line);border:none;margin:18px 0}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.kv{padding:13px 16px;border-bottom:1px solid var(--line);background:var(--panel-2)}.kv:nth-child(odd){border-right:1px solid var(--line)}.kv:nth-last-child(-n+2){border-bottom:none}.kv-key{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.kv-val{margin-top:4px;font-size:14px;font-weight:600;word-break:break-all}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}.table th{text-align:left;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-weight:500;padding:11px 16px;background:var(--panel-2);border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:12px 16px;border-bottom:1px solid var(--line);color:var(--text-dim);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--hover)}.table .mono{color:var(--text)}.badge{display:inline-flex;align-items:center;gap:6px;height:23px;padding:0 9px;border-radius:99px;border:1px solid var(--line-strong);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap}.badge:before{content:"";width:5px;height:5px;border-radius:99px;background:currentColor}.badge-accent{color:var(--accent-text);border-color:rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.1)}.badge-ok{color:var(--ok);border-color:#6fe3a152;background:#6fe3a10f}.badge-warn{color:var(--warn);border-color:#f5b54452;background:#f5b5440f}.badge-danger{color:var(--danger);border-color:#ff6b5e52;background:#ff6b5e0f}.alert{padding:12px 15px;border-radius:var(--radius);border:1px solid var(--line-strong);border-left-width:2px;font-size:12.5px;line-height:1.6;color:var(--text-dim);background:var(--panel-2);word-break:break-word}.alert+.alert{margin-top:8px}.alert-ok{border-left-color:var(--ok)}.alert-warn{border-left-color:var(--warn)}.alert-danger{border-left-color:var(--danger)}.alert-info{border-left-color:var(--accent)}.code-block{font-family:var(--font-mono);font-size:12px;background:var(--input-bg);border:1px solid var(--line);border-radius:var(--radius);padding:13px 15px;overflow:auto;color:var(--text-dim);line-height:1.7;word-break:break-all;white-space:pre-wrap}.token-row{display:flex;align-items:center;gap:10px;background:var(--input-bg);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;margin-bottom:14px}.token-row code{flex:1;font-family:var(--font-mono);font-size:12px;color:var(--accent-text);word-break:break-all}.empty{padding:48px 20px;text-align:center;color:var(--text-faint);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;border:1px dashed var(--line-strong);border-radius:var(--radius)}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.18);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(var(--accent-rgb),.02);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-dim);z-index:3}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:100%;max-width:560px;max-height:88vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid var(--line)}.modal-title{font-size:14px;font-weight:700;letter-spacing:.02em}.modal-title:before{content:"// ";font-family:var(--font-mono);color:var(--accent-text)}.modal-body{padding:20px;overflow:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:15px 20px;border-top:1px solid var(--line);background:var(--panel-2)}.modal-close{color:var(--text-faint);display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius)}.modal-close:hover{color:var(--text);background:var(--hover)}.toast-host{position:fixed;right:22px;bottom:22px;z-index:3000;display:flex;flex-direction:column;gap:9px;max-width:min(380px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 15px;background:var(--panel);border:1px solid var(--line-strong);border-left:3px solid var(--text-dim);border-radius:var(--radius);box-shadow:var(--shadow);font-size:13px;animation:toast-in .24s ease}.toast-success{border-left-color:var(--ok)}.toast-error{border-left-color:var(--danger)}.toast-warning{border-left-color:var(--warn)}.toast-info{border-left-color:var(--accent)}.toast-msg{flex:1;line-height:1.5;word-break:break-word}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;font-family:var(--font-mono);font-size:12px;color:var(--text-faint)}.page-btn{min-width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);color:var(--text-dim);background:var(--panel)}.page-btn:hover:not(:disabled){border-color:var(--line-strong);color:var(--text)}.page-btn.active{border-color:var(--accent);color:var(--accent-text);background:rgba(var(--accent-rgb),.09)}.page-btn:disabled{opacity:.35;cursor:not-allowed}.fade-enter-active,.fade-leave-active{transition:opacity .16s ease}.fade-enter-from,.fade-leave-to{opacity:0}.view-enter-active{transition:opacity .28s ease,transform .28s ease}.view-enter-from{opacity:0;transform:translateY(10px)}.rise{animation:rise .5s cubic-bezier(.16,1,.3,1) both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(max-width:900px){.grid-2,.grid-3,.kv-grid{grid-template-columns:1fr}.kv:nth-child(odd){border-right:none}.kv:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.kv:last-child{border-bottom:none}.page-title{font-size:22px}}
