:root{color-scheme:light;--bg:#F4F6F9;--panel:#FFFFFF;--sunk:#F8FAFC;--hover:#F2F5F9;--line:#E5E9F0;--line-2:#D5DCE6;--ink:#0F172A;--ink-2:#334155;--muted:#64748B;--faint:#94A3B8;--accent:#2563EB;--accent-2:#1D4ED8;--accent-soft:#EEF4FF;--accent-line:#CFDCFB;--ai:#5848E5;--ai-soft:#F5F4FF;--ai-line:#DEDAFD;--ok:#15803D;--ok-soft:#EEFAF2;--ok-line:#C7EBD3;--warn:#B45309;--warn-soft:#FFF8EC;--warn-line:#FBE3BC;--bad:#D92D20;--bad-soft:#FEF3F2;--bad-line:#FCD3CF;--nav:#0F172A;--nav-ink:#CBD5E1;--nav-muted:#64748B;--nav-hover:#1E293B;--nav-on:#1E3A8A;--sh-1:0 1px 2px rgba(15,23,42,.05);--sh-2:0 8px 24px -8px rgba(15,23,42,.14),0 2px 4px rgba(15,23,42,.04);--sh-3:0 24px 48px -12px rgba(15,23,42,.25);--font:"Inter","PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:13.5px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}p,h1,h2,h3,h4{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}svg{flex:none}.mono{font-family:var(--mono);font-size:.92em}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}.t-ok{color:var(--ok)}.t-warn{color:var(--warn)}.t-bad{color:var(--bad)}.t-ai{color:var(--ai)}.t-acc{color:var(--accent)}.shell{height:100%;display:grid;grid-template-columns:232px minmax(0,1fr)}.side{background:var(--nav);color:var(--nav-ink);display:flex;flex-direction:column;min-height:0}.side .brand{height:56px;display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid #1E293B;flex:none}.side .brand .mark{width:28px;height:28px;border-radius:8px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}.side .brand b{font-size:14px;color:#f8fafc;font-weight:600;display:block;line-height:1.2}.side .brand small{font-size:11px;color:var(--nav-muted);display:block}.side nav{flex:1;overflow:auto;padding:10px 10px 16px;display:grid;align-content:start;gap:2px}.side .grp{font-size:11px;letter-spacing:.06em;color:var(--nav-muted);padding:14px 10px 6px;font-weight:600}.side a.it{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:8px;color:var(--nav-ink);font-size:13px;text-decoration:none}.side a.it:hover{background:var(--nav-hover);color:#fff}.side a.it.on{background:var(--nav-on);color:#fff;font-weight:600}.side a.it svg{opacity:.8}.side a.it .badge{margin-left:auto;min-width:18px;height:18px;padding:0 6px;border-radius:9px;background:var(--bad);color:#fff;font-size:11px;font-weight:600;display:grid;place-items:center}.side a.it .badge.ai{background:var(--ai)}.side .foot{border-top:1px solid #1E293B;padding:12px 18px;font-size:11.5px;color:var(--nav-muted);display:grid;gap:4px}.side .foot a{color:var(--nav-ink)}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{height:56px;flex:none;display:flex;align-items:center;gap:14px;padding:0 24px;background:var(--panel);border-bottom:1px solid var(--line)}.crumb{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center}.crumb b{color:var(--ink);font-weight:600}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:10px}.site{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid var(--line-2);border-radius:8px;font-size:12.5px;background:var(--panel)}.site i{width:8px;height:8px;border-radius:50%;background:var(--ok)}.me{display:flex;align-items:center;gap:8px;font-size:12.5px}.me .av{width:30px;height:30px;font-size:12px}.content{flex:1;overflow:auto;padding:22px 24px 40px}.page{max-width:1440px;margin:0 auto;display:grid;gap:16px}.ph{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.ph h1{font-size:20px;font-weight:650;letter-spacing:-.01em;text-wrap:balance}.ph p{color:var(--muted);font-size:13px;margin-top:2px;max-width:72ch}.ph .acts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;background:var(--hover);color:var(--muted);flex:none}.av.s-acc{background:var(--accent-soft);color:var(--accent)}.av.s-ai{background:var(--ai-soft);color:var(--ai)}.av.s-ok{background:var(--ok-soft);color:var(--ok)}.av.s-warn{background:var(--warn-soft);color:var(--warn)}.av.s-bad{background:var(--bad-soft);color:var(--bad)}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:8px;border:1px solid var(--line-2);background:var(--panel);font-size:13px;font-weight:500;color:var(--ink-2);white-space:nowrap}.btn:hover{background:var(--hover);text-decoration:none}.btn.pri{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.pri:hover{background:var(--accent-2)}.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn.ghost:hover{background:var(--hover);color:var(--ink-2)}.btn.ai{border-color:var(--ai-line);color:var(--ai)}.btn.ai:hover{background:var(--ai-soft)}.btn.ai.solid{background:var(--ai);border-color:var(--ai);color:#fff}.btn.danger{background:var(--panel);border-color:var(--bad-line);color:var(--bad)}.btn.danger:hover{background:var(--bad-soft)}.btn.danger.solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn.sm{height:26px;padding:0 10px;font-size:12px}.btn.xs{height:22px;padding:0 8px;font-size:11.5px;border-radius:6px}.btn[disabled]{opacity:.5;cursor:default}.pill{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:6px;font-size:11.5px;font-weight:600;white-space:nowrap;background:var(--hover);color:var(--ink-2)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.ai{background:var(--ai-soft);color:var(--ai)}.pill.acc{background:var(--accent-soft);color:var(--accent)}.pill.mute{background:var(--hover);color:var(--muted)}.pill .d{width:6px;height:6px;border-radius:50%;background:currentColor}.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid var(--line);border-radius:6px;font-size:12px;color:var(--ink-2);background:var(--panel);white-space:nowrap}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-1);min-width:0}.card-h{display:flex;align-items:center;gap:10px;padding:14px 16px 0;min-height:44px}.card-h h3{font-size:14px;font-weight:600}.card-h .sub{font-size:12px;color:var(--muted)}.card-h .r{margin-left:auto;display:flex;gap:6px;align-items:center}.card-b{padding:12px 16px 16px}.card-b.flush{padding:8px 0 0}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-73{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}.g-64{grid-template-columns:minmax(0,6fr) minmax(0,4fr)}.g-37{grid-template-columns:minmax(0,3fr) minmax(0,7fr)}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sp{flex:1}.hr{height:1px;background:var(--line);margin:4px 0}.kpi{padding:14px 16px;display:grid;gap:4px}.kpi .l{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}.kpi .v{font-size:24px;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}.kpi .v small{font-size:13px;font-weight:500;color:var(--muted);margin-left:2px}.kpi .d{font-size:12px;color:var(--muted)}.kpi .d b{font-weight:600}.kpi.ai .v{color:var(--ai)}.bar{height:6px;border-radius:3px;background:var(--hover);overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);border-radius:3px}.tbl-wrap{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{position:sticky;top:0;background:var(--sunk);text-align:left;font-weight:600;font-size:12px;color:var(--muted);padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr:hover td{background:#fafbfd}.tbl tr.sel td{background:var(--accent-soft)}.tbl .r{text-align:right}.tbl .c{text-align:center}.tbl td.ops{white-space:nowrap;text-align:right}.tbl td.ops a{margin-left:12px;font-size:12.5px}.tbl .clip{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pager{display:flex;align-items:center;gap:6px;padding:12px 16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.pager .sp{flex:1}.pager button{min-width:28px;height:28px;border:1px solid var(--line-2);border-radius:6px;background:var(--panel);font-size:12px}.pager button.on{background:var(--accent);border-color:var(--accent);color:#fff}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.inp,.sel{height:32px;padding:0 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel);font-size:13px;min-width:0}.inp:focus,.sel:focus,.ta:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.inp.search{padding-left:30px;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 10px center}.ta{width:100%;padding:8px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel);font-size:13px;line-height:1.55;resize:vertical}.fld{display:grid;gap:6px;min-width:0}.fld>label{font-size:12.5px;font-weight:600;color:var(--ink-2)}.fld>.hint{font-size:12px;color:var(--muted)}.form{display:grid;gap:16px}.form.two{grid-template-columns:repeat(2,minmax(0,1fr))}.chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.sw{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);-webkit-user-select:none;user-select:none;cursor:pointer}.sw input{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:30px;height:18px;border-radius:999px;background:var(--line-2);position:relative;margin:0;cursor:pointer;transition:background .15s}.sw input:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a33;transition:left .15s}.sw input:checked{background:var(--accent)}.sw input:checked:after{left:14px}.sw.ai input:checked{background:var(--ai)}.sw.danger input:checked{background:var(--bad)}.seg{display:inline-flex;padding:2px;border-radius:8px;background:var(--hover);border:1px solid var(--line)}.seg button{height:26px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12.5px;font-weight:500}.seg button.on{background:var(--panel);color:var(--ink);font-weight:600;box-shadow:var(--sh-1)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);padding:0 16px}.tabs button{height:40px;padding:0 12px;border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tabs button .n{margin-left:6px;font-size:11px;padding:1px 6px;border-radius:8px;background:var(--hover);color:var(--muted)}.kv{display:grid;grid-template-columns:96px minmax(0,1fr);gap:6px 12px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0}.list{display:grid}.li{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--line)}.li:first-child{border-top:0}.li .t{min-width:0;flex:1}.li .t b{font-weight:600;display:block}.li .t small{color:var(--muted);font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note{display:flex;gap:10px;padding:10px 12px;border-radius:10px;font-size:12.5px;line-height:1.6;background:var(--accent-soft);color:var(--ink-2);border:1px solid var(--accent-line)}.note.ai{background:var(--ai-soft);border-color:var(--ai-line)}.note.warn{background:var(--warn-soft);border-color:var(--warn-line)}.note.bad{background:var(--bad-soft);border-color:var(--bad-line)}.note b{color:var(--ink)}.empty{padding:40px 16px;text-align:center;color:var(--muted);font-size:13px}code.sql,pre.sql{font-family:var(--mono);font-size:12px;background:var(--sunk);border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:block;white-space:pre-wrap;word-break:break-all;color:var(--ink-2);margin:0}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;z-index:50;display:flex;justify-content:flex-end}.drawer{width:min(640px,100%);height:100%;background:var(--panel);box-shadow:var(--sh-3);display:flex;flex-direction:column}.drawer.wide{width:min(920px,100%)}.drawer-h{height:56px;flex:none;display:flex;align-items:center;gap:10px;padding:0 20px;border-bottom:1px solid var(--line)}.drawer-h h3{font-size:15px;font-weight:600}.drawer-h .x{margin-left:auto}.drawer-b{flex:1;overflow:auto;padding:18px 20px;display:grid;gap:16px;align-content:start}.drawer-f{flex:none;display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--line)}.mask.center{justify-content:center;align-items:center;padding:16px}.modal{width:min(480px,100%);background:var(--panel);border-radius:14px;box-shadow:var(--sh-3);display:grid}.modal .drawer-b{padding:20px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-size:13px;z-index:80;box-shadow:var(--sh-2)}.spark{display:block;width:100%;height:auto}.legend{display:flex;gap:14px;font-size:12px;color:var(--muted);flex-wrap:wrap}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.hbar{display:grid;grid-template-columns:120px minmax(0,1fr) 64px;gap:10px;align-items:center;font-size:12.5px;padding:5px 0}.hbar .bar{height:8px}.hbar .r{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}@media(max-width:1180px){.g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.g-73,.g-64,.g-37{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.side{position:fixed;inset:0 auto 0 0;width:240px;z-index:60;transform:translate(-100%);transition:transform .2s}.shell.nav-open .side{transform:none}.topbar .navbtn{display:inline-flex!important}.content{padding:16px max(16px,env(safe-area-inset-left,0px)) 32px}.topbar{padding:0 16px}.g2,.g3,.g4,.form.two{grid-template-columns:minmax(0,1fr)}.hbar{grid-template-columns:90px minmax(0,1fr) 54px}}.topbar .navbtn{display:none}@media(max-width:900px){.topbar .site,.topbar .me>span:last-child{display:none}.topbar .right{min-width:0}.topbar .right .pill{max-width:150px;overflow:hidden;text-overflow:ellipsis}.crumb{white-space:nowrap;min-width:0}}.logo{display:inline-flex;align-items:baseline;font-weight:800;font-size:19px;letter-spacing:-.035em;line-height:1;white-space:nowrap}.logo .ai{color:var(--accent)}.logo .sv{color:var(--ink)}.logo.dark .ai{color:#7da2ff}.logo-sub{display:block;font-size:11px;color:var(--nav-muted);margin-top:3px;letter-spacing:0;font-weight:500}.rmark{font-size:12.5px;letter-spacing:-.03em;font-weight:800}.thread{padding:8px 4px 12px;display:flex;flex-direction:column;gap:6px;max-width:920px;margin:0 auto;width:100%}.divider{display:flex;align-items:center;gap:12px;margin:0 0 10px;font-size:11.5px;color:var(--faint)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.msg{display:grid;gap:4px;max-width:min(600px,78%)}.msg.grp{margin-top:10px}.msg .meta{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--faint);font-variant-numeric:tabular-nums}.msg .meta .r{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-weight:500}.msg.ai .meta .r{color:var(--ai)}.bub{padding:10px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--sh-1);font-size:14px;line-height:1.6}.bub .es{white-space:pre-wrap;overflow-wrap:anywhere}.bub .zh{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.6;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.msg.u{align-self:flex-start}.msg.u .bub{border-top-left-radius:4px}.msg.a,.msg.ai{align-self:flex-end}.msg.a .meta,.msg.ai .meta{justify-content:flex-end}.msg.a .bub{background:var(--accent-soft);border-color:var(--accent-line);border-top-right-radius:4px}.msg.a .bub .zh{border-top-color:var(--accent-line)}.msg.ai .bub{background:var(--ai-soft);border-color:var(--ai-line);border-top-right-radius:4px}.msg.ai .bub .zh{border-top-color:var(--ai-line)}.sys{align-self:center;margin:8px 0;padding:4px 12px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:12px;color:var(--muted);text-align:center;max-width:90%}.sys.bad{color:var(--bad);background:var(--bad-soft);border-color:var(--bad-line)}.bub .media{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.bub .media:first-child{margin-top:0}.bub .media img{display:block;min-width:48px;min-height:48px;object-fit:contain;max-width:220px;max-height:220px;border-radius:8px;border:1px solid var(--line);cursor:zoom-in;background:var(--sunk)}.bub .media video{display:block;max-width:300px;max-height:260px;border-radius:8px;background:#000}.msg .rd{font-size:11px;color:var(--faint);text-align:right}.msg .rd.rd-unread{color:var(--warn)}.msg.cont{margin-top:-2px}.msg.cont .bub,.msg.u.cont .bub{border-radius:12px}.typing{align-self:flex-start;margin-top:8px;padding:6px 12px;border-radius:10px;border:1px dashed var(--line-2);background:var(--panel);font-size:12.5px;color:var(--muted);max-width:min(600px,78%);overflow-wrap:anywhere}.typing b{font-weight:500;color:var(--ink-2)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f172ad9;display:grid;place-items:center;cursor:zoom-out;padding:24px}.lightbox img{max-width:100%;max-height:100%;border-radius:8px}.login{min-height:100%;display:grid;place-items:center;padding:24px 16px;background:var(--nav)}.login form{width:min(380px,100%);background:var(--panel);border-radius:16px;padding:28px;display:grid;gap:14px;box-shadow:var(--sh-3)}.login .err,.err{color:var(--bad);font-size:12.5px}.loading{padding:40px;text-align:center;color:var(--muted)}.kpis{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.kpi .d b.up{color:var(--bad)}.kpi .d b.down{color:var(--ok)}.wait-bad{color:var(--bad);font-weight:600}.wait-warn{color:var(--warn);font-weight:600}.agcards{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.agcard{padding:14px 16px;display:grid;gap:10px}.agcard .chips{display:flex;flex-wrap:wrap;gap:6px}.agcard .chips button{cursor:pointer}.agcard .chips button.late{border-color:var(--bad-line);color:var(--bad);background:var(--bad-soft)}.agcard .chips button.warn{border-color:var(--warn-line);color:var(--warn)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.menu{position:relative}.menu>summary{list-style:none}.menu>summary::-webkit-details-marker{display:none}.menu .mpop{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:180px;padding:6px;border-radius:10px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--sh-2);display:grid;gap:2px}.menu .mpop button{height:30px;border:0;background:transparent;text-align:left;padding:0 10px;border-radius:6px;font-size:12.5px;color:var(--ink-2)}.menu .mpop button:hover{background:var(--hover)}.menu .mpop button.bad{color:var(--bad)}.pw{font-family:var(--mono);font-size:18px;letter-spacing:.06em;padding:12px;border-radius:10px;background:var(--sunk);border:1px dashed var(--line-2);text-align:center;-webkit-user-select:all;user-select:all}.chart-wrap{position:relative}.chart-tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;font-size:11.5px;padding:4px 8px;border-radius:6px;white-space:nowrap;transform:translate(-50%,-110%)}.placeholder{display:grid;gap:12px;max-width:720px}.placeholder ul{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--ink-2)}.incbar{display:flex;align-items:center;gap:8px;cursor:pointer}.trwrap{max-height:max(240px,calc(100vh - 330px));overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--sunk)}.tbl tbody tr.click{cursor:pointer}.phone{width:280px;height:520px;border:8px solid #0F172A;border-radius:32px;background:#f1f5f9;display:flex;flex-direction:column;overflow:hidden}.phone .h{height:44px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex:none}.phone .b{flex:1;padding:12px;display:grid;gap:8px;align-content:start;font-size:12px;overflow:auto}.phone .m{background:#fff;border-radius:10px;padding:8px 10px;max-width:85%;white-space:pre-wrap;overflow-wrap:anywhere;color:#0f172a}.phone .m.me{background:#16a34a;color:#fff;margin-left:auto}.phone .m.sys{background:transparent;color:#64748b;text-align:center;max-width:100%;font-size:11px}.phone .f{height:44px;background:#fff;border-top:1px solid #E2E8F0;display:flex;align-items:center;padding:0 10px;color:#94a3b8;font-size:12px;flex:none}.linkish{border:0;background:none;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:none}.linkish:hover{text-decoration:underline}.tbl tr.click{cursor:pointer}.tbl tr.click:hover td{background:var(--hover)}.qc-list{display:grid}.qc-item{display:grid;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line);border-left:3px solid transparent}.qc-item.bad{border-left-color:var(--bad)}.qc-item.warn{border-left-color:var(--warn)}.qc-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}.qc-h .sp{flex:1}.qc-score{font-size:15px;font-variant-numeric:tabular-nums}.qc-score small{font-size:11px;font-weight:500;color:var(--muted)}.qc-st{font-size:12px}.qc-sum{font-size:13px;color:var(--ink-2)}.qc-issues{display:grid;gap:6px}.qc-issue{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:start;font-size:13px;line-height:1.5}.qc-issue .t{min-width:0;overflow-wrap:anywhere}.qc-issue .src{font-size:11px;color:var(--faint);padding-top:2px}.qc-issue .src.ai{color:var(--ai)}.qc-rv{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px}.qc-rv .sp{flex:1}.pol-sw{display:grid;gap:4px}.pol-sw .hint{padding-left:38px}.grp-li{align-items:flex-start}.grp-li .t small{display:block;overflow-wrap:anywhere}.grp-li .pill{margin-left:6px}.grp-mem{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:220px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:8px}.grp-mem small{margin-left:4px;font-size:11px}.sim-form{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}.sim-form label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.sim-runs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.sim-run{flex:none;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel);font-size:12.5px;cursor:pointer;color:var(--ink)}.sim-run.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.sim-q,.sim-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:start}.sim-q small,.sim-row small{color:var(--faint);font-size:12px;padding-top:2px}.sim-q .es{font-size:14px;font-weight:600;color:var(--ink)}.sim-q .zh,.sim-reply .zh{font-size:12.5px;color:var(--muted);margin-top:2px}.sim-ai{display:grid;gap:8px;padding:10px 12px;border-radius:8px;background:var(--sunk);border:1px solid var(--line)}.sim-ai .chips{display:flex;gap:6px;margin-top:4px}.sim-facts{margin:0;padding-left:16px;font-size:12.5px;color:var(--ink-2)}.sim-reply{padding:8px 10px;border-radius:8px;background:var(--panel);border:1px solid var(--line);font-size:13px}.sim-reply.sent{border-color:var(--ok);background:var(--ok-soft)}@media(max-width:640px){.sim-q,.sim-row{grid-template-columns:1fr;gap:2px}}.sim-sent{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}.sim-bub{position:relative;max-width:560px;padding:7px 11px;border-radius:12px 12px 12px 4px;background:var(--ai-soft);border:1px solid var(--ai-line);font-size:13px;line-height:1.5}.sim-bub .zh{color:var(--muted);font-size:12px;margin-top:2px}.sim-bub .sim-t{float:right;margin-left:10px;font-size:11px;color:var(--faint)}.aitag{display:inline-flex;align-items:center;gap:3px;margin-right:6px;padding:0 6px;height:17px;border-radius:999px;background:var(--ai-soft);border:1px solid var(--ai-line);color:var(--ai);font-size:10.5px;font-weight:700;letter-spacing:.02em;vertical-align:1px}.msg.ai .meta .r{color:inherit}.chatbg{background-color:#f3f5f8;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='280'%20height='280'%20viewBox='0%200%20280%20280'%20fill='none'%20stroke='%2394A3B8'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='.2'%3e%3c!--%20足球%20--%3e%3cg%20transform='translate(36%2038)%20rotate(-12)'%3e%3ccircle%20r='15'/%3e%3cpath%20d='M0-6%205.7-1.9%203.5%204.9h-7L-5.7-1.9Z'/%3e%3cpath%20d='M0-6V-15M5.7-1.9%2014-4.6M3.5%204.9%208.8%2012.1M-3.5%204.9-8.8%2012.1M-5.7-1.9-14-4.6'/%3e%3c/g%3e%3c!--%20奖杯%20--%3e%3cg%20transform='translate(150%2030)%20rotate(8)'%3e%3cpath%20d='M-10-12h20v8a10%2010%200%200%201-20%200Z'/%3e%3cpath%20d='M-10-9h-5a5%205%200%200%200%206%207M10-9h5a5%205%200%200%201-6%207'/%3e%3cpath%20d='M0%206v6M-6%2016h12M-4%2012h8v4h-8Z'/%3e%3c/g%3e%3c!--%20聊天气泡%20--%3e%3cg%20transform='translate(240%2046)%20rotate(-6)'%3e%3cpath%20d='M-16-11h32a4%204%200%200%201%204%204v13a4%204%200%200%201-4%204H-4l-8%207v-7h-4a4%204%200%200%201-4-4V-7a4%204%200%200%201%204-4Z'/%3e%3cpath%20d='M-9-1h18M-9%204h11'/%3e%3c/g%3e%3c!--%20骰子%20--%3e%3cg%20transform='translate(92%20104)%20rotate(14)'%3e%3crect%20x='-13'%20y='-13'%20width='26'%20height='26'%20rx='6'/%3e%3ccircle%20cx='-6'%20cy='-6'%20r='1.6'/%3e%3ccircle%20cx='6'%20cy='6'%20r='1.6'/%3e%3ccircle%20r='1.6'/%3e%3c/g%3e%3c!--%20筹码%20--%3e%3cg%20transform='translate(206%20120)'%3e%3ccircle%20r='15'/%3e%3ccircle%20r='9'/%3e%3cpath%20d='M0-15v4M0%2011v4M-15%200h4M11%200h4M-10.6-10.6l2.8%202.8M7.8%207.8l2.8%202.8M10.6-10.6%207.8-7.8M-7.8%207.8l-2.8%202.8'/%3e%3c/g%3e%3c!--%20硬币%20--%3e%3cg%20transform='translate(26%20150)%20rotate(-10)'%3e%3ccircle%20r='12'/%3e%3cpath%20d='M3.5-5.5c-1-1.6-6.5-2-6.5%201%200%203.5%207%202%207%205.5%200%203-5.5%202.8-7%201M0-9v18'/%3e%3c/g%3e%3c!--%20星星%20--%3e%3cpath%20d='M146%2092l3%206.2%206.8%201-4.9%204.8%201.2%206.8-6.1-3.2-6.1%203.2%201.2-6.8-4.9-4.8%206.8-1Z'/%3e%3c!--%20礼物盒%20--%3e%3cg%20transform='translate(136%20196)%20rotate(-8)'%3e%3crect%20x='-14'%20y='-6'%20width='28'%20height='20'%20rx='2'/%3e%3cpath%20d='M-16-12h32v6h-32ZM0-12v26'/%3e%3cpath%20d='M0-12c-3-7-11-7-9-1M0-12c3-7%2011-7%209-1'/%3e%3c/g%3e%3c!--%20秒表%20--%3e%3cg%20transform='translate(244%20214)%20rotate(10)'%3e%3ccircle%20r='14'/%3e%3cpath%20d='M0-14v-4M-3-18h6M0%200V-8M0%200l5%204'/%3e%3c/g%3e%3c!--%20手机%20--%3e%3cg%20transform='translate(62%20228)%20rotate(-14)'%3e%3crect%20x='-9'%20y='-16'%20width='18'%20height='32'%20rx='4'/%3e%3cpath%20d='M-3%2011h6'/%3e%3c/g%3e%3c!--%20爱心%20--%3e%3cpath%20d='M196%20254c-6-5-11-8-11-13a5%205%200%200%201%2011-2%205%205%200%200%201%2011%202c0%205-5%208-11%2013Z'/%3e%3c!--%20小装饰：圆点%20/%20十字%20/%20闪光%20--%3e%3ccircle%20cx='100'%20cy='40'%20r='2.5'/%3e%3ccircle%20cx='196'%20cy='74'%20r='2'/%3e%3ccircle%20cx='40'%20cy='96'%20r='2'/%3e%3ccircle%20cx='258'%20cy='160'%20r='2.5'/%3e%3ccircle%20cx='100'%20cy='160'%20r='2'/%3e%3ccircle%20cx='170'%20cy='150'%20r='2.5'/%3e%3ccircle%20cx='20'%20cy='200'%20r='2'/%3e%3ccircle%20cx='110'%20cy='256'%20r='2.5'/%3e%3ccircle%20cx='270'%20cy='270'%20r='2'/%3e%3cpath%20d='M60%2064v8M56%2068h8M232%2092v8M228%2096h8M178%20228v8M174%20232h8M14%20258v6M11%20261h6'/%3e%3cpath%20d='M120%20128l2%204%204%202-4%202-2%204-2-4-4-2%204-2ZM60%20190l1.5%203%203%201.5-3%201.5-1.5%203-1.5-3-3-1.5%203-1.5ZM216%20172l1.5%203%203%201.5-3%201.5-1.5%203-1.5-3-3-1.5%203-1.5Z'/%3e%3c/svg%3e");background-size:260px 260px;background-attachment:local}.chatbg .bub{box-shadow:0 1px 1px #0f172a08}.chatbg .msg.u .bub{background:#fff;border-color:#e3e8ef}.chatbg .msg.a .bub{background:#eaf1fe;border-color:#d4e1fa}.chatbg .msg.a .bub .zh{border-top-color:#0f172a14}.chatbg .msg.ai .bub{background:#f2effe;border-color:#e0dafb}.chatbg .msg.ai .bub .zh{border-top-color:#0f172a14}.chatbg .bub .zh{color:#64748b}.chatbg .bub .bt{color:#a3adbd}.chatbg .msg .meta{color:#94a3b8}.chatbg .msg .meta .r,.chatbg .msg.ai .meta .r{color:#475569}.chatbg .aitag{background:#fff;border-color:#ddd7fb}.chatbg .divider{align-self:center;padding:3px 12px;border-radius:999px;background:#e8ecf2;color:#64748b}.chatbg .divider:before,.chatbg .divider:after{display:none}.chatbg .sys{background:#e8ecf2;border-color:transparent;color:#64748b}.chatbg .bub .zh .tr{background:#f1f4f8;color:#7a8599}.chatbg .msg.a .bub .zh .tr,.chatbg .msg.ai .bub .zh .tr{background:#ffffffb3}.bub .bt{display:block;margin-top:4px;text-align:right;font-size:10.5px;line-height:1;color:var(--faint);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.tr{display:inline-block;margin-right:6px;padding:0 4px;border-radius:4px;background:var(--hover);color:var(--faint);font-size:10.5px;line-height:16px;vertical-align:1px}.kbpair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kbpair .fld.zh>label{display:flex;align-items:center;justify-content:space-between;gap:8px}.kbpair .fld.zh .ta{background:var(--sunk)}.kbpair .btn.warn{color:var(--warn)}.tbl .kbans,.tbl .kbans .clip{max-width:440px}.tbl .kbans .zh{margin-top:2px;font-size:12.5px;color:var(--muted)}.tbl .kbans .zh.none{color:var(--faint)}@media(max-width:760px){.kbpair{grid-template-columns:minmax(0,1fr)}}#root{height:100%}.lg{min-height:100%;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);background:var(--panel)}.lg .l{position:relative;overflow:hidden;isolation:isolate;background:#0b1324;color:#b6c2d4;padding:44px 48px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}.lg .l:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(60% 50% at 0% 0%,rgba(37,99,235,.35),transparent 70%),radial-gradient(55% 45% at 100% 100%,rgba(88,72,229,.32),transparent 70%)}.lg .l:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='280'%20height='280'%20viewBox='0%200%20280%20280'%20fill='none'%20stroke='%2394A3B8'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='.2'%3e%3c!--%20足球%20--%3e%3cg%20transform='translate(36%2038)%20rotate(-12)'%3e%3ccircle%20r='15'/%3e%3cpath%20d='M0-6%205.7-1.9%203.5%204.9h-7L-5.7-1.9Z'/%3e%3cpath%20d='M0-6V-15M5.7-1.9%2014-4.6M3.5%204.9%208.8%2012.1M-3.5%204.9-8.8%2012.1M-5.7-1.9-14-4.6'/%3e%3c/g%3e%3c!--%20奖杯%20--%3e%3cg%20transform='translate(150%2030)%20rotate(8)'%3e%3cpath%20d='M-10-12h20v8a10%2010%200%200%201-20%200Z'/%3e%3cpath%20d='M-10-9h-5a5%205%200%200%200%206%207M10-9h5a5%205%200%200%201-6%207'/%3e%3cpath%20d='M0%206v6M-6%2016h12M-4%2012h8v4h-8Z'/%3e%3c/g%3e%3c!--%20聊天气泡%20--%3e%3cg%20transform='translate(240%2046)%20rotate(-6)'%3e%3cpath%20d='M-16-11h32a4%204%200%200%201%204%204v13a4%204%200%200%201-4%204H-4l-8%207v-7h-4a4%204%200%200%201-4-4V-7a4%204%200%200%201%204-4Z'/%3e%3cpath%20d='M-9-1h18M-9%204h11'/%3e%3c/g%3e%3c!--%20骰子%20--%3e%3cg%20transform='translate(92%20104)%20rotate(14)'%3e%3crect%20x='-13'%20y='-13'%20width='26'%20height='26'%20rx='6'/%3e%3ccircle%20cx='-6'%20cy='-6'%20r='1.6'/%3e%3ccircle%20cx='6'%20cy='6'%20r='1.6'/%3e%3ccircle%20r='1.6'/%3e%3c/g%3e%3c!--%20筹码%20--%3e%3cg%20transform='translate(206%20120)'%3e%3ccircle%20r='15'/%3e%3ccircle%20r='9'/%3e%3cpath%20d='M0-15v4M0%2011v4M-15%200h4M11%200h4M-10.6-10.6l2.8%202.8M7.8%207.8l2.8%202.8M10.6-10.6%207.8-7.8M-7.8%207.8l-2.8%202.8'/%3e%3c/g%3e%3c!--%20硬币%20--%3e%3cg%20transform='translate(26%20150)%20rotate(-10)'%3e%3ccircle%20r='12'/%3e%3cpath%20d='M3.5-5.5c-1-1.6-6.5-2-6.5%201%200%203.5%207%202%207%205.5%200%203-5.5%202.8-7%201M0-9v18'/%3e%3c/g%3e%3c!--%20星星%20--%3e%3cpath%20d='M146%2092l3%206.2%206.8%201-4.9%204.8%201.2%206.8-6.1-3.2-6.1%203.2%201.2-6.8-4.9-4.8%206.8-1Z'/%3e%3c!--%20礼物盒%20--%3e%3cg%20transform='translate(136%20196)%20rotate(-8)'%3e%3crect%20x='-14'%20y='-6'%20width='28'%20height='20'%20rx='2'/%3e%3cpath%20d='M-16-12h32v6h-32ZM0-12v26'/%3e%3cpath%20d='M0-12c-3-7-11-7-9-1M0-12c3-7%2011-7%209-1'/%3e%3c/g%3e%3c!--%20秒表%20--%3e%3cg%20transform='translate(244%20214)%20rotate(10)'%3e%3ccircle%20r='14'/%3e%3cpath%20d='M0-14v-4M-3-18h6M0%200V-8M0%200l5%204'/%3e%3c/g%3e%3c!--%20手机%20--%3e%3cg%20transform='translate(62%20228)%20rotate(-14)'%3e%3crect%20x='-9'%20y='-16'%20width='18'%20height='32'%20rx='4'/%3e%3cpath%20d='M-3%2011h6'/%3e%3c/g%3e%3c!--%20爱心%20--%3e%3cpath%20d='M196%20254c-6-5-11-8-11-13a5%205%200%200%201%2011-2%205%205%200%200%201%2011%202c0%205-5%208-11%2013Z'/%3e%3c!--%20小装饰：圆点%20/%20十字%20/%20闪光%20--%3e%3ccircle%20cx='100'%20cy='40'%20r='2.5'/%3e%3ccircle%20cx='196'%20cy='74'%20r='2'/%3e%3ccircle%20cx='40'%20cy='96'%20r='2'/%3e%3ccircle%20cx='258'%20cy='160'%20r='2.5'/%3e%3ccircle%20cx='100'%20cy='160'%20r='2'/%3e%3ccircle%20cx='170'%20cy='150'%20r='2.5'/%3e%3ccircle%20cx='20'%20cy='200'%20r='2'/%3e%3ccircle%20cx='110'%20cy='256'%20r='2.5'/%3e%3ccircle%20cx='270'%20cy='270'%20r='2'/%3e%3cpath%20d='M60%2064v8M56%2068h8M232%2092v8M228%2096h8M178%20228v8M174%20232h8M14%20258v6M11%20261h6'/%3e%3cpath%20d='M120%20128l2%204%204%202-4%202-2%204-2-4-4-2%204-2ZM60%20190l1.5%203%203%201.5-3%201.5-1.5%203-1.5-3-3-1.5%203-1.5ZM216%20172l1.5%203%203%201.5-3%201.5-1.5%203-1.5-3-3-1.5%203-1.5Z'/%3e%3c/svg%3e") 0 0/260px 260px;opacity:.2;mask-image:linear-gradient(180deg,transparent,#000 35%,#000 70%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 35%,#000 70%,transparent)}.lg .brand{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.lg .tagline{font-size:13px;color:#8ea0ba}.lg .l h2{color:#fff;font-size:28px;font-weight:650;line-height:1.35;max-width:16ch;text-wrap:balance;margin:0;letter-spacing:.01em}.lg .l ul{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:14px;font-size:14px;max-width:42ch}.lg .l li{display:flex;gap:12px;align-items:flex-start;line-height:1.6}.lg .l li .n{flex:none;width:22px;height:22px;margin-top:1px;border-radius:7px;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.14)}.lg .l li b{color:#fff;font-weight:600}.lg .l small{font-size:12px;color:#7184a0}.lg .r{display:grid;place-items:center;padding:40px 24px;background:var(--bg)}.lg .box{width:min(380px,100%);display:grid;gap:18px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:32px 30px;box-shadow:0 12px 32px -12px #0f172a1f}.lg .box h1{font-size:21px;font-weight:650;margin:0}.lg .box .sub{font-size:13px;margin:6px 0 0}.lg .box .sub a{margin-left:2px}.lg .box .err{color:var(--bad);font-size:12.5px}.lg .btn.big{height:40px;justify-content:center;font-size:14px}.logo.dark .sv{color:#fff}@media(max-width:860px){.lg{grid-template-columns:minmax(0,1fr)}.lg .l{display:none}.lg .r{min-height:100vh}}.kbpair .fld>label{min-height:24px;display:flex;align-items:center}.lgsel{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line-2);border-radius:9px;background:var(--sunk);width:max-content}.lgsel .lgl{font-size:12px;color:var(--muted);padding:0 8px 0 6px}.lgsel button{border:0;background:transparent;font:inherit;font-size:13px;color:var(--ink-2);padding:5px 14px;border-radius:7px;cursor:pointer}.lgsel button.on{background:var(--panel);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #0f172a1f}.lgsel button:focus-visible{outline:2px solid var(--pri,#2563EB);outline-offset:1px}.fld>small{font-size:11.5px;line-height:1.5}
