:root{--bg-page:#0a0a0f;--bg-sidebar:#0c0c15;--bg-surface:#13131c;--bg-surface-alt:#0d0d14;--bg-surface-deep:#111119;--bg-input:rgba(255,255,255,0.03);--bg-hover:rgba(255,255,255,0.05);--bg-row-hover:#1a1a2e;--bg-sticky:rgba(13,13,20,0.96);--bg-tooltip:#1a1a2a;--bg-code:#0b0b12;--border:#1e1e2e;--border-subtle:#252535;--border-faint:#2a2a3a;--border-tooltip:#303048;--text-primary:#ffffff;--text-secondary:#e5e7eb;--text-body:#e2e2ec;--text-nav:#c4c4d0;--text-muted:#9ca3af;--text-faint:#6b7280;--text-ghost:#4b5563;--text-ghoster:#374151;--text-code:#d6d3f0;--gradient-surface:linear-gradient(135deg,#13131c,#111119);--purple:#6C5CE7;--gold:#F5C518;--green:#22c55e;--red:#ef4444;--amber:#f59e0b;--blue:#3b82f6;--teal:#14b8a6;--orange:#f97316;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;--color-scheme:dark}[data-theme=light]{--bg-page:#f4f5f7;--bg-sidebar:#ffffff;--bg-surface:#ffffff;--bg-surface-alt:#f8f9fb;--bg-surface-deep:#f3f4f6;--bg-input:#ffffff;--bg-hover:rgba(0,0,0,0.04);--bg-row-hover:#f0f1f5;--bg-sticky:rgba(248,249,251,0.96);--bg-tooltip:#ffffff;--bg-code:#fbfbfd;--border:#e5e7eb;--border-subtle:#d1d5db;--border-faint:#e9eaec;--border-tooltip:#d1d5db;--text-primary:#111827;--text-secondary:#374151;--text-body:#4b5563;--text-nav:#374151;--text-muted:#6b7280;--text-faint:#9ca3af;--text-ghost:#9ca3af;--text-ghoster:#b6bcc6;--text-code:#312e81;--gradient-surface:linear-gradient(135deg,#ffffff,#f6f7f9);--color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;background:var(--bg-page);color:var(--text-secondary);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;color-scheme:var(--color-scheme)}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.mono,code{font-family:var(--mono);font-size:.92em}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}::selection{background:rgba(108,92,231,.35)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes float1{0%,to{transform:translate(0)}50%{transform:translate(30px,-20px)}}@keyframes float2{0%,to{transform:translate(0)}50%{transform:translate(-20px,30px)}}.spin{animation:spin .9s linear infinite}.shell{display:flex;height:100vh;overflow:hidden;background:var(--bg-page)}.main{flex:1 1;min-width:0;min-height:0;overflow-y:auto}@media (max-width:767px){.main{padding-bottom:calc(60px + env(safe-area-inset-bottom, 0px))}}.page-head{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--bg-sticky);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.page-head-inner{padding:16px 28px;gap:12px;flex-wrap:wrap}.page-head-inner,.page-title{display:flex;align-items:center}.page-title{gap:8px;font-size:17px;font-weight:800;color:var(--text-primary);letter-spacing:-.3px}.page-sub{font-size:11.5px;color:var(--text-ghost);margin-top:1px}.page-body{padding:20px 28px 48px;animation:fadeUp .25s ease}.crumb{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-faint);margin-bottom:2px}.crumb:hover{color:var(--purple)}@media (max-width:767px){.page-head-inner{padding:12px 14px}.page-body{padding:12px 14px 80px}.page-title{font-size:15px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:8px;font-size:12px;font-weight:700;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s;white-space:nowrap;line-height:1.4}.btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-subtle)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#6C5CE7,#5a4dd1);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(108,92,231,.35)}.btn-primary:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#7a6cf0,#6456dd);transform:translateY(-1px);box-shadow:0 8px 22px rgba(108,92,231,.45)}.btn-gold{background:linear-gradient(135deg,#F5C518,#e0b000);color:#1a1a1a;border-color:transparent;box-shadow:0 4px 14px rgba(245,197,24,.25)}.btn-gold:hover:not(:disabled){color:#1a1a1a;background:linear-gradient(135deg,#ffd43b,#eab800);transform:translateY(-1px)}.btn-teal{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(20,184,166,.3)}.btn-teal:hover:not(:disabled){color:#fff;transform:translateY(-1px)}.btn-ghost-green{border-color:rgba(34,197,94,.35);color:var(--green)}.btn-ghost-green:hover:not(:disabled){background:rgba(34,197,94,.08);color:var(--green);border-color:rgba(34,197,94,.55)}.btn-danger{color:var(--text-faint)}.btn-danger:hover:not(:disabled){background:rgba(239,68,68,.08);color:#f87171;border-color:rgba(239,68,68,.3)}.btn-sm{padding:4px 10px;font-size:11px;border-radius:7px}.btn-icon{padding:6px}.card{background:var(--gradient-surface);border:1px solid var(--border);border-radius:14px;margin-bottom:16px;overflow:hidden}.card-head{gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.card-head,.card-title{display:flex;align-items:center}.card-title{gap:7px;font-size:13px;font-weight:800;color:var(--text-primary)}.card-title .ico{display:inline-flex;padding:5px;border-radius:8px}.card-sub{font-size:11.5px;color:var(--text-faint);margin-top:2px}.card-body{padding:16px 18px}.card-actions{margin-left:auto;gap:8px;align-items:center}.card-actions,.kpi-row{display:flex;flex-wrap:wrap}.kpi-row{gap:12px;margin-bottom:16px}.kpi{background:var(--gradient-surface);border:1px solid var(--border);border-radius:14px;padding:14px 18px;flex:1 1 160px;min-width:150px;position:relative;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1)}.kpi.clickable{cursor:pointer}.kpi.clickable:hover{transform:translateY(-2px);background:var(--bg-row-hover)}.kpi-bar{position:absolute;top:0;left:0;right:0;height:3px}.kpi-orb{position:absolute;top:-24px;right:-24px;width:100px;height:100px;border-radius:50%;pointer-events:none}.kpi-label{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px;font-size:10px;color:var(--text-ghost);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.kpi-value{font-size:26px;font-weight:900;line-height:1.05;margin-bottom:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.5px}.kpi-sub,.kpi-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-sub{font-size:11px;color:var(--text-faint)}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:99px;font-size:11px;font-weight:600;border:1px solid var(--border);background:transparent;color:var(--text-ghost);cursor:pointer;transition:all .12s;white-space:nowrap}.pill:hover{color:var(--text-muted);border-color:var(--border-subtle)}.badge{padding:2px 9px;border-radius:99px;font-weight:700;border:1px solid transparent;line-height:1.6}.badge,.chip{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;white-space:nowrap}.chip{padding:1px 7px;border-radius:6px;font-family:var(--mono);font-weight:600;background:var(--bg-hover);border:1px solid var(--border);color:var(--text-muted)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.table-wrap{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:12px;color:var(--text-body)}.tbl th{padding:9px 14px;text-align:left;color:var(--text-ghost);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;background:var(--bg-surface-alt)}.tbl td,.tbl th{border-bottom:1px solid var(--border);white-space:nowrap}.tbl td{padding:10px 14px;vertical-align:middle}.tbl td.wrap{white-space:normal}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background .12s}.tbl tbody tr:hover{background:var(--bg-row-hover)}.tbl tr.link{cursor:pointer}.tbl .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tbl-empty{padding:32px;text-align:center;color:var(--text-ghost);font-size:12px}.strong{color:var(--text-primary);font-weight:700}.faint{color:var(--text-faint)}.ghost{color:var(--text-ghost)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px}.field-hint{font-size:11px;color:var(--text-ghost)}.input,.select{width:100%;padding:8px 11px;border-radius:8px;font-size:12.5px;background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.input::placeholder{color:var(--text-ghost)}.input:focus,.select:focus{border-color:rgba(108,92,231,.6);box-shadow:0 0 0 3px rgba(108,92,231,.12)}.input:disabled,.select:disabled{opacity:.45;cursor:not-allowed}.input.mono{font-family:var(--mono);font-size:12px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--text-faint) 50%),linear-gradient(135deg,var(--text-faint) 50%,transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 10px) 52%;background-size:4px 4px;background-repeat:no-repeat}.select option{background:var(--bg-surface);color:var(--text-primary)}.grid{display:grid;grid-gap:14px;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1100px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.search{position:relative;flex:1 1 240px;max-width:360px}.search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-ghost)}.search .input{padding-left:30px}.toggle{display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:12.5px;color:var(--text-body)}.toggle .track{width:34px;height:19px;border-radius:99px;background:var(--border-subtle);position:relative;transition:background .18s;flex-shrink:0}.toggle .thumb{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .18s;box-shadow:0 1px 3px rgba(0,0,0,.3)}.toggle.on .thumb{transform:translateX(15px)}.toggle.disabled{opacity:.5;cursor:not-allowed}.cbox{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:12.5px;color:var(--text-body);-webkit-user-select:none;-moz-user-select:none;user-select:none}.cbox input{width:15px;height:15px;accent-color:var(--purple);cursor:pointer}.tabs{display:flex;gap:4px;padding:0 28px;overflow-x:auto;scrollbar-width:none}.tab{display:inline-flex;align-items:center;gap:6px;padding:10px 12px 11px;font-size:12px;font-weight:600;color:var(--text-faint);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.tab.active,.tab:hover{color:var(--text-primary)}.tab.active{border-bottom-color:var(--purple)}.tab .count{font-size:10px;padding:0 6px;border-radius:99px;background:var(--bg-hover);color:var(--text-muted)}@media (max-width:767px){.tabs{padding:0 14px}}.callout{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:12px;font-size:12.5px;line-height:1.55;margin-bottom:14px;border:1px solid}.callout svg{flex-shrink:0;margin-top:2px}.callout-info{background:rgba(108,92,231,.07);border-color:rgba(108,92,231,.25);color:var(--text-body)}.callout-info svg{color:#a78bfa}.callout-ok{background:rgba(34,197,94,.07);border-color:rgba(34,197,94,.28);color:var(--text-body)}.callout-ok svg{color:var(--green)}.callout-err{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.3);color:#f87171;white-space:pre-wrap}.callout-warn{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.3);color:var(--text-body)}.callout-warn svg{color:var(--amber)}[data-theme=light] .callout-err{color:#b91c1c}.code-area{display:flex;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-code);overflow:hidden;transition:border-color .15s,box-shadow .15s}.code-area:focus-within{border-color:rgba(108,92,231,.6);box-shadow:0 0 0 3px rgba(108,92,231,.12)}.code-gutter{padding:10px 8px 10px 12px;text-align:right;color:var(--text-ghoster);font-family:var(--mono);font-size:12px;line-height:1.6;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;border-right:1px solid var(--border);background:var(--bg-surface-alt);min-width:44px}.code-input{flex:1 1;min-width:0;border:none;outline:none;resize:vertical;padding:10px 12px;background:transparent;font-size:12px;-moz-tab-size:2;tab-size:2}.code-input,pre.code{color:var(--text-code);font-family:var(--mono);line-height:1.6;white-space:pre;overflow:auto}pre.code{margin:0;padding:12px 14px;background:var(--bg-code);border:1px solid var(--border);border-radius:10px;font-size:11.5px;max-height:560px}.json-key{color:#a78bfa}.json-str{color:#34d399}.json-num{color:#fbbf24}.json-bool{color:#60a5fa}.json-null{color:var(--text-ghost);font-style:italic}[data-theme=light] .json-key{color:#6d28d9}[data-theme=light] .json-str{color:#047857}[data-theme=light] .json-num{color:#b45309}[data-theme=light] .json-bool{color:#1d4ed8}.section-label{gap:6px;font-size:11px;font-weight:700;color:var(--text-ghost);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.row,.section-label{display:flex;align-items:center}.row{gap:10px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:14px}.divider{height:1px;background:var(--border);margin:16px 0}.empty{padding:48px 20px;text-align:center;color:var(--text-ghost)}.empty-title{font-size:14px;font-weight:700;color:var(--text-muted);margin:10px 0 4px}.footnote{margin-top:10px;font-size:10.5px;color:var(--text-ghoster);line-height:1.6}.secret-box{font-family:var(--mono);font-size:13px;padding:12px 14px;border-radius:10px;border:1px dashed rgba(245,197,24,.55);background:rgba(245,197,24,.06);color:var(--text-primary);word-break:break-all}.q-card{border:1px solid var(--border);border-radius:12px;background:var(--bg-surface-alt);margin-bottom:12px;overflow:hidden}.q-card-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.q-card-body{padding:12px 14px}.stage-flow{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.stage{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--bg-surface-alt);min-width:130px}.stage-label{font-size:9.5px;font-weight:800;color:var(--text-ghost);letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px}.stage-arrow{display:flex;align-items:center;color:var(--text-ghoster)}.stage-step{display:flex;align-items:stretch;gap:8px}.trace-row{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;border-bottom:1px solid var(--border);font-size:12px}.trace-row:hover{background:var(--bg-row-hover)}.split{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}@media (max-width:1000px){.split{grid-template-columns:minmax(0,1fr)}}