ai-agent-session-center 2.2.1 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/dist/client/assets/{AnalyticsView-CKaEx_BQ.js → AnalyticsView-Cp9bp6_0.js} +1 -1
- package/dist/client/assets/{Charts.module-4IN9PtKZ.js → Charts.module-CI5L_KBD.js} +1 -1
- package/dist/client/assets/{CyberdromeScene-Be7Tk67x.js → CyberdromeScene-Bq3v-oAJ.js} +1 -1
- package/dist/client/assets/HistoryView-Cu23DcIM.css +1 -0
- package/dist/client/assets/HistoryView-t3XX1uxx.js +1 -0
- package/dist/client/assets/{QueueView-BsSbIjX1.js → QueueView-DMNeaIFi.js} +1 -1
- package/dist/client/assets/{TimelineView-DbxaiTrG.js → TimelineView-5N2kWFXa.js} +1 -1
- package/dist/client/assets/index-CVkyDAlX.css +1 -0
- package/dist/client/assets/{index-XnIHxZ2e.js → index-CwJoEN_x.js} +62 -62
- package/dist/client/assets/{useQuery-CSmjUocy.js → useQuery-CWX5YPbx.js} +1 -1
- package/dist/client/assets/{with-selector-BL3184_R.js → with-selector-CEvSnm1t.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/client/screenshot-dashboard.png +0 -0
- package/dist/client/screenshot-detail.png +0 -0
- package/dist/client/screenshot-terminal.png +0 -0
- package/package.json +1 -1
- package/server/apiRouter.ts +118 -2
- package/static/screenshot-dashboard.png +0 -0
- package/static/screenshot-detail.png +0 -0
- package/static/screenshot-terminal.png +0 -0
- package/dist/client/assets/HistoryView-4mf9THSD.js +0 -1
- package/dist/client/assets/HistoryView-I9nTyg4C.css +0 -1
- package/dist/client/assets/index-pnEv8W-w.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{S as G,p as N,d as l,s as Q,e as g,n as M,i as x,f as B,t as J,h as C,k as X,l as Y,m as A,o as z,r as d,q as V,u as Z}from"./index-
|
|
1
|
+
import{S as G,p as N,d as l,s as Q,e as g,n as M,i as x,f as B,t as J,h as C,k as X,l as Y,m as A,o as z,r as d,q as V,u as Z}from"./index-CwJoEN_x.js";var $=class extends G{constructor(t,e){super(),this.options=e,this.#s=t,this.#i=null,this.#r=N(),this.bindMethods(),this.setOptions(e)}#s;#t=void 0;#p=void 0;#e=void 0;#a;#u;#r;#i;#b;#l;#d;#o;#h;#n;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),j(this.#t,this.options)?this.#c():this.updateResult(),this.#g())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return _(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return _(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#y(),this.#S(),this.#t.removeObserver(this)}setOptions(t){const e=this.options,s=this.#t;if(this.options=this.#s.defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof l(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#O(),this.#t.setOptions(this.options),e._defaulted&&!Q(this.options,e)&&this.#s.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const r=this.hasListeners();r&&H(this.#t,s,this.options,e)&&this.#c(),this.updateResult(),r&&(this.#t!==s||l(this.options.enabled,this.#t)!==l(e.enabled,this.#t)||g(this.options.staleTime,this.#t)!==g(e.staleTime,this.#t))&&this.#R();const i=this.#v();r&&(this.#t!==s||l(this.options.enabled,this.#t)!==l(e.enabled,this.#t)||i!==this.#n)&&this.#m(i)}getOptimisticResult(t){const e=this.#s.getQueryCache().build(this.#s,t),s=this.createResult(e,t);return tt(this,s)&&(this.#e=s,this.#u=this.options,this.#a=this.#t.state),s}getCurrentResult(){return this.#e}trackResult(t,e){return new Proxy(t,{get:(s,r)=>(this.trackProp(r),e?.(r),r==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#r.status==="pending"&&this.#r.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,r))})}trackProp(t){this.#f.add(t)}getCurrentQuery(){return this.#t}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const e=this.#s.defaultQueryOptions(t),s=this.#s.getQueryCache().build(this.#s,e);return s.fetch().then(()=>this.createResult(s,e))}fetch(t){return this.#c({...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#e))}#c(t){this.#O();let e=this.#t.fetch(this.options,t);return t?.throwOnError||(e=e.catch(M)),e}#R(){this.#y();const t=g(this.options.staleTime,this.#t);if(x||this.#e.isStale||!B(t))return;const s=J(this.#e.dataUpdatedAt,t)+1;this.#o=C.setTimeout(()=>{this.#e.isStale||this.updateResult()},s)}#v(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#m(t){this.#S(),this.#n=t,!(x||l(this.options.enabled,this.#t)===!1||!B(this.#n)||this.#n===0)&&(this.#h=C.setInterval(()=>{(this.options.refetchIntervalInBackground||X.isFocused())&&this.#c()},this.#n))}#g(){this.#R(),this.#m(this.#v())}#y(){this.#o&&(C.clearTimeout(this.#o),this.#o=void 0)}#S(){this.#h&&(C.clearInterval(this.#h),this.#h=void 0)}createResult(t,e){const s=this.#t,r=this.options,i=this.#e,u=this.#a,a=this.#u,R=t!==s?t.state:this.#p,{state:h}=t;let n={...h},v=!1,o;if(e._optimisticResults){const c=this.hasListeners(),m=!c&&j(t,e),S=c&&H(t,s,e,r);(m||S)&&(n={...n,...Y(h.data,t.options)}),e._optimisticResults==="isRestoring"&&(n.fetchStatus="idle")}let{error:y,errorUpdatedAt:U,status:b}=n;o=n.data;let D=!1;if(e.placeholderData!==void 0&&o===void 0&&b==="pending"){let c;i?.isPlaceholderData&&e.placeholderData===a?.placeholderData?(c=i.data,D=!0):c=typeof e.placeholderData=="function"?e.placeholderData(this.#d?.state.data,this.#d):e.placeholderData,c!==void 0&&(b="success",o=A(i?.data,c,e),v=!0)}if(e.select&&o!==void 0&&!D)if(i&&o===u?.data&&e.select===this.#b)o=this.#l;else try{this.#b=e.select,o=e.select(o),o=A(i?.data,o,e),this.#l=o,this.#i=null}catch(c){this.#i=c}this.#i&&(y=this.#i,o=this.#l,U=Date.now(),b="error");const I=n.fetchStatus==="fetching",T=b==="pending",w=b==="error",F=T&&I,k=o!==void 0,p={status:b,fetchStatus:n.fetchStatus,isPending:T,isSuccess:b==="success",isError:w,isInitialLoading:F,isLoading:F,data:o,dataUpdatedAt:n.dataUpdatedAt,error:y,errorUpdatedAt:U,failureCount:n.fetchFailureCount,failureReason:n.fetchFailureReason,errorUpdateCount:n.errorUpdateCount,isFetched:n.dataUpdateCount>0||n.errorUpdateCount>0,isFetchedAfterMount:n.dataUpdateCount>R.dataUpdateCount||n.errorUpdateCount>R.errorUpdateCount,isFetching:I,isRefetching:I&&!T,isLoadingError:w&&!k,isPaused:n.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:w&&k,isStale:P(t,e),refetch:this.refetch,promise:this.#r,isEnabled:l(e.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const c=p.data!==void 0,m=p.status==="error"&&!c,S=E=>{m?E.reject(p.error):c&&E.resolve(p.data)},L=()=>{const E=this.#r=p.promise=N();S(E)},O=this.#r;switch(O.status){case"pending":t.queryHash===s.queryHash&&S(O);break;case"fulfilled":(m||p.data!==O.value)&&L();break;case"rejected":(!m||p.error!==O.reason)&&L();break}}return p}updateResult(){const t=this.#e,e=this.createResult(this.#t,this.options);if(this.#a=this.#t.state,this.#u=this.options,this.#a.data!==void 0&&(this.#d=this.#t),Q(e,t))return;this.#e=e;const s=()=>{if(!t)return!0;const{notifyOnChangeProps:r}=this.options,i=typeof r=="function"?r():r;if(i==="all"||!i&&!this.#f.size)return!0;const u=new Set(i??this.#f);return this.options.throwOnError&&u.add("error"),Object.keys(this.#e).some(a=>{const f=a;return this.#e[f]!==t[f]&&u.has(f)})};this.#E({listeners:s()})}#O(){const t=this.#s.getQueryCache().build(this.#s,this.options);if(t===this.#t)return;const e=this.#t;this.#t=t,this.#p=t.state,this.hasListeners()&&(e?.removeObserver(this),t.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#g()}#E(t){z.batch(()=>{t.listeners&&this.listeners.forEach(e=>{e(this.#e)}),this.#s.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function q(t,e){return l(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&e.retryOnMount===!1)}function j(t,e){return q(t,e)||t.state.data!==void 0&&_(t,e,e.refetchOnMount)}function _(t,e,s){if(l(e.enabled,t)!==!1&&g(e.staleTime,t)!=="static"){const r=typeof s=="function"?s(t):s;return r==="always"||r!==!1&&P(t,e)}return!1}function H(t,e,s,r){return(t!==e||l(r.enabled,t)===!1)&&(!s.suspense||t.state.status!=="error")&&P(t,s)}function P(t,e){return l(e.enabled,t)!==!1&&t.isStaleByTime(g(e.staleTime,t))}function tt(t,e){return!Q(t.getCurrentResult(),e)}var K=d.createContext(!1),et=()=>d.useContext(K);K.Provider;function st(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var rt=d.createContext(st()),it=()=>d.useContext(rt),nt=(t,e,s)=>{const r=s?.state.error&&typeof t.throwOnError=="function"?V(t.throwOnError,[s.state.error,s]):t.throwOnError;(t.suspense||t.experimental_prefetchInRender||r)&&(e.isReset()||(t.retryOnMount=!1))},at=t=>{d.useEffect(()=>{t.clearReset()},[t])},ot=({result:t,errorResetBoundary:e,throwOnError:s,query:r,suspense:i})=>t.isError&&!e.isReset()&&!t.isFetching&&r&&(i&&t.data===void 0||V(s,[t.error,r])),ht=t=>{if(t.suspense){const s=i=>i==="static"?i:Math.max(i??1e3,1e3),r=t.staleTime;t.staleTime=typeof r=="function"?(...i)=>s(r(...i)):s(r),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},ct=(t,e)=>t.isLoading&&t.isFetching&&!e,ut=(t,e)=>t?.suspense&&e.isPending,W=(t,e,s)=>e.fetchOptimistic(t).catch(()=>{s.clearReset()});function lt(t,e,s){const r=et(),i=it(),u=Z(),a=u.defaultQueryOptions(t);u.getDefaultOptions().queries?._experimental_beforeQuery?.(a);const f=u.getQueryCache().get(a.queryHash);a._optimisticResults=r?"isRestoring":"optimistic",ht(a),nt(a,i,f),at(i);const R=!u.getQueryCache().get(a.queryHash),[h]=d.useState(()=>new e(u,a)),n=h.getOptimisticResult(a),v=!r&&t.subscribed!==!1;if(d.useSyncExternalStore(d.useCallback(o=>{const y=v?h.subscribe(z.batchCalls(o)):M;return h.updateResult(),y},[h,v]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),d.useEffect(()=>{h.setOptions(a)},[a,h]),ut(a,n))throw W(a,h,i);if(ot({result:n,errorResetBoundary:i,throwOnError:a.throwOnError,query:f,suspense:a.suspense}))throw n.error;return u.getDefaultOptions().queries?._experimental_afterQuery?.(a,n),a.experimental_prefetchInRender&&!x&&ct(n,r)&&(R?W(a,h,i):f?.promise)?.catch(M).finally(()=>{h.updateResult()}),a.notifyOnChangeProps?n:h.trackResult(n)}function pt(t,e){return lt(t,$)}export{pt as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as I,g as M}from"./index-
|
|
1
|
+
import{c as I,g as M}from"./index-CwJoEN_x.js";var R={exports:{}},b={},x={exports:{}},j={};var W;function U(){if(W)return j;W=1;var n=I();function S(e,r){return e===r&&(e!==0||1/e===1/r)||e!==e&&r!==r}var m=typeof Object.is=="function"?Object.is:S,h=n.useState,p=n.useEffect,E=n.useLayoutEffect,y=n.useDebugValue;function w(e,r){var u=r(),o=h({inst:{value:u,getSnapshot:r}}),t=o[0].inst,f=o[1];return E(function(){t.value=u,t.getSnapshot=r,l(t)&&f({inst:t})},[e,u,r]),p(function(){return l(t)&&f({inst:t}),e(function(){l(t)&&f({inst:t})})},[e]),y(u),u}function l(e){var r=e.getSnapshot;e=e.value;try{var u=r();return!m(e,u)}catch{return!0}}function i(e,r){return r()}var a=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?i:w;return j.useSyncExternalStore=n.useSyncExternalStore!==void 0?n.useSyncExternalStore:a,j}var g;function C(){return g||(g=1,x.exports=U()),x.exports}var O;function G(){if(O)return b;O=1;var n=I(),S=C();function m(i,a){return i===a&&(i!==0||1/i===1/a)||i!==i&&a!==a}var h=typeof Object.is=="function"?Object.is:m,p=S.useSyncExternalStore,E=n.useRef,y=n.useEffect,w=n.useMemo,l=n.useDebugValue;return b.useSyncExternalStoreWithSelector=function(i,a,e,r,u){var o=E(null);if(o.current===null){var t={hasValue:!1,value:null};o.current=t}else t=o.current;o=w(function(){function V(c){if(!_){if(_=!0,v=c,c=r(c),u!==void 0&&t.hasValue){var s=t.value;if(u(s,c))return d=s}return d=c}if(s=d,h(v,c))return s;var D=r(c);return u!==void 0&&u(s,D)?(v=c,s):(v=c,d=D)}var _=!1,v,d,q=e===void 0?null:e;return[function(){return V(a())},q===null?void 0:function(){return V(q())}]},[a,e,r,u]);var f=p(i,o[0],o[1]);return y(function(){t.hasValue=!0,t.value=f},[f]),l(f),f},b}var z;function L(){return z||(z=1,R.exports=G()),R.exports}var $=L();const F=M($);export{F as u,$ as w};
|
package/dist/client/index.html
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
|
8
8
|
<link rel="apple-touch-icon" href="/apple-touch-icon.svg">
|
|
9
9
|
<meta name="theme-color" content="#0a0a1a">
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-CwJoEN_x.js"></script>
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CVkyDAlX.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
package/server/apiRouter.ts
CHANGED
|
@@ -10,14 +10,15 @@ function str(val: unknown): string {
|
|
|
10
10
|
if (Array.isArray(val)) return String(val[0] ?? '');
|
|
11
11
|
return val != null ? String(val) : '';
|
|
12
12
|
}
|
|
13
|
-
import { findClaudeProcess, killSession, archiveSession, setSessionTitle, setSessionLabel, setSessionAccentColor, setSummary, getSession, detectSessionSource, createTerminalSession, deleteSessionFromMemory, resumeSession, reconnectSessionTerminal } from './sessionStore.js';
|
|
13
|
+
import { findClaudeProcess, killSession, archiveSession, setSessionTitle, setSessionLabel, setSessionAccentColor, setSummary, getSession, getAllSessions, detectSessionSource, createTerminalSession, deleteSessionFromMemory, resumeSession, reconnectSessionTerminal } from './sessionStore.js';
|
|
14
|
+
import { config as serverConfig } from './serverConfig.js';
|
|
14
15
|
import { createTerminal, closeTerminal, getTerminals, listSshKeys, listTmuxSessions, writeToTerminal, writeWhenReady, attachToTmuxPane, consumePendingLink } from './sshManager.js';
|
|
15
16
|
import { getTeam, readTeamConfig } from './teamManager.js';
|
|
16
17
|
import { getStats as getHookStats, resetStats as resetHookStats } from './hookStats.js';
|
|
17
18
|
import * as db from './db.js';
|
|
18
19
|
import { getMqStats } from './mqReader.js';
|
|
19
20
|
import { execFile } from 'child_process';
|
|
20
|
-
import { readFileSync, readdirSync, existsSync, statSync } from 'fs';
|
|
21
|
+
import { readFileSync, writeFileSync, readdirSync, existsSync, statSync, mkdirSync } from 'fs';
|
|
21
22
|
import { join, dirname, extname, basename } from 'path';
|
|
22
23
|
import { homedir, userInfo } from 'os';
|
|
23
24
|
import { fileURLToPath } from 'url';
|
|
@@ -1013,4 +1014,119 @@ router.get('/files/read', (req: Request, res: Response) => {
|
|
|
1013
1014
|
}
|
|
1014
1015
|
});
|
|
1015
1016
|
|
|
1017
|
+
/** POST /api/files/write — create or overwrite a file */
|
|
1018
|
+
const fileWriteSchema = z.object({
|
|
1019
|
+
root: z.string().min(1),
|
|
1020
|
+
path: z.string().min(1).max(1024),
|
|
1021
|
+
content: z.string().max(2 * 1024 * 1024), // 2 MB limit
|
|
1022
|
+
});
|
|
1023
|
+
|
|
1024
|
+
router.post('/files/write', (req: Request, res: Response) => {
|
|
1025
|
+
const parsed = fileWriteSchema.safeParse(req.body);
|
|
1026
|
+
if (!parsed.success) { res.status(400).json({ error: 'Invalid request body' }); return; }
|
|
1027
|
+
|
|
1028
|
+
const { root, path: relPath, content } = parsed.data;
|
|
1029
|
+
const fullPath = resolveProjectPath(root, relPath);
|
|
1030
|
+
if (!fullPath) { res.status(400).json({ error: 'Path outside project root' }); return; }
|
|
1031
|
+
|
|
1032
|
+
try {
|
|
1033
|
+
// Ensure parent directory exists
|
|
1034
|
+
const parentDir = dirname(fullPath);
|
|
1035
|
+
if (!existsSync(parentDir)) {
|
|
1036
|
+
mkdirSync(parentDir, { recursive: true });
|
|
1037
|
+
}
|
|
1038
|
+
writeFileSync(fullPath, content, 'utf8');
|
|
1039
|
+
const stat = statSync(fullPath);
|
|
1040
|
+
res.json({ ok: true, path: relPath, size: stat.size });
|
|
1041
|
+
} catch (err: unknown) {
|
|
1042
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
1043
|
+
res.status(500).json({ error: msg });
|
|
1044
|
+
}
|
|
1045
|
+
});
|
|
1046
|
+
|
|
1047
|
+
/** POST /api/files/mkdir — create a directory */
|
|
1048
|
+
const mkdirSchema = z.object({
|
|
1049
|
+
root: z.string().min(1),
|
|
1050
|
+
path: z.string().min(1).max(1024),
|
|
1051
|
+
});
|
|
1052
|
+
|
|
1053
|
+
router.post('/files/mkdir', (req: Request, res: Response) => {
|
|
1054
|
+
const parsed = mkdirSchema.safeParse(req.body);
|
|
1055
|
+
if (!parsed.success) { res.status(400).json({ error: 'Invalid request body' }); return; }
|
|
1056
|
+
|
|
1057
|
+
const { root, path: relPath } = parsed.data;
|
|
1058
|
+
const fullPath = resolveProjectPath(root, relPath);
|
|
1059
|
+
if (!fullPath) { res.status(400).json({ error: 'Path outside project root' }); return; }
|
|
1060
|
+
|
|
1061
|
+
try {
|
|
1062
|
+
if (existsSync(fullPath)) { res.status(409).json({ error: 'Path already exists' }); return; }
|
|
1063
|
+
mkdirSync(fullPath, { recursive: true });
|
|
1064
|
+
res.json({ ok: true, path: relPath });
|
|
1065
|
+
} catch (err: unknown) {
|
|
1066
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
1067
|
+
res.status(500).json({ error: msg });
|
|
1068
|
+
}
|
|
1069
|
+
});
|
|
1070
|
+
|
|
1071
|
+
/** GET /api/files/search?root=<projectPath>&q=<query> — fuzzy search file names */
|
|
1072
|
+
router.get('/files/search', (req: Request, res: Response) => {
|
|
1073
|
+
const root = str(req.query.root);
|
|
1074
|
+
const query = str(req.query.q).toLowerCase();
|
|
1075
|
+
if (!root) { res.status(400).json({ error: 'root query param required' }); return; }
|
|
1076
|
+
if (!query) { res.json({ results: [] }); return; }
|
|
1077
|
+
|
|
1078
|
+
const results: Array<{ path: string; name: string; type: 'dir' | 'file' }> = [];
|
|
1079
|
+
const MAX_RESULTS = 50;
|
|
1080
|
+
const MAX_DEPTH = 8;
|
|
1081
|
+
|
|
1082
|
+
function walk(dir: string, relPrefix: string, depth: number) {
|
|
1083
|
+
if (depth > MAX_DEPTH || results.length >= MAX_RESULTS) return;
|
|
1084
|
+
try {
|
|
1085
|
+
const entries = readdirSync(dir, { withFileTypes: true });
|
|
1086
|
+
for (const entry of entries) {
|
|
1087
|
+
if (results.length >= MAX_RESULTS) break;
|
|
1088
|
+
if (entry.isDirectory() && (HIDDEN_DIRS.has(entry.name) || entry.name.startsWith('.'))) continue;
|
|
1089
|
+
const relPath = relPrefix ? `${relPrefix}/${entry.name}` : entry.name;
|
|
1090
|
+
const nameLower = entry.name.toLowerCase();
|
|
1091
|
+
|
|
1092
|
+
// Fuzzy match: all query chars appear in order in the filename
|
|
1093
|
+
let qi = 0;
|
|
1094
|
+
for (let i = 0; i < nameLower.length && qi < query.length; i++) {
|
|
1095
|
+
if (nameLower[i] === query[qi]) qi++;
|
|
1096
|
+
}
|
|
1097
|
+
if (qi === query.length) {
|
|
1098
|
+
results.push({ path: '/' + relPath, name: entry.name, type: entry.isDirectory() ? 'dir' : 'file' });
|
|
1099
|
+
}
|
|
1100
|
+
if (entry.isDirectory()) {
|
|
1101
|
+
walk(join(dir, entry.name), relPath, depth + 1);
|
|
1102
|
+
}
|
|
1103
|
+
}
|
|
1104
|
+
} catch { /* permission errors, etc. */ }
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
walk(root, '', 0);
|
|
1108
|
+
res.json({ results });
|
|
1109
|
+
});
|
|
1110
|
+
|
|
1111
|
+
// ---- Health & Config ----
|
|
1112
|
+
|
|
1113
|
+
router.get('/health-check', (_req: Request, res: Response) => {
|
|
1114
|
+
res.json({ status: 'ok', uptime: process.uptime() });
|
|
1115
|
+
});
|
|
1116
|
+
|
|
1117
|
+
router.get('/config', (_req: Request, res: Response) => {
|
|
1118
|
+
res.json({
|
|
1119
|
+
port: serverConfig.port,
|
|
1120
|
+
hookDensity: serverConfig.hookDensity,
|
|
1121
|
+
debug: serverConfig.debug,
|
|
1122
|
+
enabledClis: serverConfig.enabledClis,
|
|
1123
|
+
});
|
|
1124
|
+
});
|
|
1125
|
+
|
|
1126
|
+
// ---- Sessions list ----
|
|
1127
|
+
|
|
1128
|
+
router.get('/sessions', (_req: Request, res: Response) => {
|
|
1129
|
+
res.json(getAllSessions());
|
|
1130
|
+
});
|
|
1131
|
+
|
|
1016
1132
|
export default router;
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as _,j as t,u as T,a as y}from"./index-XnIHxZ2e.js";import{u as f}from"./useQuery-CSmjUocy.js";function S({value:e,onChange:s,placeholder:l="Search...",debounceMs:c=300,className:r,inputClassName:m}){const[i,d]=_.useState(e??""),p=_.useRef(null);_.useEffect(()=>{e!==void 0&&d(e)},[e]);const u=_.useCallback(h=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>s(h),c)},[s,c]);_.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);function v(h){const n=h.target.value;d(n),u(n)}function x(){d(""),p.current&&clearTimeout(p.current),s("")}return t.jsxs("div",{className:r,style:{position:"relative",display:"flex",alignItems:"center"},children:[t.jsx("input",{type:"text",value:i,onChange:v,placeholder:l,className:m,style:m?void 0:{width:"100%",padding:"8px 32px 8px 12px",background:"var(--bg-primary, #0a0a1a)",border:"1px solid var(--border-subtle, rgba(255,255,255,0.06))",borderRadius:"6px",color:"var(--text-primary, #e0e0ff)",fontSize:"0.85rem",fontFamily:"var(--font-mono, monospace)",outline:"none"}}),i&&t.jsx("button",{onClick:x,"aria-label":"Clear search",style:{position:"absolute",right:"8px",background:"none",border:"none",color:"var(--text-secondary, #8888aa)",cursor:"pointer",fontSize:"0.9rem",padding:"2px 4px",lineHeight:1},children:"x"})]})}function B({tabs:e,activeTab:s,onTabChange:l,tabListClassName:c,tabClassName:r,activeTabClassName:m}){return t.jsxs("div",{children:[t.jsx("div",{role:"tablist",className:c,style:c?void 0:{display:"flex",gap:"2px",borderBottom:"1px solid var(--border-subtle, rgba(255,255,255,0.06))",marginBottom:"12px"},children:e.map(i=>{const d=s===i.id,p=[r,d&&m].filter(Boolean).join(" ");return t.jsx("button",{role:"tab","aria-selected":d,onClick:()=>l(i.id),className:p||void 0,style:p?void 0:{padding:"8px 16px",background:d?"var(--bg-accent, rgba(0,229,255,0.1))":"transparent",border:"none",borderBottom:d?"2px solid var(--accent-cyan, #00e5ff)":"2px solid transparent",color:d?"var(--accent-cyan, #00e5ff)":"var(--text-secondary, #8888aa)",cursor:"pointer",fontSize:"0.85rem",fontFamily:"var(--font-mono, monospace)",transition:"color 0.15s, background 0.15s"},children:i.label},i.id)})}),t.jsx("div",{role:"tabpanel",children:e.find(i=>i.id===s)?.content})]})}const C="_container_1pt67_5",D="_filters_1pt67_15",E="_filterGroup_1pt67_22",k="_filterLabel_1pt67_28",F="_filterSelect_1pt67_35",$="_filterInput_1pt67_36",q="_sortToggle_1pt67_52",L="_results_1pt67_70",M="_emptyState_1pt67_78",I="_row_1pt67_87",R="_rowTitle_1pt67_105",A="_rowProject_1pt67_113",P="_rowDate_1pt67_121",G="_rowDuration_1pt67_127",U="_rowStatus_1pt67_133",H="_rowMeta_1pt67_163",O="_deleteBtn_1pt67_169",z="_pagination_1pt67_187",K="_pageBtn_1pt67_195",Q="_pageBtnActive_1pt67_216",W="_pageEllipsis_1pt67_222",Z="_detailOverlay_1pt67_229",J="_detailCard_1pt67_239",V="_detailHeader_1pt67_253",X="_detailTitle_1pt67_260",Y="_detailMeta_1pt67_266",tt="_detailCloseBtn_1pt67_273",et="_detailBody_1pt67_286",at="_convoEntry_1pt67_291",st="_convoPrompt_1pt67_298",ot="_convoResponse_1pt67_303",nt="_convoTime_1pt67_308",it="_convoText_1pt67_314",rt="_activityEntry_1pt67_321",lt="_activityTime_1pt67_329",ct="_activityBadge_1pt67_335",dt="_activityBadgeTool_1pt67_344",pt="_activityBadgeEvent_1pt67_349",ut="_activityDetail_1pt67_354",a={container:C,filters:D,filterGroup:E,filterLabel:k,filterSelect:F,filterInput:$,sortToggle:q,results:L,emptyState:M,row:I,rowTitle:R,rowProject:A,rowDate:P,rowDuration:G,rowStatus:U,rowMeta:H,deleteBtn:O,pagination:z,pageBtn:K,pageBtnActive:Q,pageEllipsis:W,detailOverlay:Z,detailCard:J,detailHeader:V,detailTitle:X,detailMeta:Y,detailCloseBtn:tt,detailBody:et,convoEntry:at,convoPrompt:st,convoResponse:ot,convoTime:nt,convoText:it,activityEntry:rt,activityTime:lt,activityBadge:ct,activityBadgeTool:dt,activityBadgeEvent:pt,activityDetail:ut},N=50;function g(e){if(e<1e3)return"<1s";const s=Math.floor(e/1e3);if(s<60)return`${s}s`;const l=Math.floor(s/60);return l<60?`${l}m ${s%60}s`:`${Math.floor(l/60)}h ${l%60}m`}function mt(e){return e?new Date(e).toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}):"--"}function b(e){return new Date(e).toLocaleTimeString("en-US",{hour12:!1})}function _t(e){const s=new URLSearchParams;e.query&&s.set("query",e.query),e.project&&s.set("project",e.project),e.status==="archived"?s.set("archived","true"):e.status&&s.set("status",e.status),e.dateFrom&&s.set("dateFrom",String(new Date(e.dateFrom).getTime())),e.dateTo&&s.set("dateTo",String(new Date(e.dateTo+"T23:59:59").getTime()));const l={date:"started_at",duration:"last_activity_at",prompts:"started_at",tools:"started_at"};return s.set("sortBy",l[e.sortBy]||"started_at"),s.set("sortDir",e.sortDir),s.set("page",String(e.page)),s.set("pageSize",String(N)),s.toString()}function gt(){const e=T(),[s,l]=_.useState({query:"",project:"",status:"",dateFrom:"",dateTo:"",sortBy:"date",sortDir:"desc",page:1}),[c,r]=_.useState(null),{data:m}=f({queryKey:["db-projects"],queryFn:async()=>{const o=await y("/api/db/projects");if(!o.ok)throw new Error("Failed to load projects");return o.json()},staleTime:6e4}),{data:i,isLoading:d}=f({queryKey:["db-sessions",s],queryFn:async()=>{const o=await y(`/api/db/sessions?${_t(s)}`);if(!o.ok)throw new Error("Failed to load sessions");return o.json()}}),{data:p}=f({queryKey:["db-session-detail",c],queryFn:async()=>{if(!c)return null;const o=await y(`/api/db/sessions/${encodeURIComponent(c)}`);if(!o.ok)throw new Error("Failed to load session detail");return o.json()},enabled:!!c}),u=_.useCallback((o,j)=>{l(w=>({...w,[o]:j,page:o==="page"?j:1}))},[]),v=_.useCallback(async(o,j)=>{o.stopPropagation(),window.confirm("Delete this session from history? This cannot be undone.")&&(await y(`/api/db/sessions/${encodeURIComponent(j)}`,{method:"DELETE"}),e.invalidateQueries({queryKey:["db-sessions"]}))},[e]),x=i?.sessions??[],h=i?.total??0,n=Math.ceil(h/N);return t.jsxs("div",{className:a.container,"data-testid":"history-view",children:[t.jsxs("div",{className:a.filters,children:[t.jsx(S,{value:s.query,onChange:o=>u("query",o),placeholder:"Search prompts..."}),t.jsxs("div",{className:a.filterGroup,children:[t.jsx("span",{className:a.filterLabel,children:"Project"}),t.jsxs("select",{className:a.filterSelect,value:s.project,onChange:o=>u("project",o.target.value),children:[t.jsx("option",{value:"",children:"All"}),m?.map(o=>t.jsx("option",{value:o.project_path,children:o.project_name},o.project_path))]})]}),t.jsxs("div",{className:a.filterGroup,children:[t.jsx("span",{className:a.filterLabel,children:"Status"}),t.jsxs("select",{className:a.filterSelect,value:s.status,onChange:o=>u("status",o.target.value),children:[t.jsx("option",{value:"",children:"All"}),t.jsx("option",{value:"idle",children:"Idle"}),t.jsx("option",{value:"working",children:"Working"}),t.jsx("option",{value:"waiting",children:"Waiting"}),t.jsx("option",{value:"ended",children:"Ended"}),t.jsx("option",{value:"archived",children:"Archived"})]})]}),t.jsxs("div",{className:a.filterGroup,children:[t.jsx("span",{className:a.filterLabel,children:"From"}),t.jsx("input",{type:"date",className:a.filterInput,value:s.dateFrom,onChange:o=>u("dateFrom",o.target.value)})]}),t.jsxs("div",{className:a.filterGroup,children:[t.jsx("span",{className:a.filterLabel,children:"To"}),t.jsx("input",{type:"date",className:a.filterInput,value:s.dateTo,onChange:o=>u("dateTo",o.target.value)})]}),t.jsxs("div",{className:a.filterGroup,children:[t.jsx("span",{className:a.filterLabel,children:"Sort"}),t.jsxs("select",{className:a.filterSelect,value:s.sortBy,onChange:o=>u("sortBy",o.target.value),children:[t.jsx("option",{value:"date",children:"Date"}),t.jsx("option",{value:"duration",children:"Activity"}),t.jsx("option",{value:"prompts",children:"Prompts"}),t.jsx("option",{value:"tools",children:"Tools"})]}),t.jsx("button",{className:a.sortToggle,onClick:()=>u("sortDir",s.sortDir==="desc"?"asc":"desc"),children:s.sortDir.toUpperCase()})]})]}),t.jsxs("div",{className:a.results,children:[d&&t.jsx("div",{className:a.emptyState,children:"Loading..."}),!d&&x.length===0&&t.jsx("div",{className:a.emptyState,children:"No sessions found"}),x.map(o=>t.jsx(vt,{session:o,onClick:()=>r(o.id),onDelete:j=>v(j,o.id)},o.id))]}),n>1&&t.jsx(ht,{currentPage:s.page,totalPages:n,onPageChange:o=>u("page",o)}),c&&p&&t.jsx(xt,{detail:p,onClose:()=>r(null)})]})}function vt({session:e,onClick:s,onDelete:l}){const c=e.ended_at&&e.started_at?g(e.ended_at-e.started_at):e.started_at?g(Date.now()-e.started_at):"--";return t.jsxs("div",{className:a.row,onClick:s,children:[t.jsx("span",{className:a.rowTitle,children:e.title||e.project_name||e.id}),t.jsx("span",{className:a.rowProject,children:e.project_name}),t.jsx("span",{className:a.rowDate,children:mt(e.started_at)}),t.jsx("span",{className:a.rowDuration,children:c}),t.jsx("span",{className:a.rowStatus,"data-status":e.status,children:e.status.toUpperCase()}),t.jsxs("span",{className:a.rowMeta,children:[e.total_prompts," prompts"]}),t.jsxs("span",{className:a.rowMeta,children:[e.total_tool_calls," tools"]}),t.jsx("button",{className:a.deleteBtn,onClick:l,title:"Delete session","aria-label":"Delete session",children:"x"})]})}function ht({currentPage:e,totalPages:s,onPageChange:l}){const c=[];for(let i=1;i<=s;i++)(i===1||i===s||i>=e-2&&i<=e+2)&&c.push(i);const r=[];let m=0;for(const i of c)typeof i=="number"&&(m&&i-m>1&&r.push("ellipsis"),r.push(i),m=i);return t.jsxs("div",{className:a.pagination,children:[t.jsx("button",{className:a.pageBtn,disabled:e<=1,onClick:()=>l(e-1),children:"Prev"}),r.map((i,d)=>i==="ellipsis"?t.jsx("span",{className:a.pageEllipsis,children:"..."},`e-${d}`):t.jsx("button",{className:`${a.pageBtn} ${i===e?a.pageBtnActive:""}`,onClick:()=>l(i),children:i},i)),t.jsx("button",{className:a.pageBtn,disabled:e>=s,onClick:()=>l(e+1),children:"Next"})]})}function xt({detail:e,onClose:s}){const[l,c]=_.useState("conversation"),{session:r,prompts:m,responses:i,tool_calls:d,events:p}=e,u=[...m.map(n=>({type:"prompt",timestamp:n.timestamp,text:n.text})),...i.map(n=>({type:"response",timestamp:n.timestamp,text:n.text_excerpt}))].sort((n,o)=>n.timestamp-o.timestamp),v=[...d.map(n=>({kind:"tool",label:n.tool_name,detail:n.tool_input_summary,timestamp:n.timestamp})),...p.map(n=>({kind:"event",label:n.event_type,detail:n.detail,timestamp:n.timestamp}))].sort((n,o)=>o.timestamp-n.timestamp),x=r.ended_at&&r.started_at?g(r.ended_at-r.started_at):r.started_at?g(Date.now()-r.started_at):"--",h=[{id:"conversation",label:`Conversation (${u.length})`,content:t.jsxs("div",{className:a.detailBody,children:[u.length===0&&t.jsx("div",{className:a.emptyState,children:"No conversation recorded"}),u.map((n,o)=>t.jsxs("div",{className:`${a.convoEntry} ${n.type==="prompt"?a.convoPrompt:a.convoResponse}`,children:[t.jsx("div",{className:a.convoTime,children:b(n.timestamp)}),t.jsx("div",{className:a.convoText,children:n.text})]},o))]})},{id:"activity",label:`Activity (${v.length})`,content:t.jsxs("div",{className:a.detailBody,children:[v.length===0&&t.jsx("div",{className:a.emptyState,children:"No activity recorded"}),v.map((n,o)=>t.jsxs("div",{className:a.activityEntry,children:[t.jsx("span",{className:a.activityTime,children:b(n.timestamp)}),t.jsx("span",{className:`${a.activityBadge} ${n.kind==="tool"?a.activityBadgeTool:a.activityBadgeEvent}`,children:n.label}),t.jsx("span",{className:a.activityDetail,children:n.detail})]},o))]})}];return t.jsx("div",{className:a.detailOverlay,onClick:s,children:t.jsxs("div",{className:a.detailCard,onClick:n=>n.stopPropagation(),children:[t.jsxs("div",{className:a.detailHeader,children:[t.jsxs("div",{children:[t.jsx("h2",{className:a.detailTitle,children:r.project_name||r.id}),t.jsxs("div",{className:a.detailMeta,children:[t.jsxs("span",{children:["Status: ",r.status.toUpperCase()]}),t.jsxs("span",{children:["Model: ",r.model||"--"]}),t.jsxs("span",{children:["Duration: ",x]}),t.jsxs("span",{children:[r.total_prompts," prompts / ",r.total_tool_calls," tools"]})]})]}),t.jsx("button",{className:a.detailCloseBtn,onClick:s,"aria-label":"Close",children:"x"})]}),t.jsx(B,{tabs:h,activeTab:l,onTabChange:c})]})})}export{gt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._container_1pt67_5{display:flex;flex-direction:column;height:100%;padding:var(--layout-pad, 24px);gap:16px}._filters_1pt67_15{display:flex;flex-wrap:wrap;gap:8px;align-items:center}._filterGroup_1pt67_22{display:flex;align-items:center;gap:4px}._filterLabel_1pt67_28{font-size:.7rem;color:var(--text-dim, #555577);text-transform:uppercase;letter-spacing:.04em}._filterSelect_1pt67_35,._filterInput_1pt67_36{padding:6px 10px;background:var(--bg-primary, #0a0a1a);border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));border-radius:4px;color:var(--text-primary, #e0e0ff);font-size:.8rem;font-family:var(--font-mono, monospace);outline:none}._filterSelect_1pt67_35:focus,._filterInput_1pt67_36:focus{border-color:var(--accent-cyan, #00e5ff)}._sortToggle_1pt67_52{padding:6px 10px;background:transparent;border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));border-radius:4px;color:var(--text-secondary, #8888aa);font-size:.75rem;font-family:var(--font-mono, monospace);cursor:pointer}._sortToggle_1pt67_52:hover{color:var(--accent-cyan, #00e5ff);border-color:var(--accent-cyan, #00e5ff)}._results_1pt67_70{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}._emptyState_1pt67_78{display:flex;align-items:center;justify-content:center;padding:48px 16px;color:var(--text-dim, #555577);font-size:.9rem}._row_1pt67_87{display:grid;grid-template-columns:1fr 120px 150px 80px 80px 70px 70px 32px;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-card, #12122a);border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s}._row_1pt67_87:hover{border-color:var(--border-accent, rgba(0, 229, 255, .15));background:var(--bg-card-hover, #1a1a3a)}._rowTitle_1pt67_105{font-size:.85rem;color:var(--text-primary, #e0e0ff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._rowProject_1pt67_113{font-size:.75rem;color:var(--accent-cyan, #00e5ff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._rowDate_1pt67_121,._rowDuration_1pt67_127{font-size:.75rem;color:var(--text-secondary, #8888aa);white-space:nowrap}._rowStatus_1pt67_133{font-size:.7rem;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px;text-align:center}._rowStatus_1pt67_133[data-status=idle]{color:var(--accent-green, #00ff88);background:#00ff881a}._rowStatus_1pt67_133[data-status=working]{color:var(--accent-orange, #ff9100);background:#ff91001a}._rowStatus_1pt67_133[data-status=ended]{color:var(--accent-red, #ff3355);background:#ff33551a}._rowStatus_1pt67_133[data-status=waiting]{color:var(--accent-cyan, #00e5ff);background:#00e5ff1a}._rowStatus_1pt67_133[data-status=approval]{color:#fc0;background:#ffcc001a}._rowMeta_1pt67_163{font-size:.7rem;color:var(--text-dim, #555577);text-align:center}._deleteBtn_1pt67_169{background:none;border:none;color:var(--text-dim, #555577);font-size:1rem;cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1}._deleteBtn_1pt67_169:hover{color:var(--accent-red, #ff3355);background:#ff33551a}._pagination_1pt67_187{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 0}._pageBtn_1pt67_195{padding:4px 10px;background:transparent;border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));border-radius:4px;color:var(--text-secondary, #8888aa);font-size:.75rem;font-family:var(--font-mono, monospace);cursor:pointer}._pageBtn_1pt67_195:hover:not(:disabled){border-color:var(--accent-cyan, #00e5ff);color:var(--accent-cyan, #00e5ff)}._pageBtn_1pt67_195:disabled{opacity:.3;cursor:default}._pageBtnActive_1pt67_216{background:var(--bg-accent, rgba(0, 229, 255, .1));border-color:var(--accent-cyan, #00e5ff);color:var(--accent-cyan, #00e5ff)}._pageEllipsis_1pt67_222{color:var(--text-dim, #555577);padding:0 4px}._detailOverlay_1pt67_229{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:8000}._detailCard_1pt67_239{background:var(--bg-card, #12122a);border:1px solid var(--border-accent, rgba(0, 229, 255, .15));border-radius:12px;padding:24px;max-width:900px;width:90%;max-height:80vh;display:flex;flex-direction:column;gap:16px;overflow:hidden}._detailHeader_1pt67_253{display:flex;align-items:center;justify-content:space-between;gap:12px}._detailTitle_1pt67_260{font-size:1.1rem;color:var(--accent-cyan, #00e5ff);margin:0}._detailMeta_1pt67_266{display:flex;gap:16px;font-size:.75rem;color:var(--text-secondary, #8888aa)}._detailCloseBtn_1pt67_273{background:none;border:none;color:var(--text-secondary, #8888aa);font-size:1.2rem;cursor:pointer;padding:4px 8px}._detailCloseBtn_1pt67_273:hover{color:var(--text-primary, #e0e0ff)}._detailBody_1pt67_286{flex:1;overflow-y:auto}._convoEntry_1pt67_291{padding:8px 12px;border-left:3px solid transparent;margin-bottom:4px;border-radius:0 4px 4px 0}._convoPrompt_1pt67_298{border-left-color:var(--accent-cyan, #00e5ff);background:#00e5ff08}._convoResponse_1pt67_303{border-left-color:var(--accent-green, #00ff88);background:#00ff8808}._convoTime_1pt67_308{font-size:.7rem;color:var(--text-dim, #555577);margin-bottom:2px}._convoText_1pt67_314{font-size:.8rem;color:var(--text-primary, #e0e0ff);white-space:pre-wrap;word-break:break-word}._activityEntry_1pt67_321{display:flex;gap:8px;padding:4px 0;font-size:.75rem;align-items:baseline}._activityTime_1pt67_329{color:var(--text-dim, #555577);white-space:nowrap;flex-shrink:0}._activityBadge_1pt67_335{padding:1px 6px;border-radius:3px;font-size:.7rem;font-weight:600;white-space:nowrap;flex-shrink:0}._activityBadgeTool_1pt67_344{color:var(--accent-orange, #ff9100);background:#ff91001a}._activityBadgeEvent_1pt67_349{color:var(--accent-purple, #aa66ff);background:#aa66ff1a}._activityDetail_1pt67_354{color:var(--text-secondary, #8888aa);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){._row_1pt67_87{grid-template-columns:1fr 80px 32px}._rowProject_1pt67_113,._rowDate_1pt67_121,._rowDuration_1pt67_127,._rowMeta_1pt67_163:nth-child(6),._rowMeta_1pt67_163:nth-child(7){display:none}._filters_1pt67_15{flex-direction:column;align-items:stretch}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._screen_lsklh_6{position:fixed;inset:0;z-index:10000;background:var(--bg-primary);display:flex;align-items:center;justify-content:center}._card_lsklh_12{background:var(--bg-card);border:2px solid var(--border-accent);border-radius:16px;padding:40px 36px;max-width:360px;width:90%;text-align:center;box-shadow:0 0 80px #00000080}._card_lsklh_12 h2{font-size:18px;font-weight:700;color:var(--accent-cyan);letter-spacing:3px;margin-bottom:8px}._card_lsklh_12 p{font-size:12px;color:var(--text-dim);margin-bottom:24px;letter-spacing:.5px}._input_lsklh_38{width:100%;background:var(--bg-primary);border:2px solid var(--border-accent);color:var(--text-primary);font-family:var(--font-mono);font-size:14px;padding:12px 16px;border-radius:8px;outline:none;margin-bottom:16px;text-align:center;letter-spacing:2px;transition:border-color .2s,box-shadow .2s}._input_lsklh_38:focus{border-color:var(--accent-cyan);box-shadow:0 0 16px var(--glow-accent)}._btn_lsklh_59{width:100%;padding:12px;background:var(--bg-accent);border:2px solid var(--accent-cyan);color:var(--accent-cyan);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:2px;border-radius:8px;cursor:pointer;transition:all .2s}._btn_lsklh_59:hover{background:var(--accent-cyan);color:var(--bg-primary);box-shadow:0 0 20px var(--glow-accent-strong)}._error_lsklh_80{color:var(--accent-red);font-size:11px;margin-top:12px;letter-spacing:.5px}@media(max-width:640px){._card_lsklh_12{padding:32px 24px;max-width:95vw}._input_lsklh_38{font-size:16px;padding:14px 16px}._btn_lsklh_59{padding:14px;font-size:13px}}._overlay_12hnn_10{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-bg);z-index:200;display:flex;align-items:center;justify-content:center;animation:_fade-in_12hnn_1 .2s ease}@keyframes _fade-in_12hnn_1{0%{opacity:0}to{opacity:1}}._panel_12hnn_19{background:var(--bg-panel);border:2px solid var(--border-accent);border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 0 60px #00000080}._panel_12hnn_19 h3{font-size:14px;color:var(--text-primary);margin-bottom:12px}._panel_12hnn_19 p{font-size:12px;color:var(--text-secondary);margin-bottom:16px;line-height:1.6}._actions_12hnn_27{display:flex;gap:12px;justify-content:flex-end}._closeBtn_12hnn_29{background:none;border:none;color:var(--text-secondary);font-size:22px;cursor:pointer;padding:4px 8px;border-radius:4px}._closeBtn_12hnn_29:hover{color:var(--text-primary);background:var(--bg-subtle)}._alertInputRow_12hnn_33{display:flex;align-items:center;gap:8px;margin-bottom:16px}._alertInput_12hnn_33{background:var(--bg-card);border:1px solid var(--border-accent);color:var(--text-primary);font-family:var(--font-mono);font-size:14px;padding:8px 12px;border-radius:4px;width:80px;outline:none}._alertInput_12hnn_33:focus{border-color:var(--accent-orange)}._alertInputRow_12hnn_33 span{color:var(--text-secondary);font-size:12px}._newSessionPanel_12hnn_41{width:min(420px,calc(100vw - 32px));max-height:85vh;display:flex;flex-direction:column}._newSessionHeader_12hnn_47{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}._newSessionHeader_12hnn_47 h3{margin:0;font-size:14px}._newSessionBody_12hnn_49{display:flex;flex-direction:column;gap:10px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding-bottom:4px;-webkit-overflow-scrolling:touch}._newSessionFooter_12hnn_60{display:flex;gap:8px;margin-top:16px;justify-content:flex-end;flex-shrink:0;padding-top:12px;border-top:1px solid var(--border-subtle, rgba(255,255,255,.08))}._sshField_12hnn_71{display:flex;flex-direction:column;gap:3px}._sshField_12hnn_71 label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}._sshField_12hnn_71 input,._sshField_12hnn_71 select{background:var(--card-bg, rgba(255,255,255,.04));border:2px solid var(--border-accent, rgba(255,255,255,.15));color:var(--text-primary);padding:6px 8px;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:12px}._sshField_12hnn_71 input:focus,._sshField_12hnn_71 select:focus{outline:none;border-color:var(--accent-cyan, #00e5ff);box-shadow:0 0 6px var(--glow-accent, rgba(0, 229, 255, .3))}._sshFieldRow_12hnn_75{display:flex;gap:8px}._sshFieldGrow_12hnn_76{flex:1}._sshFieldSmall_12hnn_77{width:80px}._sshFieldHint_12hnn_78{font-size:10px;color:var(--text-secondary, #888);font-weight:400}._sshFieldRequired_12hnn_79{color:var(--accent-cyan, #00e5ff);font-weight:700}._sshFieldError_12hnn_80{font-size:10px;color:#f55;font-weight:500}._sshModeToggle_12hnn_83{display:flex;gap:0;border:1px solid var(--border-accent, #1a1a3a);border-radius:4px;overflow:hidden}._sshModeBtn_12hnn_84{flex:1;padding:6px 10px;font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:.5px;background:transparent;color:var(--text-secondary, #888);border:none;border-right:1px solid var(--border-accent, #1a1a3a);cursor:pointer;transition:background .15s,color .15s}._sshModeBtn_12hnn_84:last-child{border-right:none}._sshModeBtn_12hnn_84:hover{background:#ffffff0a;color:var(--text-primary, #e0e0e0)}._sshModeBtn_12hnn_84._active_12hnn_87{background:#00e5ff1f;color:var(--accent-cyan, #00e5ff)}._sshTmuxRefresh_12hnn_90{display:inline-block;margin-left:6px;padding:1px 6px;font-size:14px;background:transparent;color:var(--accent-cyan, #00e5ff);border:1px solid var(--border-accent, #1a1a3a);border-radius:3px;cursor:pointer;vertical-align:middle;line-height:1}._sshTmuxRefresh_12hnn_90:hover{background:#00e5ff1a;border-color:var(--accent-cyan, #00e5ff)}._sshTmuxList_12hnn_92{max-height:160px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border-accent, #1a1a3a);border-radius:4px;background:#0003}._sshTmuxItem_12hnn_93{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04);transition:background .12s}._sshTmuxItem_12hnn_93:last-child{border-bottom:none}._sshTmuxItem_12hnn_93:hover{background:#ffffff0a}._sshTmuxItem_12hnn_93._selected_12hnn_96{background:#00e5ff1f;border-color:#00e5ff33}._sshTmuxName_12hnn_97{font-family:var(--font-mono, monospace);font-size:12px;color:var(--text-primary, #e0e0e0);font-weight:500}._sshTmuxMeta_12hnn_98{font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-secondary, #888);letter-spacing:.3px}._sshTmuxEmpty_12hnn_99,._sshTmuxLoading_12hnn_99{padding:12px;text-align:center;font-size:11px;color:var(--text-secondary, #888);font-family:var(--font-mono, monospace)}._sshTmuxError_12hnn_100{color:#f55}._quickSessionPanel_12hnn_104{max-width:400px;width:100%}._quickSessionHeader_12hnn_105{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}._quickSessionHeader_12hnn_105 h3{font-size:13px;font-weight:700;letter-spacing:1.5px;color:var(--accent-cyan)}._quickSessionBody_12hnn_107{padding:16px 20px}._quickSessionHint_12hnn_108{font-size:11px;color:var(--text-dim);margin:0 0 12px}._quickSessionFooter_12hnn_109{display:flex;gap:8px;padding:12px 20px;justify-content:flex-end;border-top:1px solid var(--border-subtle)}._quickLabelChips_12hnn_112{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}._quickLabelChip_12hnn_112{display:flex;align-items:center;gap:6px;background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;padding:4px 10px;border-radius:12px;cursor:pointer;transition:all .2s;position:relative}._quickLabelChip_12hnn_112:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}._quickLabelChip_12hnn_112._active_12hnn_87{background:#00e5ff26;border-color:var(--accent-cyan);color:var(--accent-cyan)}._labelText_12hnn_116{flex:1}._labelDelete_12hnn_117{display:none;font-size:14px;font-weight:700;color:var(--accent-red);cursor:pointer;line-height:1;opacity:.7;transition:opacity .2s}._quickLabelChip_12hnn_112:hover ._labelDelete_12hnn_117{display:block}._labelDelete_12hnn_117:hover{opacity:1}._quickLabelEmpty_12hnn_120{font-size:11px;color:var(--text-dim);font-style:italic}._quickLabelInputRow_12hnn_122{margin-bottom:4px}._quickLabelInputRow_12hnn_122 input{width:100%;background:var(--bg-secondary);border:2px solid var(--border-accent);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;padding:8px 10px;border-radius:4px;outline:none}._quickLabelInputRow_12hnn_122 input:focus{border-color:var(--accent-cyan);box-shadow:0 0 6px var(--glow-accent)}._quickWorkdirRow_12hnn_126{display:flex;flex-direction:column;gap:6px;margin-top:12px}._quickWorkdirRow_12hnn_126 label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}._quickWorkdirRow_12hnn_126 input{width:100%;background:var(--bg-secondary);border:2px solid var(--border-accent);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;padding:8px 10px;border-radius:4px;outline:none}._quickWorkdirRow_12hnn_126 input:focus{border-color:var(--accent-cyan);box-shadow:0 0 6px var(--glow-accent)}._shortcutsPanel_12hnn_133{max-width:420px;width:100%}._shortcutsHeader_12hnn_134{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}._shortcutsHeader_12hnn_134 h3{font-size:13px;font-weight:700;letter-spacing:1.5px;color:var(--accent-cyan)}._shortcutsBody_12hnn_136{padding:16px 20px;display:flex;flex-direction:column;gap:18px}._shortcutsSection_12hnn_137 h4{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}._shortcutList_12hnn_138{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}._shortcutRow_12hnn_139{display:flex;align-items:center;justify-content:space-between;padding:5px 0}._shortcutRow_12hnn_139 kbd{display:inline-block;min-width:32px;text-align:center;padding:3px 8px;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-subtle-strong);border-radius:4px;box-shadow:0 1px 2px #0000004d}._shortcutRow_12hnn_139 span{font-size:12px;color:var(--text-secondary)}._toastContainer_12hnn_145{position:fixed;top:20px;right:20px;z-index:300;display:flex;flex-direction:column;gap:8px;pointer-events:none}._toast_12hnn_145{background:var(--bg-panel);border:1px solid var(--accent-orange);border-radius:8px;padding:12px 16px;min-width:280px;box-shadow:0 0 30px #ff910026;animation:_toast-in_12hnn_1 .3s ease;pointer-events:auto;position:relative}._toastClose_12hnn_148{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}._toastClose_12hnn_148:hover{color:var(--text-primary)}._toast_12hnn_145._fadeOut_12hnn_150{animation:_toast-out_12hnn_1 .3s ease forwards}._toastTitle_12hnn_151{font-size:11px;font-weight:700;color:var(--accent-orange);letter-spacing:1px;margin-bottom:4px}._toastMsg_12hnn_152{font-size:11px;color:var(--text-secondary)}@keyframes _toast-in_12hnn_1{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _toast-out_12hnn_1{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}._oneoffReviewToast_12hnn_158{background:var(--bg-card);border:2px solid #ff9100;border-radius:8px;padding:12px 16px;min-width:280px;animation:_toast-in_12hnn_1 .3s ease-out}._oneoffReviewToast_12hnn_158 ._toastTitle_12hnn_151{color:#ff9100;font-weight:700;font-size:12px;letter-spacing:.5px;margin-bottom:4px}._oneoffReviewToast_12hnn_158 ._toastMsg_12hnn_152{color:var(--text-secondary);font-size:11px;margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}._oneoffReviewActions_12hnn_161{display:flex;gap:6px}._oneoffReviewBtn_12hnn_162,._oneoffDeleteBtn_12hnn_162,._oneoffDismissBtn_12hnn_162{padding:4px 10px;border:1px solid var(--border-subtle);border-radius:4px;background:transparent;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.5px;transition:all .15s}._oneoffReviewBtn_12hnn_162{color:var(--accent-cyan);border-color:#00e5ff4d}._oneoffReviewBtn_12hnn_162:hover{background:#00e5ff1f}._oneoffDeleteBtn_12hnn_162{color:#f35;border-color:#ff33554d}._oneoffDeleteBtn_12hnn_162:hover{background:#ff33551f}._oneoffDismissBtn_12hnn_162{color:var(--text-dim)}._oneoffDismissBtn_12hnn_162:hover{color:var(--text-secondary);background:var(--bg-subtle)}._archivedBadge_12hnn_171{font-size:9px;font-weight:700;letter-spacing:1px;padding:2px 8px;border-radius:3px;color:var(--accent-purple);border:1px solid rgba(170,102,255,.3);background:#aa66ff14;margin-left:8px}@media(max-width:640px){._panel_12hnn_19{max-width:95vw;padding:16px}._newSessionPanel_12hnn_41{width:95vw}._shortcutsPanel_12hnn_133{max-width:95vw}}@media(max-width:480px){._panel_12hnn_19{padding:12px;max-width:calc(100vw - 16px);box-sizing:border-box}._newSessionPanel_12hnn_41{width:calc(100vw - 16px);max-height:90vh}._newSessionBody_12hnn_49{gap:8px;overflow-x:hidden}._newSessionFooter_12hnn_60{margin-top:10px;padding-top:10px}._sshFieldRow_12hnn_75{flex-direction:column;gap:8px}._sshFieldSmall_12hnn_77{width:100%}._quickSessionPanel_12hnn_104{max-width:calc(100vw - 16px)}}@media(pointer:coarse){._sshField_12hnn_71 input,._sshField_12hnn_71 select,._quickLabelInputRow_12hnn_122 input,._quickWorkdirRow_12hnn_126 input{min-height:44px;font-size:16px;padding:12px 14px}._alertInput_12hnn_33{min-height:44px;font-size:16px}._sshModeBtn_12hnn_84{min-height:44px;font-size:13px}}@media(max-width:480px){._sshField_12hnn_71 label{font-size:12px}}._panel_9dulv_7{max-width:560px;max-height:85vh;overflow-y:auto}._header_9dulv_9{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}._header_9dulv_9 h3{font-size:16px}._section_9dulv_12{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-subtle)}._section_9dulv_12:last-child{border-bottom:none;margin-bottom:0}._section_9dulv_12 h4{font-size:11px;letter-spacing:1.5px;color:var(--text-dim);text-transform:uppercase;margin-bottom:12px}._tabs_9dulv_18{display:flex;border-bottom:1px solid var(--border-subtle);padding:0 20px;margin-bottom:0}._tab_9dulv_18{background:none;border:none;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:1px;padding:10px 16px;cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}._tab_9dulv_18:hover{color:var(--text-secondary)}._tab_9dulv_18._active_9dulv_21{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}._tabContent_9dulv_23{display:none;padding:16px 24px;overflow-y:auto;max-height:55vh}._tabContent_9dulv_23._active_9dulv_21{display:block}._tabContent_9dulv_23::-webkit-scrollbar{width:4px}._tabContent_9dulv_23::-webkit-scrollbar-track{background:transparent}._tabContent_9dulv_23::-webkit-scrollbar-thumb{background:var(--bg-accent);border-radius:2px}._autosaveIndicator_9dulv_30{font-size:10px;color:var(--accent-green);letter-spacing:1px;opacity:0;transition:opacity .3s ease;margin-right:auto;margin-left:12px}._autosaveIndicator_9dulv_30._visible_9dulv_31{opacity:1;animation:_autosave-fade_9dulv_1 2s ease forwards}@keyframes _autosave-fade_9dulv_1{0%{opacity:1}70%{opacity:1}to{opacity:0}}._themeGrid_9dulv_36{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:10px}._themeSwatch_9dulv_37{background:var(--bg-card);border:2px solid var(--border-subtle);border-radius:8px;padding:10px;cursor:pointer;transition:all .2s;text-align:center;font-family:var(--font-mono)}._themeSwatch_9dulv_37:hover{border-color:var(--border-subtle-strong)}._themeSwatch_9dulv_37._active_9dulv_21{border-color:var(--accent-cyan);box-shadow:0 0 15px var(--glow-accent)}._swatchColors_9dulv_40{display:flex;gap:4px;justify-content:center;margin-bottom:6px}._swatchColors_9dulv_40 span{width:18px;height:18px;border-radius:50%;display:inline-block;border:1px solid var(--border-subtle-strong)}._swatchLabel_9dulv_42{font-size:9px;color:var(--text-secondary);letter-spacing:.5px}._fontSizeControl_9dulv_46{display:flex;align-items:center;gap:12px}._fontBtn_9dulv_47{background:var(--bg-card);border:1px solid var(--border-subtle-strong);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;font-weight:700;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .2s}._fontBtn_9dulv_47:hover{border-color:var(--accent-cyan);color:var(--text-primary)}._fontSizeDisplay_9dulv_49{font-size:12px;color:var(--text-primary);min-width:40px;text-align:center}._fontSizeSlider_9dulv_50{flex:1;accent-color:var(--accent-cyan)}._charGrid_9dulv_54{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}._charSwatch_9dulv_55{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 8px;border:2px solid var(--border-subtle);border-radius:8px;background:var(--bg-card);cursor:pointer;transition:all .2s}._charSwatch_9dulv_55:hover{border-color:var(--accent-cyan);background:var(--bg-card-hover)}._charSwatch_9dulv_55._active_9dulv_21{border-color:var(--accent-cyan);background:var(--bg-accent);box-shadow:0 0 12px #00e5ff33}._charLabel_9dulv_58{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}._charSwatch_9dulv_55._active_9dulv_21 ._charLabel_9dulv_58{color:var(--accent-cyan)}._modelGrid_9dulv_63{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-bottom:12px}._modelOption_9dulv_64{background:var(--bg-card);border:2px solid var(--border-subtle);border-radius:8px;padding:12px 8px;cursor:pointer;transition:all .2s;text-align:center;font-family:var(--font-mono)}._modelOption_9dulv_64:hover{border-color:var(--border-subtle-strong)}._modelOption_9dulv_64._active_9dulv_21{border-color:var(--accent-cyan);box-shadow:0 0 15px var(--glow-accent)}._modelIcon_9dulv_67{font-size:24px;margin-bottom:4px}._modelOption_9dulv_64 span{font-size:9px;color:var(--text-secondary);letter-spacing:.5px}._customModelInput_9dulv_70{display:flex;gap:8px}._customModelUrl_9dulv_71{flex:1;background:var(--bg-card);border:1px solid var(--border-accent);color:var(--text-primary);font-family:var(--font-mono);font-size:11px;padding:8px 10px;border-radius:4px;outline:none}._customModelUrl_9dulv_71:focus{border-color:var(--accent-cyan)}._soundControls_9dulv_76{display:flex;flex-direction:column;gap:14px}._toggleLabel_9dulv_77{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:12px;color:var(--text-secondary)}._toggleLabel_9dulv_77 input{display:none}._toggleSwitch_9dulv_80{position:relative;width:36px;height:20px;background:var(--bg-subtle-strong);border-radius:10px;transition:background .3s;flex-shrink:0}._toggleSwitch_9dulv_80:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--text-dim);border-radius:50%;transition:transform .3s,background .3s}._toggleLabel_9dulv_77 input:checked+._toggleSwitch_9dulv_80{background:var(--border-accent-strong)}._toggleLabel_9dulv_77 input:checked+._toggleSwitch_9dulv_80:after{transform:translate(16px);background:var(--accent-cyan)}._volumeControl_9dulv_85{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-secondary)}._volumeControl_9dulv_85 input[type=range]{flex:1;accent-color:var(--accent-cyan)}._volumeDisplay_9dulv_87{min-width:35px;text-align:right}._soundActionGrid_9dulv_90{margin-top:14px;max-height:280px;overflow-y:auto;border:1px solid var(--border-faint);border-radius:6px;padding:4px 0}._soundActionGrid_9dulv_90::-webkit-scrollbar{width:4px}._soundActionGrid_9dulv_90::-webkit-scrollbar-track{background:transparent}._soundActionGrid_9dulv_90::-webkit-scrollbar-thumb{background:var(--bg-accent);border-radius:2px}._soundCategoryLabel_9dulv_94{font-size:9px;font-weight:700;letter-spacing:1.5px;color:var(--text-dim);text-transform:uppercase;padding:8px 12px 4px}._soundActionRow_9dulv_95{display:flex;align-items:center;gap:8px;padding:4px 12px}._soundActionRow_9dulv_95:hover{background:var(--border-faint)}._soundActionLabel_9dulv_97{flex:1;font-size:11px;color:var(--text-secondary);white-space:nowrap}._soundActionSelect_9dulv_98{background:var(--bg-card);border:1px solid var(--border-accent);color:var(--text-primary);font-family:var(--font-mono);font-size:10px;padding:4px 6px;border-radius:3px;outline:none;width:100px}._soundActionSelect_9dulv_98:focus{border-color:var(--accent-cyan)}._soundActionSelect_9dulv_98 option{background-color:var(--bg-card, #0d1b2a);color:var(--text-primary, #ccd6f6)}._soundPreviewBtn_9dulv_101{background:none;border:1px solid var(--border-subtle);color:var(--text-dim);font-size:10px;cursor:pointer;padding:3px 7px;border-radius:3px;transition:all .2s;flex-shrink:0}._soundPreviewBtn_9dulv_101:hover{color:var(--accent-cyan);border-color:var(--border-accent-strong);background:var(--bg-accent)}._densityControl_9dulv_106{display:flex;gap:10px;margin-bottom:12px}._densityBtn_9dulv_107{flex:1;background:var(--bg-card);border:2px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-mono);padding:10px 12px;border-radius:6px;cursor:pointer;transition:all .2s;text-align:center}._densityBtn_9dulv_107:hover{border-color:var(--border-subtle-strong)}._densityBtn_9dulv_107._active_9dulv_21{border-color:var(--accent-cyan);color:var(--accent-cyan);box-shadow:0 0 10px var(--glow-accent)}._densityBtnLabel_9dulv_110{display:block;font-size:13px;font-weight:500;margin-bottom:4px}._densityBtnDesc_9dulv_111{display:block;font-size:10px;opacity:.6;line-height:1.3}._densityActions_9dulv_112{display:flex;gap:10px;margin-bottom:10px}._densityStatus_9dulv_113{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}._hookStatusDot_9dulv_114{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--text-secondary);opacity:.4}._hookStatusDot_9dulv_114._installed_9dulv_115{background:var(--accent-green);opacity:1;box-shadow:0 0 6px var(--accent-green)}._advancedActions_9dulv_118{display:flex;gap:10px;flex-wrap:wrap}._settingsHint_9dulv_119{font-size:11px;color:var(--text-dim);margin-bottom:10px;line-height:1.5}._apiKeyRow_9dulv_122{display:flex;gap:6px;align-items:center}._apiKeyInput_9dulv_123{flex:1;font-family:var(--font-mono);font-size:12px;padding:6px 10px;background:var(--bg-primary, #0a0a1a);color:var(--text-primary, #e0e0e0);border:1px solid var(--border-accent, #1a1a3a);border-radius:4px;outline:none}._apiKeyInput_9dulv_123:focus{border-color:var(--accent-cyan, #00e5ff)}._apiKeyToggle_9dulv_125{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;padding:6px 10px;background:transparent;color:var(--text-secondary, #888);border:1px solid var(--border-accent, #1a1a3a);border-radius:4px;cursor:pointer}._apiKeyToggle_9dulv_125:hover{color:var(--text-primary, #e0e0e0);border-color:var(--text-secondary, #888)}._header_19eax_6{grid-area:header;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:linear-gradient(180deg,var(--bg-header) 0%,var(--bg-primary) 100%);border-bottom:1px solid var(--border-accent);z-index:10;position:relative}._title_19eax_18{font-size:14px;font-weight:700;letter-spacing:3px;color:var(--accent-cyan);text-shadow:0 0 20px var(--glow-accent-strong);white-space:nowrap}._logo_19eax_27{font-size:18px;margin-right:8px;vertical-align:middle}._stats_19eax_35{display:flex;gap:24px;font-size:11px;color:var(--text-secondary);letter-spacing:1px;margin-left:auto;position:relative}._stat_19eax_35{display:flex;align-items:center;gap:6px}._statValue_19eax_46{color:var(--text-primary);font-weight:500}._statDot_19eax_47{width:6px;height:6px;border-radius:50%;display:inline-block}._statDot_19eax_47._connected_19eax_48{background:var(--accent-green);box-shadow:0 0 6px var(--accent-green)}._statDot_19eax_47._disconnected_19eax_49{background:var(--accent-red);box-shadow:0 0 6px var(--accent-red)}._hookStatsToggle_19eax_53{border-left:1px solid var(--border-dim);padding-left:12px}._hookRate_19eax_54{color:var(--text-secondary);font-weight:300;font-size:10px}._hookStatsPanel_19eax_56{position:absolute;top:100%;right:0;margin-top:8px;background:var(--card-bg);border:1px solid var(--border-dim);border-radius:8px;padding:12px 16px;z-index:1000;min-width:560px;box-shadow:0 8px 32px #0009}._hookStatsHeader_19eax_63{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;font-weight:500;color:var(--text-primary);letter-spacing:1px;text-transform:uppercase}._hookStatsReset_19eax_69{background:none;border:1px solid var(--border-dim);color:var(--text-secondary);font-size:10px;padding:2px 8px;border-radius:4px;cursor:pointer;font-family:inherit;letter-spacing:.5px}._hookStatsReset_19eax_69:hover{border-color:var(--accent-red);color:var(--accent-red)}._hookStatsTable_19eax_76{width:100%;border-collapse:collapse;font-size:11px}._hookStatsTable_19eax_76 th{text-align:left;color:var(--text-secondary);font-weight:400;padding:4px 8px;border-bottom:1px solid var(--border-dim);letter-spacing:.5px;font-size:10px;text-transform:uppercase}._hookStatsTable_19eax_76 td{padding:4px 8px;color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.03)}._hookEvName_19eax_80{color:var(--accent-cyan);font-weight:500}._hookEvCount_19eax_81{text-align:right}._hookEvRate_19eax_82{text-align:right;color:var(--text-secondary)}._hookEvLatency_19eax_83,._hookEvProc_19eax_83{text-align:right}._hookStatDim_19eax_84{color:var(--text-secondary);font-size:10px}._searchBar_19eax_88{padding:0;position:relative;z-index:5;flex:0 1 300px;margin:0 16px}._searchInput_19eax_90{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border-accent);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;padding:8px 14px;border-radius:6px;outline:none;transition:border-color .2s,box-shadow .2s}._searchInput_19eax_90:focus{border-color:var(--accent-cyan);box-shadow:0 0 12px var(--glow-accent)}._searchInput_19eax_90::placeholder{color:var(--text-dim);font-style:italic}._searchHighlight_19eax_100{background:#facc1533!important;border-left:3px solid #facc15!important;padding-left:8px!important;border-radius:4px}._settingsGear_19eax_104{background:none;border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:18px;cursor:pointer;padding:4px 10px;border-radius:4px;transition:all .2s;margin-left:16px}._settingsGear_19eax_104:hover{color:var(--accent-cyan);border-color:var(--border-accent)}@media(max-width:640px){._header_19eax_6{flex-direction:column;gap:8px;padding:10px 16px}._title_19eax_18{font-size:12px;letter-spacing:2px}._stats_19eax_35{font-size:10px;gap:12px}}._wrapper_1lqre_6{position:relative}._triggerBtn_1lqre_10{background:none;border:1px solid rgba(0,255,136,.4);color:#0f8;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px;padding:5px 12px;border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap}._triggerBtn_1lqre_10:hover{background:#00ff881f;border-color:#0f8}._triggerBtn_1lqre_10._open_1lqre_30{background:#00ff8826;border-color:#0f8}._dropdown_1lqre_37{position:absolute;top:calc(100% + 6px);right:0;min-width:280px;max-width:380px;max-height:320px;overflow-y:auto;background:var(--bg-panel, #0d0d2b);border:1px solid var(--border-accent, #1a1a3e);border-radius:8px;box-shadow:0 8px 32px #00000080;z-index:100;animation:_dropIn_1lqre_1 .15s ease}@keyframes _dropIn_1lqre_1{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}._dropdown_1lqre_37::-webkit-scrollbar{width:6px}._dropdown_1lqre_37::-webkit-scrollbar-track{background:transparent}._dropdown_1lqre_37::-webkit-scrollbar-thumb{background:var(--border-accent, #1a1a3e);border-radius:3px}._dropdownHeader_1lqre_62{padding:8px 12px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim, #555);border-bottom:1px solid var(--border-subtle, #1a1a3e)}._dirItem_1lqre_75{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04);transition:background .12s}._dirItem_1lqre_75:last-child{border-bottom:none}._dirItem_1lqre_75:hover{background:#00ff880f}._dirInfo_1lqre_94{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}._dirName_1lqre_102{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-primary, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._dirPath_1lqre_112{font-family:var(--font-mono);font-size:10px;color:var(--text-dim, #555);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._dirRemove_1lqre_121{background:none;border:none;color:var(--text-dim, #555);font-size:14px;cursor:pointer;padding:2px 4px;border-radius:3px;opacity:0;transition:all .15s;flex-shrink:0}._dirItem_1lqre_75:hover ._dirRemove_1lqre_121{opacity:.6}._dirRemove_1lqre_121:hover{opacity:1!important;color:var(--accent-red, #ff3355);background:#ff33551a}._empty_1lqre_146{padding:16px 12px;text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--text-dim, #555);font-style:italic}@media(max-width:480px){._dropdown_1lqre_37{max-width:calc(100vw - 32px);min-width:unset;right:0}}@media(hover:none){._dirRemove_1lqre_121{opacity:.5}}@media(pointer:coarse){._dirRemove_1lqre_121{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0}._triggerBtn_1lqre_10{min-height:44px;padding:0 12px;display:inline-flex;align-items:center}}._nav_agtd9_8{grid-area:nav;display:flex;flex-direction:row;background:linear-gradient(180deg,var(--bg-header) 0%,var(--bg-primary) 100%);border-bottom:1px solid var(--border-accent);padding:var(--safe-top, 0px) calc(24px + var(--safe-right, 0px)) 0 calc(24px + var(--safe-left, 0px));z-index:10;position:relative;gap:0}._navBtn_agtd9_20{background:none;border:none;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:1.5px;padding:10px 20px;cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}._navBtn_agtd9_20:hover{color:var(--text-secondary)}._navBtn_agtd9_20._active_agtd9_28{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}._spacer_agtd9_30{flex:1}._actions_agtd9_34{display:flex;align-items:center;gap:8px}._actionsItems_agtd9_35{display:flex;align-items:center;gap:8px;transition:opacity .2s,max-width .3s;overflow:visible;max-width:600px}._actions_agtd9_34._collapsed_agtd9_36 ._actionsItems_agtd9_35{max-width:0;opacity:0;padding:0;gap:0}._actionsToggle_agtd9_38{background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:4px 6px;border-radius:4px;transition:all .2s;flex-shrink:0}._actionsToggle_agtd9_38:hover{color:var(--accent-cyan);background:var(--bg-subtle)}._qaBtn_agtd9_45{background:none;border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px;padding:5px 12px;border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap}._qaBtn_agtd9_45:hover{background:var(--bg-subtle);color:var(--accent-cyan);border-color:var(--border-accent)}._qaBtn_agtd9_45._active_agtd9_28{background:#ff335526;color:var(--accent-red);border-color:var(--accent-red)}._qaBtn_agtd9_45._terminal_agtd9_54{color:#4caf50!important}._qaBtn_agtd9_45._terminal_agtd9_54:hover{background:#4caf5026!important}._qaBtn_agtd9_45._quick_agtd9_56{color:var(--accent-cyan)!important;border-color:var(--accent-cyan)!important}._qaBtn_agtd9_45._quick_agtd9_56:hover{background:#00e5ff1f!important}._shortcutsBtn_agtd9_61{background:none;border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-mono);font-size:13px;font-weight:700;width:30px;height:30px;border-radius:6px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:4px;vertical-align:middle}._shortcutsBtn_agtd9_61:hover{color:var(--accent-cyan);border-color:var(--accent-cyan);background:var(--bg-accent);box-shadow:0 0 8px var(--glow-accent)}._viewPanel_agtd9_73{display:none}._viewPanel_agtd9_73._active_agtd9_28{display:block;grid-area:main;position:relative;overflow-y:auto;overflow-x:hidden}._viewPanel_agtd9_73::-webkit-scrollbar{width:8px}._viewPanel_agtd9_73::-webkit-scrollbar-track{background:var(--bg-primary)}._viewPanel_agtd9_73::-webkit-scrollbar-thumb{background:var(--border-accent);border-radius:4px}._viewPanel_agtd9_73::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}@media(max-width:640px){._nav_agtd9_8{padding:0 8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}._nav_agtd9_8::-webkit-scrollbar{display:none}._navBtn_agtd9_20{padding:10px 12px;font-size:10px;letter-spacing:1px;white-space:nowrap;flex-shrink:0}._actions_agtd9_34{flex-shrink:0;margin-left:8px}._actionsItems_agtd9_35{gap:4px;overflow:visible;max-width:none}._qaBtn_agtd9_45{padding:5px 8px;font-size:9px;white-space:nowrap}._shortcutsBtn_agtd9_61{width:28px;height:28px;font-size:12px;margin-left:2px}}@media(pointer:coarse){._navBtn_agtd9_20{min-height:44px;padding:0 14px;display:inline-flex;align-items:center}._qaBtn_agtd9_45{min-height:44px;padding:0 12px;display:inline-flex;align-items:center}._shortcutsBtn_agtd9_61{min-width:44px;min-height:44px}}._emptyState_ffix7_8{grid-area:main;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;text-align:center;gap:12px}._emptyIcon_ffix7_14{font-size:48px;color:var(--text-dim);opacity:.4;animation:_pulse-empty_ffix7_1 3s ease-in-out infinite}@keyframes _pulse-empty_ffix7_1{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}._emptyState_ffix7_8 h2{font-size:18px;font-weight:300;color:var(--text-secondary);letter-spacing:2px}._emptyState_ffix7_8 p{font-size:12px;color:var(--text-dim);letter-spacing:1px}._feed_ffix7_29{grid-area:footer;background:linear-gradient(0deg,var(--bg-primary) 0%,var(--bg-primary) 100%);border-top:1px solid var(--border-accent);max-height:120px;z-index:10;position:relative;overflow:hidden}._feedHeader_ffix7_36{font-size:9px;font-weight:700;letter-spacing:2px;color:var(--text-dim);padding:6px 16px 4px;border-bottom:1px solid var(--border-faint);display:flex;align-items:center;justify-content:space-between}._feedEntries_ffix7_43{overflow-y:auto;max-height:90px;padding:4px 16px}._feedEntries_ffix7_43::-webkit-scrollbar{width:4px}._feedEntries_ffix7_43::-webkit-scrollbar-track{background:transparent}._feedEntries_ffix7_43::-webkit-scrollbar-thumb{background:var(--bg-accent);border-radius:2px}._entry_ffix7_48{font-size:11px;padding:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:_fade-in_ffix7_1 .3s ease}._feedTime_ffix7_54{color:var(--text-dim);margin-right:8px}._feedProject_ffix7_55{color:var(--accent-cyan);margin-right:6px}._feedDetail_ffix7_56{color:var(--text-secondary)}@keyframes _fade-in_ffix7_1{0%{opacity:0}to{opacity:1}}._collapseBtn_ffix7_62{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:10px;padding:2px 8px;transition:transform .2s,color .2s}._collapseBtn_ffix7_62:hover{color:var(--accent-cyan)}._feed_ffix7_29._collapsed_ffix7_69 ._collapseBtn_ffix7_62{transform:rotate(180deg)}._feed_ffix7_29._collapsed_ffix7_69 ._feedEntries_ffix7_43{display:none}._feed_ffix7_29._collapsed_ffix7_69{max-height:24px}@media(max-width:640px){._feed_ffix7_29{max-height:80px}}._wrapper_1rshg_1{position:relative}._inputWrapper_1rshg_5{position:relative;display:flex;align-items:center}._input_1rshg_5{width:100%;background:#0a0a1acc;border:2px solid var(--border-accent, rgba(0, 229, 255, .15));color:var(--text-primary);padding:6px 32px 6px 10px;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:12px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}._input_1rshg_5:focus{outline:none;border-color:var(--accent-cyan, #00e5ff);box-shadow:0 0 8px #00e5ff4d,inset 0 0 4px #00e5ff0d}._arrowBtn_1rshg_30{position:absolute;right:2px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 8px;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .15s,transform .2s}._arrowBtn_1rshg_30:hover{color:var(--accent-cyan, #00e5ff)}._arrowBtnOpen_1rshg_52{color:var(--accent-cyan, #00e5ff);transform:translateY(-50%) rotate(180deg)}._dropdown_1rshg_57{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:50;max-height:200px;overflow-y:auto;overscroll-behavior:contain;background:#0a0a1ef2;border:1px solid rgba(0,229,255,.25);border-radius:4px;box-shadow:0 8px 32px #00000080,0 0 12px #00e5ff14;margin:0;padding:4px 0;list-style:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:_dropdownSlide_1rshg_1 .15s ease-out}@keyframes _dropdownSlide_1rshg_1{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}._item_1rshg_84{padding:7px 10px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-primary);cursor:pointer;word-break:break-all;overflow-wrap:anywhere;transition:background .1s,color .1s;border-left:2px solid transparent;line-height:1.4}._item_1rshg_84:hover{background:#00e5ff0f}._itemHighlighted_1rshg_101{background:#00e5ff1f;color:var(--accent-cyan, #00e5ff);border-left-color:var(--accent-cyan, #00e5ff)}._empty_1rshg_107{padding:10px;font-size:11px;color:var(--text-dim, #666);text-align:center;font-style:italic}._dropdown_1rshg_57::-webkit-scrollbar{width:4px}._dropdown_1rshg_57::-webkit-scrollbar-track{background:transparent}._dropdown_1rshg_57::-webkit-scrollbar-thumb{background:#00e5ff33;border-radius:2px}._dropdown_1rshg_57::-webkit-scrollbar-thumb:hover{background:#00e5ff66}@media(pointer:coarse){._input_1rshg_5{min-height:44px;font-size:16px;padding:12px 40px 12px 14px}._item_1rshg_84{min-height:44px;display:flex;align-items:center;padding:12px 14px;font-size:16px}._arrowBtn_1rshg_30{min-width:44px;min-height:44px}}@media(max-width:480px){._input_1rshg_5{box-sizing:border-box;max-width:100%}._dropdown_1rshg_57{max-height:160px}}._overlay_1r6b5_9{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;background:var(--overlay-bg);animation:_fade-in_1r6b5_1 .2s ease}@keyframes _fade-in_1r6b5_1{0%{opacity:0}to{opacity:1}}@keyframes _slide-in-right_1r6b5_1{0%{transform:translate(100%)}to{transform:translate(0)}}._panel_1r6b5_20{position:absolute;top:0;right:0;width:480px;min-width:320px;max-width:95vw;height:100%;background:var(--bg-panel);border-left:1px solid var(--border-accent);box-shadow:-10px 0 40px #00000080;display:flex;flex-direction:column;animation:_slide-in-right_1r6b5_1 .3s ease;overflow:hidden;will-change:transform}._panel_1r6b5_20._resizing_1r6b5_32{animation:none;transition:none;-webkit-user-select:none;user-select:none}._resizeHandle_1r6b5_35{position:absolute;top:0;left:-3px;width:6px;height:100%;cursor:col-resize;z-index:110;transition:background .15s}._resizeHandle_1r6b5_35:hover,._resizeHandle_1r6b5_35._active_1r6b5_40{background:var(--accent-cyan);box-shadow:0 0 8px var(--accent-cyan)}._closeBtn_1r6b5_45{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s,background .2s;z-index:1}._closeBtn_1r6b5_45:hover{color:var(--text-primary);background:var(--bg-subtle)}._header_1r6b5_56{padding:20px 50px 14px 20px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:12px}._charPreview_1r6b5_62{width:64px;height:80px;flex-shrink:0;position:relative}._charPreview_1r6b5_62 canvas{display:block}._headerText_1r6b5_65{flex:1;min-width:0}._headerTop_1r6b5_66{display:flex;align-items:flex-start;gap:10px}._headerTitles_1r6b5_67{flex:1;min-width:0}._header_1r6b5_56 h3{font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.3}._titleRow_1r6b5_70{display:flex;align-items:center;gap:6px}._titleInput_1r6b5_71{flex:1;min-width:0;background:transparent;border:2px solid transparent;color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;font-style:italic;padding:2px 4px;margin-top:2px;border-radius:3px;outline:none;transition:border-color .2s,background .2s}._titleInput_1r6b5_71:hover{border-color:var(--border-subtle);background:var(--border-faint)}._titleInput_1r6b5_71:focus{border-color:var(--accent-cyan);background:var(--bg-card);color:var(--text-primary);font-style:normal}._charSelect_1r6b5_75{font-family:var(--font-mono);font-size:10px;background:var(--bg-card);color:var(--text-dim);border:1px solid var(--border-subtle);border-radius:4px;padding:3px 6px;cursor:pointer;flex-shrink:0;transition:border-color .2s,color .2s}._charSelect_1r6b5_75:hover{color:var(--text-secondary);border-color:var(--border-subtle-strong)}._charSelect_1r6b5_75:focus{outline:none;border-color:var(--accent-cyan);color:var(--text-primary)}._meta_1r6b5_79{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}._detailStatusBadge_1r6b5_80{font-size:9px;font-weight:700;letter-spacing:1.5px;padding:2px 8px;border-radius:3px;text-transform:uppercase}._detailModel_1r6b5_81{font-size:10px;color:var(--text-dim);letter-spacing:.5px}._detailDuration_1r6b5_82{font-size:11px;color:var(--accent-cyan);font-weight:600;letter-spacing:.5px;background:var(--bg-accent);padding:2px 8px;border-radius:4px}._tabs_1r6b5_87{display:flex;border-bottom:1px solid var(--border-subtle);padding:0 20px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}._tabs_1r6b5_87::-webkit-scrollbar{display:none}._tab_1r6b5_87{background:none;border:none;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:1px;padding:10px 16px;cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap;flex-shrink:0}._tab_1r6b5_87:hover{color:var(--text-secondary)}._tab_1r6b5_87._active_1r6b5_40{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}._splitToggle_1r6b5_95{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:2px;border-radius:3px;color:var(--text-dim);cursor:pointer;transition:color .15s,background .15s;vertical-align:middle}._splitToggle_1r6b5_95:hover{color:var(--accent-cyan);background:#00e5ff1a}._tabSplit_1r6b5_110{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}._splitView_1r6b5_114{display:flex;flex:1;min-height:0;gap:0}._splitLeft_1r6b5_120{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}._splitDivider_1r6b5_128{width:1px;background:var(--border-subtle);flex-shrink:0}._splitRight_1r6b5_133{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column}._tabContent_1r6b5_144{display:flex;flex-direction:column;flex:1;overflow-y:auto;padding:16px 20px;min-height:0}._tabContent_1r6b5_144::-webkit-scrollbar{width:4px}._tabContent_1r6b5_144::-webkit-scrollbar-track{background:transparent}._tabContent_1r6b5_144::-webkit-scrollbar-thumb{background:var(--bg-accent);border-radius:2px}._tabEmpty_1r6b5_148{text-align:center;padding:40px 20px;color:var(--text-dim);font-size:11px;letter-spacing:1px}._convEntry_1r6b5_152{padding:10px 12px;border-bottom:1px solid var(--border-faint);border-left:3px solid transparent}._convUser_1r6b5_153{border-left-color:var(--accent-cyan, #00e5ff)}._convClaude_1r6b5_154{border-left-color:var(--accent-green, #00ff88)}._convTool_1r6b5_155{padding:6px 12px;border-left-color:var(--accent-orange, #ff9100);opacity:.85}._convRole_1r6b5_157{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;display:inline-block;padding:1px 6px;border-radius:2px;margin-right:8px}._convUser_1r6b5_153 ._convRole_1r6b5_157{color:var(--accent-cyan, #00e5ff);background:#00e5ff1a}._convClaude_1r6b5_154 ._convRole_1r6b5_157{color:var(--accent-green, #00ff88);background:#00ff881a}._convTool_1r6b5_155 ._convRole_1r6b5_157{color:var(--accent-orange, #ff9100);background:#ff91001a}._convTime_1r6b5_162{font-size:9px;color:var(--text-dim);letter-spacing:.5px}._convText_1r6b5_163{font-size:12px;color:var(--text-secondary);line-height:1.6;white-space:pre-wrap;word-break:break-word;margin-top:4px}._convToolName_1r6b5_164{font-size:11px;font-weight:600;color:var(--accent-orange, #ff9100);margin-right:6px}._convToolInput_1r6b5_165{font-size:11px;color:var(--text-dim)}._convHeader_1r6b5_167{display:flex;align-items:center;gap:8px}._convCopy_1r6b5_168{margin-left:auto;background:none;border:1px solid var(--border-subtle);color:var(--text-dim);font-family:inherit;font-size:9px;letter-spacing:.5px;padding:1px 6px;border-radius:3px;cursor:pointer;opacity:0;transition:opacity .15s}._convEntry_1r6b5_152:hover ._convCopy_1r6b5_168{opacity:1}._convCopy_1r6b5_168:hover{color:var(--text-primary);border-color:var(--text-dim)}@media(hover:none){._convCopy_1r6b5_168{opacity:.5}}._activityEntry_1r6b5_179{display:flex;align-items:flex-start;gap:8px;border-bottom:1px solid var(--border-faint);font-size:11px;border-left:3px solid transparent;padding:5px 0 5px 8px}._activityTool_1r6b5_180{border-left-color:var(--accent-orange, #ff9100)}._activityEvent_1r6b5_181{border-left-color:var(--accent-purple, #bb86fc)}._activityResponse_1r6b5_182{border-left-color:var(--accent-green, #00ff88)}._activityTime_1r6b5_184{font-size:9px;color:var(--text-dim);flex-shrink:0;width:55px;padding-top:1px}._activityBadge_1r6b5_185{font-size:9px;font-weight:700;letter-spacing:.5px;padding:1px 6px;border-radius:3px;flex-shrink:0;white-space:nowrap}._activityBadgeTool_1r6b5_186{background:var(--bg-accent);color:var(--accent-orange, #ff9100);border:1px solid var(--accent-orange, #ff9100)}._activityBadgeEvent_1r6b5_187{background:var(--bg-accent);color:var(--accent-purple, #bb86fc);border:1px solid var(--border-accent)}._activityBadgeResponse_1r6b5_188{background:var(--bg-accent);color:var(--accent-green, #00ff88);border:1px solid var(--accent-green, #00ff88)}._activityDetail_1r6b5_189{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;flex:1;white-space:nowrap}._activityResponse_1r6b5_182 ._activityDetail_1r6b5_189{white-space:pre-wrap;word-break:break-word;max-height:80px;overflow-y:auto}._ctrlBar_1r6b5_195{display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border-subtle)}._ctrlBtn_1r6b5_196{background:var(--bg-subtle);border:1px solid var(--border-subtle-strong);color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px;padding:6px 14px;border-radius:4px;cursor:pointer;transition:all .2s}._ctrlBtn_1r6b5_196:hover{background:var(--bg-subtle-strong);color:var(--text-primary)}._ctrlBtn_1r6b5_196._resume_1r6b5_198{color:var(--accent-green);border-color:#50fa7b4d}._ctrlBtn_1r6b5_196._resume_1r6b5_198:hover{background:#50fa7b26}._ctrlBtn_1r6b5_196._resume_1r6b5_198:disabled{opacity:.4;cursor:not-allowed}._ctrlBtn_1r6b5_196._kill_1r6b5_201{color:var(--accent-red);border-color:#ff33554d}._ctrlBtn_1r6b5_196._kill_1r6b5_201:hover{background:#ff335526}._ctrlBtn_1r6b5_196._archive_1r6b5_203{color:var(--accent-purple);border-color:#aa66ff4d}._ctrlBtn_1r6b5_196._archive_1r6b5_203:hover{background:#aa66ff26}._ctrlBtn_1r6b5_196._delete_1r6b5_205{color:#f44;border-color:#ff44444d}._ctrlBtn_1r6b5_196._delete_1r6b5_205:hover{background:#f443}._ctrlBtn_1r6b5_196._queue_1r6b5_207{color:#00e5ff;border-color:#00e5ff66}._ctrlBtn_1r6b5_196._queue_1r6b5_207:hover{background:#00e5ff26}._ctrlBtn_1r6b5_196._alert_1r6b5_209{color:var(--accent-orange);border-color:#ff91004d}._ctrlBtn_1r6b5_196._alert_1r6b5_209:hover{background:#ff910026}._ctrlBtn_1r6b5_196._summarize_1r6b5_211{color:#fc0;border-color:#ffcc004d}._ctrlBtn_1r6b5_196._summarize_1r6b5_211:hover{background:#ffcc0026}._ctrlBtn_1r6b5_196._summarize_1r6b5_211:disabled{opacity:.5;cursor:not-allowed}._ctrlBtn_1r6b5_196._terminal_1r6b5_214{color:#4caf50;border-color:#4caf504d}._ctrlBtn_1r6b5_196._terminal_1r6b5_214:hover{background:#4caf5026;border-color:#4caf50}._ctrlSelect_1r6b5_217{background:var(--bg-subtle);border:1px solid var(--border-subtle-strong);color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;letter-spacing:.5px;padding:6px 24px 6px 10px;border-radius:4px;cursor:pointer;transition:all .15s ease;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;margin-left:auto}._ctrlSelect_1r6b5_217:hover,._ctrlSelect_1r6b5_217:focus{border-color:var(--accent-cyan);color:var(--text-primary);background-color:var(--bg-subtle-strong);outline:none}._ctrlSelect_1r6b5_217 option{background:var(--bg-panel);color:var(--text-primary)}._notesCompose_1r6b5_223{margin-bottom:16px}._noteTextarea_1r6b5_224{width:100%;background:var(--bg-card);border:1px solid var(--border-accent);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;padding:10px;border-radius:6px;resize:vertical;outline:none}._noteTextarea_1r6b5_224:focus{border-color:var(--accent-cyan)}._saveNote_1r6b5_226{margin-top:8px}._noteEntry_1r6b5_228{padding:12px;background:var(--border-faint);border:1px solid var(--border-faint);border-radius:6px;margin-bottom:8px}._noteMeta_1r6b5_229{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}._noteTime_1r6b5_230{font-size:9px;color:var(--text-dim)}._noteDelete_1r6b5_231{background:none;border:none;color:var(--accent-red);cursor:pointer;font-size:11px;opacity:.6;font-family:var(--font-mono)}._noteDelete_1r6b5_231:hover{opacity:1}._noteText_1r6b5_224{font-size:12px;color:var(--text-secondary);line-height:1.6;white-space:pre-wrap}._summaryText_1r6b5_236{padding:16px;font-size:12px;line-height:1.7;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word}._prevSessionSection_1r6b5_239{margin-bottom:8px}._prevSessionHeader_1r6b5_240{cursor:pointer;padding:8px 10px;background:#ffffff0a;border-radius:4px;font-size:11px;font-family:var(--font-mono);color:var(--text-dim);display:flex;align-items:center;gap:6px;transition:background .2s}._prevSessionHeader_1r6b5_240:hover{background:#ffffff14}._prevSessionToggle_1r6b5_242{font-size:9px;transition:transform .2s;display:inline-block}._prevSessionSection_1r6b5_239:not(._collapsed_1r6b5_243) ._prevSessionToggle_1r6b5_242{transform:rotate(90deg)}._prevSessionSection_1r6b5_239._collapsed_1r6b5_243 ._prevSessionContent_1r6b5_244{display:none}._prevSessionContent_1r6b5_244{padding-top:4px}._convEntry_1r6b5_152._prevSessionEntry_1r6b5_246{opacity:.6;border-left:2px solid rgba(255,255,255,.1);padding-left:10px}._terminalWithQueue_1r6b5_250{display:flex;flex-direction:column;height:100%;min-height:0}._terminalSection_1r6b5_257{flex:1;min-height:0;overflow:hidden}@media(max-width:640px){._panel_1r6b5_20{width:100%!important;max-width:100vw}._resizeHandle_1r6b5_35{display:none}._header_1r6b5_56{padding:12px 48px 10px 12px;flex-wrap:wrap;gap:8px}._charPreview_1r6b5_62{width:48px;height:60px}._ctrlBtn_1r6b5_196{padding:5px 10px;font-size:9px}._ctrlSelect_1r6b5_217{font-size:9px;padding:5px 20px 5px 8px}}@media(max-width:480px){._ctrlBar_1r6b5_195{gap:4px;padding:8px 10px}._ctrlBtn_1r6b5_196{padding:3px 6px;font-size:8px;letter-spacing:.5px}._ctrlSelect_1r6b5_217{font-size:8px;padding:3px 18px 3px 6px}}@media(pointer:coarse){._closeBtn_1r6b5_45{width:44px;height:44px;top:8px;right:8px}._tab_1r6b5_87{padding:12px 14px;min-height:44px}._ctrlBtn_1r6b5_196{min-height:44px;padding:0 14px}._ctrlSelect_1r6b5_217{min-height:44px}}._wrapper_6mwat_9{display:flex;flex-direction:column;height:100%}._placeholder_6mwat_13{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;color:var(--text-dim, #555);font-size:12px;font-style:italic;text-align:center;padding:20px}._reconnectPlaceholderBtn_6mwat_20{display:block;margin:14px auto 0;padding:8px 20px;background:#50fa7b14;border:1px solid rgba(80,250,123,.35);border-radius:4px;color:var(--accent-green, #50fa7b);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;font-style:normal;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s}._reconnectPlaceholderBtn_6mwat_20:hover{background:#50fa7b2e;border-color:#50fa7b99;box-shadow:0 0 8px #50fa7b33}._toolbar_6mwat_45{display:flex;align-items:center;gap:6px;padding:2px 4px;margin-bottom:4px}._themeSelect_6mwat_50{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-primary, #e0e0e0);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;padding:2px 6px;border-radius:3px;cursor:pointer}._themeSelect_6mwat_50:focus{outline:none;border-color:var(--accent-cyan, #00e5ff)}._toolbarBtn_6mwat_57{background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--text-secondary, #888);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 10px;border-radius:3px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}._toolbarBtn_6mwat_57:hover{background:#ffffff0f;color:var(--text-primary, #e0e0e0);border-color:#fff3}._kbdHint_6mwat_66{font-size:8px;font-weight:400;letter-spacing:0;color:var(--text-dim, #555);opacity:.7;padding:0 3px;border-radius:2px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}._reconnectBtn_6mwat_73{color:var(--accent-green, #50fa7b)!important;border-color:#50fa7b4d!important}._reconnectBtn_6mwat_73:hover{background:#50fa7b26!important;border-color:#50fa7b80!important}._terminalTab_6mwat_82._active_6mwat_82{display:flex;flex-direction:column;height:100%}._container_6mwat_86{width:100%;flex:1 1 auto;min-height:200px;background:#0a0a1a;border-radius:6px;overflow:hidden;transition:border-color .2s}._container_6mwat_86._dropTarget_6mwat_91{border:2px solid var(--accent-cyan);box-shadow:0 0 15px #00e5ff4d}._container_6mwat_86 .xterm{padding:6px;height:100%}._container_6mwat_86 .xterm-viewport{overflow-y:auto!important}._status_6mwat_95{font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:4px 8px;color:var(--text-secondary)}._status_6mwat_95._connected_6mwat_96{color:var(--accent-green, #4caf50)}._status_6mwat_95._disconnected_6mwat_97{color:var(--accent-red, #ff5555)}._queuePanel_6mwat_101{flex:0 0 auto;border-top:1px solid var(--border-subtle, rgba(255,255,255,.06));margin-top:4px}._queueToggle_6mwat_107{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;background:transparent;border:none;color:var(--text-secondary, #888);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:10px;letter-spacing:1px;cursor:pointer;text-align:left}._queueToggle_6mwat_107:hover{color:var(--text-primary, #e0e0e0)}._queueToggleArrow_6mwat_115{display:inline-block;font-size:8px;transition:transform .2s}._queuePanel_6mwat_101:not(._collapsed_6mwat_116) ._queueToggleArrow_6mwat_115{transform:rotate(90deg)}._queueCount_6mwat_117{color:var(--accent-cyan, #00e5ff)}._queueBody_6mwat_119{max-height:250px;overflow-y:auto;padding:0 4px 4px}._queuePanel_6mwat_101._collapsed_6mwat_116 ._queueBody_6mwat_119{display:none!important}._queueCompose_6mwat_123{display:flex;gap:6px;margin-bottom:6px}._queueTextarea_6mwat_124{flex:1;width:auto;background:#ffffff0a;border:1px solid var(--border-subtle, rgba(255,255,255,.08));border-radius:4px;color:var(--text-primary, #e0e0e0);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;padding:6px 8px;resize:vertical;line-height:1.5;box-shadow:none}._queueTextarea_6mwat_124::placeholder{color:var(--text-dim);font-style:italic}._queueTextarea_6mwat_124:focus{outline:none;border-color:var(--accent-cyan, #00e5ff);box-shadow:none}._queueAddBtn_6mwat_127{align-self:flex-end;padding:4px 10px;font-size:10px;margin-top:0}._queueList_6mwat_130{position:relative;padding-left:0}._queueList_6mwat_130:before{display:none}._queueListEmpty_6mwat_132{text-align:center;color:var(--text-dim);font-size:11px;padding:12px 0;font-style:italic}._queueItem_6mwat_135{display:flex;align-items:center;gap:6px;padding:4px 6px;margin-bottom:2px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:4px;cursor:grab;font-size:11px;-webkit-backdrop-filter:none;backdrop-filter:none;position:relative}._queueItem_6mwat_135:before,._queueItem_6mwat_135:after{display:none}._queueItem_6mwat_135:hover{background:#ffffff0d;border-color:#00e5ff26;transform:none;box-shadow:none}._queueItem_6mwat_135:first-child{background:linear-gradient(135deg,#00ff880a,#ffffff05);border-color:#00ff8826}._queuePos_6mwat_140{color:var(--text-secondary, #666);font-size:9px;font-weight:600;min-width:14px;height:auto;background:none;border-radius:0}._queueText_6mwat_124{flex:1;color:var(--text-primary, #e0e0e0);font-size:11px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:1}._queueActions_6mwat_142{display:none;gap:4px;opacity:1}._queueItem_6mwat_135:hover ._queueActions_6mwat_142{display:flex}._queueActionBtn_6mwat_144{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary, #888);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:9px;font-weight:600;letter-spacing:.5px;padding:1px 5px;border-radius:3px;cursor:pointer}._queueSend_6mwat_146{color:var(--accent-green, #50fa7b)!important;border-color:#50fa7b4d!important}._queueSend_6mwat_146:hover{background:#50fa7b26!important}._queueEdit_6mwat_148{color:var(--accent-cyan)}._queueEdit_6mwat_148:hover{background:#00e5ff1a;border-color:#00e5ff4d}._queueDelete_6mwat_150{color:var(--accent-red)}._queueDelete_6mwat_150:hover{background:#ff33551a!important;color:var(--accent-red, #ff5555)!important;border-color:#ff33554d!important}._queueMove_6mwat_152{color:var(--accent-orange, #ffb86c)}._queueMove_6mwat_152:hover{background:#ffb86c26;border-color:#ffb86c4d}._queueItem_6mwat_135._entering_6mwat_156{animation:_queue-item-enter_6mwat_1 .3s ease-out forwards}._queueItem_6mwat_135._popping_6mwat_157{animation:_queue-item-pop_6mwat_1 .25s ease-in forwards}._queueItem_6mwat_135._dragging_6mwat_158{opacity:.35;transform:scale(.97)}@keyframes _queue-item-enter_6mwat_1{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes _queue-item-pop_6mwat_1{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}._queueEditTextarea_6mwat_164{width:100%;flex:1;background:#0a0a1acc;border:1px solid rgba(0,229,255,.4);color:var(--text-primary);font-family:var(--font-mono);font-size:11px;padding:6px 8px;border-radius:4px;resize:vertical;outline:none;transition:border-color .2s}._queueEditTextarea_6mwat_164:focus{border-color:#00e5ff99}._queueEdit_6mwat_148._saving_6mwat_166{color:var(--accent-green);border-color:#00ff884d;background:#00ff881a}._moveModeHeader_6mwat_170{display:flex;align-items:center;gap:6px}._moveAllBtn_6mwat_171{font-size:10px;padding:2px 8px;color:var(--accent-orange, #ffb86c);border:1px solid rgba(255,184,108,.3);background:#ffb86c14;cursor:pointer;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-mono)}._moveAllBtn_6mwat_171:hover{background:#ffb86c33;border-color:#ffb86c80}._moveModeBanner_6mwat_174{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 20px;background:linear-gradient(135deg,#ffb86c26,#ffb86c14);border-bottom:1px solid rgba(255,184,108,.4);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--accent-orange, #ffb86c);font-family:var(--font-mono);font-size:13px;letter-spacing:1px;text-transform:uppercase;animation:_fade-in_6mwat_1 .2s ease}@keyframes _fade-in_6mwat_1{0%{opacity:0}to{opacity:1}}@media(max-width:480px){._toolbar_6mwat_45{gap:4px;padding:2px}._themeSelect_6mwat_50{font-size:8px;padding:2px 4px}._toolbarBtn_6mwat_57{font-size:8px;padding:2px 6px;letter-spacing:0}._kbdHint_6mwat_66{display:none}}._fullscreenBtn_6mwat_204{background:transparent;border:1px solid rgba(76,175,80,.3);color:#4caf50;font-family:inherit;font-size:10px;letter-spacing:1px;padding:2px 10px;cursor:pointer;border-radius:3px;transition:all .2s}._fullscreenBtn_6mwat_204:hover{background:#4caf5026;border-color:#4caf50}._fullscreenOverlay_6mwat_207{position:fixed;inset:0;z-index:10000;background:#0a0a1a;display:flex;flex-direction:column}._fullscreenTopbar_6mwat_208{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 16px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}._fullscreenTopbar_6mwat_208 ._toolbar_6mwat_45{margin-bottom:0;padding:0}._fullscreenTitle_6mwat_214{font-size:12px;font-weight:500;color:var(--text-secondary, #888);letter-spacing:1px;text-transform:uppercase;flex-shrink:0}._fullscreenExit_6mwat_215{background:transparent;border:1px solid rgba(255,82,82,.4);color:#ff5252;font-family:inherit;font-size:10px;letter-spacing:1px;padding:4px 14px;cursor:pointer;border-radius:3px;transition:all .2s}._fullscreenExit_6mwat_215:hover{background:#ff525226;border-color:#ff5252}._fullscreenContainer_6mwat_217{flex:1;overflow:hidden}._fullscreenContainer_6mwat_217 .xterm{padding:6px;height:100%}._fullscreenContainer_6mwat_217 .xterm-viewport{overflow-y:auto!important}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#adbac7;background:#22272e}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#f47067}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#dcbdfb}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#6cb6ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#96d0ff}.hljs-built_in,.hljs-symbol{color:#f69d50}.hljs-comment,.hljs-code,.hljs-formula{color:#768390}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#8ddb8c}.hljs-subst{color:#adbac7}.hljs-section{color:#316dca;font-weight:700}.hljs-bullet{color:#eac55f}.hljs-emphasis{color:#adbac7;font-style:italic}.hljs-strong{color:#adbac7;font-weight:700}.hljs-addition{color:#b4f1b4;background-color:#1b4721}.hljs-deletion{color:#ffd8d3;background-color:#78191b}._projectTab_nt2l3_6{display:flex;flex-direction:column;height:100%;min-height:0}._toolbar_nt2l3_15{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-subtle);flex-shrink:0}._backBtn_nt2l3_24{background:none;border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:16px;width:32px;height:32px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,border-color .15s,background .15s}._backBtn_nt2l3_24:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent-cyan);background:var(--bg-subtle)}._backBtn_nt2l3_24:disabled{opacity:.3;cursor:default}._breadcrumb_nt2l3_49{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;font-family:var(--font-mono);font-size:11px;scrollbar-width:none;-webkit-overflow-scrolling:touch}._breadcrumb_nt2l3_49::-webkit-scrollbar{display:none}._breadSep_nt2l3_61{color:var(--text-dim);margin:0 2px}._breadBtn_nt2l3_66{background:none;border:none;color:var(--accent-cyan);font-family:inherit;font-size:inherit;cursor:pointer;padding:2px 4px;border-radius:3px;transition:background .15s}._breadBtn_nt2l3_66:hover{background:var(--bg-subtle)}._breadCurrent_nt2l3_81{color:var(--text-primary);font-weight:600}._content_nt2l3_88{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}._content_nt2l3_88::-webkit-scrollbar{width:4px}._content_nt2l3_88::-webkit-scrollbar-track{background:transparent}._content_nt2l3_88::-webkit-scrollbar-thumb{background:var(--bg-accent);border-radius:2px}._empty_nt2l3_99{text-align:center;padding:40px 20px;color:var(--text-dim);font-size:11px;letter-spacing:1px}._fileList_nt2l3_109{display:flex;flex-direction:column}._fileEntry_nt2l3_114{display:flex;align-items:center;gap:10px;padding:10px 12px;background:none;border:none;border-bottom:1px solid var(--border-faint);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;cursor:pointer;text-align:left;transition:background .15s;width:100%;min-height:44px}._fileEntry_nt2l3_114:hover{background:var(--bg-subtle)}._fileEntry_nt2l3_114:active{background:var(--bg-accent)}._fileIcon_nt2l3_139{flex-shrink:0;width:22px;text-align:center;font-size:14px}._fileName_nt2l3_146{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._fileSize_nt2l3_154{flex-shrink:0;font-size:10px;color:var(--text-dim);letter-spacing:.3px}._fileChevron_nt2l3_161{flex-shrink:0;font-size:16px;color:var(--text-dim);font-weight:300}._fileViewer_nt2l3_170{padding:4px 0}._markdown_nt2l3_176{font-size:13px;line-height:1.75;color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;padding:4px 12px 16px}._markdown_nt2l3_176 h1{font-size:22px;font-weight:700;margin:24px 0 12px;color:var(--accent-cyan);border-bottom:1px solid var(--border-subtle);padding-bottom:8px;letter-spacing:-.3px}._markdown_nt2l3_176 h1:first-child{margin-top:8px}._markdown_nt2l3_176 h2{font-size:17px;font-weight:700;margin:20px 0 8px;color:var(--text-primary);border-bottom:1px solid var(--border-faint, rgba(255,255,255,.06));padding-bottom:6px}._markdown_nt2l3_176 h3{font-size:14px;font-weight:600;margin:16px 0 6px;color:var(--text-secondary)}._markdown_nt2l3_176 h4{font-size:12px;font-weight:600;margin:12px 0 4px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}._markdown_nt2l3_176 p{margin:0 0 12px}._markdown_nt2l3_176 p:last-child{margin-bottom:0}._markdown_nt2l3_176 strong{color:var(--text-primary);font-weight:600}._markdown_nt2l3_176 em{font-style:italic;color:var(--text-secondary)}._markdown_nt2l3_176 a{color:var(--accent-cyan);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}._markdown_nt2l3_176 a:hover{border-bottom-color:var(--accent-cyan)}._markdown_nt2l3_176 hr{border:none;height:1px;background:linear-gradient(90deg,transparent 0%,var(--border-subtle) 20%,var(--border-subtle) 80%,transparent 100%);margin:20px 0}._markdown_nt2l3_176 ul,._markdown_nt2l3_176 ol{margin:8px 0 12px;padding-left:24px}._markdown_nt2l3_176 ul{list-style:disc}._markdown_nt2l3_176 ol{list-style:decimal}._markdown_nt2l3_176 li{margin:4px 0;padding-left:4px;line-height:1.65}._markdown_nt2l3_176 li>ul,._markdown_nt2l3_176 li>ol{margin:4px 0}._markdown_nt2l3_176 ul ul{list-style:circle}._markdown_nt2l3_176 ul ul ul{list-style:square}._markdown_nt2l3_176 li:has(>input[type=checkbox]){list-style:none;margin-left:-20px}._markdown_nt2l3_176 input[type=checkbox]{appearance:none;-webkit-appearance:none;width:14px;height:14px;border:1.5px solid var(--text-dim);border-radius:3px;vertical-align:middle;margin-right:6px;position:relative;cursor:default;background:transparent}._markdown_nt2l3_176 input[type=checkbox]:checked{background:var(--accent-cyan);border-color:var(--accent-cyan)}._markdown_nt2l3_176 input[type=checkbox]:checked:after{content:"";position:absolute;left:3px;top:0;width:5px;height:8px;border:solid var(--bg-card, #0d1117);border-width:0 2px 2px 0;transform:rotate(45deg)}._markdown_nt2l3_176 blockquote{margin:12px 0;padding:8px 16px;border-left:3px solid var(--accent-cyan);background:#00ffff08;border-radius:0 6px 6px 0;color:var(--text-secondary)}._markdown_nt2l3_176 blockquote p{margin-bottom:6px}._markdown_nt2l3_176 blockquote p:last-child{margin-bottom:0}._markdown_nt2l3_176 code:not(pre code){background:var(--bg-accent);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.85em;color:var(--accent-orange);border:1px solid var(--border-faint, rgba(255,255,255,.06))}._markdown_nt2l3_176 pre{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;margin:12px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}._markdown_nt2l3_176 pre code{display:block;padding:14px 16px;font-family:var(--font-mono);font-size:11.5px;line-height:1.6;color:var(--text-secondary);background:none;border:none;border-radius:0}._markdown_nt2l3_176 table{width:100%;border-collapse:collapse;margin:12px 0;font-size:12px}._markdown_nt2l3_176 thead th{text-align:left;padding:8px 12px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-cyan);background:#00ffff0a;border-bottom:2px solid var(--border-subtle)}._markdown_nt2l3_176 tbody td{padding:8px 12px;border-bottom:1px solid var(--border-faint, rgba(255,255,255,.06));color:var(--text-secondary);vertical-align:top}._markdown_nt2l3_176 tbody tr:last-child td{border-bottom:none}._markdown_nt2l3_176 tbody tr:hover td{background:#ffffff05}._markdown_nt2l3_176 img{max-width:100%;height:auto;border-radius:8px;margin:8px 0;border:1px solid var(--border-subtle)}._markdown_nt2l3_176 del{color:var(--text-dim);text-decoration:line-through}._markdown_nt2l3_176 .footnotes{margin-top:24px;padding-top:12px;border-top:1px solid var(--border-subtle);font-size:11px;color:var(--text-dim)}._codeBlock_nt2l3_408{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:12px;margin:0;overflow-x:auto;font-family:var(--font-mono);font-size:11px;line-height:1.6;color:var(--text-secondary);white-space:pre;tab-size:2;-webkit-overflow-scrolling:touch}@media(pointer:coarse){._backBtn_nt2l3_24{width:44px;height:44px;font-size:20px}._fileEntry_nt2l3_114{padding:12px 14px;min-height:48px;font-size:13px;gap:12px}._fileIcon_nt2l3_139{font-size:16px;width:26px}._breadBtn_nt2l3_66{padding:6px 8px;font-size:12px}._markdown_nt2l3_176{font-size:14px;line-height:1.8;padding:4px 8px 16px}._markdown_nt2l3_176 pre code{font-size:12px;padding:16px}._markdown_nt2l3_176 table{font-size:13px}._codeBlock_nt2l3_408{font-size:12px;padding:14px}}@media(max-width:640px){._toolbar_nt2l3_15{padding:6px 0}._fileEntry_nt2l3_114{padding:10px 8px}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{color-scheme:dark;--bg-primary: #0a0a1a;--bg-card: #12122a;--bg-card-hover: #1a1a3a;--bg-panel: #0e0e24;--bg-header: #0e0e28;--border-glow: #00ffcc;--border-subtle: rgba(255, 255, 255, .06);--border-faint: rgba(255, 255, 255, .03);--border-subtle-strong: rgba(255, 255, 255, .1);--border-accent: rgba(0, 229, 255, .15);--border-accent-strong: rgba(0, 229, 255, .3);--bg-accent: rgba(0, 229, 255, .1);--bg-accent-strong: rgba(0, 229, 255, .15);--bg-subtle: rgba(255, 255, 255, .06);--bg-subtle-strong: rgba(255, 255, 255, .1);--glow-accent: rgba(0, 229, 255, .15);--glow-accent-strong: rgba(0, 229, 255, .3);--inset-highlight: rgba(255, 255, 255, .06);--inset-highlight-faint: rgba(255, 255, 255, .04);--accent-cyan: #00e5ff;--accent-orange: #ff9100;--accent-green: #00ff88;--accent-red: #ff3355;--accent-purple: #aa66ff;--text-primary: #e0e0ff;--text-secondary: #8888aa;--text-dim: #555577;--robot-body: #2a2a4a;--robot-body-dark: #1a1a3a;--robot-border: rgba(255, 255, 255, .08);--mute-bg: rgba(10, 10, 26, .6);--overlay-bg: rgba(0, 0, 0, .5);--font-mono: "JetBrains Mono", "Fira Code", monospace;--anim-intensity: 1;--anim-speed: 1;--layout-pad: 24px;--layout-pad-sm: 16px;--layout-gap: 16px;--layout-gap-sm: 8px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono);font-size:13px;line-height:1.5}body{position:relative}#root{width:100%;height:100%}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.04) 2px,rgba(0,0,0,.04) 4px);animation:scanline 8s linear infinite}body.terminal-focused:after{animation-play-state:paused}.hidden{display:none!important}@media screen{html,body{font-size:clamp(12px,1.2vw + 8px,16px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}:root{--anim-intensity: 0;--anim-speed: 0}body:after{animation:none}}@media(pointer:coarse){.view-panel.active,#feed-entries,#detail-conversation,#detail-activity-log,#notes-list,#queue-list,.terminal-queue-body,.settings-tab-content,.modal-panel{-webkit-overflow-scrolling:touch;touch-action:pan-y;overflow-y:auto}.nav-btn,.qa-btn,.ctrl-btn,.tab,.nav-actions-toggle,.nav-shortcuts-btn,.settings-gear,.modal-close,.theme-swatch,.char-swatch,.density-btn,.ssh-mode-btn,.pagination-btn,.feed-collapse-btn{min-height:44px;min-width:44px}button,a,input,select,textarea,.nav-btn,.qa-btn,.ctrl-btn,.tab,.nav-actions-toggle,.nav-shortcuts-btn,.settings-gear,.modal-close,.theme-swatch,.char-swatch,.density-btn,.ssh-mode-btn,.pagination-btn,.feed-collapse-btn,.session-card,.history-row{touch-action:manipulation}}@media(hover:none){.nav-btn:hover,.qa-btn:hover,.ctrl-btn:hover,.tab:hover,.nav-actions-toggle:hover,.nav-shortcuts-btn:hover,.settings-gear:hover,.modal-close:hover,.history-row:hover,.history-delete:hover,.pagination-btn:hover,.feed-collapse-btn:hover,.hook-stats-reset:hover{background:unset;color:unset;border-color:unset;box-shadow:unset}.nav-btn:active,.qa-btn:active,.ctrl-btn:active,.tab:active{opacity:.7}}@media(max-width:768px){html{overflow:auto;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-x pan-y}body{overflow:visible;overflow-x:hidden;height:auto;min-height:100vh;min-height:100dvh;overscroll-behavior:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}}@supports (padding: env(safe-area-inset-top)){@media(max-width:768px){#root>div>nav:first-of-type,nav[class*=nav]{padding-top:max(0px,env(safe-area-inset-top))}body{padding-bottom:env(safe-area-inset-bottom,0px)}body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}}}@media(max-width:768px){.view-panel::-webkit-scrollbar,#main-nav::-webkit-scrollbar,.modal-panel::-webkit-scrollbar,.settings-tab-content::-webkit-scrollbar,#feed-entries::-webkit-scrollbar,#detail-conversation::-webkit-scrollbar,#detail-activity-log::-webkit-scrollbar,#notes-list::-webkit-scrollbar,#queue-list::-webkit-scrollbar{display:none}.view-panel,#main-nav,.modal-panel,.settings-tab-content,#feed-entries,#detail-conversation,#detail-activity-log,#notes-list,#queue-list{scrollbar-width:none}:root{--layout-pad: 12px;--layout-pad-sm: 8px;--layout-gap: 8px;--layout-gap-sm: 4px}}@media(max-width:375px){:root{--layout-pad: 8px;--layout-pad-sm: 6px;--layout-gap: 6px;--layout-gap-sm: 4px}}body[data-effect-idle=breathe] .css-robot[data-status=idle] .robot-body-wrap{animation:effect-breathe calc(3s * var(--anim-speed, 1)) ease-in-out infinite!important}@keyframes effect-breathe{0%,to{transform:scale(1)}50%{transform:scale(calc(1 + .15 * var(--anim-intensity, 1)))}}body[data-effect-idle=sway] .css-robot[data-status=idle] .robot-body-wrap{animation:effect-sway calc(3s * var(--anim-speed, 1)) ease-in-out infinite!important}@keyframes effect-sway{0%,to{transform:rotate(0) translate(0)}25%{transform:rotate(calc(8deg * var(--anim-intensity, 1))) translate(calc(4px * var(--anim-intensity, 1)))}75%{transform:rotate(calc(-8deg * var(--anim-intensity, 1))) translate(calc(-4px * var(--anim-intensity, 1)))}}body[data-effect-idle=sparkle] .css-robot[data-status=idle]:before{content:"";position:absolute;z-index:12;pointer-events:none;top:20%;left:30%;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:20px -5px #ffffffe6,-10px 15px 0 -1px #ffffffb3,25px 20px #fffc,5px 30px 0 -1px #fff9,30px 10px #ffffffbf,-5px 40px 0 -1px #ffffffa6,15px 45px #ffffffb3;animation:effect-sparkle calc(2s * var(--anim-speed, 1)) ease-in-out infinite}@keyframes effect-sparkle{0%,to{opacity:0;transform:scale(.3)}30%{opacity:1;transform:scale(1.5)}70%{opacity:.8;transform:scale(1.2)}}body[data-effect-idle=none] .css-robot[data-status=idle] .robot-body-wrap{animation:none!important}@keyframes eye-cycle{0%{transform:translate(0) scale(1)}12.5%{transform:translate(calc(4px * var(--anim-intensity, 1)),calc(-2px * var(--anim-intensity, 1))) scale(1.15)}25%{transform:translate(calc(5px * var(--anim-intensity, 1))) scale(1)}37.5%{transform:translate(calc(3px * var(--anim-intensity, 1)),calc(2px * var(--anim-intensity, 1))) scale(1.1)}50%{transform:translateY(calc(3px * var(--anim-intensity, 1))) scale(.9)}62.5%{transform:translate(calc(-3px * var(--anim-intensity, 1)),calc(2px * var(--anim-intensity, 1))) scale(1.1)}75%{transform:translate(calc(-5px * var(--anim-intensity, 1))) scale(1)}87.5%{transform:translate(calc(-4px * var(--anim-intensity, 1)),calc(-2px * var(--anim-intensity, 1))) scale(1.15)}to{transform:translate(0) scale(1)}}body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .robot-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .cat-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .alien-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .ghost-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .dragon-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .penguin-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .octo-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .mush-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .fox-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .unicorn-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .jelly-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .owl-pupil,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .bat-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .cactus-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .slime-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .pumpkin-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .yeti-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .crystal-eye,body[data-effect-prompting=eye-cycle] .css-robot[data-status=prompting] .bee-eye{animation:eye-cycle calc(1.5s * var(--anim-speed, 1)) ease-in-out infinite!important}body[data-effect-prompting=think-pulse] .css-robot[data-status=prompting]:before{content:"";position:absolute;z-index:11;pointer-events:none;top:50%;left:50%;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(0,229,255,.25) 0%,transparent 70%);transform:translate(-50%,-50%);animation:effect-think-pulse calc(1.5s * var(--anim-speed, 1)) ease-in-out infinite}@keyframes effect-think-pulse{0%,to{transform:translate(-50%,-50%) scale(.5);opacity:.2}50%{transform:translate(-50%,-50%) scale(calc(1.8 * var(--anim-intensity, 1)));opacity:1}}body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .robot-head,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .cat-head,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .alien-dome,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .ghost-body,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .orb-core,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .dragon-head,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .penguin-head,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .octo-head,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .mush-cap,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .fox-head,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .unicorn-head,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .jelly-bell,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .owl-head,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .bat-head,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .cactus-body,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .slime-body,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .pumpkin-body,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .yeti-head,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .crystal-body,body[data-effect-prompting=head-tilt] .css-robot[data-status=prompting] .bee-head{animation:effect-head-tilt calc(2s * var(--anim-speed, 1)) ease-in-out infinite!important}@keyframes effect-head-tilt{0%,to{transform:rotate(0)}25%{transform:rotate(calc(15deg * var(--anim-intensity, 1)))}75%{transform:rotate(calc(-15deg * var(--anim-intensity, 1)))}}.css-robot[data-status=working] .robot-head:after,.char-cat[data-status=working] .cat-head:after,.char-alien[data-status=working] .alien-dome:after,.char-ghost[data-status=working] .ghost-body:after,.char-orb[data-status=working] .orb-core:after,.char-dragon[data-status=working] .dragon-head:after,.char-penguin[data-status=working] .penguin-head:after,.char-octopus[data-status=working] .octo-head:after,.char-mushroom[data-status=working] .mush-cap:after,.char-fox[data-status=working] .fox-head:after,.char-unicorn[data-status=working] .unicorn-head:after,.char-jellyfish[data-status=working] .jelly-bell:after,.char-owl[data-status=working] .owl-head:after,.char-bat[data-status=working] .bat-head:after,.char-cactus[data-status=working] .cactus-body:after,.char-slime[data-status=working] .slime-body:after,.char-pumpkin[data-status=working] .pumpkin-body:after,.char-yeti[data-status=working] .yeti-head:after,.char-crystal[data-status=working] .crystal-body:after,.char-bee[data-status=working] .bee-head:after{content:"";position:absolute;z-index:12;pointer-events:none;right:-6px;top:6px;width:6px;height:9px;border-radius:50%/60% 60% 40% 40%;background:#50c8ff;box-shadow:-4px 4px 0 1px #64dcff,2px 9px #50c8fff2,-7px 14px 0 1px #3cbeffeb,4px 19px #64dcffe0,-2px 24px 0 1px #50c8ffe6,5px 29px #3cbeffd9,-6px 34px 0 1px #64dcffe0,3px 39px #50c8ffd1,-3px 44px 0 1px #64dcffd9,1px 49px #50c8ffcc,-8px 8px 0 1px #5ad7fff2,6px 16px #46c3ffe6,-1px 22px 0 1px #64d7ffeb,-9px 28px #50beffd9,7px 33px 0 1px #5ad2ffe0,-5px 38px #46c3ffd9,3px 43px 0 1px #64d7ffd1,-7px 48px #50c8ffc7,5px 53px 0 1px #64dcffd1;opacity:0;animation:sweat-stream-right calc(.8s * var(--anim-speed, 1)) ease-in infinite}.css-robot[data-status=working] .robot-head:before,.char-cat[data-status=working] .cat-head:before,.char-alien[data-status=working] .alien-dome:before,.char-ghost[data-status=working] .ghost-body:before,.char-orb[data-status=working] .orb-core:before,.char-dragon[data-status=working] .dragon-head:before,.char-penguin[data-status=working] .penguin-head:before,.char-octopus[data-status=working] .octo-head:before,.char-mushroom[data-status=working] .mush-cap:before,.char-fox[data-status=working] .fox-head:before,.char-unicorn[data-status=working] .unicorn-head:before,.char-jellyfish[data-status=working] .jelly-bell:before,.char-owl[data-status=working] .owl-head:before,.char-bat[data-status=working] .bat-head:before,.char-cactus[data-status=working] .cactus-body:before,.char-slime[data-status=working] .slime-body:before,.char-pumpkin[data-status=working] .pumpkin-body:before,.char-yeti[data-status=working] .yeti-head:before,.char-crystal[data-status=working] .crystal-body:before,.char-bee[data-status=working] .bee-head:before{content:"";position:absolute;z-index:12;pointer-events:none;left:-6px;top:6px;width:6px;height:9px;border-radius:50%/60% 60% 40% 40%;background:#50c8ff;box-shadow:4px 4px 0 1px #64dcff,-2px 9px #50c8fff2,7px 14px 0 1px #3cbeffeb,-4px 19px #64dcffe0,2px 24px 0 1px #50c8ffe6,-5px 29px #3cbeffd9,6px 34px 0 1px #64dcffe0,-3px 39px #50c8ffd1,3px 44px 0 1px #64dcffd9,-1px 49px #50c8ffcc,8px 8px 0 1px #5ad7fff2,-6px 16px #46c3ffe6,1px 22px 0 1px #64d7ffeb,9px 28px #50beffd9,-7px 33px 0 1px #5ad2ffe0,5px 38px #46c3ffd9,-3px 43px 0 1px #64d7ffd1,7px 48px #50c8ffc7,-5px 53px 0 1px #64dcffd1;opacity:0;animation:sweat-stream-left calc(.8s * var(--anim-speed, 1)) ease-in infinite;animation-delay:calc(.25s * var(--anim-speed, 1))}@keyframes sweat-stream-right{0%{opacity:0;transform:translateY(-5px) scale(.5)}12%{opacity:1;transform:translateY(0) scale(1.1)}70%{opacity:.9;transform:translateY(calc(35px * var(--anim-intensity, 1))) scale(.8)}to{opacity:0;transform:translateY(calc(55px * var(--anim-intensity, 1))) scale(.3)}}@keyframes sweat-stream-left{0%{opacity:0;transform:translateY(-5px) scale(.5)}12%{opacity:1;transform:translateY(0) scale(1.1)}70%{opacity:.9;transform:translateY(calc(35px * var(--anim-intensity, 1))) scale(.8)}to{opacity:0;transform:translateY(calc(55px * var(--anim-intensity, 1))) scale(.3)}}body[data-effect-working=energy-ring] .css-robot[data-status=working]:before{content:"";position:absolute;z-index:11;pointer-events:none;top:50%;left:50%;width:calc(100px * var(--anim-intensity, 1));height:calc(100px * var(--anim-intensity, 1));border-radius:50%;border:3px solid rgba(255,152,0,.95);box-shadow:0 0 20px #ff980099,0 0 40px #ff98004d,inset 0 0 15px #ff98004d;transform:translate(-50%,-50%) scale(.2);opacity:0;animation:effect-energy-ring calc(.9s * var(--anim-speed, 1)) ease-out infinite}body[data-effect-working=energy-ring] .css-robot[data-status=working]:after{content:"";position:absolute;z-index:11;pointer-events:none;top:50%;left:50%;width:calc(100px * var(--anim-intensity, 1));height:calc(100px * var(--anim-intensity, 1));border-radius:50%;border:2px solid rgba(255,200,0,.7);box-shadow:0 0 15px #ffc80066,0 0 30px #ffc80033;transform:translate(-50%,-50%) scale(.2);opacity:0;animation:effect-energy-ring calc(.9s * var(--anim-speed, 1)) ease-out infinite;animation-delay:calc(.45s * var(--anim-speed, 1))}@keyframes effect-energy-ring{0%{opacity:1;transform:translate(-50%,-50%) scale(.2)}60%{opacity:.3;transform:translate(-50%,-50%) scale(calc(1.8 * var(--anim-intensity, 1)))}to{opacity:0;transform:translate(-50%,-50%) scale(calc(2.2 * var(--anim-intensity, 1)))}}body[data-effect-working=sparks] .css-robot[data-status=working]:before{content:"";position:absolute;z-index:12;pointer-events:none;top:35%;left:50%;width:6px;height:6px;border-radius:50%;background:#ffab00;box-shadow:12px -15px 0 1px #fc0,-16px -10px #ffa000,20px 6px 0 1px #ff9800,-12px 12px #ffcc80,14px -22px 0 1px #ffb74d,-20px -16px #ff9800,24px 0 0 1px #fc0,-14px 18px #ffa726,0 -20px 0 1px #ffd740,18px 14px #ffab00;animation:effect-sparks calc(.5s * var(--anim-speed, 1)) ease-out infinite}body[data-effect-working=sparks] .css-robot[data-status=working]:after{content:"";position:absolute;z-index:12;pointer-events:none;top:35%;left:50%;width:5px;height:5px;border-radius:50%;background:#ffd740;box-shadow:-10px -18px 0 1px #ffe082,18px -12px #ffca28,-22px 4px 0 1px #ffc107,10px 16px #ffe082,-16px -24px 0 1px #ffca28,22px -18px #ffc107,0 22px 0 1px #ffd740,-20px 10px #ffb300;animation:effect-sparks calc(.5s * var(--anim-speed, 1)) ease-out infinite;animation-delay:calc(.25s * var(--anim-speed, 1))}@keyframes effect-sparks{0%{opacity:1;transform:translate(-50%) scale(.5) rotate(0)}50%{opacity:.8;transform:translate(-50%) scale(calc(1.8 * var(--anim-intensity, 1))) rotate(90deg)}to{opacity:0;transform:translate(-50%) scale(calc(2.5 * var(--anim-intensity, 1))) rotate(180deg)}}body[data-effect-working=steam] .css-robot[data-status=working]:before{content:"";position:absolute;z-index:12;pointer-events:none;top:10%;left:25%;width:16px;height:16px;border-radius:50%;background:#dcdcf0b3;box-shadow:14px -6px 0 4px #dcdcf099,-8px -12px 0 3px #dcdcf08c,20px -14px 0 5px #dcdcf080,4px -20px 0 3px #dcdcf073;animation:effect-steam calc(.9s * var(--anim-speed, 1)) ease-out infinite}body[data-effect-working=steam] .css-robot[data-status=working]:after{content:"";position:absolute;z-index:12;pointer-events:none;top:10%;right:25%;width:14px;height:14px;border-radius:50%;background:#dcdcf0a6;box-shadow:-12px -8px 0 4px #dcdcf08c,8px -14px 0 3px #dcdcf080,-16px -18px 0 5px #dcdcf066;animation:effect-steam calc(.9s * var(--anim-speed, 1)) ease-out infinite;animation-delay:calc(.45s * var(--anim-speed, 1))}@keyframes effect-steam{0%{opacity:0;transform:translateY(0) scale(.4)}15%{opacity:.9;transform:translateY(calc(-8px * var(--anim-intensity, 1))) scale(.9)}to{opacity:0;transform:translateY(calc(-50px * var(--anim-intensity, 1))) scale(calc(2 * var(--anim-intensity, 1)))}}body[data-effect-approval=flash] .css-robot[data-status=approval]:before{content:"";position:absolute;z-index:11;pointer-events:none;inset:0;border-radius:12px;background:#ffdd0026;animation:effect-flash calc(.5s * var(--anim-speed, 1)) ease-in-out infinite alternate}@keyframes effect-flash{0%{opacity:0;box-shadow:none}to{opacity:1;box-shadow:0 0 40px #fd0c,0 0 80px #ffdd0080,0 0 120px #fd03}}body[data-effect-approval=shake] .css-robot[data-status=approval] .robot-body-wrap{animation:effect-shake calc(.4s * var(--anim-speed, 1)) ease-in-out infinite!important}@keyframes effect-shake{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(calc(-8px * var(--anim-intensity, 1))) rotate(calc(-3deg * var(--anim-intensity, 1)))}40%{transform:translate(calc(8px * var(--anim-intensity, 1))) rotate(calc(3deg * var(--anim-intensity, 1)))}60%{transform:translate(calc(-6px * var(--anim-intensity, 1))) rotate(calc(-2deg * var(--anim-intensity, 1)))}80%{transform:translate(calc(6px * var(--anim-intensity, 1))) rotate(calc(2deg * var(--anim-intensity, 1)))}}body[data-effect-approval=none] .css-robot[data-status=approval] .robot-body-wrap{animation:none!important}body[data-effect-approval=none] .css-robot[data-status=approval]:after{display:none!important}.css-robot[data-status=waiting]:not([data-checked]) .robot-body-wrap{animation:waiting-bounce calc(.5s * var(--anim-speed, 1)) ease-in-out infinite!important}@keyframes waiting-bounce{0%,to{transform:translateY(0) scaleY(1)}30%{transform:translateY(calc(-14px * var(--anim-intensity, 1))) scaleY(1.08)}70%{transform:translateY(0) scaleY(.92)}}.css-robot[data-status=waiting][data-checked] .robot-body-wrap{animation:none!important}body[data-effect-ended=shrink] .css-robot[data-status=ended] .robot-body-wrap{animation:effect-shrink 1s ease-out forwards!important}@keyframes effect-shrink{0%{transform:scale(1) rotate(0);opacity:1}to{transform:scale(.2) rotate(180deg);opacity:.1}}body[data-effect-ended=dissolve] .css-robot[data-status=ended] .robot-body-wrap{animation:effect-dissolve 1.5s ease-out forwards!important}@keyframes effect-dissolve{0%{filter:blur(0);opacity:1;transform:scale(1)}50%{filter:blur(4px);opacity:.4;transform:scale(1.1)}to{filter:blur(12px);opacity:0;transform:scale(1.2)}}body[data-effect-ended=none] .css-robot[data-status=ended]{opacity:1!important}.css-robot[data-movement=sweat]:after{content:"";position:absolute;z-index:12;pointer-events:none;right:-2px;top:10px;width:6px;height:9px;border-radius:50%/60% 60% 40% 40%;background:#50c8ff;box-shadow:-5px 5px 0 1px #64dcff,3px 11px #50c8fff2,-7px 16px 0 1px #3cbeffe6,5px 22px #64dcffd9,-3px 27px 0 1px #50c8ffe6,6px 33px #3cbeffd9,-6px 38px 0 1px #64dcffcc,2px 44px #50c8ffd9,-8px 9px 0 1px #5ad2fff2,7px 18px #46c3ffe6,-2px 24px 0 1px #64d7ffeb,-9px 30px #50c8ffd9,8px 36px 0 1px #5ad2ffe0,-4px 42px #46c3ffd9;animation:trig-sweat-right .7s ease-in infinite}.css-robot[data-movement=sweat]:before{content:"";position:absolute;z-index:12;pointer-events:none;left:-2px;top:10px;width:6px;height:9px;border-radius:50%/60% 60% 40% 40%;background:#50c8ff;box-shadow:5px 5px 0 1px #64dcff,-3px 11px #50c8fff2,7px 16px 0 1px #3cbeffe6,-5px 22px #64dcffd9,3px 27px 0 1px #50c8ffe6,-6px 33px #3cbeffd9,6px 38px 0 1px #64dcffcc,-2px 44px #50c8ffd9,8px 9px 0 1px #5ad2fff2,-7px 18px #46c3ffe6,2px 24px 0 1px #64d7ffeb,9px 30px #50c8ffd9,-8px 36px 0 1px #5ad2ffe0,4px 42px #46c3ffd9;animation:trig-sweat-left .7s ease-in infinite;animation-delay:.2s}@keyframes trig-sweat-right{0%{opacity:0;transform:translateY(-5px) scale(.6)}15%{opacity:1;transform:translateY(0) scale(1.1)}70%{opacity:.9;transform:translateY(35px) scale(.8)}to{opacity:0;transform:translateY(55px) scale(.3)}}@keyframes trig-sweat-left{0%{opacity:0;transform:translateY(-5px) scale(.6)}15%{opacity:1;transform:translateY(0) scale(1.1)}70%{opacity:.9;transform:translateY(35px) scale(.8)}to{opacity:0;transform:translateY(55px) scale(.3)}}.css-robot[data-movement=energy-ring]:before{content:"";position:absolute;z-index:11;pointer-events:none;top:50%;left:50%;width:100px;height:100px;border-radius:50%;border:3px solid rgba(255,152,0,.95);box-shadow:0 0 20px #ff980099,0 0 40px #ff98004d,inset 0 0 15px #ff98004d;transform:translate(-50%,-50%) scale(.2);opacity:0;animation:trig-energy-ring .8s ease-out infinite}.css-robot[data-movement=energy-ring]:after{content:"";position:absolute;z-index:11;pointer-events:none;top:50%;left:50%;width:100px;height:100px;border-radius:50%;border:2px solid rgba(255,200,0,.7);box-shadow:0 0 15px #ffc80066,0 0 30px #ffc80033;transform:translate(-50%,-50%) scale(.2);opacity:0;animation:trig-energy-ring .8s ease-out infinite;animation-delay:.4s}@keyframes trig-energy-ring{0%{opacity:1;transform:translate(-50%,-50%) scale(.2)}60%{opacity:.4;transform:translate(-50%,-50%) scale(1.8)}to{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}.css-robot[data-movement=sparks]:before{content:"";position:absolute;z-index:12;pointer-events:none;top:35%;left:50%;width:6px;height:6px;border-radius:50%;background:#ffab00;box-shadow:12px -15px 0 1px #fc0,-16px -10px #ffa000,20px 6px 0 1px #ff9800,-12px 12px #ffcc80,14px -22px 0 1px #ffb74d,-20px -16px #ff9800,24px 0 0 1px #fc0,-14px 18px #ffa726,0 -20px 0 1px #ffd740,18px 14px #ffab00;animation:trig-sparks .5s ease-out infinite}.css-robot[data-movement=sparks]:after{content:"";position:absolute;z-index:12;pointer-events:none;top:35%;left:50%;width:5px;height:5px;border-radius:50%;background:#ffd740;box-shadow:-10px -18px 0 1px #ffe082,18px -12px #ffca28,-22px 4px 0 1px #ffc107,10px 16px #ffe082,-16px -24px 0 1px #ffca28,22px -18px #ffc107,0 22px 0 1px #ffd740,-20px 10px #ffb300;animation:trig-sparks .5s ease-out infinite;animation-delay:.25s}@keyframes trig-sparks{0%{opacity:1;transform:translate(-50%) scale(.5) rotate(0)}50%{opacity:.8;transform:translate(-50%) scale(1.8) rotate(90deg)}to{opacity:0;transform:translate(-50%) scale(2.5) rotate(180deg)}}.css-robot[data-movement=steam]:before{content:"";position:absolute;z-index:12;pointer-events:none;top:10%;left:25%;width:16px;height:16px;border-radius:50%;background:#dcdcf0b3;box-shadow:14px -6px 0 4px #dcdcf099,-8px -12px 0 3px #dcdcf08c,20px -14px 0 5px #dcdcf080,4px -20px 0 3px #dcdcf073;animation:trig-steam .9s ease-out infinite}.css-robot[data-movement=steam]:after{content:"";position:absolute;z-index:12;pointer-events:none;top:10%;right:25%;width:14px;height:14px;border-radius:50%;background:#dcdcf0a6;box-shadow:-12px -8px 0 4px #dcdcf08c,8px -14px 0 3px #dcdcf080,-16px -18px 0 5px #dcdcf066;animation:trig-steam .9s ease-out infinite;animation-delay:.45s}@keyframes trig-steam{0%{opacity:0;transform:translateY(0) scale(.4)}15%{opacity:.9;transform:translateY(-8px) scale(.9)}to{opacity:0;transform:translateY(-50px) scale(2)}}.css-robot[data-movement=eye-cycle] .robot-eye,.css-robot[data-movement=eye-cycle] .cat-eye,.css-robot[data-movement=eye-cycle] .alien-eye,.css-robot[data-movement=eye-cycle] .ghost-eye,.css-robot[data-movement=eye-cycle] .dragon-eye,.css-robot[data-movement=eye-cycle] .penguin-eye,.css-robot[data-movement=eye-cycle] .octo-eye,.css-robot[data-movement=eye-cycle] .mush-eye,.css-robot[data-movement=eye-cycle] .fox-eye,.css-robot[data-movement=eye-cycle] .unicorn-eye,.css-robot[data-movement=eye-cycle] .jelly-eye,.css-robot[data-movement=eye-cycle] .owl-pupil,.css-robot[data-movement=eye-cycle] .bat-eye,.css-robot[data-movement=eye-cycle] .cactus-eye,.css-robot[data-movement=eye-cycle] .slime-eye,.css-robot[data-movement=eye-cycle] .pumpkin-eye,.css-robot[data-movement=eye-cycle] .yeti-eye,.css-robot[data-movement=eye-cycle] .crystal-eye,.css-robot[data-movement=eye-cycle] .bee-eye{animation:trig-eye-dart .4s ease-in-out 6!important}@keyframes trig-eye-dart{0%{transform:translate(0) scale(1)}15%{transform:translate(4px,-2px) scale(1.2)}30%{transform:translate(-4px,1px) scale(.9)}50%{transform:translate(3px,2px) scale(1.15)}70%{transform:translate(-3px,-2px) scale(1.1)}85%{transform:translate(2px) scale(1.05)}to{transform:translate(0) scale(1)}}.css-robot[data-movement=think-pulse]:before{content:"";position:absolute;z-index:11;pointer-events:none;top:50%;left:50%;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(0,229,255,.45) 0%,rgba(0,229,255,.15) 40%,transparent 70%);transform:translate(-50%,-50%);animation:trig-think-pulse .6s ease-in-out 4}@keyframes trig-think-pulse{0%,to{transform:translate(-50%,-50%) scale(.5);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.5);opacity:1}}.css-robot[data-movement=head-tilt] .robot-body-wrap{animation:trig-head-rock .5s ease-in-out 5!important}@keyframes trig-head-rock{0%,to{transform:rotate(0)}25%{transform:rotate(15deg)}75%{transform:rotate(-15deg)}}.css-robot[data-movement=float] .robot-body-wrap{animation:trig-float-lift .8s ease-in-out 3!important}@keyframes trig-float-lift{0%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-18px)}}.css-robot[data-movement=breathe] .robot-body-wrap{animation:trig-breathe-big .7s ease-in-out 4!important}@keyframes trig-breathe-big{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.css-robot[data-movement=sway] .robot-body-wrap{animation:trig-sway-wide .6s ease-in-out 4!important}@keyframes trig-sway-wide{0%,to{transform:rotate(0) translate(0)}25%{transform:rotate(10deg) translate(6px)}75%{transform:rotate(-10deg) translate(-6px)}}.css-robot[data-movement=sparkle]:before{content:"";position:absolute;z-index:12;pointer-events:none;top:10%;left:15%;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:25px -8px 0 1px #fff,-15px 20px #fffffff2,30px 25px 0 1px #ffffffe6,8px 40px #ffffffd9,40px 12px 0 1px #ffffffeb,-8px 50px #fffc,20px 55px 0 1px #ffffffd9,45px 30px #ffffffe6,-12px 35px 0 1px #ffffffe0,35px -3px #ffffffed;animation:trig-sparkle-burst .6s ease-in-out 4}.css-robot[data-movement=sparkle]:after{content:"";position:absolute;z-index:12;pointer-events:none;top:15%;left:25%;width:4px;height:4px;border-radius:50%;background:#ffffc8e6;box-shadow:15px 10px 0 1px #ffffc8e6,35px 5px #ffffc8d9,5px 30px 0 1px #ffffc8cc,28px 35px #ffffc8d9,42px 20px 0 1px #ffffc8e6,10px 48px #ffffc8cc;animation:trig-sparkle-burst .6s ease-in-out 4;animation-delay:.3s}@keyframes trig-sparkle-burst{0%,to{opacity:0;transform:scale(.3)}30%{opacity:1;transform:scale(1.4)}70%{opacity:.8;transform:scale(1.1)}}.css-robot[data-movement=bounce] .robot-body-wrap{animation:trig-bounce-hard .35s ease-in-out 7!important}@keyframes trig-bounce-hard{0%,to{transform:translateY(0) scaleY(1)}30%{transform:translateY(-18px) scaleY(1.1)}70%{transform:translateY(0) scaleY(.85)}}.css-robot[data-movement=flash]:before{content:"";position:absolute;z-index:11;pointer-events:none;inset:-10px;border-radius:16px;background:#ffdd0040;animation:trig-flash-strobe .2s ease-in-out 12 alternate}@keyframes trig-flash-strobe{0%{opacity:0;box-shadow:none}to{opacity:1;box-shadow:0 0 40px #fd0c,0 0 80px #fd06,0 0 120px #fd03}}.css-robot[data-movement=shake] .robot-body-wrap{animation:trig-shake-violent .12s ease-in-out 20!important}@keyframes trig-shake-violent{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-8px) rotate(-3deg)}75%{transform:translate(8px) rotate(3deg)}}.css-robot[data-movement=questions]:before{content:"???";position:absolute;z-index:12;pointer-events:none;top:-8px;left:50%;transform:translate(-50%);font-size:18px;font-weight:900;font-family:var(--font-mono);color:#fc0;text-shadow:0 0 8px rgba(255,204,0,.8),0 0 20px rgba(255,204,0,.4);animation:trig-questions-float .7s ease-in-out 4}.css-robot[data-movement=questions]:after{content:"?";position:absolute;z-index:12;pointer-events:none;top:-2px;right:2px;font-size:12px;font-weight:900;font-family:var(--font-mono);color:#fc09;text-shadow:0 0 6px rgba(255,204,0,.5);animation:trig-questions-drift .9s ease-in-out 3;animation-delay:.2s}.css-robot[data-movement=questions] .robot-body-wrap{animation:trig-questions-tilt .6s ease-in-out 4!important}@keyframes trig-questions-float{0%,to{opacity:0;transform:translate(-50%) translateY(0) scale(.5)}20%{opacity:1;transform:translate(-50%) translateY(-6px) scale(1.1)}50%{opacity:1;transform:translate(-50%) translateY(-12px) scale(1)}80%{opacity:.6;transform:translate(-50%) translateY(-16px) scale(.9)}}@keyframes trig-questions-drift{0%,to{opacity:0;transform:translateY(0) rotate(0)}30%{opacity:.8;transform:translateY(-10px) rotate(10deg)}70%{opacity:.5;transform:translateY(-18px) rotate(-5deg)}}@keyframes trig-questions-tilt{0%,to{transform:rotate(0)}30%{transform:rotate(5deg)}70%{transform:rotate(-5deg)}}.css-robot[data-movement=fade]{animation:trig-fade-ghost 1.5s ease-out 1 forwards}@keyframes trig-fade-ghost{0%{opacity:1;transform:scale(1);filter:blur(0)}50%{opacity:.5;transform:scale(1.03);filter:blur(1px)}to{opacity:.15;transform:scale(.95);filter:blur(3px)}}.css-robot[data-movement=shrink] .robot-body-wrap{animation:trig-shrink-spin 1.2s ease-in 1 forwards!important}@keyframes trig-shrink-spin{0%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.6) rotate(180deg);opacity:.6}to{transform:scale(.15) rotate(360deg);opacity:0}}.css-robot[data-movement=dissolve] .robot-body-wrap{animation:trig-dissolve-blast 1.5s ease-out 1 forwards!important}@keyframes trig-dissolve-blast{0%{filter:blur(0);opacity:1;transform:scale(1)}30%{filter:blur(2px);opacity:.7;transform:scale(1.1)}60%{filter:blur(6px);opacity:.3;transform:scale(1.15)}to{filter:blur(12px);opacity:0;transform:scale(1.2)}}.movement-preview-section{margin-bottom:12px}.movement-preview-viewport{position:relative;width:100%;height:160px;background:#0000004d;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.movement-preview-viewport .css-robot{transform:scale(.9);transform-origin:center center}.movement-preview-label{font-size:11px;color:var(--text-dim);text-align:center;pointer-events:none}.movement-preview-effect-name{position:absolute;bottom:6px;left:0;right:0;text-align:center;font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;pointer-events:none;opacity:0;transition:opacity .3s}.movement-preview-effect-name.visible{opacity:1}.anim-intensity-control{display:flex;align-items:center;gap:10px}.anim-intensity-control span{font-size:11px;color:var(--text-secondary);min-width:32px;text-align:right}.anim-intensity-control input[type=range]{flex:1}@media(prefers-reduced-motion:reduce){.css-robot[data-status=working] .robot-head:after,.css-robot[data-status=working] .robot-head:before,.char-cat[data-status=working] .cat-head:after,.char-cat[data-status=working] .cat-head:before,.char-alien[data-status=working] .alien-dome:after,.char-alien[data-status=working] .alien-dome:before,.char-ghost[data-status=working] .ghost-body:after,.char-ghost[data-status=working] .ghost-body:before,.char-orb[data-status=working] .orb-core:after,.char-orb[data-status=working] .orb-core:before,.char-dragon[data-status=working] .dragon-head:after,.char-dragon[data-status=working] .dragon-head:before{animation:none!important;opacity:0!important}.css-robot[data-movement]:before,.css-robot[data-movement]:after{animation:none!important;opacity:0!important}.css-robot[data-movement] .robot-body-wrap{animation:none!important}body[data-effect-working=energy-ring] .css-robot[data-status=working]:before,body[data-effect-working=energy-ring] .css-robot[data-status=working]:after,body[data-effect-working=sparks] .css-robot[data-status=working]:before,body[data-effect-working=sparks] .css-robot[data-status=working]:after,body[data-effect-working=steam] .css-robot[data-status=working]:before,body[data-effect-working=steam] .css-robot[data-status=working]:after{animation:none!important;opacity:0!important}.css-robot[data-status=approval]{outline:2px solid rgba(255,221,0,.6);outline-offset:4px;border-radius:8px}.css-robot[data-status=working]{outline:2px solid rgba(255,152,0,.4);outline-offset:4px;border-radius:8px}.movement-preview-viewport .css-robot{animation:none!important}.movement-preview-viewport .css-robot:before,.movement-preview-viewport .css-robot:after{animation:none!important}}.anim-intensity-control input[type=range]:active{opacity:.8}.movement-preview-viewport:active{opacity:.9}@media(pointer:coarse){.anim-intensity-control input[type=range]{height:44px;cursor:pointer}.anim-intensity-control{min-height:44px}.movement-preview-viewport{min-height:120px}}@media(max-width:768px){.css-robot{transform:scale(.85);transform-origin:center bottom}.movement-preview-viewport{height:140px}.movement-preview-viewport .css-robot{transform:scale(.75)}}@media(max-width:640px){.css-robot{transform:scale(.75);transform-origin:center bottom}.css-robot[data-status=working] .robot-head:after,.char-cat[data-status=working] .cat-head:after,.char-alien[data-status=working] .alien-dome:after,.char-ghost[data-status=working] .ghost-body:after,.char-orb[data-status=working] .orb-core:after,.char-dragon[data-status=working] .dragon-head:after,.char-penguin[data-status=working] .penguin-head:after,.char-octopus[data-status=working] .octo-head:after,.char-mushroom[data-status=working] .mush-cap:after,.char-fox[data-status=working] .fox-head:after,.char-unicorn[data-status=working] .unicorn-head:after,.char-jellyfish[data-status=working] .jelly-bell:after,.char-owl[data-status=working] .owl-head:after,.char-bat[data-status=working] .bat-head:after,.char-cactus[data-status=working] .cactus-body:after,.char-slime[data-status=working] .slime-body:after,.char-pumpkin[data-status=working] .pumpkin-body:after,.char-yeti[data-status=working] .yeti-head:after,.char-crystal[data-status=working] .crystal-body:after,.char-bee[data-status=working] .bee-head:after{box-shadow:-4px 4px 0 1px #64dcff,2px 14px #50c8ffe6,-2px 24px 0 1px #50c8ffd9,5px 34px #3cbeffcc,-3px 44px 0 1px #64dcffbf,1px 49px #50c8ffb3}.css-robot[data-status=working] .robot-head:before,.char-cat[data-status=working] .cat-head:before,.char-alien[data-status=working] .alien-dome:before,.char-ghost[data-status=working] .ghost-body:before,.char-orb[data-status=working] .orb-core:before,.char-dragon[data-status=working] .dragon-head:before,.char-penguin[data-status=working] .penguin-head:before,.char-octopus[data-status=working] .octo-head:before,.char-mushroom[data-status=working] .mush-cap:before,.char-fox[data-status=working] .fox-head:before,.char-unicorn[data-status=working] .unicorn-head:before,.char-jellyfish[data-status=working] .jelly-bell:before,.char-owl[data-status=working] .owl-head:before,.char-bat[data-status=working] .bat-head:before,.char-cactus[data-status=working] .cactus-body:before,.char-slime[data-status=working] .slime-body:before,.char-pumpkin[data-status=working] .pumpkin-body:before,.char-yeti[data-status=working] .yeti-head:before,.char-crystal[data-status=working] .crystal-body:before,.char-bee[data-status=working] .bee-head:before{box-shadow:4px 4px 0 1px #64dcff,-2px 14px #50c8ffe6,2px 24px 0 1px #50c8ffd9,-5px 34px #3cbeffcc,3px 44px 0 1px #64dcffbf,-1px 49px #50c8ffb3}.css-robot[data-movement=sparks]:before{box-shadow:12px -15px 0 1px #fc0,-16px -10px #ffa000,20px 6px 0 1px #ff9800,-12px 12px #ffcc80}.css-robot[data-movement=sparks]:after{box-shadow:-10px -18px 0 1px #ffe082,18px -12px #ffca28,-22px 4px 0 1px #ffc107,10px 16px #ffe082}.css-robot[data-movement=sparkle]:before{box-shadow:25px -8px 0 1px #fff,-15px 20px #fffffff2,30px 25px 0 1px #ffffffe6,8px 40px #ffffffd9}.css-robot[data-movement=sparkle]:after{box-shadow:15px 10px 0 1px #ffffc8e6,35px 5px #ffffc8d9,5px 30px 0 1px #ffffc8cc}body[data-effect-working=energy-ring] .css-robot[data-status=working]:before{box-shadow:0 0 15px #ff980080}body[data-effect-working=energy-ring] .css-robot[data-status=working]:after{box-shadow:0 0 10px #ffc8004d}body[data-effect-working=steam] .css-robot[data-status=working]:before{box-shadow:14px -6px 0 4px #dcdcf080,-8px -12px 0 3px #dcdcf066}body[data-effect-working=steam] .css-robot[data-status=working]:after{box-shadow:-12px -8px 0 4px #dcdcf073}.movement-preview-viewport{height:120px}.movement-preview-viewport .css-robot{transform:scale(.6)}.movement-preview-label{font-size:10px}.movement-preview-effect-name{font-size:9px}}@media(max-width:480px){.css-robot{transform:scale(.65);transform-origin:center bottom}.css-robot[data-status=working] .robot-head:after,.css-robot[data-status=working] .robot-head:before{animation-duration:1.2s}.movement-preview-viewport{height:100px}.movement-preview-viewport .css-robot{transform:scale(.5)}.anim-intensity-control span{font-size:10px;min-width:24px}}@media(max-width:375px){.css-robot{transform:scale(.55);transform-origin:center bottom}.movement-preview-viewport{height:90px}}@media(max-width:320px){.css-robot{transform:scale(.5);transform-origin:center bottom}.movement-preview-viewport{height:80px}.anim-intensity-control{gap:6px}}.terminal-toolbar-actions{scroll-snap-type:x proximity}.terminal-toolbar-actions>*{scroll-snap-align:start}@keyframes pulse-label{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.03)}}@keyframes dialogue-pulse{0%,to{box-shadow:0 0 8px var(--dialogue-glow, rgba(255,221,0,.25))}50%{box-shadow:0 0 16px var(--dialogue-glow, rgba(255,221,0,.5)),0 0 24px var(--dialogue-glow, rgba(255,221,0,.15))}}
|