:root{--color-background: #020617;--color-surface: #0b1220;--color-surface-2: #111827;--color-muted: #1f2937;--color-border: #334155;--color-foreground: #f8fafc;--color-subtle: #a7b4c8;--color-soft: #d7dee9;--color-accent: #22c55e;--color-accent-2: #38bdf8;--color-warn: #f59e0b;--color-danger: #ef4444;--shadow-panel: 0 18px 40px rgba(0, 0, 0, .28);font-family:Fira Sans,Inter,Segoe UI,Arial,sans-serif;color:var(--color-foreground);background:var(--color-background);letter-spacing:0}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh;background:linear-gradient(180deg,rgba(34,197,94,.08),transparent 240px),var(--color-background)}button,input{font:inherit}button{min-height:40px;border:1px solid var(--color-border);border-radius:7px;padding:0 12px;color:var(--color-foreground);background:#121b2d;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:border-color .16s ease,background .16s ease,transform .16s ease}button:hover:not(:disabled){border-color:#5b6e8b;background:#17233a}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible{outline:3px solid rgba(56,189,248,.45);outline-offset:2px}input{width:100%;min-height:44px;border:1px solid var(--color-border);border-radius:7px;padding:0 12px;color:var(--color-foreground);background:#08111f}input::placeholder{color:#718096}input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--color-accent)}.app-shell{width:min(1480px,100%);margin:0 auto;padding:28px}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(620px,100%)}.auth-form{display:grid;gap:14px;padding:18px}.auth-copy{color:var(--color-subtle);font-size:14px;line-height:1.6}.auth-hint{margin-top:-4px;color:#7f8da3;font-size:12px;line-height:1.6}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.topbar-actions{display:flex;align-items:center;gap:10px}.eyebrow{margin:0 0 4px;color:var(--color-accent);font-size:13px;font-weight:700;text-transform:uppercase}h1,h2,p{margin:0}h1{font-family:Fira Code,Consolas,monospace;font-size:clamp(28px,5vw,42px);line-height:1.1}h2{font-size:18px;line-height:1.25}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{min-height:88px;display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--color-border);border-radius:8px;background:#0b1220eb;box-shadow:var(--shadow-panel)}.metric svg{width:22px;height:22px}.metric-icon{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;background:var(--color-muted)}.metric span{display:block;color:var(--color-subtle);font-size:13px}.metric strong{display:block;margin-top:4px;font-size:24px;font-variant-numeric:tabular-nums}.metric.ok .metric-icon,.status.ok{color:#bbf7d0;background:#22c55e24;border-color:#22c55e57}.metric.down .metric-icon,.status.down{color:#fecaca;background:#ef444424;border-color:#ef444457}.metric.warn .metric-icon,.status.unknown{color:#fde68a;background:#f59e0b24;border-color:#f59e0b57}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.panel{border:1px solid var(--color-border);border-radius:8px;background:#0b1220f0;box-shadow:var(--shadow-panel)}.panel-heading{min-height:68px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(51,65,85,.75)}.panel-heading p{margin-top:4px;color:var(--color-subtle);font-size:14px}.panel-heading.compact{min-height:56px;padding:14px 16px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:920px}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(51,65,85,.55);vertical-align:middle}th{color:var(--color-subtle);font-size:12px;font-weight:700;text-transform:uppercase}td{color:var(--color-soft);font-size:14px}tr.selected{background:#38bdf80f}.subtle{margin-top:4px;max-width:340px;color:var(--color-subtle);font-size:12px;overflow-wrap:anywhere}.editable-cell{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0}.editable-cell .link-button,.model-name{min-width:0;overflow-wrap:anywhere}.model-name{color:var(--color-soft)}.target-cell{max-width:220px}.target-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex;align-items:center;min-height:28px;padding:0 8px;border:1px solid;border-radius:999px;font-size:12px;font-weight:700}.code{margin-left:8px;color:var(--color-subtle);font-family:Fira Code,Consolas,monospace;font-size:12px}.actions{display:flex;gap:8px;white-space:nowrap}.danger{color:#fecaca;border-color:#ef44446b;background:#ef44441f}.link-button{min-height:0;padding:0;border:0;color:var(--color-foreground);background:transparent;font-weight:700}.icon-button{width:44px;padding:0}.icon-button.small{width:36px;min-height:36px}.icon-button.tiny{width:34px;min-height:34px;padding:0}.edit-button{flex:0 0 auto;color:var(--color-subtle);background:#0f172a94}.edit-button:hover:not(:disabled){color:var(--color-foreground);border-color:#38bdf894;background:#38bdf81f}.side-stack{display:grid;gap:18px}.form-panel,.inline-form{display:grid;gap:12px}.form-panel{padding-bottom:16px}.field{display:grid;gap:6px;padding:0 16px}.field span{color:var(--color-subtle);font-size:13px;font-weight:700}.primary{min-height:44px;margin:4px 16px 0;color:#04130a;border-color:#60e58c;background:var(--color-accent);font-weight:800}.primary.no-margin{margin:0}.primary:hover:not(:disabled){background:#4ade80}.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.inline-form{grid-template-columns:1fr auto;padding:16px}.admin-list{display:grid;gap:8px;padding:0 16px 16px}.admin-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 6px 12px;border:1px solid rgba(51,65,85,.65);border-radius:7px;background:#0f172ab8;font-family:Fira Code,Consolas,monospace}.history-panel{margin-top:18px}.history-panel.collapsed .panel-heading{border-bottom:0}.history-toggle{min-width:86px;flex:0 0 auto;background:#0f172ab8}.quickstart-panel,.command-settings-panel{margin-top:18px;margin-bottom:18px}.status-bars-panel,.messages-panel,.sub2-panel{margin-top:18px}.send-failures-panel{margin-top:18px;border-color:#ef444452}.message-list,.send-failure-list{display:grid}.status-bars-list{display:grid;gap:12px;padding:16px}.status-bars-card{display:grid;gap:12px;padding:14px;border:1px solid rgba(51,65,85,.65);border-radius:8px;background:#0f172aad}.status-bars-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.status-bars-title strong{display:block;color:var(--color-foreground);font-size:15px;overflow-wrap:anywhere}.status-bars-title span:not(.status){display:block;margin-top:3px;color:var(--color-subtle);font-size:12px;overflow-wrap:anywhere}.status-window-row{display:grid;grid-template-columns:104px minmax(260px,1fr) 76px;gap:12px;align-items:center;min-height:24px}.status-window-label,.status-window-meta{color:var(--color-subtle);font-size:12px;white-space:nowrap}.status-window-meta{text-align:right;font-family:Fira Code,Consolas,monospace}.status-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(7px,1fr);gap:4px;min-width:0;height:16px}.status-segment{display:block;min-width:0;height:16px;border-radius:3px;background:#64748b}.status-segment.unknown,.status-dot.unknown{background:#64748b}.status-segment.ok,.status-dot.ok{background:var(--color-accent)}.status-segment.partial,.status-dot.partial{background:var(--color-warn)}.status-segment.down,.status-dot.down{background:var(--color-danger)}.status-legend{display:flex;flex-wrap:wrap;gap:10px 18px;padding:0 16px 16px;color:var(--color-subtle);font-size:12px}.status-legend span{display:inline-flex;align-items:center;gap:7px}.status-dot{width:10px;height:10px;border-radius:3px;display:inline-block}.quickstart-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;padding:16px}.quickstart-steps{display:grid;gap:10px;align-content:start}.quickstep{min-height:44px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(51,65,85,.65);border-radius:8px;color:var(--color-subtle);background:#0f172aad}.quickstep.done{color:#bbf7d0;border-color:#22c55e57;background:#14532d2e}.onebot-setup{display:grid;gap:12px;padding:14px;border:1px solid rgba(51,65,85,.65);border-radius:8px;background:#0f172aad}.section-label{display:flex;align-items:center;gap:8px;color:var(--color-foreground);font-size:14px;font-weight:800}.guide-text{color:var(--color-subtle);font-size:13px;line-height:1.6}.napcat-code{padding:10px 12px;border:1px solid rgba(56,189,248,.24);border-radius:7px;color:#bae6fd;background:#082f4947;font-family:Fira Code,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.switch-row{min-height:34px;display:flex;align-items:center;gap:10px;color:var(--color-soft);font-size:13px}.connection-state{padding:9px 11px;border-radius:7px;font-size:13px;overflow-wrap:anywhere}.connection-state.ok{color:#bbf7d0;background:#14532d38}.connection-state.warn{color:#fde68a;background:#78350f38}.command-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px;padding:16px}.command-toggle-row{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid rgba(51,65,85,.65);border-radius:8px;background:#0f172aad}.command-toggle-row strong{display:block;color:var(--color-foreground);font-family:Fira Code,Consolas,monospace;font-size:14px}.command-toggle-row span{display:block;margin-top:3px;color:var(--color-subtle);font-size:12px;line-height:1.45}.toggle{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 10px;border:1px solid rgba(51,65,85,.75);border-radius:999px;color:var(--color-soft);background:#02061747}.toggle span{margin:0;color:inherit;font-weight:700}.sub2-board-list{display:grid;gap:12px;padding:16px}.sub2-board{border:1px solid rgba(51,65,85,.65);border-radius:8px;background:#0f172aad;overflow:hidden}.sub2-board-toggle{width:100%;min-height:64px;padding:12px 14px;justify-content:flex-start;border:0;border-radius:0;background:transparent;text-align:left}.sub2-board-toggle:hover:not(:disabled){background:#1e293bb8}.sub2-board-main{display:grid;gap:4px;min-width:0;flex:1 1 auto}.sub2-board-main strong{color:var(--color-foreground);font-size:15px;overflow-wrap:anywhere}.sub2-board-main span{color:var(--color-subtle);font-size:12px;overflow-wrap:anywhere}.sub2-board-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:48%;color:var(--color-subtle);font-size:12px}.sub2-board-summary span{min-height:26px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid rgba(51,65,85,.75);border-radius:999px;background:#02061747;white-space:nowrap}.sub2-board-body{display:grid;gap:16px;padding:0 14px 16px}.sub2-error{padding:10px 12px;border:1px solid rgba(239,68,68,.34);border-radius:7px;color:#fecaca;background:#7f1d1d38;font-size:13px;overflow-wrap:anywhere}.sub2-platform{display:grid;gap:10px}.sub2-platform-badge{width:fit-content;min-height:28px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;color:#fff;font-size:12px;font-weight:800}.sub2-platform-badge.openai{background:#16a34a}.sub2-platform-badge.anthropic{background:#f97316}.sub2-platform-badge.other{background:#0284c7}.sub2-rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px}.sub2-rate-card{min-height:150px;display:grid;gap:12px;padding:14px;border:1px solid rgba(51,65,85,.66);border-radius:8px;background:#02061757}.sub2-rate-card.up{border-color:#ef444473;background:#7f1d1d21}.sub2-rate-card.down{border-color:#22c55e6b;background:#14532d21}.sub2-rate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sub2-rate-head strong{color:var(--color-foreground);font-size:14px;overflow-wrap:anywhere}.sub2-rate-head span{flex:0 0 auto;color:var(--color-subtle);font-family:Fira Code,Consolas,monospace;font-size:12px}.sub2-rate-body{display:grid;grid-template-columns:minmax(138px,.8fr) minmax(180px,1fr);gap:16px;align-items:end}.sub2-current-rate{font-family:Fira Code,Consolas,monospace;font-size:31px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.sub2-current-rate.up,.sub2-rate-change.up{color:#fca5a5}.sub2-current-rate.down,.sub2-rate-change.down{color:#86efac}.sub2-current-rate.flat,.sub2-rate-change.flat{color:#cbd5e1}.sub2-rate-change{min-height:28px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px;font-size:13px;font-weight:800}.sub2-rate-change small{color:var(--color-subtle);font-size:12px;font-weight:500}.sub2-sparkline{min-width:0}.sub2-sparkline svg{width:100%;height:60px;display:block;overflow:visible}.sub2-sparkline line{stroke:#94a3b859;stroke-width:1}.sub2-sparkline polyline{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.sub2-sparkline-axis{display:flex;justify-content:space-between;margin-top:6px;color:var(--color-subtle);font-family:Fira Code,Consolas,monospace;font-size:11px}.message-row{display:grid;grid-template-columns:140px 170px minmax(0,1fr) 130px;gap:12px;align-items:center;min-height:50px;padding:10px 16px;border-bottom:1px solid rgba(51,65,85,.45);color:var(--color-soft);font-size:13px}.send-failure-row{display:grid;grid-template-columns:140px 210px minmax(180px,.7fr) minmax(0,1fr);gap:12px;align-items:center;min-height:50px;padding:10px 16px;border-bottom:1px solid rgba(239,68,68,.22);background:#7f1d1d1f;color:var(--color-soft);font-size:13px}.send-error{color:#fecaca;font-weight:700;overflow-wrap:anywhere}.message-row.triggered{background:#22c55e1c;box-shadow:inset 3px 0 0 var(--color-accent)}.message-time,.message-source,.message-trigger{color:var(--color-subtle);font-family:Fira Code,Consolas,monospace;font-size:12px}.message-text{overflow-wrap:anywhere}.message-trigger{text-align:right}.message-row.triggered .message-trigger{color:#bbf7d0;font-weight:700}.history-list{display:grid}.history-row{display:grid;grid-template-columns:86px 150px 90px 92px 64px minmax(0,1fr);gap:10px;align-items:center;min-height:48px;padding:10px 16px;border-bottom:1px solid rgba(51,65,85,.45);color:var(--color-soft);font-size:13px}.history-error{color:var(--color-subtle);overflow-wrap:anywhere}.empty{padding:22px;color:var(--color-subtle);text-align:center}.toast{margin-bottom:18px;padding:12px 14px;border:1px solid rgba(34,197,94,.38);border-radius:8px;color:#d1fae5;background:#064e3b59}.toast.error{color:#fee2e2;border-color:#ef444473;background:#7f1d1d61}.footer{display:flex;align-items:center;gap:8px;padding:18px 2px 0;color:var(--color-subtle);font-size:13px}@media(max-width:1120px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:1fr}}@media(max-width:680px){.app-shell{padding:18px 14px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.metrics{grid-template-columns:1fr}.metric{min-height:76px}.panel-heading{align-items:flex-start;flex-direction:column}.history-row{grid-template-columns:78px 1fr}.quickstart-grid{grid-template-columns:1fr}.command-toggle-row{align-items:flex-start;flex-direction:column}.message-row,.send-failure-row{grid-template-columns:1fr}.status-bars-title{align-items:flex-start;flex-direction:column}.status-window-row{grid-template-columns:1fr;gap:6px}.status-window-meta{text-align:left}.sub2-board-toggle{align-items:flex-start;flex-wrap:wrap}.sub2-board-summary{max-width:100%;justify-content:flex-start;margin-left:30px}.sub2-rate-grid,.sub2-rate-body{grid-template-columns:1fr}.message-trigger{text-align:left}.history-error{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
