:root{--accent-blue:#0070f3;--accent-blue-hover:#0061d5;--success:#0d8a5f;--warn:#f5a623;--danger:#e00;--danger-hover:#c00;--radius:6px;--radius-sm:4px;--mono:ui-monospace, "SF Mono", "Geist Mono", "JetBrains Mono", Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Geist", "Segoe UI", "PingFang SC", "Microsoft YaHei", Roboto, sans-serif;--theme-label:"暗色"}[data-theme=dark],:root{--bg:#000;--bg-1:#0a0a0a;--bg-2:#111;--bg-3:#1a1a1a;--bg-hover:#1a1a1a;--border:#1f1f1f;--border-2:#2a2a2a;--border-strong:#333;--text:#fafafa;--text-2:#a1a1a1;--text-3:#6b6b6b;--text-fade:#4a4a4a;--accent:#fff;--success-fg:#50e3c2;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 24px 48px #0009;--topbar-bg:#000000d9;--preview-mask:#000000eb;--tag-on-bg:#0d8a5f26;--tag-on-border:#0d8a5f66;--tag-blue-bg:#0070f31f;--tag-blue-border:#0070f359;--tag-blue-fg:#5ba7ff;--tag-pink-bg:#ff33661f;--tag-pink-border:#ff336659;--tag-pink-fg:#ff6680;--att-img-bg:#ff668014;--att-img-border:#ff668059;--att-img-hover:#ff668026;--att-vid-bg:#f5a62314;--att-vid-border:#f5a62359;--att-vid-hover:#f5a62326;--selection:#ffffff26;--scrollbar-thumb:#1a1a1a;--scrollbar-thumb-hover:#333;--switch-bg:var(--bg-3);--switch-on-bg:var(--text);--switch-knob-on:var(--bg);--switch-knob-off:var(--text-2);--theme-label:"暗色"}[data-theme=light]{--bg:#fff;--bg-1:#fff;--bg-2:#fafafa;--bg-3:#f4f4f4;--bg-hover:#f4f4f4;--border:#eaeaea;--border-2:#dcdcdc;--border-strong:#c4c4c4;--text:#111;--text-2:#666;--text-3:#888;--text-fade:#999;--accent:#111;--success-fg:#0d8a5f;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 24px 48px #0000001f;--topbar-bg:#ffffffd9;--preview-mask:#000000d9;--tag-on-bg:#0d8a5f1a;--tag-on-border:#0d8a5f4d;--tag-blue-bg:#0070f314;--tag-blue-border:#0070f340;--tag-blue-fg:#0070f3;--tag-pink-bg:#ff336614;--tag-pink-border:#ff336640;--tag-pink-fg:#e0306a;--att-img-bg:#ff66800f;--att-img-border:#ff668040;--att-img-hover:#ff66801f;--att-vid-bg:#f5a6230f;--att-vid-border:#f5a62340;--att-vid-hover:#f5a6231f;--selection:#0000001a;--scrollbar-thumb:#c4c4c4;--scrollbar-thumb-hover:#a0a0a0;--switch-bg:var(--bg-3);--switch-on-bg:var(--text);--switch-knob-on:var(--bg);--switch-knob-off:var(--text-2);--theme-label:"亮色"}@media (prefers-color-scheme:light){:root:not([data-theme]){--bg:#fff;--bg-1:#fff;--bg-2:#fafafa;--bg-3:#f4f4f4;--bg-hover:#f4f4f4;--border:#eaeaea;--border-2:#dcdcdc;--border-strong:#c4c4c4;--text:#111;--text-2:#666;--text-3:#888;--text-fade:#999;--accent:#111;--success-fg:#0d8a5f;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 24px 48px #0000001f;--topbar-bg:#ffffffd9;--preview-mask:#000000d9;--tag-on-bg:#0d8a5f1a;--tag-on-border:#0d8a5f4d;--tag-blue-bg:#0070f314;--tag-blue-border:#0070f340;--tag-blue-fg:#0070f3;--tag-pink-bg:#ff336614;--tag-pink-border:#ff336640;--tag-pink-fg:#e0306a;--att-img-bg:#ff66800f;--att-img-border:#ff668040;--att-img-hover:#ff66801f;--att-vid-bg:#f5a6230f;--att-vid-border:#f5a62340;--att-vid-hover:#f5a6231f;--selection:#0000001a;--scrollbar-thumb:#c4c4c4;--scrollbar-thumb-hover:#a0a0a0;--switch-bg:var(--bg-3);--switch-on-bg:var(--text);--switch-knob-on:var(--bg);--switch-knob-off:var(--text-2);--theme-label:"跟随系统·亮"}}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}body{background:var(--bg);min-height:100vh}body,input,textarea,select,button{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}a{color:var(--text);text-decoration:none;transition:color .15s}a:hover{color:var(--text-2);text-underline-offset:2px;text-decoration:underline}button{font-family:var(--sans);cursor:pointer;border:1px solid var(--border-2);border-radius:var(--radius);color:var(--text);background:var(--bg);white-space:nowrap;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}button:hover{background:var(--bg-3);border-color:var(--border-strong)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:600}.btn-primary:hover{background:var(--text-2);border-color:var(--text-2);color:var(--bg)}.btn-danger{background:var(--bg);color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-3);border-color:var(--bg-3)}.btn-sm{border-radius:var(--radius-sm);padding:4px 10px;font-size:12px}input,textarea,select{font-family:var(--sans);background:var(--bg);color:var(--text);border:1px solid var(--border-2);border-radius:var(--radius);outline:none;width:100%;padding:7px 11px;font-size:13px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--text-3)}input:focus,textarea:focus,select:focus{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4l3 3 3-3' stroke='%23a1a1a1' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:30px}textarea{resize:vertical;min-height:80px;font-family:var(--mono);font-size:12px;line-height:1.6}label{color:var(--text-2);letter-spacing:-.005em;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.field{margin-bottom:14px}.field+.field{margin-top:0}.topbar{z-index:50;background:var(--topbar-bg);-webkit-backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;height:56px;padding:12px 28px;display:flex;position:sticky;top:0}.topbar .brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;min-width:0;font-size:14px;font-weight:600;display:flex}.topbar .brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar .brand:hover{color:var(--text);text-decoration:none}.topbar .brand .logo{object-fit:cover;border-radius:6px;width:28px;height:28px;display:block}.topbar nav{scrollbar-width:none;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.topbar nav::-webkit-scrollbar{display:none}.topbar nav a{color:var(--text-2);border-radius:var(--radius);padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.topbar nav a:hover{color:var(--text);background:var(--bg-2);text-decoration:none}.topbar nav a.active{color:var(--text);background:var(--bg-2)}.container{width:min(100% - 56px,1480px);margin:0 auto;padding:28px 0 36px}.page-title{letter-spacing:-.02em;color:var(--text);margin-bottom:4px;font-size:24px;font-weight:600}.page-sub{color:var(--text-2);letter-spacing:-.005em;margin-bottom:24px;font-size:14px}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.card+.card{margin-top:16px}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=900px){.grid-2,.grid-3{grid-template-columns:1fr}}.tbl-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1);overflow:auto}.table-scroll{border-radius:inherit;overflow-x:auto}.tbl{border-collapse:collapse;table-layout:auto;width:100%;font-size:13px}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:normal;word-break:normal;padding:11px 14px}.tbl td>button{margin:0 4px 4px 0}.tbl th{color:var(--text-2);background:var(--bg-2);z-index:1;font-size:12px;font-weight:500;position:sticky;top:0}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--bg-2)}.pagination{border-top:1px solid var(--border);min-height:48px;color:var(--text-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.pagination .page-info{margin-right:4px}.mono{font-family:var(--mono);font-size:12px}.tag{border-radius:var(--radius-sm);letter-spacing:0;border:1px solid var(--border-2);background:var(--bg-2);width:fit-content;color:var(--text-2);white-space:nowrap;align-items:center;max-width:100%;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.4;display:inline-flex}.tag-on{background:var(--tag-on-bg);border-color:var(--tag-on-border);color:var(--success-fg)}.tag-off{background:var(--bg-2);border-color:var(--border-2);color:var(--text-3)}.tag-blue{background:var(--tag-blue-bg);border-color:var(--tag-blue-border);color:var(--tag-blue-fg)}.tag-pink{background:var(--tag-pink-bg);border-color:var(--tag-pink-border);color:var(--tag-pink-fg)}.tbl .tag,.tbl code,.tbl td>button{white-space:nowrap}.rules-table{min-width:980px}.schedules-table{min-width:900px}.audit-table{min-width:1130px}.login-wrap{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--bg-1);border:1px solid var(--border-2);border-radius:var(--radius);width:100%;max-width:380px;padding:32px 28px}.login-card .logo-big{object-fit:cover;border-radius:8px;width:48px;height:48px;margin:0 auto 20px;display:block}.login-card h1{text-align:center;letter-spacing:-.01em;margin-bottom:6px;font-size:18px;font-weight:600}.login-card .sub{text-align:center;color:var(--text-2);margin-bottom:24px;font-size:13px}.login-card .field{margin-bottom:14px}.login-card .err{color:var(--danger);text-align:center;margin-top:8px;font-size:12px}.login-card button{justify-content:center;width:100%;margin-top:6px;padding:9px;font-size:13px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.toolbar .spacer{flex:1}.toolbar>input[type=date],.toolbar>select,.toolbar>button{min-height:32px}.search-box{background:var(--bg);border:1px solid var(--border-2);border-radius:var(--radius);align-items:center;gap:8px;min-width:240px;padding:6px 11px;transition:border-color .15s,box-shadow .15s;display:flex}.search-box input{background:0 0;border:none;padding:0;font-size:13px;box-shadow:none!important}.search-box:focus-within{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.content-cell{word-break:break-all;max-width:480px;font-size:13px}.content-cell .text{color:var(--text);white-space:pre-wrap;line-height:1.5}.content-cell .att{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.content-cell .att a{background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text);font-size:11px;font-family:var(--mono);cursor:pointer;align-items:center;gap:4px;padding:2px 8px;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.content-cell .att a:hover{background:var(--bg-3);border-color:var(--border-strong);color:var(--text);text-decoration:none}.content-cell .att a.img{color:var(--tag-pink-fg);border-color:var(--att-img-border);background:var(--att-img-bg)}.content-cell .att a.img:hover{background:var(--att-img-hover)}.content-cell .att a.vid{color:var(--warn);border-color:var(--att-vid-border);background:var(--att-vid-bg)}.content-cell .att a.vid:hover{background:var(--att-vid-hover)}details.raw{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);margin-top:6px}details.raw summary{cursor:pointer;color:var(--text-2);-webkit-user-select:none;user-select:none;font-size:11px;font-family:var(--mono);padding:5px 9px}details.raw summary:hover{color:var(--text)}details.raw pre{font-size:11px;font-family:var(--mono);color:var(--text-2);white-space:pre-wrap;word-break:break-all;border-top:1px solid var(--border);max-height:320px;margin:0;padding:10px 12px;overflow:auto}.raw-fullscreen{color:var(--text-2);padding:3px 8px;font-size:11px}.raw-fullscreen:hover{color:var(--text)}.modal.fullscreen{max-width:92vw;max-height:92vh}.modal.fullscreen .modal-body{padding:16px 20px}.modal.fullscreen pre{white-space:pre-wrap;word-break:break-all;max-height:70vh;font-size:12px;line-height:1.6;overflow:auto}.modal-mask{-webkit-backdrop-filter:blur(4px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.modal-mask.show{display:flex}.modal{background:var(--bg-1);border:1px solid var(--border-2);border-radius:var(--radius);width:100%;max-width:640px;max-height:88vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head h3{letter-spacing:-.01em;font-size:15px;font-weight:600}.modal-body{padding:18px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);background:var(--bg);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.close-x{border-radius:var(--radius-sm);cursor:pointer;width:24px;height:24px;color:var(--text-2);place-items:center;font-size:18px;line-height:1;transition:background .15s,color .15s;display:grid}.close-x:hover{background:var(--bg-3);color:var(--text)}.action-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-bottom:10px;padding:12px}.action-row+.action-row{margin-top:8px}.action-row .row-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.action-row .row-head .type-sel{width:auto;min-width:140px;font-weight:500}.action-row .grid-in{grid-template-columns:1fr 1fr;gap:10px;display:grid}.api-param-box{margin-bottom:14px}.api-tabs{border-bottom:1px solid var(--border);align-items:flex-end;gap:0;margin-bottom:10px;display:flex;overflow-x:auto}.api-tabs button{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:auto;color:var(--text);border-bottom:none;padding:8px 18px;font-size:13px}.api-tabs button+button{margin-left:-1px}.api-tabs button.active{color:var(--success-fg);background:var(--bg);border-color:var(--border-2)}.api-panel textarea{min-height:96px}.kv-row{grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) auto;align-items:center;gap:8px;margin-bottom:8px;display:grid}.kv-row .btn-danger{min-width:58px}.rule-test-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:10px}.debug-result{margin-top:8px}.debug-result pre{white-space:pre-wrap;word-break:break-all;max-height:320px;margin:0;font-size:11px;line-height:1.55;overflow:auto}@media (width<=600px){.action-row .grid-in,.kv-row{grid-template-columns:1fr}.kv-row .btn-danger{width:fit-content}}.empty{text-align:center;color:var(--text-3);padding:60px 20px}.empty .icon{opacity:.4;color:var(--text-2);justify-content:center;margin-bottom:10px;display:flex}.empty .icon .icon-svg,.empty .icon svg{width:36px;height:36px;stroke:var(--text-2)}.empty .title{color:var(--text-2);margin-bottom:4px;font-size:14px;font-weight:500}.icon-svg{vertical-align:middle;flex-shrink:0;display:inline-block}button .icon-svg{vertical-align:-3px}a .icon-svg{vertical-align:-2px}.toast-wrap{z-index:200;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast{background:var(--bg-1);border:1px solid var(--border-2);border-left:2px solid var(--text);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);max-width:360px;color:var(--text);padding:10px 14px;font-size:13px;animation:.2s slidein}.toast.ok{border-left-color:var(--success)}.toast.err{border-left-color:var(--danger)}@keyframes slidein{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.preview-mask{background:var(--preview-mask);z-index:300;cursor:zoom-out;justify-content:center;align-items:center;padding:40px;display:none;position:fixed;inset:0}.preview-mask.show{display:flex}.preview-mask img,.preview-mask video{border-radius:var(--radius-sm);background:#000;max-width:100%;max-height:100%;display:none;box-shadow:0 0 60px #000c}.preview-mask.is-image img,.preview-mask.is-video video{display:block}.switch{width:36px;height:20px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch .slider{background:var(--switch-bg);border:1px solid var(--border-2);cursor:pointer;border-radius:20px;transition:all .2s;position:absolute;inset:0}.switch .slider:before{content:"";background:var(--switch-knob-off);border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;top:2px;left:2px}.switch input:checked+.slider{background:var(--switch-on-bg);border-color:var(--switch-on-bg)}.switch input:checked+.slider:before{background:var(--switch-knob-on);transform:translate(16px)}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px;position:relative}.stat .label{color:var(--text-2);margin-bottom:6px;font-size:12px;font-weight:500}.stat .value{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.tabs{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);gap:2px;width:fit-content;max-width:100%;margin-bottom:18px;padding:3px;display:flex}.tabs button{color:var(--text-2);border-radius:var(--radius-sm);background:0 0;border:none;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.tabs button:hover{color:var(--text);background:0 0}.tabs button.active{background:var(--bg-3);color:var(--text)}.text-fade{color:var(--text-3)}.text-dim{color:var(--text-2)}.text-mono{font-family:var(--mono)}code{font-family:var(--mono);background:var(--bg-2);border:1px solid var(--border);color:var(--text);overflow-wrap:anywhere;border-radius:3px;padding:1px 5px;font-size:12px}pre{font-family:var(--mono);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:12px;font-size:12px;line-height:1.6;overflow-x:auto}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--bg);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::selection{background:var(--selection);color:var(--text)}@media (width<=900px){.container{width:100%;padding:18px 16px 28px}.topbar{height:48px;padding:0 12px}.topbar .brand{flex:0 auto}.topbar nav a{padding:6px 8px;font-size:12px}.page-title{font-size:20px}.stats{gap:8px;grid-template-columns:repeat(2,1fr)!important}.stat{padding:10px 12px}.stat .value{font-size:20px}.toolbar{flex-wrap:wrap;gap:6px}.toolbar .search-box{order:-1;width:100%;margin-bottom:4px}.toolbar .search-box input{width:100%}.toolbar .spacer{flex:1;min-width:0}.table-scroll{overflow-x:auto}.tbl{min-width:760px}.modal{max-width:96vw!important}.modal.fullscreen{max-width:100vw!important}}@media (width<=600px){.container{padding:14px 10px 24px}.topbar{height:44px;padding:0 8px}.topbar .brand .logo{width:22px;height:22px}.topbar .brand span{display:none}.topbar nav{flex:1;justify-content:flex-end;gap:2px}.topbar nav a{padding:5px 6px;font-size:11px}.theme-switcher button{width:26px;height:26px}.page-title{font-size:18px}.page-sub{font-size:12px}.stats{gap:6px;grid-template-columns:1fr 1fr!important}.stat{padding:8px 10px}.stat .label{font-size:11px}.stat .value{font-size:18px}.card{border-radius:var(--radius)}.table-scroll{overflow:visible}.tbl{border-collapse:separate;border-spacing:0;min-width:0}.tbl thead{display:none}.tbl tbody{display:block}.tbl tr{border-bottom:1px solid var(--border);background:var(--bg-1);padding:10px 12px;display:block}.tbl tr:last-child{border-bottom:none}.tbl tr:hover td{background:0 0}.tbl td{border-bottom:none;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:10px;padding:6px 0;font-size:12px;display:grid}.tbl td>button{margin:0 5px 5px 0}.tbl td:before{color:var(--text-3);font-size:11px;font-weight:500;line-height:1.7}.tbl td[colspan]{padding:0;display:block}.tbl td[colspan]:before{display:none}#logsTable td:first-child:before{content:"#"}#logsTable td:nth-child(2):before{content:"发信时间"}#logsTable td:nth-child(3):before{content:"群号"}#logsTable td:nth-child(4):before{content:"发信人ID"}#logsTable td:nth-child(5):before{content:"昵称"}#logsTable td:nth-child(6):before{content:"内容"}#logsTable td:nth-child(7):before{content:"原始信息"}.rules-table td:first-child:before,.schedules-table td:first-child:before{content:"状态"}.rules-table td:nth-child(2):before{content:"规则名称"}.rules-table td:nth-child(3):before{content:"匹配规则"}.rules-table td:nth-child(4):before{content:"关键词"}.rules-table td:nth-child(5):before,.schedules-table td:nth-child(5):before{content:"动作"}.rules-table td:nth-child(6):before{content:"群号过滤"}.rules-table td:nth-child(7):before,.schedules-table td:nth-child(7):before{content:"操作"}.schedules-table td:nth-child(2):before{content:"任务名称"}.schedules-table td:nth-child(3):before{content:"时间"}.schedules-table td:nth-child(4):before{content:"星期"}.schedules-table td:nth-child(6):before{content:"群号"}.audit-table td:first-child:before{content:"#"}.audit-table td:nth-child(2):before{content:"触发时间"}.audit-table td:nth-child(3):before{content:"响应时间"}.audit-table td:nth-child(4):before{content:"规则"}.audit-table td:nth-child(5):before{content:"匹配"}.audit-table td:nth-child(6):before{content:"关键词剩余"}.audit-table td:nth-child(7):before{content:"消息内容"}.audit-table td:nth-child(8):before{content:"结果"}.audit-table td:nth-child(9):before{content:"详情"}.content-cell{max-width:none}.toolbar{align-items:stretch;gap:6px}.toolbar>input[type=date],.toolbar>select,.toolbar>button{flex:auto}.toolbar>input[type=date]{min-width:150px}.toolbar>.switch,.toolbar>span{flex:none;align-self:center}.toolbar .btn-sm,.toolbar .btn-primary{justify-content:center;padding:7px 9px;font-size:12px}.toolbar input,.toolbar select{font-size:12px}.tabs{-webkit-overflow-scrolling:touch;white-space:nowrap;gap:4px;width:100%;overflow-x:auto}.tabs button{flex:1 0 auto;justify-content:center;padding:7px 10px;font-size:12px}.modal{max-width:100vw!important;max-height:92vh!important;margin:0!important}.modal-head,.modal-body{padding:12px}.modal-foot{padding:10px 12px}.modal-foot button{flex:1;justify-content:center}.pagination{justify-content:center;padding:10px 12px}.pagination .page-info{text-align:center;width:100%;margin:0}.preview-mask img,.preview-mask video{max-width:96vw;max-height:80vh}.empty{padding:30px 10px}.field input,.field textarea,.field select{width:100%}.group-picker select,.group-picker button{flex:100%!important}}@media (width<=380px){.stats{grid-template-columns:1fr!important}.topbar nav a{padding:4px;font-size:10px}.tbl td{grid-template-columns:74px minmax(0,1fr)}}@media (width>=1500px){.container{width:min(100% - 72px,1560px);padding-top:34px}.content-cell{max-width:620px}.stats{grid-template-columns:repeat(4,minmax(180px,1fr))}}.theme-switcher{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:4px;height:28px;padding:3px;display:inline-flex}.theme-switcher button{color:var(--text-2);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:24px;height:20px;padding:4px 6px;font-size:12px;transition:background .15s,color .15s;display:inline-flex}.theme-switcher button:hover{color:var(--text);background:0 0;border-color:#0000}.theme-switcher button.active{background:var(--bg-3);color:var(--text)}.theme-switcher button .icon-svg{vertical-align:middle}.click-copy{cursor:pointer;-webkit-user-select:none;user-select:none}.click-copy:hover{color:var(--accent-blue)}.cell-actions{flex-wrap:wrap;gap:4px;display:inline-flex}.inline-note{color:var(--text-3);font-size:12px}.modal-grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-grid-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.rule-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;display:grid}.rule-toggle-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:8px 10px;display:flex}.rule-toggle-item>label:first-child{color:var(--text);letter-spacing:0;cursor:pointer;margin:0;font-size:12px;line-height:1.4}.rule-toggle-item .switch{flex:0 0 36px;margin:0}.modal-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-bottom:12px;padding:12px}.modal-section h4{margin-bottom:10px;font-size:13px}.response-action-extra{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1);margin-top:12px;padding:10px}.response-action-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.response-action-head h5{color:var(--text-2);font-size:12px}.audit-preview{text-overflow:ellipsis;white-space:nowrap;word-break:normal;width:100%;max-width:300px;color:var(--text-2);font-size:12px;display:block;overflow:hidden}.audit-preview-code{max-width:220px;color:var(--accent-blue);font-size:11px}.form-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.group-picker{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.group-picker select{flex:1;min-width:180px}.group-picker button{flex:none}.input-suffix{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;min-width:0;display:grid}.input-suffix input{border-top-right-radius:0;border-bottom-right-radius:0;min-width:0}.input-suffix span{border:1px solid var(--border);border-radius:0 var(--radius) var(--radius) 0;background:var(--bg-2);color:var(--text-2);white-space:nowrap;border-left:0;align-items:center;padding:0 10px;font-size:12px;display:flex}.batch-encoding-control{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);justify-content:space-between;align-items:center;gap:12px;min-height:30px;padding:7px 10px;display:flex}.batch-encoding-control b{color:var(--text);font-size:12px}.http-tester{min-width:0}.http-preset-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:12px;padding-bottom:12px;display:flex}.http-preset-picker{gap:4px;width:min(360px,100%);display:grid}.http-preset-picker label{color:var(--text-3);font-size:11px}.http-preset-picker select{min-width:0}.http-request-bar{grid-template-columns:105px minmax(240px,1fr) 150px auto;align-items:stretch;gap:8px;margin-bottom:12px;display:grid}.http-request-bar>*{min-width:0}.http-method{font-family:var(--mono);font-weight:600}.http-timeout input{font-family:var(--mono)}.http-workspace{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:12px;display:grid}.http-template-help{margin-bottom:12px}.http-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);min-width:0;min-height:480px;padding:12px}.http-panel-head{justify-content:space-between;align-items:center;gap:8px;min-height:30px;margin-bottom:10px;display:flex}.http-panel-head h3{color:var(--text);letter-spacing:0;margin:0;font-size:14px}.icon-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);width:30px;height:30px;color:var(--text-2);cursor:pointer;flex:0 0 30px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.icon-button.danger:hover{border-color:var(--danger);color:var(--danger)}.http-tabs{margin-bottom:12px}.http-tabs button:disabled{opacity:.42;cursor:not-allowed}.http-editor{align-content:start}.http-editor .kv-row{margin:0}.http-add-row{justify-self:start}.body-mode-tabs{margin-bottom:2px}.http-code-input{min-height:260px;font-family:var(--mono);line-height:1.55}.http-result-actions{gap:6px;display:flex}.http-metrics{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.http-final-url{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text-2);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin-bottom:10px;padding:7px 9px;font-size:11px;line-height:1.5;overflow:hidden}.http-error{border-left:3px solid var(--danger);background:var(--tag-pink-bg);color:var(--danger);overflow-wrap:anywhere;margin-bottom:10px;padding:8px 10px;font-size:12px}.http-output{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1);min-height:300px;max-height:440px;color:var(--text);font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:10px;font-size:11px;line-height:1.55;overflow:auto}.http-empty{flex-direction:column;justify-content:center;min-height:390px;display:flex}.segmented{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);gap:3px;width:100%;padding:3px;display:inline-flex}.segmented button{color:var(--text-2);background:0 0;border:0;flex:1;justify-content:center;padding:6px 10px}.segmented button:hover{border-color:#0000}.segmented button.active{color:var(--text);background:var(--bg);box-shadow:var(--shadow-sm)}.scope-fields{gap:6px;margin-top:8px;display:grid}.api-syntax-help{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1);overflow:hidden}.api-syntax-help summary{color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:9px 12px;font-size:12px;font-weight:600;display:flex}.api-syntax-help summary:hover{color:var(--text);background:var(--bg-2)}.api-syntax-content{border-top:1px solid var(--border);gap:12px;padding:12px;display:grid}.api-syntax-content section{gap:7px;display:grid}.api-syntax-content h5{color:var(--text-2);font-size:11px}.api-syntax-note{color:var(--text-3);font-size:11px;line-height:1.6}.syntax-token-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;display:grid}.syntax-token{align-items:center;gap:8px;min-width:0;display:flex}.syntax-token code{flex:none;font-size:11px}.syntax-token span{min-width:0;color:var(--text-3);font-size:11px}.api-syntax-content pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:none;margin:0}.group-template-help{margin-bottom:18px}.group-config-section{border-top:1px solid var(--border);padding-top:18px}.group-config-section+.group-config-section{margin-top:4px}.group-section-head,.group-field-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.group-section-head{margin-bottom:14px}.group-section-head h4{color:var(--text);letter-spacing:0;margin:0 0 3px;font-size:13px}.group-section-head p{color:var(--text-3);letter-spacing:0;margin:0;font-size:11px;line-height:1.55}.group-verify-control{color:var(--text-2);flex:none;align-items:center;gap:8px;font-size:11px;display:flex}.group-verify-control .switch{margin:0}.group-field-head{margin-bottom:6px}.group-field-head label{margin-bottom:0}.field-help{color:var(--text-3);letter-spacing:0;margin:6px 0 0;font-size:11px;line-height:1.6}.field-help code,.group-section-head code,.group-captcha-notice code,.api-syntax-note code{overflow-wrap:anywhere;font-size:10px}.group-captcha-notice{border-left:3px solid var(--accent-blue);background:var(--bg-2);color:var(--text-2);letter-spacing:0;align-items:flex-start;gap:8px;margin-bottom:14px;padding:9px 10px;font-size:11px;line-height:1.55;display:flex}.group-captcha-notice>span:first-child{flex:none;margin-top:1px}.group-captcha-fields{border:0;min-width:0;margin:0;padding:0}.group-captcha-fields:disabled{opacity:.58}.group-global-voice-notice{align-items:center;margin-top:14px}.group-global-voice-notice .btn-sm{flex:none;margin-left:auto}.stack{gap:12px;display:grid}.rule-summary{color:var(--text-fade);margin-top:4px;font-size:11px}.rule-form .action-row{margin-bottom:12px}.rule-form .action-row:last-child{margin-bottom:0}.raw-json{max-height:70vh;overflow:auto}.audit-detail{gap:12px;width:100%;min-width:0;display:grid;overflow:hidden}.audit-detail .modal-section{min-width:0;margin-bottom:0;overflow:hidden}.audit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;min-width:0;display:grid}.audit-kv{gap:3px;min-width:0;display:grid}.audit-kv>span,.audit-block>span{color:var(--text-2);font-size:11px}.audit-kv b{min-width:0;font-size:13px;font-weight:600}.audit-timing-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.audit-timing-grid .audit-kv{border-left:2px solid var(--border-strong);background:var(--bg-1);padding:8px 10px}.audit-detail code,.audit-detail pre{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%}.audit-block{gap:5px;min-width:0;margin-top:10px;display:grid}.audit-block pre{max-height:220px;margin:0;overflow:auto}.audit-block-head{justify-content:space-between;align-items:center;gap:8px;min-height:28px;display:flex}.audit-block-head>span{color:var(--text-2);font-size:11px}.audit-action{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);min-width:0;padding:12px}.audit-action+.audit-action{margin-top:10px}.audit-action-head{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.audit-kv-wide{grid-column:1/-1}.audit-api-detail{border-top:1px solid var(--border);min-width:0;margin-top:12px;padding-top:10px}.checkline{color:var(--text);align-items:center;gap:8px;font-weight:600;display:inline-flex}.checkline input{width:auto}.audit-subhead{color:var(--text);margin-bottom:8px;font-size:12px;font-weight:700}.audit-error{color:var(--danger);word-break:break-word;margin-top:8px;font-size:12px}.page-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-top .page-sub{margin-bottom:0}.toolbar .grow{flex:auto}.toolbar .tight{min-width:0}.mono-wrap{font-family:var(--mono);word-break:break-all}.topbar{overflow:visible}.topbar .brand{flex:0 auto}.topbar .topbar-nav{flex:auto;justify-content:flex-end;overflow:visible}.topbar .topbar-link{white-space:nowrap;flex:none;align-items:center;gap:6px;display:inline-flex}.topbar .topbar-link .icon-svg,.account-trigger .icon-svg,.account-logout .icon-svg{flex:none}.nav-label-short{display:none}.account-menu{flex:none;position:relative}.account-menu summary{list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-trigger{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1);max-width:150px;height:30px;color:var(--text-2);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.account-trigger:hover,.account-menu[open] .account-trigger{color:var(--text);background:var(--bg-2);border-color:var(--border-strong)}.account-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.account-popover{z-index:80;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1);min-width:180px;box-shadow:var(--shadow-md);padding:8px;position:absolute;top:calc(100% + 8px);right:0}.account-info{border-bottom:1px solid var(--border);gap:2px;margin-bottom:6px;padding:6px 8px 8px;display:grid}.account-info span{color:var(--text-3);font-size:11px}.account-info b{color:var(--text);overflow-wrap:anywhere;font-size:13px}.account-logout{border-color:#0000;justify-content:flex-start;width:100%}@media (width<=720px){.topbar{gap:8px}.topbar .topbar-link{gap:4px}}@media (width<=520px){.nav-label-full{display:none}.nav-label-short{display:inline}.account-trigger{width:30px;padding:5px}.account-name{display:none}}@media (width<=380px){.topbar .topbar-link{justify-content:center;width:30px;padding-left:0;padding-right:0}.topbar .topbar-link .nav-label{display:none}}@media (width<=900px){.modal-grid-2,.modal-grid-3,.audit-grid,.http-workspace{grid-template-columns:1fr}}@media (width<=600px){.http-preset-picker{width:100%}.http-preset-bar .spacer{display:none}.http-preset-bar .btn-sm{flex:calc(50% - 4px);justify-content:center}.group-section-head,.group-field-head{flex-direction:column;align-items:flex-start}.group-field-head .btn-sm{justify-content:center;width:100%}.group-global-voice-notice{flex-wrap:wrap}.group-global-voice-notice .btn-sm{justify-content:center;width:100%;margin-left:0}.syntax-token-grid,.rule-toggle-grid{grid-template-columns:1fr}.http-request-bar{grid-template-columns:96px minmax(0,1fr)}.http-url{grid-area:1/1/auto/-1}.http-method{grid-column:1}.http-timeout{grid-column:2}.http-request-bar>.btn-primary{grid-column:1/-1;justify-content:center}.http-panel{min-height:0}.http-empty{min-height:220px}.syntax-token-grid{grid-template-columns:1fr}}
