sessiongraph-app-darwin-x64 1.0.8 → 1.0.10
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/package.json +2 -2
- package/payload/SessionGraph.app/Contents/Info.plist +2 -2
- package/payload/SessionGraph.app/Contents/MacOS/sessiongraph +0 -0
- package/payload/SessionGraph.app/Contents/Resources/icon.icns +0 -0
- package/payload/SessionGraph.app/Contents/Resources/resources/web/apple-touch-icon.png +0 -0
- package/payload/SessionGraph.app/Contents/Resources/resources/web/assets/{index-B5TXKeav.js → index-BNX-8Jnn.js} +1 -1
- package/payload/SessionGraph.app/Contents/Resources/resources/web/assets/{index-CWphmptD.js → index-BcoCDV6F.js} +1 -1
- package/payload/SessionGraph.app/Contents/Resources/resources/web/assets/{index-fjc8n25E.css → index-BnhC5gO7.css} +1 -1
- package/payload/SessionGraph.app/Contents/Resources/resources/web/assets/{index-D-Ue5tsr.js → index-BtLEIWKh.js} +5 -5
- package/payload/SessionGraph.app/Contents/Resources/resources/web/assets/{index-BPR2p22J.js → index-RfmyzBnX.js} +1 -1
- package/payload/SessionGraph.app/Contents/Resources/resources/web/assets/publishing-DoHRK4Ea.js +26 -0
- package/payload/SessionGraph.app/Contents/Resources/resources/web/assets/publishing-VJhUmdPH.css +1 -0
- package/payload/SessionGraph.app/Contents/Resources/resources/web/assets/{scene-C2kTsRX_.js → scene-B_CpQ0qP.js} +1 -1
- package/payload/SessionGraph.app/Contents/Resources/resources/web/assets/share-DPdu1Hbo.js +8 -0
- package/payload/SessionGraph.app/Contents/Resources/resources/web/brand/icon.svg +1 -0
- package/payload/SessionGraph.app/Contents/Resources/resources/web/brand/lockup-light.svg +1 -0
- package/payload/SessionGraph.app/Contents/Resources/resources/web/brand/lockup.svg +1 -0
- package/payload/SessionGraph.app/Contents/Resources/resources/web/brand/mark-mono.svg +1 -0
- package/payload/SessionGraph.app/Contents/Resources/resources/web/brand/mark.svg +1 -0
- package/payload/SessionGraph.app/Contents/Resources/resources/web/favicon.ico +0 -0
- package/payload/SessionGraph.app/Contents/Resources/resources/web/favicon.svg +1 -1
- package/payload/SessionGraph.app/Contents/Resources/resources/web/index.html +4 -2
- package/payload/SessionGraph.app/Contents/Resources/resources/web/sources/gemini.svg +1 -1
- package/payload/SessionGraph.app/Contents/_CodeSignature/CodeResources +121 -44
- package/payload/SessionGraph.app/Contents/Resources/resources/web/assets/publishing-D6ALMt6w.js +0 -12
- package/payload/SessionGraph.app/Contents/Resources/resources/web/assets/publishing-DG0jrGoB.css +0 -1
- package/payload/SessionGraph.app/Contents/Resources/resources/web/assets/share-BhzLwRnE.js +0 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sessiongraph-app-darwin-x64",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
4
4
|
"description": "Explore & visualize all your LLM sessions — darwin/x64",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"access": "public",
|
|
11
11
|
"registry": "https://registry.npmjs.org/"
|
|
12
12
|
},
|
|
13
|
-
"sessionGraphCommit": "
|
|
13
|
+
"sessionGraphCommit": "0e6a305823678d14392776d56259954d56233836",
|
|
14
14
|
"os": [
|
|
15
15
|
"darwin"
|
|
16
16
|
],
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
<key>CFBundlePackageType</key>
|
|
18
18
|
<string>APPL</string>
|
|
19
19
|
<key>CFBundleShortVersionString</key>
|
|
20
|
-
<string>1.0.
|
|
20
|
+
<string>1.0.10</string>
|
|
21
21
|
<key>CFBundleVersion</key>
|
|
22
|
-
<string>1.0.
|
|
22
|
+
<string>1.0.10</string>
|
|
23
23
|
<key>CSResourcesFileMapped</key>
|
|
24
24
|
<true/>
|
|
25
25
|
<key>LSApplicationCategoryType</key>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as a,y as i,C as R}from"./index-
|
|
1
|
+
import{R as a,y as i,C as R}from"./index-BtLEIWKh.js";var w;(function(n){n[n.Audio=1]="Audio",n[n.Cache=2]="Cache",n[n.Config=3]="Config",n[n.Data=4]="Data",n[n.LocalData=5]="LocalData",n[n.Document=6]="Document",n[n.Download=7]="Download",n[n.Picture=8]="Picture",n[n.Public=9]="Public",n[n.Video=10]="Video",n[n.Resource=11]="Resource",n[n.Temp=12]="Temp",n[n.AppConfig=13]="AppConfig",n[n.AppData=14]="AppData",n[n.AppLocalData=15]="AppLocalData",n[n.AppCache=16]="AppCache",n[n.AppLog=17]="AppLog",n[n.Desktop=18]="Desktop",n[n.Executable=19]="Executable",n[n.Font=20]="Font",n[n.Home=21]="Home",n[n.Runtime=22]="Runtime",n[n.Template=23]="Template"})(w||(w={}));var d;(function(n){n[n.Start=0]="Start",n[n.Current=1]="Current",n[n.End=2]="End"})(d||(d={}));function u(n){return{isFile:n.isFile,isDirectory:n.isDirectory,isSymlink:n.isSymlink,size:n.size,mtime:n.mtime!==null?new Date(n.mtime):null,atime:n.atime!==null?new Date(n.atime):null,birthtime:n.birthtime!==null?new Date(n.birthtime):null,readonly:n.readonly,fileAttributes:n.fileAttributes,dev:n.dev,ino:n.ino,mode:n.mode,nlink:n.nlink,uid:n.uid,gid:n.gid,rdev:n.rdev,blksize:n.blksize,blocks:n.blocks}}function U(n){const e=new Uint8ClampedArray(n),t=e.byteLength;let o=0;for(let r=0;r<t;r++){const s=e[r];o*=256,o+=s}return o}class g extends a{async read(e){if(e.byteLength===0)return 0;const t=await i("plugin:fs|read",{rid:this.rid,len:e.byteLength}),o=U(t.slice(-8)),r=t instanceof ArrayBuffer?new Uint8Array(t):t;return e.set(r.slice(0,r.length-8)),o===0?null:o}async seek(e,t){return await i("plugin:fs|seek",{rid:this.rid,offset:e,whence:t})}async stat(){const e=await i("plugin:fs|fstat",{rid:this.rid});return u(e)}async truncate(e){await i("plugin:fs|ftruncate",{rid:this.rid,len:e})}async write(e){return await i("plugin:fs|write",{rid:this.rid,data:e})}}async function b(n,e){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");const t=await i("plugin:fs|create",{path:n instanceof URL?n.toString():n,options:e});return new g(t)}async function p(n,e){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");const t=await i("plugin:fs|open",{path:n instanceof URL?n.toString():n,options:e});return new g(t)}async function S(n,e,t){if(n instanceof URL&&n.protocol!=="file:"||e instanceof URL&&e.protocol!=="file:")throw new TypeError("Must be a file URL.");await i("plugin:fs|copy_file",{fromPath:n instanceof URL?n.toString():n,toPath:e instanceof URL?e.toString():e,options:t})}async function A(n,e){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");await i("plugin:fs|mkdir",{path:n instanceof URL?n.toString():n,options:e})}async function T(n,e){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");return await i("plugin:fs|read_dir",{path:n instanceof URL?n.toString():n,options:e})}async function E(n,e){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");const t=await i("plugin:fs|read_file",{path:n instanceof URL?n.toString():n,options:e});return t instanceof ArrayBuffer?new Uint8Array(t):Uint8Array.from(t)}async function _(n,e){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");const t=await i("plugin:fs|read_text_file",{path:n instanceof URL?n.toString():n,options:e}),o=t instanceof ArrayBuffer?t:Uint8Array.from(t);return new TextDecoder(e?.encoding??"utf-8").decode(o)}async function x(n,e){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");const t=n instanceof URL?n.toString():n;return await Promise.resolve({path:t,rid:null,async next(){const o=new TextDecoder(e?.encoding??"utf-8");if(this.rid===null){const l=o.encoding;this.rid=await i("plugin:fs|read_text_file_lines",{path:t,options:e!=null?{...e,encoding:l}:void 0})}let r;try{r=await i("plugin:fs|read_text_file_lines_next",{rid:this.rid})}catch(l){throw this.rid=null,l}const s=r instanceof ArrayBuffer?new Uint8Array(r):Uint8Array.from(r),f=s[s.byteLength-1]===1;return f?(this.rid=null,{value:null,done:f}):{value:o.decode(s.slice(0,s.byteLength-1)),done:f}},async return(){if(this.rid!==null){const o=this.rid;this.rid=null,await new a(o).close()}return{value:null,done:!0}},[Symbol.asyncIterator](){return this}})}async function v(n,e){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");await i("plugin:fs|remove",{path:n instanceof URL?n.toString():n,options:e})}async function M(n,e,t){if(n instanceof URL&&n.protocol!=="file:"||e instanceof URL&&e.protocol!=="file:")throw new TypeError("Must be a file URL.");await i("plugin:fs|rename",{oldPath:n instanceof URL?n.toString():n,newPath:e instanceof URL?e.toString():e,options:t})}async function C(n,e){const t=await i("plugin:fs|stat",{path:n instanceof URL?n.toString():n,options:e});return u(t)}async function k(n,e){const t=await i("plugin:fs|lstat",{path:n instanceof URL?n.toString():n,options:e});return u(t)}async function F(n,e,t){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");await i("plugin:fs|truncate",{path:n instanceof URL?n.toString():n,len:e,options:t})}async function z(n,e,t){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");if(e instanceof ReadableStream){const o=await p(n,{read:!1,create:!0,write:!0,...t,truncate:!t?.append}),r=e.getReader();try{for(;;){const{done:s,value:f}=await r.read();if(s)break;await o.write(f)}}finally{r.releaseLock(),await o.close()}}else await i("plugin:fs|write_file",e,{headers:{path:encodeURIComponent(n instanceof URL?n.toString():n),options:JSON.stringify(t)}})}async function I(n,e,t){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");const o=new TextEncoder;await i("plugin:fs|write_text_file",o.encode(e),{headers:{path:encodeURIComponent(n instanceof URL?n.toString():n),options:JSON.stringify(t)}})}async function H(n,e){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");return await i("plugin:fs|exists",{path:n instanceof URL?n.toString():n,options:e})}class y extends a{}async function L(n,e,t){const o=Array.isArray(n)?n:[n];for(const c of o)if(c instanceof URL&&c.protocol!=="file:")throw new TypeError("Must be a file URL.");const r=new R;r.onmessage=e;const s=await i("plugin:fs|watch",{paths:o.map(c=>c instanceof URL?c.toString():c),options:t,onEvent:r}),f=new y(s);return()=>{f.close()}}async function J(n,e,t){return await L(n,e,{delayMs:2e3,...t})}async function N(n,e,t){return await L(n,e,{...t,delayMs:void 0})}async function O(n,e){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");return await i("plugin:fs|size",{path:n instanceof URL?n.toString():n,options:e})}async function V(n){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");await i("plugin:fs|start_accessing_security_scoped_resource",{path:n instanceof URL?n.toString():n})}async function h(n){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");await i("plugin:fs|stop_accessing_security_scoped_resource",{path:n instanceof URL?n.toString():n})}export{w as BaseDirectory,g as FileHandle,d as SeekMode,S as copyFile,b as create,H as exists,k as lstat,A as mkdir,p as open,T as readDir,E as readFile,_ as readTextFile,x as readTextFileLines,v as remove,M as rename,O as size,V as startAccessingSecurityScopedResource,C as stat,h as stopAccessingSecurityScopedResource,F as truncate,J as watch,N as watchImmediate,z as writeFile,I as writeTextFile};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{y as a,R as i,C as o}from"./index-
|
|
1
|
+
import{y as a,R as i,C as o}from"./index-BtLEIWKh.js";class l extends i{constructor(e){super(e.rid),this.available=!0,this.currentVersion=e.currentVersion,this.version=e.version,this.date=e.date,this.body=e.body,this.rawJson=e.rawJson}async download(e,n){const d=new o;e&&(d.onmessage=e);const r=await a("plugin:updater|download",{onEvent:d,rid:this.rid,...n,headers:t(n?.headers)});await this.downloadedBytes?.close().catch(()=>{}),this.downloadedBytes=new i(r)}async install(e){if(!this.downloadedBytes)throw new Error("Update.install called before Update.download");await a("plugin:updater|install",{updateRid:this.rid,bytesRid:this.downloadedBytes.rid,...e}),this.downloadedBytes=void 0}async downloadAndInstall(e,n){const d=new o;e&&(d.onmessage=e),await a("plugin:updater|download_and_install",{onEvent:d,rid:this.rid,...n,headers:t(n?.headers)})}async close(){await this.downloadedBytes?.close(),await super.close()}}async function w(s){const e=await a("plugin:updater|check",{...s,headers:t(s?.headers)});return e?new l(e):null}function t(s){return s?Array.from(new Headers(s).entries()):void 0}export{l as Update,w as check};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Geist Variable,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#dbe7e3;background:#080e13;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:dark;--line: #c9e3db14;--muted: #82978f;--mint: #b0e9d6;--mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--control-bg: #122321;--control-border: #b0e9d626;--control-hover: #b0e9d610;--control-radius: 8px;--popover-bg: #0e1c20}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}#app{height:100dvh;isolation:isolate}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none;transition:background .18s,color .18s,border-color .18s}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #b0e9d6aa;outline-offset:3px}svg{width:16px;height:16px;flex-shrink:0}[hidden]{display:none!important}::selection{background:#b0e9d632;color:#f0fff8}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:#3a5149;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.muted{color:var(--muted)}.map,#scene{position:absolute;inset:0}#scene canvas{display:block;width:100%;height:100%;touch-action:none}.canvas-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 150px 20px #04090d55}.glass{background:color-mix(in srgb,#0c161b var(--panel-opacity, 90%),transparent);border:1px solid #d6eee119;box-shadow:0 12px 48px #0003,inset 0 1px #ffffff04;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.app-header,.map-controls{position:fixed;top:24px;display:flex;align-items:center;gap:5px;height:48px;border-radius:14px;padding:5px 7px;z-index:40}.app-header{left:24px;padding-left:13px;gap:10px}.brand{display:flex;align-items:center;gap:8px}.brand img{width:24px;height:24px}.brand>span{font-size:21px;font-weight:510;letter-spacing:-1px;line-height:1;white-space:nowrap}.brand-dot{color:var(--mint)}.connection{display:flex;align-items:center}.status-dot{width:5px;height:5px;border-radius:50%;background:#d6b578}.connected .status-dot{background:#a9d9c5;box-shadow:0 0 8px #b0e9d630}.toolbar-divider{width:1px;height:18px;background:var(--line);margin:0 3px}.toolbar-button{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:8px;font-size:12px;color:#9eafa9}.toolbar-button:hover,.icon-button:hover{background:#c2e9d90c;color:#e9fff4}.toolbar-button[aria-expanded=true],.map-controls .icon-button[aria-expanded=true]{background:#b0e9d60c;color:var(--mint)}.icon-button{width:34px;height:34px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#8ba198}.map-controls{right:24px}.view-switch{display:flex;gap:2px}.view-switch button{min-width:37px;padding:9px 8px;border-radius:8px;font-size:12px;color:#7d9489}.view-switch .active{color:#d4f6e7;background:#b0e9d614}.floating-panel{position:fixed;z-index:10;border-radius:16px;animation:panel-in .2s ease-out}.floating-panel.front{z-index:20}.panel-heading{display:flex;align-items:center;padding:10px 10px 8px 16px;gap:3px;flex-shrink:0}.panel-handle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:8px 0;text-align:left;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:480;color:#bdcec6}.panel-handle>svg{width:13px;height:13px;color:#597368}.panel-handle:hover>svg{color:#b0e9d6}.dragging{-webkit-user-select:none;user-select:none;box-shadow:0 20px 80px #0006}.dragging .panel-handle{cursor:grabbing}.small-badge{font:10px var(--mono);font-weight:400;color:#879f93;margin-left:2px}.sidebar{top:86px;left:24px;width:330px;height:min(580px,calc(100dvh - 230px));max-height:calc(100dvh - 100px);display:flex;flex-direction:column;overflow:hidden}.search-box{display:flex;align-items:center;gap:9px;margin:3px 16px 0;padding:10px 11px;background:#d5f6e703;border:1px solid #d1e9dc16;border-radius:9px;color:#7c9588}.search-box:focus-within{border-color:#b0e9d650}.search-box svg{width:14px;height:14px}.search-trigger{text-align:left;font-size:12px}.search-trigger span{flex:1}.search-trigger:hover{border-color:#b0e9d644;color:#d1ecdf}.search-box input{width:100%;min-width:0;background:none;border:0;outline:none;color:#e3ece9;font-size:12px}.search-box input::placeholder{color:#7f948a}kbd{border:1px solid #c4e1d71c;border-radius:4px;padding:2px 5px;font:11px var(--mono);color:#8fa69a}.filters{padding:16px;border-bottom:1px solid var(--line)}.filter-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.select-wrap{display:flex;align-items:center;position:relative;min-width:0;margin-bottom:8px;color:#8ea99b}.filter-row>.select-wrap{flex:1;margin-bottom:0}.select-wrap>svg,.select-wrap>#source-filter-icon{pointer-events:none;position:absolute;left:9px;width:14px;height:14px}.select-wrap>svg:last-child{left:auto;right:9px;width:12px}.select-wrap select{appearance:none;width:100%;min-width:0;height:34px;padding:7px 29px 7px 32px;background:transparent;color:#bdcfc6;border:1px solid transparent;border-radius:8px;font-size:12px;cursor:pointer;text-overflow:ellipsis}.select-wrap:hover select{background:#b0e9d606}.select-wrap select:focus-visible{outline:2px solid #b0e9d680;outline-offset:0;background:#b0e9d609}#source-filter-icon .source-icon{width:14px;height:14px;flex-basis:14px}select option{background:#14211e;color:#e1e8ea}.filter-toggles{display:flex;gap:18px;margin-top:16px}.filter-toggles label{display:flex;align-items:center;gap:6px;font-size:11px;color:#91a99b;cursor:pointer}.filter-toggles input{width:12px;height:12px;margin:0;accent-color:#a0c9ba}.session-list{padding:0 8px 10px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.list-date{display:flex;gap:7px;padding:17px 12px 8px;font-size:11px;color:#8ca196}.list-date span{color:#647e70}.session-card{width:100%;display:flex;text-align:left;gap:10px;padding:11px 12px;border:1px solid transparent;border-radius:9px;margin-bottom:2px}.session-card:hover{background:#dbf5e805}.session-card.selected{background:#b0e9d60b;border-color:#b0e9d61a}.session-dot{width:5px;height:5px;margin-top:6px;flex-shrink:0;border-radius:50%;background:var(--node-color, #b0e9d6);box-shadow:0 0 7px color-mix(in srgb,var(--node-color, #b0e9d6) 25%,transparent)}.session-card-body{flex:1;min-width:0}.session-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;font-weight:420;line-height:1.55;color:#bccfc5}.selected .session-title{color:#e1f2eb}.session-meta{display:flex;align-items:center;gap:5px;margin-top:6px;font-size:10px;color:#748e7f}.session-meta svg{width:11px;height:11px}.session-meta span:first-of-type{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-meta span:last-child{margin-left:auto;white-space:nowrap}.timeline-dock{bottom:24px;left:50%;transform:translate(-50%);width:min(620px,calc(100% - 48px))}.timeline-panel{padding:9px 14px 18px;border-radius:16px}.timeline-top{display:flex;align-items:center;gap:4px;margin-bottom:14px}.timeline-top .panel-handle{font-size:12px;font-weight:400;white-space:nowrap}.range-buttons{display:flex;gap:2px;margin-left:8px}.range-buttons button{font-size:11px;color:#859d8e;border-radius:6px;padding:6px 8px}.range-buttons button:hover{color:var(--mint)}.range-buttons button.active{color:var(--mint);background:#b0e9d613}.timeline-track{display:flex;align-items:center;gap:15px}.play-button{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #b0e9d62b;border-radius:50%;color:var(--mint);background:#b0e9d604}.play-button:hover{background:#b0e9d613}.play-button svg{width:13px;height:13px}.histogram-wrap{flex:1;position:relative;height:30px;border-bottom:1px solid #b0e9d620}.histogram{display:flex;align-items:flex-end;height:100%;gap:3px;-webkit-mask-image:linear-gradient(to right,black var(--progress, 100%),#ffffff30 var(--progress, 100%));mask-image:linear-gradient(to right,black var(--progress, 100%),#ffffff30 var(--progress, 100%))}.histogram span{flex:1;min-width:0;background:linear-gradient(#a6d5c7ba,#61887d35);border-radius:2px 2px 0 0}#scrubber{appearance:none;position:absolute;inset:-6px -7px;margin:0;width:calc(100% + 14px);height:calc(100% + 12px);background:transparent;cursor:ew-resize}#scrubber::-webkit-slider-thumb{appearance:none;width:12px;height:40px;opacity:0}#scrubber::-moz-range-thumb{width:12px;height:40px;opacity:0}.timeline-cursor{pointer-events:none;position:absolute;top:-3px;bottom:-2px;width:1px;background:#d3eee0;box-shadow:0 0 8px #b0e9d640}.timeline-cursor:before{content:"";position:absolute;top:-2px;left:-2px;width:5px;height:5px;background:var(--mint);border-radius:50%}.playback-date{width:43px;text-align:right;white-space:nowrap;font-size:11px;color:#9ab1a3}.playback-period{display:none;text-align:center;color:#a0baae;font:11px var(--mono);letter-spacing:.06em;font-variant-numeric:tabular-nums}.playback-summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:12px 28px;margin:16px 0 0;color:#829e91;font-size:11px}.playback-summary strong{color:#e3f3eb;font-size:26px;font-weight:450;letter-spacing:-.8px;font-variant-numeric:tabular-nums;margin-right:9px}.playback-summary small{flex-basis:100%;text-align:center;font:9px var(--mono)}.playback-share{display:flex;justify-content:center;margin-bottom:12px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s ease}.playback-share.ready{visibility:visible;opacity:1;pointer-events:auto}.playback-share button{flex:0 0 auto;min-height:44px;padding:12px 22px;gap:10px;border-radius:10px;font-size:13px;font-weight:550}.playback-share button:hover:not(:disabled){background:#cbf7e7}.playback-share svg{width:17px;height:17px}#app.playback-mode .app-header,#app.playback-mode .map-controls,#app.playback-mode .shortcut-hints,#app.playback-mode .desktop-update,#app.playback-mode .node-tooltip{display:none}#app.playback-mode .timeline-dock{bottom:max(24px,env(safe-area-inset-bottom));top:auto!important;left:50%!important;transform:translate(-50%)!important;width:min(580px,calc(100% - 40px))}#app.playback-mode .timeline-panel{background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}#app.playback-mode .timeline-top,#app.playback-mode .playback-date,#app.playback-mode .playback-summary small{display:none}#app.playback-mode .play-button{background:none;border:0;box-shadow:none}#app.playback-mode .playback-period{display:block;margin-top:14px}#app.playback-mode .playback-summary{display:flex;justify-content:center;text-align:center;gap:20px clamp(28px,6vw,64px);margin:14px 0 0}#app.playback-mode .playback-summary>span{display:flex;flex-direction:column;gap:4px}#app.playback-mode .playback-summary strong{font-size:clamp(36px,6vw,48px);line-height:1;margin:0;letter-spacing:-1.8px}#app.playback-mode .timeline-cursor{box-shadow:none}.share-dialog{width:min(900px,calc(100% - 32px));max-width:none}.share-dialog h2{margin-bottom:8px}.share-dialog>p{margin:0 0 20px}.share-formats{display:flex;gap:4px;width:fit-content;margin-bottom:18px;padding:4px;border:1px solid var(--control-border);border-radius:10px;background:#070f1380}.share-formats button{min-width:100px;min-height:38px;padding:9px 18px;border-radius:7px;color:#8ea99b;font-size:12px}.share-formats button:hover{color:#e1f2eb;background:var(--control-hover)}.share-formats button[aria-pressed=true]{background:#b0e9d6;color:#182e29;font-weight:550}.share-preview{aspect-ratio:8 / 5;display:grid;place-items:center;background:#030609;border-radius:9px;overflow:hidden}.share-preview img,.share-preview video{display:block;width:100%;height:auto}.share-progress{display:grid;gap:18px;justify-items:center;color:#a0bfaf;font-size:12px}.share-progress progress{width:min(260px,50vw);height:4px;accent-color:var(--mint)}.share-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px}.share-actions .share-close{margin-right:auto}.share-actions .primary-button,.share-actions .secondary-button{flex:0 0 auto}.share-x{text-decoration:none}.share-dialog .share-notice{margin:14px 0 0}.share-tray{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:10px}.share-tray p{margin:0 0 12px}.share-tray>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.share-caption{width:100%;resize:none;padding:10px;border:1px solid var(--line);border-radius:6px;background:#070f1380;color:#b8d2c5;font:11px/1.7 Geist Variable,sans-serif}.custom-dates{position:relative}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.date-positioner,.ui-select-positioner{margin:0;padding:0;border:0;background:transparent;color:inherit;overflow:visible;z-index:150}.date-popover{width:min(344px,calc(100vw - 24px));max-height:min(570px,calc(100dvh - 24px));overflow:auto;padding:18px;border:1px solid var(--control-border);border-radius:16px;background:var(--popover-bg);box-shadow:0 20px 70px #0008,inset 0 1px #ffffff05}.date-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.date-heading .eyebrow{font:8px var(--mono);letter-spacing:.14em;color:#789e8d}.date-heading h2{margin:5px 0 0;font-size:18px;font-weight:500;letter-spacing:-.5px}.date-close{font-size:23px}.date-fields{display:flex;align-items:center;gap:10px}.date-fields>span{padding-top:16px;color:#5f8072}.date-fields label{flex:1;min-width:0;color:#8aa79a;font-size:10px}.date-fields input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--control-border);border-radius:var(--control-radius);background:#070f1380;color:#d4e8df;font:11px var(--mono)}.date-fields input:focus{border-color:#b0e9d670}.date-fields input[aria-invalid=true]{border-color:#eab894}.date-presets{display:flex;gap:6px;margin:12px 0 16px}.date-presets button{flex:1;padding:7px 4px;border:1px solid var(--control-border);border-radius:6px;color:#9ebcae;font-size:10px}.date-presets button:hover{background:var(--control-hover);color:var(--mint)}.date-calendar{padding-top:10px;border-top:1px solid var(--line)}.date-navigation{display:flex;align-items:center;gap:8px;margin-bottom:9px}.date-view{flex:1;padding:8px;border-radius:var(--control-radius);font-size:13px;font-weight:500}.date-view:hover{background:var(--control-hover)}.date-calendar table{width:100%;table-layout:fixed;border-spacing:0 3px;font-size:12px}.date-calendar th{padding-bottom:10px;color:#729183;font-size:10px;font-weight:400}.date-calendar td{padding:0;text-align:center}.date-calendar td button{width:100%;height:34px;border-radius:7px;font-size:11px;color:#c6dacf;position:relative}.date-calendar td button:hover{background:#b0e9d61c}.date-calendar td button[data-outside-range]{color:#50675e}.date-calendar td button[data-in-range],.date-calendar td button[data-in-hover-range]{background:#b0e9d610;border-radius:0;color:#c8e7d9}.date-calendar td button[data-range-start],.date-calendar td button[data-range-end]{border-radius:7px;color:#10251e;background:var(--mint);font-weight:600}.date-calendar td button[data-today]:after{content:"";position:absolute;width:3px;height:3px;bottom:4px;left:calc(50% - 1.5px);border-radius:50%;background:currentColor}.date-calendar td button:focus-visible{outline-offset:-2px;z-index:1}.date-calendar table:not([data-calendar-view=day]) td{padding:3px}.date-calendar table:not([data-calendar-view=day]) button{height:47px}.date-footer{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:12px;padding-top:14px}.date-status{flex:1;color:#7f9d8f;font-size:10px;line-height:1.6}.date-footer .primary-button{flex:0 0 auto;font-size:11px}.ui-select{display:inline-flex;min-width:0;position:relative}.ui-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:34px;padding:8px 10px;border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--control-bg);color:#c7dfd2;font-size:12px;text-align:left}.ui-select-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-trigger>svg{width:12px;height:12px;color:#7f9d90}.ui-select-trigger:hover,.ui-select-trigger[data-state=open]{background:var(--control-hover);border-color:#b0e9d645}.ui-select-menu{min-width:max(150px,var(--reference-width));max-width:min(400px,calc(100vw - 24px));max-height:min(300px,var(--available-height, 300px));overflow:auto;padding:5px;border:1px solid var(--control-border);border-radius:10px;background:var(--popover-bg);box-shadow:0 12px 40px #0007;outline:none}.ui-select-option{position:relative;padding:9px 30px 9px 10px;border-radius:6px;color:#a8c3b5;font-size:12px;line-height:1.5;cursor:pointer;overflow-wrap:anywhere}.ui-select-option[data-highlighted]{color:#e0f4e9;background:var(--control-hover)}.ui-select-option[data-state=checked]{color:var(--mint)}.ui-select-option[data-state=checked]:after{content:"✓";position:absolute;right:10px}.ui-select-option[data-disabled]{opacity:.4;cursor:default}.select-wrap .ui-select{width:100%}.select-wrap>svg,.select-wrap>#source-filter-icon{z-index:1}.select-wrap>svg:last-child{display:none}.select-wrap .ui-select-trigger{padding-left:32px;background:transparent;border-color:transparent}.select-wrap .ui-select-trigger:hover,.select-wrap .ui-select-trigger[data-state=open]{background:#b0e9d609}.setting-row>.ui-select{min-width:120px;max-width:180px}.setting-row .ui-select-trigger{font-size:11px}.search-options .ui-select-trigger{background:transparent;border-color:transparent;padding-left:0;min-height:28px}.launch-destination .ui-select{max-width:77%}.inspector-stack{top:86px;right:24px;width:360px;max-height:calc(100dvh - 230px);display:flex;flex-direction:column;gap:12px;pointer-events:none}.inspector-stack>aside{pointer-events:auto;border-radius:16px}.inspector-stack.has-events{height:calc(100dvh - 110px);max-height:calc(100dvh - 110px)}.inspector{min-height:0;display:flex;flex-direction:column;overflow:hidden}.has-events .inspector{flex:0 1 220px;max-height:32%}.has-events .detail-title h2{font-size:17px}.detail-scroll{overflow-y:auto;min-height:0;overscroll-behavior:contain}.detail-title{padding:3px 20px 0}.detail-title h2{font-size:20px;line-height:1.4;letter-spacing:-.45px;font-weight:460;color:#e2ede9;margin:0 0 10px;overflow-wrap:anywhere}.detail-date{font-size:11px;color:#8ba699}.detail-actions{display:flex;align-items:center;gap:9px;padding:17px 20px}.secondary-button,.primary-button{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border:1px solid #b0e9d625;border-radius:8px;font-size:12px;color:#b8d9c7;background:#b0e9d606;flex:1}.secondary-button:hover{background:#b0e9d610}.secondary-button svg{width:14px;height:14px}.primary-button{flex:0;background:#b0e9d6;color:#182e29}.text-button{display:inline-flex;align-items:center;gap:7px;padding:8px;font-size:12px;color:#a6c9b6}.detail-section{border-top:1px solid var(--line);padding:17px 20px}.section-label{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:450;color:#b3c8bc}.section-label>span{margin-left:auto;font:11px var(--mono);color:#8ca896}.file-list{list-style:none;margin:0;padding:0}.file-list li{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #d1f1df07}.file-list li>svg{width:14px;height:14px;color:#c2b08f}.file-list li>div{flex:1;min-width:0}.file-list strong{display:block;font:11px var(--mono);color:#c7dbcf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-list li span{display:block;margin-top:4px;font-size:11px;color:#7d9988;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-list small{font:10px var(--mono);color:#89a994}.coverage-note{font-size:11px;line-height:1.7;color:#8ba597;margin:14px 0 0}.no-files p{font-size:12px;color:#8ca698;margin:0}.detail-loading{display:flex;align-items:center;gap:8px;font-size:12px;color:#97b6a4}.detail-loading svg{width:14px;height:14px}.load-more{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:14px;padding:10px;border:1px solid #b0e9d61c;border-radius:8px;font-size:11px;color:#a2cbb3}.load-more:hover{background:#b0e9d609}.load-more svg{width:13px;height:13px}.relation{display:flex;align-items:center;gap:10px;width:100%;padding:10px 0;text-align:left;border-bottom:1px solid #d1f1df07}.relation>svg{width:14px;height:14px;color:#b6a3d9}.relation>svg:last-child{width:12px;color:#7c9788;margin-left:auto}.relation>span{min-width:0}.relation small{display:block;font-size:11px;color:#8fa598;margin-bottom:4px}.relation strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.5;font-weight:400;color:#bdd1c7}.relation:hover strong{color:#e2f6e9}.more-details summary{display:flex;align-items:center;gap:8px;font-size:12px;color:#9ab4a3}.more-details summary>span{margin-left:auto;font:11px var(--mono)}.more-details summary svg{width:13px;height:13px;margin-left:auto}.more-details[open] summary{margin-bottom:14px;color:#c6e0ce}.more-details[open] summary svg{transform:rotate(180deg)}.metadata{margin:0;font-size:12px}.metadata>div{display:flex;justify-content:space-between;gap:15px;padding:7px 0}.metadata dt{color:#829e8d;flex-shrink:0}.metadata dd{margin:0;text-align:right;overflow-wrap:anywhere;font:11px var(--mono);color:#c1d7cc}.directory-card{margin-top:13px;padding:12px;border:1px solid var(--line);border-radius:8px}.directory-card>span{font-size:11px;color:#93b19e}.directory-card code,.location-entry code{display:block;margin-top:6px;font:11px/1.7 var(--mono);color:#8eaa9a;overflow-wrap:anywhere}.location-entry{margin-top:14px}.location-entry>span{font-size:11px;color:#afc9b8}.tools-list>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font:11px var(--mono)}.tools-list span{overflow-wrap:anywhere;color:#91af9b}.tools-list strong{font-weight:400;color:#b4cebe}.scene-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.scene-label{position:absolute;left:0;top:0;max-width:155px;padding:5px 8px;font:10px var(--mono);color:var(--label-color);opacity:0;filter:blur(3px);transition:opacity .45s ease,filter .45s ease;background:#080f1266;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-label.visible{opacity:.55;filter:blur(0)}.selected-label{width:260px;max-width:calc(100% - 24px);padding:7px 10px;font-size:11px;background:#0d1c22ed;border:1px solid #b0e9d62b;border-radius:6px;box-shadow:0 3px 15px #0005;z-index:1}.selected-label.visible{opacity:1}.event-marker-icon{position:absolute;top:0;left:0;width:12px;height:12px;color:#d7e5df;opacity:0;pointer-events:none}.event-marker-icon.visible{opacity:.38}.event-marker-icon svg{display:block;width:12px;height:12px}.scene-labels[data-motion=false] .scene-label{transition:none}.node-tooltip{position:absolute;z-index:30;width:260px;padding:14px;background:#101e1cf2;border:1px solid #b0e9d62b;border-radius:10px;box-shadow:0 12px 32px #0006;pointer-events:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.node-tooltip strong{display:block;font-size:13px;font-weight:450;line-height:1.5;color:#e1efec;margin-bottom:7px}.node-tooltip>span{font-size:11px;color:#91af9d}.message-tooltip{width:min(390px,calc(100vw - 24px));border-color:color-mix(in srgb,var(--event-color) 35%,transparent)}.message-tooltip pre{margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 var(--mono);color:#d9e9e0;max-height:min(280px,38dvh);overflow:hidden}.message-tooltip>span{display:block;font-size:10px;line-height:1.6}.graph-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#080e1333;padding:32px;text-align:center}.graph-message>svg{width:28px;height:28px;color:var(--mint)}.graph-message h3{font-size:18px;font-weight:450;margin:18px 0;color:#cde1d7}.graph-message p{max-width:350px;font-size:13px;line-height:1.8;color:#91b09f}.loading-orbit{position:relative;width:64px;height:64px}.loading-orbit span{position:absolute;inset:0;border:1px solid #b0e9d629;border-radius:50%;transform:rotateX(55deg) rotateY(20deg);animation:orbit 3s linear infinite}.loading-orbit span:nth-child(2){animation-delay:-.8s}.loading-orbit span:nth-child(3){animation-delay:-1.6s}.empty-list{padding:20px 12px;font-size:12px;line-height:1.8;color:#86a593}.list-loading{padding:22px 8px}.skeleton{height:48px;margin-bottom:20px;border-radius:8px;background:linear-gradient(100deg,#ffffff02,#ffffff05,#ffffff02);background-size:200%;animation:shimmer 2s infinite}.spinning>svg,svg.spinning{animation:spin 2s linear infinite}dialog{max-width:420px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);background:#101d1cf7;color:#d1e2dc;border:1px solid #b0e9d62b;border-radius:18px;padding:28px;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#02070c88;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog-close{position:absolute;top:12px;right:12px}dialog h2{font-size:22px;font-weight:450;letter-spacing:-.5px;margin:0 0 18px}dialog p{font-size:12px;line-height:1.8;color:#92ad9e;margin:18px 0}.help-rows>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;font-size:12px;border-bottom:1px solid var(--line)}.graph-legend{display:flex;flex-wrap:wrap;gap:13px 18px;margin-top:22px;font-size:12px;color:#a5c2b0}.graph-legend>span{display:flex;align-items:center;gap:7px}.legend-node{width:5px;height:5px;border-radius:50%;background:var(--mint)}.legend-node.message{width:3px;height:3px;background:#dcfff0}.legend-file{width:5px;height:5px;background:#edc899;transform:rotate(45deg)}.legend-line{width:14px;height:1px}.legend-line.fork{background:#edbc8d}.legend-line.child{background:#bda6ef}.legend-line.lane{background:#849d95}.motion-button{width:100%}.motion-button[aria-pressed=false]{color:#728b7e;background:transparent}html[data-density=compact] .session-card{padding-block:6px}html[data-density=compact] .session-title{-webkit-line-clamp:1}html[data-density=compact] .list-date{padding-top:12px}html[data-motion=false] *,html[data-motion=false] *:before,html[data-motion=false] *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.event-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.event-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 2px 18px}.event-heading h2{margin:0;font-size:13px;font-weight:480;color:#bdcec6}.event-close{font-size:22px}.event-toolbar{display:flex;align-items:center;gap:12px;padding:12px 0;font-size:11px}.event-toolbar label{display:flex;align-items:center;gap:10px}.event-toolbar select{padding:8px;border:1px solid #b0e9d630;border-radius:6px;background:#142620;color:#d0e6da;max-width:180px}.event-count{color:#adc6b8;font:9px var(--mono);margin-left:8px}.event-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.event-browser{margin:0 16px 16px;border-top:1px solid var(--line);padding-top:12px}.event-browser summary,.event-footer summary{cursor:pointer;font-size:11px;color:#9ab4a3}.event-browser>summary,.event-footer summary,.event-provenance>summary{display:flex;align-items:center;gap:8px}.event-browser>summary:after,.event-footer summary:after,.event-provenance>summary:after{content:"";width:6px;height:6px;flex-shrink:0;margin-left:auto;margin-right:3px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}.event-browser[open]>summary:after,.event-footer details[open]>summary:after,.event-provenance[open]>summary:after{transform:translateY(2px) rotate(225deg)}.event-list{max-height:230px;overflow:auto;overscroll-behavior:contain}.event-row{display:block;width:100%;padding:10px;margin-bottom:5px;border:1px solid transparent;border-radius:9px;text-align:left}.event-row:hover{background:#b0e9d608}.event-row[aria-current=true]{background:#b0e9d610;border-color:#b0e9d635}.event-row-top{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px}.event-row-top small{color:#7e9c8a;font:9px var(--mono)}.event-badge{font:10px var(--mono);color:var(--event-color);display:inline-flex;align-items:center;gap:7px}.event-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--event-color);flex-shrink:0}.event-row strong{display:block;font-size:12px;font-weight:480;color:#d2e4da;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;color:#8aa798;line-height:1.6;margin:6px 0;overflow-wrap:anywhere}.event-row time{font:9px var(--mono);color:#6f9380}.event-pagination{display:flex;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--line)}.event-pagination button{font-size:10px}.event-content{padding:16px;min-width:0}.event-detail-nav{display:flex;align-items:center;gap:8px;padding:8px 16px 12px;border-bottom:1px solid var(--line)}.event-detail-nav>span{font:9px var(--mono);color:#92ad9e;text-align:center}.event-detail-nav button{font-size:11px;padding:7px 9px}.event-detail-heading h3{font-size:18px;font-weight:450;letter-spacing:-.4px;overflow-wrap:anywhere;margin:10px 0}.event-detail-heading p{color:#7f9f8c;font:10px var(--mono);line-height:1.6}.event-status{display:inline-block;margin-left:12px;color:#9ab7a6;font:9px var(--mono);border:1px solid #b0e9d629;padding:4px 7px;border-radius:4px}.event-status.failed{color:#eeaa9d;border-color:#eeaa9d40}.event-payload{margin-top:18px}.event-content h4{font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#8aa997;margin:0 0 12px}.event-payload pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.8 var(--mono);color:#d4e6db;padding:12px;border:1px solid #b0e9d619;border-radius:9px;background:#050e123d;tab-size:2}.event-warning{padding:12px;background:#eac5940a;border:1px solid #eac59430;border-radius:7px;font-size:11px;color:#d6bc97}.event-correlations{margin-top:20px}.event-correlations p{font-size:11px;color:#91a999}.event-link{display:flex;align-items:center;gap:9px;padding:10px;width:100%;border:1px solid var(--line);border-radius:7px;margin-bottom:6px;text-align:left}.event-link>span:nth-child(2){flex:1;overflow-wrap:anywhere;font-size:12px}.event-link small{font:9px var(--mono);color:#8ca594}.event-provenance{margin-top:18px;font-size:11px;color:#7e9d8b}.event-provenance summary{cursor:pointer;padding-block:10px}.event-provenance dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px}.event-provenance dd{margin:0;overflow-wrap:anywhere;font-family:var(--mono);font-size:10px}.event-footer{display:flex;align-items:center;gap:12px;padding:8px 16px;border-top:1px solid var(--line);background:#081216}.event-footer>.event-coverage{flex:1}.event-coverage{font-size:10px;line-height:1.6;color:#7d9c8b;max-height:70px;overflow:auto}.event-reload{font-size:11px;white-space:nowrap}.event-empty{padding:24px 12px;color:#90aa9c;font-size:12px;line-height:1.7}.event-panel button:disabled{opacity:.4;cursor:default}.event-panel[aria-busy=true] .event-scroll{opacity:.65}.event-key{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.event-key span{font:9px var(--mono)}.event-key i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:var(--event-color)}.explore-events{width:100%;justify-content:center;margin-top:10px}.history-coverage{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.history-coverage>summary{min-height:24px;border-radius:4px}.settings-dialog{width:min(850px,calc(100% - 32px));max-width:none;height:min(710px,calc(100dvh - 48px));padding:0;overflow:hidden;background:#0c191e}.settings-dialog[open]{display:flex;flex-direction:column}.settings-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:30px 30px 24px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at top left,#28534a44,transparent 70%)}.settings-heading h2{margin:0 0 4px;font-size:27px;letter-spacing:-.8px}.settings-heading p{margin:0;font-size:12px;color:#87a69a}.settings-close{font-size:25px;margin:-10px -12px 0 0}.settings-layout{display:grid;grid-template-columns:175px minmax(0,1fr);flex:1;min-height:0}.settings-tabs{padding:20px 12px;border-right:1px solid var(--line);background:#040b0e33}.settings-tabs button{display:flex;align-items:center;gap:10px;width:100%;padding:12px;margin-bottom:5px;text-align:left;font-size:12px;border-radius:8px;color:#8aa79a}.settings-tabs button>svg{width:16px;height:16px;color:#6b9582}.settings-tabs button[aria-selected=true]{color:#d5eee2;background:#b0e9d610}.settings-tabs button[aria-selected=true]>svg{color:#b0e9d6}.settings-tabs button:hover{background:#b0e9d609}.settings-content{min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:26px 30px}.settings-content h3{font-size:18px;font-weight:450;margin:0 0 7px;letter-spacing:-.4px}.settings-description{margin:0 0 20px;font-size:12px}.settings-sources-list{margin-top:20px;color:var(--muted);font-size:12px}.settings-import-progress{color:var(--muted);font-size:11px;line-height:1.6;margin-top:16px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 0;border-bottom:1px solid var(--line)}.setting-row>span:first-child{flex:1;min-width:0}.setting-row strong{display:block;font-size:12px;font-weight:470;color:#d1e3d9}.setting-row small{display:block;margin-top:5px;font-size:11px;line-height:1.55;color:#83a090}.setting-row select{max-width:165px;min-width:120px;padding:9px;border:1px solid #b0e9d621;border-radius:7px;background:#142620;color:#c7dfd2;font-size:11px}.setting-row input[type=checkbox]{appearance:none;flex-shrink:0;position:relative;width:34px;height:20px;margin:0;border-radius:20px;border:1px solid #779c8b40;background:#1c2e28;cursor:pointer}.setting-row input[type=checkbox]:before{content:"";position:absolute;width:12px;height:12px;top:3px;left:3px;border-radius:50%;background:#718f80;transition:transform .18s,background .18s}.setting-row input[type=checkbox]:checked{background:#b0e9d625;border-color:#b0e9d64a}.setting-row input[type=checkbox]:checked:before{transform:translate(14px);background:#b0e9d6}.setting-slider{display:flex;align-items:center;width:160px;gap:10px;flex-shrink:0}.setting-slider input{accent-color:#b0e9d6;width:108px;min-width:0;cursor:pointer}.setting-slider output{min-width:36px;font:10px var(--mono);color:#bddaca;text-align:right}.setting-row:has(:disabled){opacity:.45}.settings-note{display:flex;align-items:center;gap:14px;margin-top:22px}.settings-note>span{flex:1;font-size:11px;color:#85a495;line-height:1.6}.settings-note button{flex:0 0 auto;font-size:11px}.settings-footnote{font-size:10px;color:#6f9280;margin-bottom:0}.settings-footer{display:flex;align-items:center;gap:12px;padding:15px 22px;border-top:1px solid var(--line);background:#081216}.settings-save-status{flex:1;font-size:10px;color:#7d9c8b;line-height:1.5}.settings-footer .text-button{font-size:11px}.settings-footer .primary-button{padding-inline:20px}@media(max-width:650px){.settings-dialog{width:calc(100% - 20px);height:calc(100dvh - 24px);max-height:none}.settings-heading{padding:23px 20px 18px}.settings-heading h2{font-size:23px}.settings-layout{display:flex;flex-direction:column}.settings-tabs{display:flex;padding:9px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto;flex-shrink:0}.settings-tabs button{width:auto;flex:1 0 auto;margin:0;padding:9px 11px;font-size:11px;justify-content:center}.settings-tabs button>svg{width:14px;height:14px}.settings-content{padding:22px 18px}.setting-row{gap:12px}.setting-slider{width:128px}.setting-slider input{width:78px}.setting-row select{min-width:100px;max-width:135px}.settings-footer{flex-wrap:wrap;padding:12px 18px}.settings-save-status{flex-basis:100%}.settings-footer .text-button{margin-right:auto}}.toast{position:fixed;left:50%;bottom:155px;transform:translate(-50%);max-width:min(440px,calc(100% - 32px));padding:12px 18px;background:#15251ff5;color:#c8e5d4;border:1px solid #9fbfad44;border-radius:10px;box-shadow:0 10px 30px #0005;font-size:12px;line-height:1.7;z-index:100}.desktop-update{position:fixed;left:24px;bottom:24px;z-index:45;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;min-width:86px;padding:6px 12px;border-radius:10px;color:var(--mint);font-size:11px;font-weight:450;line-height:18px;white-space:nowrap}.desktop-update svg{width:13px;height:13px}.desktop-update:hover{background:#172c29;border-color:#b0e9d633;color:#e9fff4}.desktop-update:disabled{opacity:1;color:#8ba198}.desktop-update[data-phase=downloading] svg,.desktop-update[data-phase=installing] svg{opacity:.65}.shortcut-hints{position:fixed;left:24px;bottom:24px;z-index:10;display:grid;gap:7px;color:#82938f;font-size:10px;pointer-events:none}.shortcut-hints span{display:flex;align-items:center;gap:8px}.shortcut-hints kbd{min-width:22px;padding:2px 4px;border:1px solid #a3bdb523;border-radius:4px;color:#a3b5ae;background:#0b141b66;font:9px var(--mono);text-align:center}#app:has(.desktop-update:not([hidden])) .shortcut-hints{bottom:66px}@media(min-width:760px)and (max-width:1000px){.shortcut-hints{bottom:165px}#app:has(.desktop-update:not([hidden])) .shortcut-hints{bottom:165px}}@keyframes panel-in{0%{opacity:0}to{opacity:1}}@keyframes orbit{to{transform:rotateX(55deg) rotateY(20deg) rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1000px){.sidebar{width:300px}.inspector-stack{width:320px}}@media(max-width:759px){.shortcut-hints{display:none}.app-header{top:12px;left:12px;height:44px}.brand>span{font-size:19px}.app-header .toolbar-button{padding-inline:7px}.map-controls{top:auto;right:auto;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);height:46px}.floating-panel{border-radius:14px}.sidebar,.inspector-stack{top:70px;left:12px;right:auto;width:min(330px,calc(100% - 24px));max-height:calc(100dvh - 280px)}.sidebar{height:min(500px,calc(100dvh - 280px))}.inspector-stack{width:min(350px,calc(100% - 24px));inset:auto 12px 250px auto;max-height:min(40dvh,calc(100dvh - 450px))}.inspector-stack.has-events{height:min(420px,40dvh);gap:8px}.has-events .inspector{flex-basis:135px;max-height:26%}.event-content{padding:12px}.event-detail-heading h3{font-size:16px}.timeline-dock{bottom:max(72px,calc(env(safe-area-inset-bottom) + 60px));width:calc(100% - 24px)}.timeline-panel{padding:9px 12px 15px;border-radius:14px}.timeline-top{flex-wrap:wrap;gap:0;margin-bottom:13px}.timeline-top .panel-handle{flex-basis:calc(100% - 72px);font-size:12px}.timeline-top .range-buttons{order:4;width:100%;margin:4px 0 0;gap:5px}.range-buttons button{padding:5px 12px}.timeline-top .icon-button{width:32px;height:32px}.timeline-track{gap:12px}.histogram{gap:2px}.toast{bottom:230px}.desktop-update{left:12px;bottom:max(72px,calc(env(safe-area-inset-bottom) + 60px))}#app:has(.desktop-update:not([hidden])) .timeline-dock{bottom:max(112px,calc(env(safe-area-inset-bottom) + 100px))}#app:has(.desktop-update:not([hidden])) .inspector-stack{bottom:290px}}@media(min-width:760px)and (max-height:600px){.sidebar,.inspector-stack,.inspector-stack.has-events{max-height:calc(100dvh - 100px)}.sidebar{height:calc(100dvh - 100px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.search-dialog{width:min(960px,calc(100% - 48px));max-width:none;height:min(680px,calc(100dvh - 100px));max-height:none;padding:0;overflow:hidden;border-radius:18px;background:#0b171bf5;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);box-shadow:0 30px 120px #0009}.search-dialog[open]{display:flex;flex-direction:column}.search-dialog::backdrop{background:#02070c88;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.search-command{display:flex;align-items:center;gap:13px;padding:17px 20px;border-bottom:1px solid var(--line)}.search-command-icon{font-size:26px;color:#9dcab7}.search-command input{min-width:0;flex:1;border:0;outline:0;background:none;color:#e0f1e8;font-size:17px}.search-command input::placeholder{color:#6c8b7b}.search-close{font-size:23px}.search-options{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid var(--line)}.search-options select{font-size:12px;color:#bcdbcb;padding:5px 20px 5px 0;border:0;background:none}.search-chip{padding:5px 9px;border:1px solid #bddfd21a;border-radius:6px;font-size:11px;color:#8fa99b}.search-chip[aria-pressed=true]{color:#b7e2cd;background:#b0e9d60a;border-color:#b0e9d629}#search-index-state{margin-left:auto;font-size:11px;color:#7d9c8c}.search-body{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);flex:1;min-height:0}.search-results{overflow-y:auto;overscroll-behavior:contain;min-height:0}.search-results-inner{position:relative}.search-result{position:absolute;left:7px;right:7px;height:86px;border-radius:8px;padding:11px 13px;cursor:pointer;border:1px solid transparent}.search-result.active{border-color:#b0e9d626;background:#b0e9d60e}.search-result:hover{background:#b0e9d60a}.search-result-title{font-size:13px;font-weight:440;color:#d2e5d9;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.search-result-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#8ca996;margin-top:7px}.search-result-meta>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.match-kind{flex-shrink:0;color:#a0c7b0}.search-result-excerpt{font-size:11px;color:#759586;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:6px}.search-dialog mark{color:#dbffe7;background:#b6f4d111;border-radius:2px}.search-preview{border-left:1px solid var(--line);min-height:0;overflow-y:auto;overscroll-behavior:contain}.search-preview-heading{padding:22px}.search-preview-heading>span{color:#8ba898;font-size:11px}.search-preview-heading h2{margin:10px 0;font-size:20px;line-height:1.4;overflow-wrap:anywhere}.search-preview-heading p{margin:0 0 18px;font-size:11px}.search-open{width:100%}.search-open span{margin-left:auto}.search-launch{width:100%;justify-content:center;margin-top:7px}.search-preview-section{padding:19px 22px;border-top:1px solid var(--line)}.search-preview-section h3{color:#a9c6b4;font-size:12px;font-weight:450;margin:0 0 14px}.search-preview-section p{margin:8px 0 15px;font-size:12px;line-height:1.75;overflow-wrap:anywhere;white-space:pre-line}.search-preview-section article{margin:15px 0}.search-preview-section article>span{color:#b5d1bd;font-size:11px}.search-preview-section .preview-coverage{color:#718f7e;font-size:11px;margin-bottom:0}.search-footer{position:relative;display:flex;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--line);color:#87a592;font-size:11px}.search-footer button{color:#b0e9d6;font-size:11px}.search-keys{margin-left:auto;white-space:nowrap}.search-keys kbd{padding:1px 4px;margin-right:3px;font-size:10px}.search-keys kbd:not(:first-child){margin-left:10px}.search-syntax>div{position:absolute;bottom:45px;right:18px;display:flex;flex-direction:column;gap:10px;padding:18px;background:#132722;border:1px solid #b0e9d629;border-radius:10px;box-shadow:0 10px 30px #0006}.search-syntax code{color:#b4d7c2;font:11px var(--mono)}#search-clear-cache{margin-top:4px;padding:12px 0 0;border-top:1px solid var(--line);text-align:left}.source-badge{display:inline-flex;align-items:center;gap:6px;font:10px var(--mono);letter-spacing:.02em;color:#b5c8d9}.source-icon{display:inline-block;width:16px;height:16px;flex:0 0 16px;vertical-align:-3px;background:currentColor;mask:var(--source-icon) center / contain no-repeat;-webkit-mask:var(--source-icon) center / contain no-repeat}.source-icon-claude{color:#d9a387}.source-icon-openai{color:#b4d9c6}.source-icon-t3{color:#d2b7ec}.source-icon-opencode{color:#c7d0d7}.source-icon-gemini,.source-icon-cline{color:#9cbcf6}.source-icon-qwen{color:#b8a6ec}.source-icon-pi{color:#e9a89c}.source-icon-copilot{color:#c7d0d7}.source-icon-roo{color:#d9b59a}.source-icon-kilo{color:#e6ce83}.source-icon-continue{color:#abd9bb}.source-icon-openclaw,.source-icon-cherry{color:#efa2a0}.source-icon-hermes,.source-icon-amp,.source-icon-mistral{color:#e9bd85}.source-icon-kimi,.source-icon-deepseek,.source-icon-minimax,.source-icon-antigravity{color:#a7bcf2}.source-icon-grok,.source-icon-zed,.source-icon-warp,.source-icon-lmstudio{color:#c3d2d7}.source-icon-junie,.source-icon-kiro,.source-icon-muse{color:#c4adea}.source-icon-mimo{color:#e9ae82}.source-icon-devin,.source-icon-goose,.source-icon-unsloth,.source-icon-trae{color:#a8d6b9}.source-icon-codebuddy,.source-icon-commandcode{color:#b3d6dd}.source-icon-prime,.source-icon-senpi,.source-icon-kimchi,.source-icon-gajae{color:#d5c4a9}.source-icon-droid,.source-icon-codebuff,.source-icon-freebuff,.source-icon-jcode,.source-icon-zcode{color:#bed2c5}.source-icon-proma,.source-icon-aside,.source-icon-augment,.source-icon-fx,.source-icon-crush,.source-icon-octofriend,.source-icon-mux,.source-icon-reasonix,.source-icon-hindsight{color:#d0c0dd}.source-symbol .source-icon{width:20px;height:20px;flex-basis:20px}.source-badge .source-icon,.search-result-meta .source-icon{width:12px;height:12px;flex-basis:12px;vertical-align:-2px}.search-result-meta .source-icon{margin-right:5px}.search-launch{display:inline-flex;gap:8px;align-items:center}#source-filter-icon{display:flex;align-items:center}.source-badge[data-source=claude-code]{color:#d8b297}.source-badge[data-source=codex]{color:#a5d1ba}.detail-title>.source-badge{margin-bottom:10px}.imports-dialog{width:min(680px,calc(100vw - 28px));max-width:680px;padding:32px}.imports-dialog[open]{display:flex;flex-direction:column;overflow-y:auto}.imports-dialog>*{flex-shrink:0}.imports-dialog>.import-sources{flex:1 1 auto;min-height:100px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.imports-dialog .primary-button{flex:0 0 auto;white-space:nowrap}.imports-dialog .eyebrow{font:10px var(--mono);letter-spacing:.18em;color:#83b9a3}.imports-dialog h2{margin:16px 0 12px;font-size:clamp(24px,4vw,32px);font-weight:450;letter-spacing:-.04em}.imports-intro{color:#91a99d;font-size:13px;line-height:1.6;margin-bottom:14px}.privacy-disclosure{color:#91a99d;font-size:11px;line-height:1.65;margin-bottom:24px}.privacy-disclosure summary{cursor:pointer;color:#aec9bb}.privacy-disclosure p{font-size:inherit;line-height:inherit;margin:10px 0 0}.import-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:6px}.import-source{display:flex;align-items:center;min-width:0;min-height:52px;gap:9px;padding:8px 10px;border:1px solid #b0e9d61c;border-radius:8px;cursor:pointer;background:#b0e9d603}.import-source:has(input:checked){border-color:#b0e9d658;background:#b0e9d608}.import-source:hover{background:#b0e9d60e}.import-source:focus-within{outline:1px solid #b0e9d6;outline-offset:1px}.import-source:has(input:disabled){opacity:.6;cursor:wait}.import-source input{accent-color:#a4d8bf;flex:0 0 auto;margin:0}.source-symbol{display:grid;place-items:center;width:22px;height:22px;color:#bed3c7;flex:0 0 auto}.source-copy{flex:1;min-width:0}.import-source strong{display:block;font-size:12px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.import-source .source-meta{display:flex;flex-wrap:wrap;gap:4px 8px;color:#879d90;font-size:10px;line-height:1.35;margin-top:3px}.import-source .source-error{display:block;color:#e4ba96;font-size:10px;line-height:1.4;margin-top:3px;overflow-wrap:anywhere}.source-detected{color:#789083;white-space:nowrap}.source-detected.detected{color:#aedbc4}.imports-progress{font:11px var(--mono);color:#9fc2af;margin-top:20px;line-height:1.8;min-height:20px}.imports-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.imports-dialog footer>span{color:#789083;font-size:11px}.imports-notes{color:#91a99d;font-size:11px;line-height:1.6;margin-top:12px}.imports-notes>div{max-height:150px;overflow-y:auto}@media(max-width:600px){.imports-dialog{padding:26px 20px}.import-sources{grid-template-columns:minmax(0,1fr);gap:4px}.import-source{min-height:44px;padding:6px 9px}.imports-dialog footer{flex-wrap:wrap}}.search-empty{padding:30px 22px;color:#98b4a4;font-size:13px}.launch-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:28px;border-radius:16px}.launch-dialog h2{font-size:20px;margin:0 35px 10px 0}.launch-title{margin:0 0 24px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.launch-destination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;font-size:12px;color:#a9c6b4}.launch-destination select{min-width:0;max-width:77%;border:1px solid var(--line);border-radius:7px;padding:9px;background:#132321;color:#d1e5d9;font-size:12px}.launch-web-link{width:100%}.launch-pairing{margin-top:19px;font-size:11px;color:#8fa99b}.launch-pairing p,.launch-hint{font-size:11px;line-height:1.7}.launch-directory-label{display:grid;gap:9px;margin-bottom:18px;color:#a9c6b4;font-size:12px}.launch-directory{min-width:0;width:100%;padding:10px;background:#071114;color:#c8e5d5;border:1px solid var(--line);border-radius:7px;font:11px var(--mono)}.launch-summary{margin-bottom:18px;padding:13px;border:1px solid #b0e9d625;border-radius:9px;background:#b0e9d608}.launch-mode{color:#b8ddc9;font-size:12px;font-weight:500}.launch-hint{margin:7px 0 0;color:#9eb6a8}.launch-context{margin-top:12px;color:#a1b9ac;font-size:11px}.launch-context summary{cursor:pointer}.launch-coverage{line-height:1.7}.launch-context-path{display:block;overflow-wrap:anywhere;font:10px/1.7 var(--mono);color:#7e9e8e}.launch-availability{color:#c4b89b;font-size:11px;line-height:1.7;margin-bottom:0}.launch-availability:empty{display:none}.launch-command{display:block;width:100%;background:#071114;border:1px solid var(--line);border-radius:7px;padding:11px;color:#c8e5d5;font:11px var(--mono)}.launch-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.launch-actions>button{flex:1;white-space:nowrap}.launch-status{margin:14px 0 0;font-size:12px;line-height:1.6}.launch-status:empty{display:none}@media(max-width:759px){.search-dialog{width:calc(100% - 24px);height:calc(100dvh - 48px);border-radius:14px}.search-command{padding:12px;gap:8px}.search-command input{font-size:16px}.search-options{flex-wrap:wrap;padding:9px 14px;gap:7px 12px}#search-index-state{flex-basis:100%;margin-left:0}.search-body{grid-template-columns:1fr;grid-template-rows:minmax(150px,1fr) minmax(130px,.7fr)}.search-preview{border-left:0;border-top:1px solid var(--line)}.search-preview-heading{padding:16px}.search-preview-heading h2{font-size:17px}.search-preview-section{padding:16px}.search-footer{padding:10px 14px}.search-keys{display:none}.search-syntax{margin-left:auto}}.publishing-dialog{width:min(1000px,calc(100% - 32px));max-width:none}.publishing-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:20px}.publishing-dialog h2{margin:0}.publishing-disclosure,.publishing-scope,.publishing-note,.publishing-summary{color:#a1b6ad;font-size:12px;line-height:1.7}.publishing-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px;padding:18px;border:1px solid #c9e3db20;border-radius:6px}.publishing-fields legend{padding-inline:8px;font-size:13px}.publishing-fields label,.publishing-confirm{display:flex;gap:9px;align-items:center;font-size:12px;line-height:1.7}.publishing-dialog input[type=checkbox]{accent-color:#b0e9d6}.publishing-account,.publishing-dialog footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.publishing-account{font-size:13px}.publishing-status{font-size:13px;line-height:1.7;color:#b0e9d6;min-height:22px}.publishing-confirm{align-items:flex-start}.publishing-confirm input{margin-top:4px}.publishing-dialog footer{justify-content:flex-end}.publishing-dialog footer [data-animation]{margin-right:auto}.publishing-json{max-height:280px;overflow:auto;padding:15px;background:#060b10;font:11px/1.5 monospace}.publishing-link{display:block;text-align:right;margin-top:15px;color:#b0e9d6;font-size:13px}.publishing-connect{margin-block:15px;font-size:13px}.publishing-connect strong{font-family:monospace;letter-spacing:.1em}@media(max-width:600px){.publishing-fields{grid-template-columns:repeat(2,1fr)}}
|
|
1
|
+
@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Geist Variable,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#dbe7e3;background:#080e13;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:dark;--line: #c9e3db14;--muted: #82978f;--mint: #b0e9d6;--mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--control-bg: #122321;--control-border: #b0e9d626;--control-hover: #b0e9d610;--control-radius: 8px;--popover-bg: #0e1c20}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}#app{height:100dvh;isolation:isolate}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none;transition:background .18s,color .18s,border-color .18s}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #b0e9d6aa;outline-offset:3px}svg{width:16px;height:16px;flex-shrink:0}[hidden]{display:none!important}::selection{background:#b0e9d632;color:#f0fff8}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:#3a5149;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.muted{color:var(--muted)}.map,#scene{position:absolute;inset:0}#scene canvas{display:block;width:100%;height:100%;touch-action:none}.canvas-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 150px 20px #04090d55}.glass{background:color-mix(in srgb,#0c161b var(--panel-opacity, 90%),transparent);border:1px solid #d6eee119;box-shadow:0 12px 48px #0003,inset 0 1px #ffffff04;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.app-header,.map-controls{position:fixed;top:24px;display:flex;align-items:center;gap:5px;height:48px;border-radius:14px;padding:5px 7px;z-index:40}.app-header{left:24px;padding-left:13px;gap:10px}.brand{display:flex;align-items:center;gap:8px}.brand img{width:24px;height:24px}.brand>span{font-size:21px;font-weight:600;letter-spacing:-1px;line-height:1;white-space:nowrap}.brand-dot{color:var(--mint)}.connection{display:flex;align-items:center}.status-dot{width:5px;height:5px;border-radius:50%;background:#d6b578}.connected .status-dot{background:#a9d9c5;box-shadow:0 0 8px #b0e9d630}.toolbar-divider{width:1px;height:18px;background:var(--line);margin:0 3px}.toolbar-button{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:8px;font-size:12px;color:#9eafa9}.toolbar-button:hover,.icon-button:hover{background:#c2e9d90c;color:#e9fff4}.toolbar-button[aria-expanded=true],.map-controls .icon-button[aria-expanded=true]{background:#b0e9d60c;color:var(--mint)}.icon-button{width:34px;height:34px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#8ba198}.map-controls{right:24px}.view-switch{display:flex;gap:2px}.view-switch button{min-width:37px;padding:9px 8px;border-radius:8px;font-size:12px;color:#7d9489}.view-switch .active{color:#d4f6e7;background:#b0e9d614}.floating-panel{position:fixed;z-index:10;border-radius:16px;animation:panel-in .2s ease-out}.floating-panel.front{z-index:20}.panel-heading{display:flex;align-items:center;padding:10px 10px 8px 16px;gap:3px;flex-shrink:0}.panel-handle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:8px 0;text-align:left;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:480;color:#bdcec6}.panel-handle>svg{width:13px;height:13px;color:#597368}.panel-handle:hover>svg{color:#b0e9d6}.dragging{-webkit-user-select:none;user-select:none;box-shadow:0 20px 80px #0006}.dragging .panel-handle{cursor:grabbing}.small-badge{font:10px var(--mono);font-weight:400;color:#879f93;margin-left:2px}.sidebar{top:86px;left:24px;width:330px;height:min(580px,calc(100dvh - 230px));max-height:calc(100dvh - 100px);display:flex;flex-direction:column;overflow:hidden}.search-box{display:flex;align-items:center;gap:9px;margin:3px 16px 0;padding:10px 11px;background:#d5f6e703;border:1px solid #d1e9dc16;border-radius:9px;color:#7c9588}.search-box:focus-within{border-color:#b0e9d650}.search-box svg{width:14px;height:14px}.search-trigger{text-align:left;font-size:12px}.search-trigger span{flex:1}.search-trigger:hover{border-color:#b0e9d644;color:#d1ecdf}.search-box input{width:100%;min-width:0;background:none;border:0;outline:none;color:#e3ece9;font-size:12px}.search-box input::placeholder{color:#7f948a}kbd{border:1px solid #c4e1d71c;border-radius:4px;padding:2px 5px;font:11px var(--mono);color:#8fa69a}.filters{padding:16px;border-bottom:1px solid var(--line)}.filter-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.select-wrap{display:flex;align-items:center;position:relative;min-width:0;margin-bottom:8px;color:#8ea99b}.filter-row>.select-wrap{flex:1;margin-bottom:0}.select-wrap>svg,.select-wrap>#source-filter-icon{pointer-events:none;position:absolute;left:9px;width:14px;height:14px}.select-wrap>svg:last-child{left:auto;right:9px;width:12px}.select-wrap select{appearance:none;width:100%;min-width:0;height:34px;padding:7px 29px 7px 32px;background:transparent;color:#bdcfc6;border:1px solid transparent;border-radius:8px;font-size:12px;cursor:pointer;text-overflow:ellipsis}.select-wrap:hover select{background:#b0e9d606}.select-wrap select:focus-visible{outline:2px solid #b0e9d680;outline-offset:0;background:#b0e9d609}#source-filter-icon .source-icon{width:14px;height:14px;flex-basis:14px}select option{background:#14211e;color:#e1e8ea}.filter-toggles{display:flex;gap:18px;margin-top:16px}.filter-toggles label{display:flex;align-items:center;gap:6px;font-size:11px;color:#91a99b;cursor:pointer}.filter-toggles input{width:12px;height:12px;margin:0;accent-color:#a0c9ba}.session-list{padding:0 8px 10px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.list-date{display:flex;gap:7px;padding:17px 12px 8px;font-size:11px;color:#8ca196}.list-date span{color:#647e70}.session-card{width:100%;display:flex;text-align:left;gap:10px;padding:11px 12px;border:1px solid transparent;border-radius:9px;margin-bottom:2px}.session-card:hover{background:#dbf5e805}.session-card.selected{background:#b0e9d60b;border-color:#b0e9d61a}.session-dot{width:5px;height:5px;margin-top:6px;flex-shrink:0;border-radius:50%;background:var(--node-color, #b0e9d6);box-shadow:0 0 7px color-mix(in srgb,var(--node-color, #b0e9d6) 25%,transparent)}.session-card-body{flex:1;min-width:0}.session-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;font-weight:420;line-height:1.55;color:#bccfc5}.selected .session-title{color:#e1f2eb}.session-meta{display:flex;align-items:center;gap:5px;margin-top:6px;font-size:10px;color:#748e7f}.session-meta svg{width:11px;height:11px}.session-meta span:first-of-type{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-meta span:last-child{margin-left:auto;white-space:nowrap}.timeline-dock{bottom:24px;left:50%;transform:translate(-50%);width:min(620px,calc(100% - 48px))}.timeline-panel{padding:9px 14px 18px;border-radius:16px}.timeline-top{display:flex;align-items:center;gap:4px;margin-bottom:14px}.timeline-top .panel-handle{font-size:12px;font-weight:400;white-space:nowrap}.range-buttons{display:flex;gap:2px;margin-left:8px}.range-buttons button{font-size:11px;color:#859d8e;border-radius:6px;padding:6px 8px}.range-buttons button:hover{color:var(--mint)}.range-buttons button.active{color:var(--mint);background:#b0e9d613}.timeline-track{display:flex;align-items:center;gap:15px}.play-button{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #b0e9d62b;border-radius:50%;color:var(--mint);background:#b0e9d604}.play-button:hover{background:#b0e9d613}.play-button svg{width:13px;height:13px}.histogram-wrap{flex:1;position:relative;height:30px;border-bottom:1px solid #b0e9d620}.histogram{display:flex;align-items:flex-end;height:100%;gap:3px;-webkit-mask-image:linear-gradient(to right,black var(--progress, 100%),#ffffff30 var(--progress, 100%));mask-image:linear-gradient(to right,black var(--progress, 100%),#ffffff30 var(--progress, 100%))}.histogram span{flex:1;min-width:0;background:linear-gradient(#a6d5c7ba,#61887d35);border-radius:2px 2px 0 0}#scrubber{appearance:none;position:absolute;inset:-6px -7px;margin:0;width:calc(100% + 14px);height:calc(100% + 12px);background:transparent;cursor:ew-resize}#scrubber::-webkit-slider-thumb{appearance:none;width:12px;height:40px;opacity:0}#scrubber::-moz-range-thumb{width:12px;height:40px;opacity:0}.timeline-cursor{pointer-events:none;position:absolute;top:-3px;bottom:-2px;width:1px;background:#d3eee0;box-shadow:0 0 8px #b0e9d640}.timeline-cursor:before{content:"";position:absolute;top:-2px;left:-2px;width:5px;height:5px;background:var(--mint);border-radius:50%}.playback-date{width:43px;text-align:right;white-space:nowrap;font-size:11px;color:#9ab1a3}.playback-period{display:none;text-align:center;color:#a0baae;font:11px var(--mono);letter-spacing:.06em;font-variant-numeric:tabular-nums}.playback-summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:12px 28px;margin:16px 0 0;color:#829e91;font-size:11px}.playback-summary strong{color:#e3f3eb;font-size:26px;font-weight:450;letter-spacing:-.8px;font-variant-numeric:tabular-nums;margin-right:9px}.playback-summary small{flex-basis:100%;text-align:center;font:9px var(--mono)}.playback-share{display:flex;justify-content:center;margin-bottom:12px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s ease}.playback-share.ready{visibility:visible;opacity:1;pointer-events:auto}.playback-share button{flex:0 0 auto;min-height:44px;padding:12px 22px;gap:10px;border-radius:10px;font-size:13px;font-weight:550}.playback-share button:hover:not(:disabled){background:#cbf7e7}.playback-share svg{width:17px;height:17px}#app.playback-mode .app-header,#app.playback-mode .map-controls,#app.playback-mode .shortcut-hints,#app.playback-mode .desktop-update,#app.playback-mode .node-tooltip{display:none}#app.playback-mode .timeline-dock{bottom:max(24px,env(safe-area-inset-bottom));top:auto!important;left:50%!important;transform:translate(-50%)!important;width:min(580px,calc(100% - 40px))}#app.playback-mode .timeline-panel{background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}#app.playback-mode .timeline-top,#app.playback-mode .playback-date,#app.playback-mode .playback-summary small{display:none}#app.playback-mode .play-button{background:none;border:0;box-shadow:none}#app.playback-mode .playback-period{display:block;margin-top:14px}#app.playback-mode .playback-summary{display:flex;justify-content:center;text-align:center;gap:20px clamp(28px,6vw,64px);margin:14px 0 0}#app.playback-mode .playback-summary>span{display:flex;flex-direction:column;gap:4px}#app.playback-mode .playback-summary strong{font-size:clamp(36px,6vw,48px);line-height:1;margin:0;letter-spacing:-1.8px}#app.playback-mode .timeline-cursor{box-shadow:none}.share-dialog{width:min(900px,calc(100% - 32px));max-width:none}.share-dialog h2{margin-bottom:8px}.share-dialog>p{margin:0 0 20px}.share-formats{display:flex;gap:4px;width:fit-content;margin-bottom:18px;padding:4px;border:1px solid var(--control-border);border-radius:10px;background:#070f1380}.share-formats button{min-width:100px;min-height:38px;padding:9px 18px;border-radius:7px;color:#8ea99b;font-size:12px}.share-formats button:hover{color:#e1f2eb;background:var(--control-hover)}.share-formats button[aria-pressed=true]{background:#b0e9d6;color:#182e29;font-weight:550}.share-preview{aspect-ratio:8 / 5;display:grid;place-items:center;background:#030609;border-radius:9px;overflow:hidden}.share-preview img,.share-preview video{display:block;width:100%;height:auto}.share-progress{display:grid;gap:18px;justify-items:center;color:#a0bfaf;font-size:12px}.share-progress progress{width:min(260px,50vw);height:4px;accent-color:var(--mint)}.share-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px}.share-actions .share-close{margin-right:auto}.share-actions .primary-button,.share-actions .secondary-button{flex:0 0 auto}.share-x{text-decoration:none}.share-dialog .share-notice{margin:14px 0 0}.share-tray{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:10px}.share-tray p{margin:0 0 12px}.share-tray>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.share-caption{width:100%;resize:none;padding:10px;border:1px solid var(--line);border-radius:6px;background:#070f1380;color:#b8d2c5;font:11px/1.7 Geist Variable,sans-serif}.custom-dates{position:relative}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.date-positioner,.ui-select-positioner{margin:0;padding:0;border:0;background:transparent;color:inherit;overflow:visible;z-index:150}.date-popover{width:min(344px,calc(100vw - 24px));max-height:min(570px,calc(100dvh - 24px));overflow:auto;padding:18px;border:1px solid var(--control-border);border-radius:16px;background:var(--popover-bg);box-shadow:0 20px 70px #0008,inset 0 1px #ffffff05}.date-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.date-heading .eyebrow{font:8px var(--mono);letter-spacing:.14em;color:#789e8d}.date-heading h2{margin:5px 0 0;font-size:18px;font-weight:500;letter-spacing:-.5px}.date-close{font-size:23px}.date-fields{display:flex;align-items:center;gap:10px}.date-fields>span{padding-top:16px;color:#5f8072}.date-fields label{flex:1;min-width:0;color:#8aa79a;font-size:10px}.date-fields input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--control-border);border-radius:var(--control-radius);background:#070f1380;color:#d4e8df;font:11px var(--mono)}.date-fields input:focus{border-color:#b0e9d670}.date-fields input[aria-invalid=true]{border-color:#eab894}.date-presets{display:flex;gap:6px;margin:12px 0 16px}.date-presets button{flex:1;padding:7px 4px;border:1px solid var(--control-border);border-radius:6px;color:#9ebcae;font-size:10px}.date-presets button:hover{background:var(--control-hover);color:var(--mint)}.date-calendar{padding-top:10px;border-top:1px solid var(--line)}.date-navigation{display:flex;align-items:center;gap:8px;margin-bottom:9px}.date-view{flex:1;padding:8px;border-radius:var(--control-radius);font-size:13px;font-weight:500}.date-view:hover{background:var(--control-hover)}.date-calendar table{width:100%;table-layout:fixed;border-spacing:0 3px;font-size:12px}.date-calendar th{padding-bottom:10px;color:#729183;font-size:10px;font-weight:400}.date-calendar td{padding:0;text-align:center}.date-calendar td button{width:100%;height:34px;border-radius:7px;font-size:11px;color:#c6dacf;position:relative}.date-calendar td button:hover{background:#b0e9d61c}.date-calendar td button[data-outside-range]{color:#50675e}.date-calendar td button[data-in-range],.date-calendar td button[data-in-hover-range]{background:#b0e9d610;border-radius:0;color:#c8e7d9}.date-calendar td button[data-range-start],.date-calendar td button[data-range-end]{border-radius:7px;color:#10251e;background:var(--mint);font-weight:600}.date-calendar td button[data-today]:after{content:"";position:absolute;width:3px;height:3px;bottom:4px;left:calc(50% - 1.5px);border-radius:50%;background:currentColor}.date-calendar td button:focus-visible{outline-offset:-2px;z-index:1}.date-calendar table:not([data-calendar-view=day]) td{padding:3px}.date-calendar table:not([data-calendar-view=day]) button{height:47px}.date-footer{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:12px;padding-top:14px}.date-status{flex:1;color:#7f9d8f;font-size:10px;line-height:1.6}.date-footer .primary-button{flex:0 0 auto;font-size:11px}.ui-select{display:inline-flex;min-width:0;position:relative}.ui-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:34px;padding:8px 10px;border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--control-bg);color:#c7dfd2;font-size:12px;text-align:left}.ui-select-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-trigger>svg{width:12px;height:12px;color:#7f9d90}.ui-select-trigger:hover,.ui-select-trigger[data-state=open]{background:var(--control-hover);border-color:#b0e9d645}.ui-select-menu{min-width:max(150px,var(--reference-width));max-width:min(400px,calc(100vw - 24px));max-height:min(300px,var(--available-height, 300px));overflow:auto;padding:5px;border:1px solid var(--control-border);border-radius:10px;background:var(--popover-bg);box-shadow:0 12px 40px #0007;outline:none}.ui-select-option{position:relative;padding:9px 30px 9px 10px;border-radius:6px;color:#a8c3b5;font-size:12px;line-height:1.5;cursor:pointer;overflow-wrap:anywhere}.ui-select-option[data-highlighted]{color:#e0f4e9;background:var(--control-hover)}.ui-select-option[data-state=checked]{color:var(--mint)}.ui-select-option[data-state=checked]:after{content:"✓";position:absolute;right:10px}.ui-select-option[data-disabled]{opacity:.4;cursor:default}.select-wrap .ui-select{width:100%}.select-wrap>svg,.select-wrap>#source-filter-icon{z-index:1}.select-wrap>svg:last-child{display:none}.select-wrap .ui-select-trigger{padding-left:32px;background:transparent;border-color:transparent}.select-wrap .ui-select-trigger:hover,.select-wrap .ui-select-trigger[data-state=open]{background:#b0e9d609}.setting-row>.ui-select{min-width:120px;max-width:180px}.setting-row .ui-select-trigger{font-size:11px}.search-options .ui-select-trigger{background:transparent;border-color:transparent;padding-left:0;min-height:28px}.launch-destination .ui-select{max-width:77%}.inspector-stack{top:86px;right:24px;width:360px;max-height:calc(100dvh - 230px);display:flex;flex-direction:column;gap:12px;pointer-events:none}.inspector-stack>aside{pointer-events:auto;border-radius:16px}.inspector-stack.has-events{height:calc(100dvh - 110px);max-height:calc(100dvh - 110px)}.inspector{min-height:0;display:flex;flex-direction:column;overflow:hidden}.has-events .inspector{flex:0 1 220px;max-height:32%}.has-events .detail-title h2{font-size:17px}.detail-scroll{overflow-y:auto;min-height:0;overscroll-behavior:contain}.detail-title{padding:3px 20px 0}.detail-title h2{font-size:20px;line-height:1.4;letter-spacing:-.45px;font-weight:460;color:#e2ede9;margin:0 0 10px;overflow-wrap:anywhere}.detail-date{font-size:11px;color:#8ba699}.detail-actions{display:flex;align-items:center;gap:9px;padding:17px 20px}.secondary-button,.primary-button{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border:1px solid #b0e9d625;border-radius:8px;font-size:12px;color:#b8d9c7;background:#b0e9d606;flex:1}.secondary-button:hover{background:#b0e9d610}.secondary-button svg{width:14px;height:14px}.primary-button{flex:0;background:#b0e9d6;color:#182e29}.text-button{display:inline-flex;align-items:center;gap:7px;padding:8px;font-size:12px;color:#a6c9b6}.detail-section{border-top:1px solid var(--line);padding:17px 20px}.section-label{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:450;color:#b3c8bc}.section-label>span{margin-left:auto;font:11px var(--mono);color:#8ca896}.file-list{list-style:none;margin:0;padding:0}.file-list li{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #d1f1df07}.file-list li>svg{width:14px;height:14px;color:#c2b08f}.file-list li>div{flex:1;min-width:0}.file-list strong{display:block;font:11px var(--mono);color:#c7dbcf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-list li span{display:block;margin-top:4px;font-size:11px;color:#7d9988;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-list small{font:10px var(--mono);color:#89a994}.coverage-note{font-size:11px;line-height:1.7;color:#8ba597;margin:14px 0 0}.no-files p{font-size:12px;color:#8ca698;margin:0}.detail-loading{display:flex;align-items:center;gap:8px;font-size:12px;color:#97b6a4}.detail-loading svg{width:14px;height:14px}.load-more{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:14px;padding:10px;border:1px solid #b0e9d61c;border-radius:8px;font-size:11px;color:#a2cbb3}.load-more:hover{background:#b0e9d609}.load-more svg{width:13px;height:13px}.relation{display:flex;align-items:center;gap:10px;width:100%;padding:10px 0;text-align:left;border-bottom:1px solid #d1f1df07}.relation>svg{width:14px;height:14px;color:#b6a3d9}.relation>svg:last-child{width:12px;color:#7c9788;margin-left:auto}.relation>span{min-width:0}.relation small{display:block;font-size:11px;color:#8fa598;margin-bottom:4px}.relation strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.5;font-weight:400;color:#bdd1c7}.relation:hover strong{color:#e2f6e9}.more-details summary{display:flex;align-items:center;gap:8px;font-size:12px;color:#9ab4a3}.more-details summary>span{margin-left:auto;font:11px var(--mono)}.more-details summary svg{width:13px;height:13px;margin-left:auto}.more-details[open] summary{margin-bottom:14px;color:#c6e0ce}.more-details[open] summary svg{transform:rotate(180deg)}.metadata{margin:0;font-size:12px}.metadata>div{display:flex;justify-content:space-between;gap:15px;padding:7px 0}.metadata dt{color:#829e8d;flex-shrink:0}.metadata dd{margin:0;text-align:right;overflow-wrap:anywhere;font:11px var(--mono);color:#c1d7cc}.directory-card{margin-top:13px;padding:12px;border:1px solid var(--line);border-radius:8px}.directory-card>span{font-size:11px;color:#93b19e}.directory-card code,.location-entry code{display:block;margin-top:6px;font:11px/1.7 var(--mono);color:#8eaa9a;overflow-wrap:anywhere}.location-entry{margin-top:14px}.location-entry>span{font-size:11px;color:#afc9b8}.tools-list>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font:11px var(--mono)}.tools-list span{overflow-wrap:anywhere;color:#91af9b}.tools-list strong{font-weight:400;color:#b4cebe}.scene-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.scene-label{position:absolute;left:0;top:0;max-width:155px;padding:5px 8px;font:10px var(--mono);color:var(--label-color);opacity:0;filter:blur(3px);transition:opacity .45s ease,filter .45s ease;background:#080f1266;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-label.visible{opacity:.55;filter:blur(0)}.selected-label{width:260px;max-width:calc(100% - 24px);padding:7px 10px;font-size:11px;background:#0d1c22ed;border:1px solid #b0e9d62b;border-radius:6px;box-shadow:0 3px 15px #0005;z-index:1}.selected-label.visible{opacity:1}.event-marker-icon{position:absolute;top:0;left:0;width:12px;height:12px;color:#d7e5df;opacity:0;pointer-events:none}.event-marker-icon.visible{opacity:.38}.event-marker-icon svg{display:block;width:12px;height:12px}.scene-labels[data-motion=false] .scene-label{transition:none}.node-tooltip{position:absolute;z-index:30;width:260px;padding:14px;background:#101e1cf2;border:1px solid #b0e9d62b;border-radius:10px;box-shadow:0 12px 32px #0006;pointer-events:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.node-tooltip strong{display:block;font-size:13px;font-weight:450;line-height:1.5;color:#e1efec;margin-bottom:7px}.node-tooltip>span{font-size:11px;color:#91af9d}.message-tooltip{width:min(390px,calc(100vw - 24px));border-color:color-mix(in srgb,var(--event-color) 35%,transparent)}.message-tooltip pre{margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 var(--mono);color:#d9e9e0;max-height:min(280px,38dvh);overflow:hidden}.message-tooltip>span{display:block;font-size:10px;line-height:1.6}.graph-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#080e1333;padding:32px;text-align:center}.graph-message>svg{width:28px;height:28px;color:var(--mint)}.graph-message h3{font-size:18px;font-weight:450;margin:18px 0;color:#cde1d7}.graph-message p{max-width:350px;font-size:13px;line-height:1.8;color:#91b09f}.loading-orbit{position:relative;width:64px;height:64px}.loading-orbit span{position:absolute;inset:0;border:1px solid #b0e9d629;border-radius:50%;transform:rotateX(55deg) rotateY(20deg);animation:orbit 3s linear infinite}.loading-orbit span:nth-child(2){animation-delay:-.8s}.loading-orbit span:nth-child(3){animation-delay:-1.6s}.empty-list{padding:20px 12px;font-size:12px;line-height:1.8;color:#86a593}.list-loading{padding:22px 8px}.skeleton{height:48px;margin-bottom:20px;border-radius:8px;background:linear-gradient(100deg,#ffffff02,#ffffff05,#ffffff02);background-size:200%;animation:shimmer 2s infinite}.spinning>svg,svg.spinning{animation:spin 2s linear infinite}dialog{max-width:420px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);background:#101d1cf7;color:#d1e2dc;border:1px solid #b0e9d62b;border-radius:18px;padding:28px;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#02070c88;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog-close{position:absolute;top:12px;right:12px}dialog h2{font-size:22px;font-weight:450;letter-spacing:-.5px;margin:0 0 18px}dialog p{font-size:12px;line-height:1.8;color:#92ad9e;margin:18px 0}.help-rows>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;font-size:12px;border-bottom:1px solid var(--line)}.graph-legend{display:flex;flex-wrap:wrap;gap:13px 18px;margin-top:22px;font-size:12px;color:#a5c2b0}.graph-legend>span{display:flex;align-items:center;gap:7px}.legend-node{width:5px;height:5px;border-radius:50%;background:var(--mint)}.legend-node.message{width:3px;height:3px;background:#dcfff0}.legend-file{width:5px;height:5px;background:#edc899;transform:rotate(45deg)}.legend-line{width:14px;height:1px}.legend-line.fork{background:#edbc8d}.legend-line.child{background:#bda6ef}.legend-line.lane{background:#849d95}.motion-button{width:100%}.motion-button[aria-pressed=false]{color:#728b7e;background:transparent}html[data-density=compact] .session-card{padding-block:6px}html[data-density=compact] .session-title{-webkit-line-clamp:1}html[data-density=compact] .list-date{padding-top:12px}html[data-motion=false] *,html[data-motion=false] *:before,html[data-motion=false] *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.event-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.event-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 2px 18px}.event-heading h2{margin:0;font-size:13px;font-weight:480;color:#bdcec6}.event-close{font-size:22px}.event-toolbar{display:flex;align-items:center;gap:12px;padding:12px 0;font-size:11px}.event-toolbar label{display:flex;align-items:center;gap:10px}.event-toolbar select{padding:8px;border:1px solid #b0e9d630;border-radius:6px;background:#142620;color:#d0e6da;max-width:180px}.event-count{color:#adc6b8;font:9px var(--mono);margin-left:8px}.event-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.event-browser{margin:0 16px 16px;border-top:1px solid var(--line);padding-top:12px}.event-browser summary,.event-footer summary{cursor:pointer;font-size:11px;color:#9ab4a3}.event-browser>summary,.event-footer summary,.event-provenance>summary{display:flex;align-items:center;gap:8px}.event-browser>summary:after,.event-footer summary:after,.event-provenance>summary:after{content:"";width:6px;height:6px;flex-shrink:0;margin-left:auto;margin-right:3px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}.event-browser[open]>summary:after,.event-footer details[open]>summary:after,.event-provenance[open]>summary:after{transform:translateY(2px) rotate(225deg)}.event-list{max-height:230px;overflow:auto;overscroll-behavior:contain}.event-row{display:block;width:100%;padding:10px;margin-bottom:5px;border:1px solid transparent;border-radius:9px;text-align:left}.event-row:hover{background:#b0e9d608}.event-row[aria-current=true]{background:#b0e9d610;border-color:#b0e9d635}.event-row-top{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px}.event-row-top small{color:#7e9c8a;font:9px var(--mono)}.event-badge{font:10px var(--mono);color:var(--event-color);display:inline-flex;align-items:center;gap:7px}.event-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--event-color);flex-shrink:0}.event-row strong{display:block;font-size:12px;font-weight:480;color:#d2e4da;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;color:#8aa798;line-height:1.6;margin:6px 0;overflow-wrap:anywhere}.event-row time{font:9px var(--mono);color:#6f9380}.event-pagination{display:flex;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--line)}.event-pagination button{font-size:10px}.event-content{padding:16px;min-width:0}.event-detail-nav{display:flex;align-items:center;gap:8px;padding:8px 16px 12px;border-bottom:1px solid var(--line)}.event-detail-nav>span{font:9px var(--mono);color:#92ad9e;text-align:center}.event-detail-nav button{font-size:11px;padding:7px 9px}.event-detail-heading h3{font-size:18px;font-weight:450;letter-spacing:-.4px;overflow-wrap:anywhere;margin:10px 0}.event-detail-heading p{color:#7f9f8c;font:10px var(--mono);line-height:1.6}.event-status{display:inline-block;margin-left:12px;color:#9ab7a6;font:9px var(--mono);border:1px solid #b0e9d629;padding:4px 7px;border-radius:4px}.event-status.failed{color:#eeaa9d;border-color:#eeaa9d40}.event-payload{margin-top:18px}.event-content h4{font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#8aa997;margin:0 0 12px}.event-payload pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.8 var(--mono);color:#d4e6db;padding:12px;border:1px solid #b0e9d619;border-radius:9px;background:#050e123d;tab-size:2}.event-warning{padding:12px;background:#eac5940a;border:1px solid #eac59430;border-radius:7px;font-size:11px;color:#d6bc97}.event-correlations{margin-top:20px}.event-correlations p{font-size:11px;color:#91a999}.event-link{display:flex;align-items:center;gap:9px;padding:10px;width:100%;border:1px solid var(--line);border-radius:7px;margin-bottom:6px;text-align:left}.event-link>span:nth-child(2){flex:1;overflow-wrap:anywhere;font-size:12px}.event-link small{font:9px var(--mono);color:#8ca594}.event-provenance{margin-top:18px;font-size:11px;color:#7e9d8b}.event-provenance summary{cursor:pointer;padding-block:10px}.event-provenance dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px}.event-provenance dd{margin:0;overflow-wrap:anywhere;font-family:var(--mono);font-size:10px}.event-footer{display:flex;align-items:center;gap:12px;padding:8px 16px;border-top:1px solid var(--line);background:#081216}.event-footer>.event-coverage{flex:1}.event-coverage{font-size:10px;line-height:1.6;color:#7d9c8b;max-height:70px;overflow:auto}.event-reload{font-size:11px;white-space:nowrap}.event-empty{padding:24px 12px;color:#90aa9c;font-size:12px;line-height:1.7}.event-panel button:disabled{opacity:.4;cursor:default}.event-panel[aria-busy=true] .event-scroll{opacity:.65}.event-key{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.event-key span{font:9px var(--mono)}.event-key i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:var(--event-color)}.explore-events{width:100%;justify-content:center;margin-top:10px}.history-coverage{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.history-coverage>summary{min-height:24px;border-radius:4px}.settings-dialog{width:min(850px,calc(100% - 32px));max-width:none;height:min(710px,calc(100dvh - 48px));padding:0;overflow:hidden;background:#0c191e}.settings-dialog[open]{display:flex;flex-direction:column}.settings-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:30px 30px 24px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at top left,#28534a44,transparent 70%)}.settings-heading h2{margin:0 0 4px;font-size:27px;letter-spacing:-.8px}.settings-heading p{margin:0;font-size:12px;color:#87a69a}.settings-close{font-size:25px;margin:-10px -12px 0 0}.settings-layout{display:grid;grid-template-columns:175px minmax(0,1fr);flex:1;min-height:0}.settings-tabs{padding:20px 12px;border-right:1px solid var(--line);background:#040b0e33}.settings-tabs button{display:flex;align-items:center;gap:10px;width:100%;padding:12px;margin-bottom:5px;text-align:left;font-size:12px;border-radius:8px;color:#8aa79a}.settings-tabs button>svg{width:16px;height:16px;color:#6b9582}.settings-tabs button[aria-selected=true]{color:#d5eee2;background:#b0e9d610}.settings-tabs button[aria-selected=true]>svg{color:#b0e9d6}.settings-tabs button:hover{background:#b0e9d609}.settings-content{min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:26px 30px}.settings-content h3{font-size:18px;font-weight:450;margin:0 0 7px;letter-spacing:-.4px}.settings-description{margin:0 0 20px;font-size:12px}.settings-sources-list{margin-top:20px;color:var(--muted);font-size:12px}.settings-import-progress{color:var(--muted);font-size:11px;line-height:1.6;margin-top:16px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 0;border-bottom:1px solid var(--line)}.setting-row>span:first-child{flex:1;min-width:0}.setting-row strong{display:block;font-size:12px;font-weight:470;color:#d1e3d9}.setting-row small{display:block;margin-top:5px;font-size:11px;line-height:1.55;color:#83a090}.setting-row select{max-width:165px;min-width:120px;padding:9px;border:1px solid #b0e9d621;border-radius:7px;background:#142620;color:#c7dfd2;font-size:11px}.setting-row input[type=checkbox]{appearance:none;flex-shrink:0;position:relative;width:34px;height:20px;margin:0;border-radius:20px;border:1px solid #779c8b40;background:#1c2e28;cursor:pointer}.setting-row input[type=checkbox]:before{content:"";position:absolute;width:12px;height:12px;top:3px;left:3px;border-radius:50%;background:#718f80;transition:transform .18s,background .18s}.setting-row input[type=checkbox]:checked{background:#b0e9d625;border-color:#b0e9d64a}.setting-row input[type=checkbox]:checked:before{transform:translate(14px);background:#b0e9d6}.setting-slider{display:flex;align-items:center;width:160px;gap:10px;flex-shrink:0}.setting-slider input{accent-color:#b0e9d6;width:108px;min-width:0;cursor:pointer}.setting-slider output{min-width:36px;font:10px var(--mono);color:#bddaca;text-align:right}.setting-row:has(:disabled){opacity:.45}.settings-note{display:flex;align-items:center;gap:14px;margin-top:22px}.settings-note>span{flex:1;font-size:11px;color:#85a495;line-height:1.6}.settings-note button{flex:0 0 auto;font-size:11px}.settings-footnote{font-size:10px;color:#6f9280;margin-bottom:0}.settings-footer{display:flex;align-items:center;gap:12px;padding:15px 22px;border-top:1px solid var(--line);background:#081216}.settings-save-status{flex:1;font-size:10px;color:#7d9c8b;line-height:1.5}.settings-footer .text-button{font-size:11px}.settings-footer .primary-button{padding-inline:20px}@media(max-width:650px){.settings-dialog{width:calc(100% - 20px);height:calc(100dvh - 24px);max-height:none}.settings-heading{padding:23px 20px 18px}.settings-heading h2{font-size:23px}.settings-layout{display:flex;flex-direction:column}.settings-tabs{display:flex;padding:9px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto;flex-shrink:0}.settings-tabs button{width:auto;flex:1 0 auto;margin:0;padding:9px 11px;font-size:11px;justify-content:center}.settings-tabs button>svg{width:14px;height:14px}.settings-content{padding:22px 18px}.setting-row{gap:12px}.setting-slider{width:128px}.setting-slider input{width:78px}.setting-row select{min-width:100px;max-width:135px}.settings-footer{flex-wrap:wrap;padding:12px 18px}.settings-save-status{flex-basis:100%}.settings-footer .text-button{margin-right:auto}}.toast{position:fixed;left:50%;bottom:155px;transform:translate(-50%);max-width:min(440px,calc(100% - 32px));padding:12px 18px;background:#15251ff5;color:#c8e5d4;border:1px solid #9fbfad44;border-radius:10px;box-shadow:0 10px 30px #0005;font-size:12px;line-height:1.7;z-index:100}.desktop-update{position:fixed;left:24px;bottom:24px;z-index:45;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;min-width:86px;padding:6px 12px;border-radius:10px;color:var(--mint);font-size:11px;font-weight:450;line-height:18px;white-space:nowrap}.desktop-update svg{width:13px;height:13px}.desktop-update:hover{background:#172c29;border-color:#b0e9d633;color:#e9fff4}.desktop-update:disabled{opacity:1;color:#8ba198}.desktop-update[data-phase=downloading] svg,.desktop-update[data-phase=installing] svg{opacity:.65}.shortcut-hints{position:fixed;left:24px;bottom:24px;z-index:10;display:grid;gap:7px;color:#82938f;font-size:10px;pointer-events:none}.shortcut-hints span{display:flex;align-items:center;gap:8px}.shortcut-hints kbd{min-width:22px;padding:2px 4px;border:1px solid #a3bdb523;border-radius:4px;color:#a3b5ae;background:#0b141b66;font:9px var(--mono);text-align:center}#app:has(.desktop-update:not([hidden])) .shortcut-hints{bottom:66px}@media(min-width:760px)and (max-width:1000px){.shortcut-hints{bottom:165px}#app:has(.desktop-update:not([hidden])) .shortcut-hints{bottom:165px}}@keyframes panel-in{0%{opacity:0}to{opacity:1}}@keyframes orbit{to{transform:rotateX(55deg) rotateY(20deg) rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1000px){.sidebar{width:300px}.inspector-stack{width:320px}}@media(max-width:759px){.shortcut-hints{display:none}.app-header{top:12px;left:12px;height:44px}.brand>span{font-size:19px}.app-header .toolbar-button{padding-inline:7px}.map-controls{top:auto;right:auto;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);height:46px}.floating-panel{border-radius:14px}.sidebar,.inspector-stack{top:70px;left:12px;right:auto;width:min(330px,calc(100% - 24px));max-height:calc(100dvh - 280px)}.sidebar{height:min(500px,calc(100dvh - 280px))}.inspector-stack{width:min(350px,calc(100% - 24px));inset:auto 12px 250px auto;max-height:min(40dvh,calc(100dvh - 450px))}.inspector-stack.has-events{height:min(420px,40dvh);gap:8px}.has-events .inspector{flex-basis:135px;max-height:26%}.event-content{padding:12px}.event-detail-heading h3{font-size:16px}.timeline-dock{bottom:max(72px,calc(env(safe-area-inset-bottom) + 60px));width:calc(100% - 24px)}.timeline-panel{padding:9px 12px 15px;border-radius:14px}.timeline-top{flex-wrap:wrap;gap:0;margin-bottom:13px}.timeline-top .panel-handle{flex-basis:calc(100% - 72px);font-size:12px}.timeline-top .range-buttons{order:4;width:100%;margin:4px 0 0;gap:5px}.range-buttons button{padding:5px 12px}.timeline-top .icon-button{width:32px;height:32px}.timeline-track{gap:12px}.histogram{gap:2px}.toast{bottom:230px}.desktop-update{left:12px;bottom:max(72px,calc(env(safe-area-inset-bottom) + 60px))}#app:has(.desktop-update:not([hidden])) .timeline-dock{bottom:max(112px,calc(env(safe-area-inset-bottom) + 100px))}#app:has(.desktop-update:not([hidden])) .inspector-stack{bottom:290px}}@media(min-width:760px)and (max-height:600px){.sidebar,.inspector-stack,.inspector-stack.has-events{max-height:calc(100dvh - 100px)}.sidebar{height:calc(100dvh - 100px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.search-dialog{width:min(960px,calc(100% - 48px));max-width:none;height:min(680px,calc(100dvh - 100px));max-height:none;padding:0;overflow:hidden;border-radius:18px;background:#0b171bf5;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);box-shadow:0 30px 120px #0009}.search-dialog[open]{display:flex;flex-direction:column}.search-dialog::backdrop{background:#02070c88;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.search-command{display:flex;align-items:center;gap:13px;padding:17px 20px;border-bottom:1px solid var(--line)}.search-command-icon{font-size:26px;color:#9dcab7}.search-command input{min-width:0;flex:1;border:0;outline:0;background:none;color:#e0f1e8;font-size:17px}.search-command input::placeholder{color:#6c8b7b}.search-close{font-size:23px}.search-options{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid var(--line)}.search-options select{font-size:12px;color:#bcdbcb;padding:5px 20px 5px 0;border:0;background:none}.search-chip{padding:5px 9px;border:1px solid #bddfd21a;border-radius:6px;font-size:11px;color:#8fa99b}.search-chip[aria-pressed=true]{color:#b7e2cd;background:#b0e9d60a;border-color:#b0e9d629}#search-index-state{margin-left:auto;font-size:11px;color:#7d9c8c}.search-body{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);flex:1;min-height:0}.search-results{overflow-y:auto;overscroll-behavior:contain;min-height:0}.search-results-inner{position:relative}.search-result{position:absolute;left:7px;right:7px;height:86px;border-radius:8px;padding:11px 13px;cursor:pointer;border:1px solid transparent}.search-result.active{border-color:#b0e9d626;background:#b0e9d60e}.search-result:hover{background:#b0e9d60a}.search-result-title{font-size:13px;font-weight:440;color:#d2e5d9;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.search-result-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#8ca996;margin-top:7px}.search-result-meta>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.match-kind{flex-shrink:0;color:#a0c7b0}.search-result-excerpt{font-size:11px;color:#759586;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:6px}.search-dialog mark{color:#dbffe7;background:#b6f4d111;border-radius:2px}.search-preview{border-left:1px solid var(--line);min-height:0;overflow-y:auto;overscroll-behavior:contain}.search-preview-heading{padding:22px}.search-preview-heading>span{color:#8ba898;font-size:11px}.search-preview-heading h2{margin:10px 0;font-size:20px;line-height:1.4;overflow-wrap:anywhere}.search-preview-heading p{margin:0 0 18px;font-size:11px}.search-open{width:100%}.search-open span{margin-left:auto}.search-launch{width:100%;justify-content:center;margin-top:7px}.search-preview-section{padding:19px 22px;border-top:1px solid var(--line)}.search-preview-section h3{color:#a9c6b4;font-size:12px;font-weight:450;margin:0 0 14px}.search-preview-section p{margin:8px 0 15px;font-size:12px;line-height:1.75;overflow-wrap:anywhere;white-space:pre-line}.search-preview-section article{margin:15px 0}.search-preview-section article>span{color:#b5d1bd;font-size:11px}.search-preview-section .preview-coverage{color:#718f7e;font-size:11px;margin-bottom:0}.search-footer{position:relative;display:flex;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--line);color:#87a592;font-size:11px}.search-footer button{color:#b0e9d6;font-size:11px}.search-keys{margin-left:auto;white-space:nowrap}.search-keys kbd{padding:1px 4px;margin-right:3px;font-size:10px}.search-keys kbd:not(:first-child){margin-left:10px}.search-syntax>div{position:absolute;bottom:45px;right:18px;display:flex;flex-direction:column;gap:10px;padding:18px;background:#132722;border:1px solid #b0e9d629;border-radius:10px;box-shadow:0 10px 30px #0006}.search-syntax code{color:#b4d7c2;font:11px var(--mono)}#search-clear-cache{margin-top:4px;padding:12px 0 0;border-top:1px solid var(--line);text-align:left}.source-badge{display:inline-flex;align-items:center;gap:6px;font:10px var(--mono);letter-spacing:.02em;color:#b5c8d9}.source-icon{display:inline-block;width:16px;height:16px;flex:0 0 16px;vertical-align:-3px;background:currentColor;mask:var(--source-icon) center / contain no-repeat;-webkit-mask:var(--source-icon) center / contain no-repeat}.source-icon-claude{color:#d9a387}.source-icon-openai{color:#b4d9c6}.source-icon-t3{color:#d2b7ec}.source-icon-opencode{color:#c7d0d7}.source-icon-gemini,.source-icon-cline{color:#9cbcf6}.source-icon-qwen{color:#b8a6ec}.source-icon-pi{color:#e9a89c}.source-icon-copilot{color:#c7d0d7}.source-icon-roo{color:#d9b59a}.source-icon-kilo{color:#e6ce83}.source-icon-continue{color:#abd9bb}.source-icon-openclaw,.source-icon-cherry{color:#efa2a0}.source-icon-hermes,.source-icon-amp,.source-icon-mistral{color:#e9bd85}.source-icon-kimi,.source-icon-deepseek,.source-icon-minimax,.source-icon-antigravity{color:#a7bcf2}.source-icon-grok,.source-icon-zed,.source-icon-warp,.source-icon-lmstudio{color:#c3d2d7}.source-icon-junie,.source-icon-kiro,.source-icon-muse{color:#c4adea}.source-icon-mimo{color:#e9ae82}.source-icon-devin,.source-icon-goose,.source-icon-unsloth,.source-icon-trae{color:#a8d6b9}.source-icon-codebuddy,.source-icon-commandcode{color:#b3d6dd}.source-icon-prime,.source-icon-senpi,.source-icon-kimchi,.source-icon-gajae{color:#d5c4a9}.source-icon-droid,.source-icon-codebuff,.source-icon-freebuff,.source-icon-jcode,.source-icon-zcode{color:#bed2c5}.source-icon-proma,.source-icon-aside,.source-icon-augment,.source-icon-fx,.source-icon-crush,.source-icon-octofriend,.source-icon-mux,.source-icon-reasonix,.source-icon-hindsight{color:#d0c0dd}.source-symbol .source-icon{width:20px;height:20px;flex-basis:20px}.source-badge .source-icon,.search-result-meta .source-icon{width:12px;height:12px;flex-basis:12px;vertical-align:-2px}.search-result-meta .source-icon{margin-right:5px}.search-launch{display:inline-flex;gap:8px;align-items:center}#source-filter-icon{display:flex;align-items:center}.source-badge[data-source=claude-code]{color:#d8b297}.source-badge[data-source=codex]{color:#a5d1ba}.detail-title>.source-badge{margin-bottom:10px}.imports-dialog{width:min(680px,calc(100vw - 28px));max-width:680px;padding:32px}.imports-dialog[open]{display:flex;flex-direction:column;overflow-y:auto}.imports-dialog>*{flex-shrink:0}.imports-dialog>.import-sources{flex:1 1 auto;min-height:100px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.imports-dialog .primary-button{flex:0 0 auto;white-space:nowrap}.imports-dialog .eyebrow{font:10px var(--mono);letter-spacing:.18em;color:#83b9a3}.imports-dialog h2{margin:16px 0 12px;font-size:clamp(24px,4vw,32px);font-weight:450;letter-spacing:-.04em}.imports-intro{color:#91a99d;font-size:13px;line-height:1.6;margin-bottom:14px}.privacy-disclosure{color:#91a99d;font-size:11px;line-height:1.65;margin-bottom:24px}.privacy-disclosure summary{cursor:pointer;color:#aec9bb}.privacy-disclosure p{font-size:inherit;line-height:inherit;margin:10px 0 0}.import-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:6px}.import-source{display:flex;align-items:center;min-width:0;min-height:52px;gap:9px;padding:8px 10px;border:1px solid #b0e9d61c;border-radius:8px;cursor:pointer;background:#b0e9d603}.import-source:has(input:checked){border-color:#b0e9d658;background:#b0e9d608}.import-source:hover{background:#b0e9d60e}.import-source:focus-within{outline:1px solid #b0e9d6;outline-offset:1px}.import-source:has(input:disabled){opacity:.6;cursor:wait}.import-source input{accent-color:#a4d8bf;flex:0 0 auto;margin:0}.source-symbol{display:grid;place-items:center;width:22px;height:22px;color:#bed3c7;flex:0 0 auto}.source-copy{flex:1;min-width:0}.import-source strong{display:block;font-size:12px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.import-source .source-meta{display:flex;flex-wrap:wrap;gap:4px 8px;color:#879d90;font-size:10px;line-height:1.35;margin-top:3px}.import-source .source-error{display:block;color:#e4ba96;font-size:10px;line-height:1.4;margin-top:3px;overflow-wrap:anywhere}.source-detected{color:#789083;white-space:nowrap}.source-detected.detected{color:#aedbc4}.imports-progress{font:11px var(--mono);color:#9fc2af;margin-top:20px;line-height:1.8;min-height:20px}.imports-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.imports-dialog footer>span{color:#789083;font-size:11px}.imports-notes{color:#91a99d;font-size:11px;line-height:1.6;margin-top:12px}.imports-notes>div{max-height:150px;overflow-y:auto}@media(max-width:600px){.imports-dialog{padding:26px 20px}.import-sources{grid-template-columns:minmax(0,1fr);gap:4px}.import-source{min-height:44px;padding:6px 9px}.imports-dialog footer{flex-wrap:wrap}}.search-empty{padding:30px 22px;color:#98b4a4;font-size:13px}.launch-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:28px;border-radius:16px}.launch-dialog h2{font-size:20px;margin:0 35px 10px 0}.launch-title{margin:0 0 24px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.launch-destination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;font-size:12px;color:#a9c6b4}.launch-destination select{min-width:0;max-width:77%;border:1px solid var(--line);border-radius:7px;padding:9px;background:#132321;color:#d1e5d9;font-size:12px}.launch-web-link{width:100%}.launch-pairing{margin-top:19px;font-size:11px;color:#8fa99b}.launch-pairing p,.launch-hint{font-size:11px;line-height:1.7}.launch-directory-label{display:grid;gap:9px;margin-bottom:18px;color:#a9c6b4;font-size:12px}.launch-directory{min-width:0;width:100%;padding:10px;background:#071114;color:#c8e5d5;border:1px solid var(--line);border-radius:7px;font:11px var(--mono)}.launch-summary{margin-bottom:18px;padding:13px;border:1px solid #b0e9d625;border-radius:9px;background:#b0e9d608}.launch-mode{color:#b8ddc9;font-size:12px;font-weight:500}.launch-hint{margin:7px 0 0;color:#9eb6a8}.launch-context{margin-top:12px;color:#a1b9ac;font-size:11px}.launch-context summary{cursor:pointer}.launch-coverage{line-height:1.7}.launch-context-path{display:block;overflow-wrap:anywhere;font:10px/1.7 var(--mono);color:#7e9e8e}.launch-availability{color:#c4b89b;font-size:11px;line-height:1.7;margin-bottom:0}.launch-availability:empty{display:none}.launch-command{display:block;width:100%;background:#071114;border:1px solid var(--line);border-radius:7px;padding:11px;color:#c8e5d5;font:11px var(--mono)}.launch-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.launch-actions>button{flex:1;white-space:nowrap}.launch-status{margin:14px 0 0;font-size:12px;line-height:1.6}.launch-status:empty{display:none}@media(max-width:759px){.search-dialog{width:calc(100% - 24px);height:calc(100dvh - 48px);border-radius:14px}.search-command{padding:12px;gap:8px}.search-command input{font-size:16px}.search-options{flex-wrap:wrap;padding:9px 14px;gap:7px 12px}#search-index-state{flex-basis:100%;margin-left:0}.search-body{grid-template-columns:1fr;grid-template-rows:minmax(150px,1fr) minmax(130px,.7fr)}.search-preview{border-left:0;border-top:1px solid var(--line)}.search-preview-heading{padding:16px}.search-preview-heading h2{font-size:17px}.search-preview-section{padding:16px}.search-footer{padding:10px 14px}.search-keys{display:none}.search-syntax{margin-left:auto}}.publishing-dialog{width:min(1000px,calc(100% - 32px));max-width:none}.publishing-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:20px}.publishing-dialog h2{margin:0}.publishing-disclosure,.publishing-scope,.publishing-note,.publishing-summary{color:#a1b6ad;font-size:12px;line-height:1.7}.publishing-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px;padding:18px;border:1px solid #c9e3db20;border-radius:6px}.publishing-fields legend{padding-inline:8px;font-size:13px}.publishing-fields label,.publishing-confirm{display:flex;gap:9px;align-items:center;font-size:12px;line-height:1.7}.publishing-dialog input[type=checkbox]{accent-color:#b0e9d6}.publishing-account,.publishing-dialog footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.publishing-account{font-size:13px}.publishing-status{font-size:13px;line-height:1.7;color:#b0e9d6;min-height:22px}.publishing-confirm{align-items:flex-start}.publishing-confirm input{margin-top:4px}.publishing-dialog footer{justify-content:flex-end}.publishing-dialog footer [data-animation]{margin-right:auto}.publishing-json{max-height:280px;overflow:auto;padding:15px;background:#060b10;font:11px/1.5 monospace}.publishing-link{display:block;text-align:right;margin-top:15px;color:#b0e9d6;font-size:13px}.publishing-connect{margin-block:15px;font-size:13px}.publishing-connect strong{font-family:monospace;letter-spacing:.1em}@media(max-width:600px){.publishing-fields{grid-template-columns:repeat(2,1fr)}}
|