@ivoryheart/herdr-world 0.1.0 → 0.1.1

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.
Files changed (28) hide show
  1. package/lib/bridges/linux-x64/herdr-world-bridge +0 -0
  2. package/lib/bridges/macos-arm64/herdr-world-bridge +0 -0
  3. package/lib/bridges/macos-x64/herdr-world-bridge +0 -0
  4. package/package.json +1 -1
  5. package/share/herdr-world/web/assets/GraphTheme-DdAfatoM.js +1 -0
  6. package/share/herdr-world/web/assets/{NoteMarkdownPreview-kY-nDOxM.js → NoteMarkdownPreview-Crh3odMO.js} +1 -1
  7. package/share/herdr-world/web/assets/WorldSurface-4GHZpnMP.js +369 -0
  8. package/share/herdr-world/web/assets/WorldThemeStage-Da7LFwo3.js +1 -0
  9. package/share/herdr-world/web/assets/browserAll-B258yZD2.js +1 -0
  10. package/share/herdr-world/web/assets/{ghostty-web-teHzIxkb.js → ghostty-web-CMdhZEut.js} +1 -1
  11. package/share/herdr-world/web/assets/index-B8V-qiZs.js +18 -0
  12. package/share/herdr-world/web/assets/index-DSq8fuVk.css +1 -0
  13. package/share/herdr-world/web/assets/init-BCuNUfJx.js +1 -0
  14. package/share/herdr-world/web/assets/jsx-runtime-BWRPWl8p.js +1 -0
  15. package/share/herdr-world/web/assets/{web-aFNZ0VSZ.js → web-Bev77txP.js} +1 -1
  16. package/share/herdr-world/web/assets/{web-DjpqhiRY.js → web-CCyAvF9M.js} +1 -1
  17. package/share/herdr-world/web/assets/webworkerAll-B5q9qlVj.js +1 -0
  18. package/share/herdr-world/web/index.html +3 -2
  19. package/share/herdr-world/web/assets/FederatedEventTarget-CkoT1sfc.js +0 -1
  20. package/share/herdr-world/web/assets/FilterSystem-Cc8XEqAi.js +0 -173
  21. package/share/herdr-world/web/assets/WebGLRenderer-CH0L4JQe.js +0 -1
  22. package/share/herdr-world/web/assets/WebGPURenderer-DLQebYcV.js +0 -1
  23. package/share/herdr-world/web/assets/WorldSurface-FBkCkOSB.js +0 -197
  24. package/share/herdr-world/web/assets/browserAll-B8-kqmYE.js +0 -1
  25. package/share/herdr-world/web/assets/index-Bkp5BPZN.js +0 -17
  26. package/share/herdr-world/web/assets/index-Cuh3insr.css +0 -1
  27. package/share/herdr-world/web/assets/init-DeL9YIMj.js +0 -1
  28. package/share/herdr-world/web/assets/webworkerAll-BFZtmp1G.js +0 -1
@@ -0,0 +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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrainsMono Nerd Font Mono;font-style:normal;font-weight:400;font-display:swap;unicode-range:U+2500-27BF,U+E000-F8FF,U+F0000-10FFFF;src:local(JetBrainsMono NFM Regular),local(JetBrainsMonoNFM-Regular),url(/fonts/JetBrainsMonoNerdFontMono-Regular.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--crust:#11111b;--mantle:#181825;--base:#1e1e2e;--surface0:#313244;--surface1:#45475a;--surface2:#585b70;--overlay0:#6c7086;--overlay1:#7f849c;--subtext0:#a6adc8;--subtext1:#bac2de;--text:#cdd6f4;--blue:#89b4fa;--lavender:#b4befe;--sapphire:#74c7ec;--teal:#94e2d5;--green:#a6e3a1;--yellow:#f9e2af;--peach:#fab387;--red:#f38ba8;--mauve:#cba6f7;--app-bg:var(--crust);--sidebar-bg:#15151f;--term-bg:var(--crust);--row-hover:#1c1c2a;--row-active:#202036;--line:#262636;--line-soft:#1d1d2b;--accent:var(--lavender);--accent-soft:#b4befe24;--terminal-touch-marker:#c2caff;--st-blocked:var(--red);--st-working:var(--yellow);--st-done:var(--teal);--st-idle:var(--green);--st-unknown:var(--overlay0);--r-sm:6px;--r-md:9px;--r-lg:13px;--sidebar-w:320px;--notes-w:560px;--notes-list-w:240px;--content-inset-top:0px;--content-inset-bottom:0px;--mobile-controls-scale:1;--ui:"Geist Variable", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "DejaVu Sans Mono", "JetBrainsMono Nerd Font Mono", monospace;font-family:var(--ui);background:var(--app-bg);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.terminal-accessible-screen{white-space:pre-wrap}html,body,#root{overscroll-behavior:none;width:100%;height:100dvh;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}.mono{font-family:var(--mono);font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0, "kern" 0, "tnum" 1}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr) 0;width:100%;height:100%;padding-block:var(--content-inset-top) var(--content-inset-bottom);background:var(--app-bg);transition:grid-template-columns .2s cubic-bezier(.4,0,.2,1);display:grid;overflow:hidden}.app[data-resizing-sidebar=true],.app[data-resizing-notes=true],.app[data-resizing-notes-list=true]{cursor:col-resize;transition:none}.app[data-resizing-sidebar=true] *,.app[data-resizing-notes=true] *,.app[data-resizing-notes-list=true] *{-webkit-user-select:none;user-select:none}.app[data-notes=open]{grid-template-columns:var(--sidebar-w) minmax(0, 1fr) var(--notes-w)}.app[data-sidebar=closed]{grid-template-columns:0 minmax(0,1fr) 0}.app[data-sidebar=closed][data-notes=open]{grid-template-columns:0 minmax(0, 1fr) var(--notes-w)}.sidebar{z-index:2;border-right:1px solid var(--line);background:var(--sidebar-bg);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.sidebar-resizer{z-index:4;cursor:col-resize;touch-action:none;outline:none;width:8px;height:100%;position:absolute;top:0;right:-4px}.sidebar-resizer:before{content:"";background:0 0;width:1px;height:100%;transition:background .12s,box-shadow .12s;position:absolute;top:0;right:3px}.sidebar-resizer:hover:before,.sidebar-resizer:focus-visible:before,.app[data-resizing-sidebar=true] .sidebar-resizer:before{background:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.sidebar:before{content:"";pointer-events:none;background:radial-gradient(120% 100% at 18% 0,#b4befe14,#0000 70%);height:220px;position:absolute;inset:0 0 auto}.sb-head{z-index:1;flex:none;align-items:center;gap:10px;height:56px;padding:0 14px;display:flex;position:relative}.brand{flex:auto;align-items:center;gap:9px;min-width:0;display:flex}.brand-mark{letter-spacing:0;color:var(--text);align-items:center;gap:9px;font-size:17px;font-weight:600;display:inline-flex}.brand-logo{border-radius:6px;flex:none;width:26px;height:26px;box-shadow:0 0 0 1px #cdd6f41f}.brand-title{align-items:center;gap:7px;min-width:0;display:inline-flex}.brand-dot{background:var(--st-unknown);border-radius:999px;width:8px;height:8px;box-shadow:0 0 10px}.brand-sub{color:var(--overlay1);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1;overflow:hidden}.brand-sub b{color:var(--peach);font-weight:500}.icon-btn{border-radius:var(--r-sm);width:34px;height:34px;color:var(--subtext0);background:0 0;border:1px solid #0000;flex:none;place-items:center;padding:0;transition:background .12s,color .12s,border-color .12s;display:inline-grid}.icon-btn:hover{border-color:var(--line);color:var(--text);background:var(--surface0)}.icon-btn:active{transform:translateY(.5px)}.icon-btn[data-spin] svg{animation:.7s linear infinite spin}.icon-btn.danger{color:var(--red)}.icon-btn:disabled,.icon-btn:disabled:hover{color:var(--overlay0);cursor:not-allowed;opacity:.62;background:0 0;border-color:#0000}.primary-view-switch{z-index:1;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--crust);flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin:0 8px 8px;padding:4px;display:grid;position:relative}.primary-view-switch>button,.primary-view-switch>.world-theme-selector>button{border-radius:calc(var(--r-sm) - 2px);width:100%;height:32px;color:var(--overlay1);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.primary-view-switch>button[data-on=true],.primary-view-switch>.world-theme-selector[data-on=true]{border-color:color-mix(in srgb, var(--accent) 24%, var(--line));color:var(--text);background:var(--surface0);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--accent) 78%, transparent)}.world-theme-selector{border-radius:calc(var(--r-sm) - 2px);min-width:0;color:var(--overlay1);border:1px solid #0000;grid-template-columns:minmax(0,1fr) 34px;display:grid;position:relative}.primary-view-switch>.world-theme-selector>button{border:0;border-radius:0;height:30px}.world-theme-selector[data-on=true]>button{color:var(--text)}.world-theme-selector>.world-theme-activate{border-radius:calc(var(--r-sm) - 3px) 0 0 calc(var(--r-sm) - 3px);min-width:0}.world-theme-activate span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.world-theme-selector>.world-theme-menu-trigger{border-left:1px solid color-mix(in srgb, var(--line) 82%, transparent);border-radius:0 calc(var(--r-sm) - 3px) calc(var(--r-sm) - 3px) 0;width:34px;padding:0}.world-theme-selector>.world-theme-menu-trigger svg{transition:transform .12s}.world-theme-selector>.world-theme-menu-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.world-theme-menu{z-index:120;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--mantle);gap:3px;width:max(100%,148px);padding:5px;display:grid;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 12px 30px #0000006b}.world-theme-menu button{border-radius:calc(var(--r-sm) - 2px);min-height:36px;color:var(--subtext0);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex}.world-theme-menu button:hover,.world-theme-menu button:focus-visible,.world-theme-menu button[aria-checked=true]{border-color:color-mix(in srgb, var(--accent) 36%, var(--line));color:var(--text);background:var(--surface0)}.world-theme-menu button[aria-checked=true]:after{color:var(--green);content:"✓";margin-left:auto}.sidebar-mode{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--mantle);flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:0 8px 6px;padding:4px;display:grid}.surface-loading,.surface-unavailable,.world-placeholder{min-height:0;color:var(--overlay1);text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:6px;padding:24px 18px;display:flex}.surface-loading strong,.surface-unavailable strong,.world-placeholder strong{color:var(--text);font-weight:600}.surface-loading-stage,.world-placeholder-stage{background:radial-gradient(circle at 50% 35%,#b4befe14,#0000 42%);height:100%}.world-sidebar{z-index:1;scrollbar-width:thin;scrollbar-color:var(--surface1) transparent;flex-direction:column;flex:auto;gap:12px;min-height:0;padding:0 10px 18px;display:flex;position:relative;overflow:hidden auto}.world-source-card,.world-filters,.world-inspector-card{border:1px solid var(--line);border-radius:var(--r-md);background:color-mix(in srgb, var(--mantle) 88%, transparent)}.world-source-card{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--accent) 78%, transparent);padding:13px}.world-source-card>strong{color:var(--text);margin-top:6px;font-size:13px;display:block}.world-source-card p{color:var(--overlay1);margin:5px 0 12px;font-size:11px;line-height:1.45}.world-eyebrow{color:var(--green);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:6px;font-size:9px;font-weight:700;display:flex}.world-coverage-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.world-coverage-grid>div{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:var(--r-sm);background:var(--base);text-align:center;flex-direction:column;gap:2px;min-width:0;padding:7px 4px;display:flex}.world-coverage-grid>div[data-attention=true]{border-color:color-mix(in srgb, var(--red) 45%, var(--line))}.world-coverage-grid strong{color:var(--text);font-size:14px}.world-coverage-grid span{color:var(--overlay0);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;font-size:8px;overflow:hidden}.world-filters{grid-template-columns:1fr 1fr;gap:8px;padding:10px;display:grid}.world-filters h2{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.world-filters label{flex-direction:column;gap:5px;min-width:0;display:flex}.world-filters label>span{color:var(--overlay0);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:650}.world-filters select{border:1px solid var(--line);border-radius:var(--r-sm);min-width:0;height:30px;color:var(--subtext0);background:var(--base);padding:0 8px;font-size:10px}.world-state-notice{border:1px solid color-mix(in srgb, var(--blue) 30%, var(--line));border-radius:var(--r-sm);color:var(--overlay1);background:color-mix(in srgb, var(--blue) 7%, var(--mantle));gap:4px;margin:0 10px 10px;padding:9px 10px;font-size:10px;line-height:1.35;display:grid}.world-state-notice strong{color:var(--text);font-size:11px}.world-state-notice[data-attention=true]{border-color:color-mix(in srgb, var(--yellow) 38%, var(--line));background:color-mix(in srgb, var(--yellow) 6%, var(--mantle))}.world-view-office{border:1px solid color-mix(in srgb, var(--accent) 42%, var(--line));border-radius:var(--r-sm);min-height:40px;color:var(--text);background:color-mix(in srgb, var(--accent) 11%, var(--surface0));justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:650;display:flex}.world-view-office svg:last-child{margin-left:auto}.world-roster,.world-inspector{flex-direction:column;gap:7px;display:flex}.world-section-heading{justify-content:space-between;align-items:end;gap:10px;padding:0 3px;display:flex}.world-section-heading h2{color:var(--text);margin:1px 0 0;font-size:13px;font-weight:650}.world-kicker{color:var(--overlay0);letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:700;display:block}.world-count{color:var(--overlay1);font-size:11px}.world-roster-group{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--mantle);overflow:hidden}.world-roster-group[data-stale=true]{border-color:color-mix(in srgb, var(--red) 34%, var(--line));background:color-mix(in srgb, var(--red) 4%, var(--mantle))}.world-room-row,.world-desk-row,.world-agent-row{width:100%;min-width:0;color:var(--subtext0);text-align:left;background:0 0;border:0;align-items:center;gap:9px;display:flex}.world-room-row{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface0) 54%, transparent);min-height:43px;padding:7px 9px}.world-agent-row{min-height:39px;padding:6px 9px 6px 21px}.world-desk-row{border-bottom:1px solid color-mix(in srgb, var(--line) 48%, transparent);background:color-mix(in srgb, var(--surface0) 24%, transparent);min-height:37px;padding:5px 9px 5px 21px}.world-agent-row+.world-agent-row,.world-desk-row+.world-agent-row,.world-agent-row+.world-desk-row{border-top:1px solid color-mix(in srgb, var(--line) 60%, transparent)}.world-room-row:hover,.world-desk-row:hover,.world-agent-row:hover,.world-room-row[data-selected=true],.world-desk-row[data-selected=true],.world-agent-row[data-selected=true]{color:var(--text);background:var(--row-hover)}.world-room-row[data-selected=true],.world-desk-row[data-selected=true],.world-agent-row[data-selected=true]{box-shadow:inset 3px 0 0 var(--accent)}.world-room-row>span:nth-child(2),.world-desk-row>span:nth-child(2),.world-agent-row>span:nth-child(2){flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.world-room-row strong,.world-desk-row strong,.world-agent-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.world-room-row small,.world-desk-row small,.world-agent-row small{color:var(--overlay0);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.world-desk-icon{color:var(--blue);flex:none;font-size:10px}.world-host-cue{border:1px solid color-mix(in srgb, currentColor 70%, transparent);background:var(--blue);border-radius:3px;flex:none;width:9px;height:27px;box-shadow:inset 0 0 0 2px #ffffff1f}.world-host-cue[data-theme="1"]{background:var(--mauve)}.world-host-cue[data-theme="2"]{background:var(--peach)}.world-host-cue[data-theme="3"]{background:var(--green)}.world-host-cue[data-theme="4"]{background:var(--red)}.world-host-cue[data-theme="5"]{background:var(--yellow)}.world-status-dot{background:var(--st-unknown);border-radius:50%;flex:none;width:7px;height:7px}.world-agent-row[data-status=working] .world-status-dot{background:var(--st-working)}.world-agent-row[data-status=idle] .world-status-dot{background:var(--overlay1)}.world-agent-row[data-status=blocked] .world-status-dot{background:var(--st-blocked)}.world-agent-row[data-status=done] .world-status-dot{background:var(--st-done)}.world-agent-row[data-stale=true] .world-status-dot{background:var(--red)}.world-placement{color:var(--overlay0);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:8px}.world-empty-room,.world-empty{color:var(--overlay0);padding:12px;font-size:10px}.world-empty{border:1px dashed var(--line);border-radius:var(--r-sm);text-align:center;flex-direction:column;gap:3px;display:flex}.world-empty strong{color:var(--subtext0)}.world-pagination{justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.world-pagination button{border:1px solid var(--line);border-radius:var(--r-sm);min-height:30px;color:var(--subtext0);background:var(--base);align-items:center;gap:4px;font-size:9px;display:inline-flex}.world-pagination button:disabled{cursor:not-allowed;opacity:.45}.world-inspector-card{flex-direction:column;gap:8px;min-height:294px;padding:12px;display:flex}.world-inspector-type{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:700}.world-inspector-card>strong{color:var(--text);font-size:14px}.world-inspector-card>p{color:var(--overlay1);margin:0;font-size:10px;line-height:1.45}.world-inspector-card dl{flex-direction:column;margin:0;display:flex}.world-inspector-card dl>div{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);grid-template-columns:minmax(76px,.7fr) minmax(0,1.3fr);gap:8px;padding:6px 0;font-size:9px;display:grid}.world-inspector-card dt{color:var(--overlay0)}.world-inspector-card dd{color:var(--subtext0);text-align:right;margin:0}.world-handoff{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));border-radius:var(--r-sm);min-height:36px;color:var(--text);background:color-mix(in srgb, var(--accent) 12%, var(--surface0));justify-content:center;align-items:center;gap:7px;font-size:10px;font-weight:650;display:inline-flex}.world-handoff:disabled{cursor:not-allowed;opacity:.58}.world-handoff-status{color:var(--yellow);text-align:center;font-size:9px;line-height:1.35}.world-theme-layer,.world-stage-shell{background:#080812;flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.world-theme-layer{flex-direction:row}.graph-stage-shell{background:#080812;flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.graph-stage-bar{z-index:4;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface0) 92%, #080812);flex:none;align-items:center;gap:10px;min-width:0;min-height:54px;padding:7px 12px;display:flex;position:relative}.graph-stage-heading{gap:2px;min-width:130px;display:grid}.graph-stage-heading strong{color:var(--text);font-size:13px}.graph-stage-heading span{color:var(--subtext0);font-size:9px}.graph-search{border:1px solid var(--line);border-radius:var(--r-sm);min-width:150px;max-width:420px;height:34px;color:var(--overlay0);background:var(--base);flex:260px;align-items:center;gap:7px;padding:0 10px;display:flex}.graph-search:focus-within{border-color:var(--accent)}.graph-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:auto;font-size:11px}.graph-fit{white-space:nowrap;align-items:center;gap:6px;min-height:34px;display:inline-flex}.graph-zoom-controls{flex:none;gap:3px;display:inline-flex}.graph-zoom-button{width:34px;min-width:34px;min-height:34px}.graph-content{flex:auto;min-width:0;min-height:0;display:flex}.graph-visual{background:radial-gradient(circle at 50% 45%,#89b4fa12,#0000 55%);flex:auto;min-width:0;min-height:0;position:relative;overflow:hidden}.graph-canvas-host{touch-action:none;position:absolute;inset:0;overflow:hidden}.graph-canvas-host canvas{cursor:grab;touch-action:none;display:block}.graph-conversation-connectors{z-index:3;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.graph-conversation-connectors path{fill:none;stroke:color-mix(in srgb, var(--accent) 82%, white);stroke-width:2px;stroke-dasharray:7 5;filter:drop-shadow(0 0 4px #89b4fa8c)}.graph-conversation-connectors circle{fill:var(--accent);stroke:var(--base);stroke-width:2px}.graph-canvas-host canvas:active{cursor:grabbing}.graph-visual-help,.graph-overflow-badge{z-index:2;border:1px solid color-mix(in srgb, var(--line) 76%, transparent);border-radius:var(--r-sm);max-width:calc(100% - 24px);color:var(--overlay0);background:color-mix(in srgb, var(--mantle) 88%, transparent);pointer-events:none;padding:5px 8px;font-size:9px;position:absolute}.graph-visual-help{bottom:10px;left:10px}.graph-overflow-badge{color:var(--yellow);top:10px;left:10px}.graph-semantic{border-left:1px solid var(--line);background:color-mix(in srgb, var(--mantle) 94%, #080812);scrollbar-color:var(--surface1) transparent;flex-direction:column;flex:none;gap:8px;width:clamp(280px,27vw,380px);min-width:260px;min-height:0;padding:10px;display:flex;overflow:auto}.graph-semantic-head>div{gap:2px;display:grid}.graph-semantic-head strong{color:var(--text);font-size:12px}.graph-semantic-head span{color:var(--subtext0);font-size:9px}.graph-details,.graph-details-empty{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--line));border-radius:var(--r-sm);background:color-mix(in srgb, var(--accent) 7%, var(--base));margin:0;padding:10px}.graph-details{gap:8px;display:grid}.graph-details>div:first-child{align-items:center;gap:8px;min-width:0;display:flex}.graph-details>div:first-child>div{gap:2px;min-width:0;display:grid}.graph-details strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.graph-details span,.graph-details p,.graph-details-empty{color:var(--subtext0);font-size:9px;line-height:1.4}.graph-details p{color:var(--subtext0);margin:0}.graph-details dl{gap:3px;margin:0;display:grid}.graph-details dl>div{grid-template-columns:56px minmax(0,1fr);gap:6px;display:grid}.graph-details dt{color:var(--subtext0);text-transform:uppercase;font-size:8px}.graph-details dd{min-width:0;color:var(--subtext0);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:9px;overflow:hidden}.graph-details .btn{min-height:32px}.graph-details-actions,.graph-tree-actions{gap:4px;display:flex}.graph-details-actions>.btn{flex:1 1 0;min-width:0}.graph-action-unavailable{color:var(--subtext0);font-size:9px}.graph-tree,.graph-tree ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.graph-tree-space{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--base);gap:4px;padding:4px;display:grid}.graph-tree-row,.graph-tree ul>li{align-items:stretch;gap:4px;min-width:0;display:flex}.graph-tree ul{padding-left:26px}.graph-collapse,.graph-tree-select,.graph-tree-open{border-radius:calc(var(--r-sm) - 2px);min-height:40px;color:var(--subtext0);background:0 0;border:1px solid #0000}.graph-tree-actions{flex:none}.graph-tree-actions .graph-tree-open{width:50px}.graph-terminal-identity{border:1px solid color-mix(in srgb, var(--accent) 54%, var(--line));width:26px;height:26px;color:var(--text);background:color-mix(in srgb, var(--accent) 10%, var(--surface0));border-radius:7px;flex:none;place-items:center;display:inline-grid;position:relative}.graph-terminal-identity .agent-icon{fill:currentColor;width:15px;height:15px}.graph-terminal-identity[data-agent-kind=shell]{color:var(--overlay1);background:var(--surface0);border-style:dashed}.graph-terminal-status{border:1px solid var(--base);width:12px;height:12px;color:var(--base);background:var(--accent);border-radius:50%;place-items:center;font-size:7px;font-weight:900;display:grid;position:absolute;bottom:-4px;right:-4px}.graph-collapse{flex:none;width:30px;padding:0}.graph-collapse[aria-expanded=true] svg{transform:rotate(90deg)}.graph-tree-select{text-align:left;flex:auto;align-items:center;gap:7px;min-width:0;padding:5px 7px;display:flex}.graph-tree-select>span:last-child{gap:2px;min-width:0;display:grid}.graph-tree-select strong,.graph-tree-select small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.graph-tree-select strong{color:var(--text);font-size:10px}.graph-tree-select small{color:var(--subtext0);font-size:8px}.graph-tree-select:hover,.graph-tree-select:focus-visible,.graph-tree-select[aria-pressed=true],.graph-collapse:hover,.graph-collapse:focus-visible,.graph-tree-open:hover,.graph-tree-open:focus-visible{border-color:color-mix(in srgb, var(--accent) 52%, var(--line));background:color-mix(in srgb, var(--accent) 10%, var(--surface0))}.graph-tree-select[aria-pressed=true]{box-shadow:inset 3px 0 0 var(--yellow)}.graph-tree-open{flex:none;width:54px;padding:3px;font-size:8px;line-height:1.15}.graph-status-symbol{width:22px;height:22px;color:var(--subtext0);border:1px solid;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:inline-grid}[data-status=working]>.graph-tree-row .graph-status-symbol,[data-status=working]>.graph-tree-select .graph-status-symbol{color:var(--st-working)}[data-status=blocked]>.graph-tree-row .graph-status-symbol,[data-status=blocked]>.graph-tree-select .graph-status-symbol{color:var(--st-blocked)}[data-status=done]>.graph-tree-row .graph-status-symbol,[data-status=done]>.graph-tree-select .graph-status-symbol{color:var(--st-done)}[data-status=disconnected]>.graph-tree-row .graph-status-symbol,[data-status=disconnected]>.graph-tree-select .graph-status-symbol{color:var(--red)}.graph-tree-empty,.graph-tree-overflow,.graph-semantic-overflow,.graph-empty{color:var(--subtext0);margin:0;padding:7px;font-size:9px;line-height:1.4}.graph-tree-overflow,.graph-semantic-overflow{color:var(--yellow)}.world-stage-bar{border-top:1px solid color-mix(in srgb, var(--accent) 10%, transparent)}.world-office-overview{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface0) 92%, #080812);flex:none;align-items:center;gap:14px;min-width:0;padding:7px 13px;display:flex}.world-canvas-shell{width:100%}.world-canvas-agent-bar{z-index:6;width:560px;height:206px;box-shadow:none;pointer-events:none;background:0 0;border:0;padding:0;display:block;position:absolute;top:4px;right:28px}.world-canvas-agent-bar .world-overview-heading{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.world-canvas-agent-bar .world-agent-bar{pointer-events:none;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;display:grid;position:absolute;inset:60px 10px 42px 96px;overflow:visible}.world-canvas-agent-bar .world-agent-bar-item-shell{pointer-events:none;min-width:0;min-height:0}.world-canvas-agent-bar .world-agent-bar-item{color:#0000;opacity:0;pointer-events:auto;background:0 0;border-color:#0000;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:block}.world-canvas-agent-bar .world-agent-bar-item:focus-visible{outline-offset:1px;opacity:1;border-color:#f2d78f;outline:2px solid #f2d78f}.world-canvas-agent-bar .world-agent-bar-avatar{object-fit:contain;object-position:center bottom;width:27px;height:35px;image-rendering:pixelated}.world-canvas-agent-bar .world-agent-bar-empty,.world-canvas-agent-bar .world-agent-bar-overflow{clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.world-room-actions-overlay{z-index:9;pointer-events:none;position:absolute;inset:0}.world-semantic-targets-overlay{z-index:8;pointer-events:none;position:absolute;inset:0}.world-semantic-target{color:#0000;pointer-events:auto;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:3px;padding:0;position:absolute}.world-semantic-target:focus-visible{outline-offset:-3px;background:color-mix(in srgb, var(--yellow) 12%, transparent);border-color:#f2d78f;outline:2px solid #f2d78f}.world-compact-target-chooser{z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface0) 94%, #080812);flex:none;position:relative}.world-compact-target-chooser>summary{min-height:48px;color:var(--text);cursor:pointer;touch-action:manipulation;justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;display:flex}.world-compact-target-chooser>summary small{color:var(--muted)}.world-compact-target-panel{border-top:1px solid var(--line);max-height:min(42dvh,360px);padding:0 10px 10px;overflow:auto}.world-compact-target-section h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:10px 2px 5px;font-size:10px}.world-compact-target-section ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.world-compact-target-section li{gap:4px;min-width:0;display:flex}.world-compact-target-select,.world-compact-target-open{border:1px solid var(--line);min-height:48px;color:var(--text);background:var(--surface1);touch-action:manipulation;border-radius:4px}.world-compact-target-select{text-align:left;flex:auto;justify-items:start;min-width:0;padding:6px 9px;display:grid}.world-compact-target-select span,.world-compact-target-select small{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.world-compact-target-select[aria-pressed=true]{border-color:var(--yellow);background:color-mix(in srgb, var(--yellow) 12%, var(--surface1))}.world-compact-target-open{flex:none;min-width:64px;padding:0 10px}.world-compact-target-select:hover,.world-compact-target-select:focus-visible,.world-compact-target-open:hover,.world-compact-target-open:focus-visible{border-color:var(--accent)}.world-compact-target-section>p{color:var(--muted);margin:6px 2px 0;font-size:9px}.world-room-actions{pointer-events:none;display:block;position:absolute}.world-room-actions-stale{visibility:hidden;pointer-events:none}.world-room-overlay-action{border:1px solid color-mix(in srgb, var(--yellow) 55%, var(--line));width:20px;height:20px;color:var(--text);background:color-mix(in srgb, #3c2c1d 86%, var(--surface0));pointer-events:auto;border-radius:3px;place-items:center;padding:0;display:inline-grid;position:absolute}.world-room-overlay-action:hover:not(:disabled),.world-room-overlay-action:focus-visible{border-color:var(--yellow);background:color-mix(in srgb, var(--yellow) 20%, var(--surface0))}.world-room-overlay-action-danger:not(:disabled){color:var(--red)}.world-new-seat-canvas-action{color:#0000;pointer-events:auto;background:0 0;border:0;width:50px;height:27px;padding:0;position:absolute}.world-new-seat-canvas-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.world-new-seat-canvas-action-full{cursor:not-allowed;opacity:.6}.world-new-room-canvas-action{border:1px solid color-mix(in srgb, var(--st-working) 72%, var(--line));width:56px;height:48px;color:var(--text);background:color-mix(in srgb, var(--st-working) 12%, var(--surface0));letter-spacing:.04em;pointer-events:auto;border-radius:5px;place-items:center;padding:3px 4px;font-size:7px;display:grid;position:absolute}.world-new-room-canvas-action:hover,.world-new-room-canvas-action:focus-visible{border-color:var(--st-working);background:color-mix(in srgb, var(--st-working) 24%, var(--surface0))}.world-overview-heading{color:var(--subtext0);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;flex:none;gap:2px;font-size:8px;display:grid}.world-overview-heading strong{color:var(--text);font-size:10px}.world-agent-bar{scrollbar-width:thin;align-items:stretch;gap:7px;min-width:0;margin:0;padding:0;display:flex;overflow-x:auto}.world-agent-bar-item-shell{flex:none;list-style:none;display:block}.world-agent-bar-item{border:1px solid var(--line);border-radius:var(--r-sm);min-width:108px;color:var(--subtext0);background:color-mix(in srgb, var(--base) 90%, var(--surface0));text-align:left;flex:none;gap:2px;padding:5px 8px;display:grid}.world-agent-bar-item:hover,.world-agent-bar-item[aria-pressed=true]{border-color:color-mix(in srgb, var(--accent) 68%, var(--line));background:color-mix(in srgb, var(--accent) 14%, var(--surface0))}.world-agent-bar-item[data-status=working]{border-color:color-mix(in srgb, var(--st-working) 58%, var(--line))}.world-agent-bar-item[data-status=blocked]{border-color:color-mix(in srgb, var(--st-blocked) 58%, var(--line))}.world-agent-bar-item[data-status=done]{border-color:color-mix(in srgb, var(--st-done) 58%, var(--line))}.world-agent-bar-item[data-status=stale]{border-color:color-mix(in srgb, var(--red) 58%, var(--line))}.world-agent-bar-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.world-agent-bar-state{color:var(--overlay1);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.world-agent-bar-item[data-status=working] .world-agent-bar-state{color:var(--st-working)}.world-agent-bar-item[data-status=blocked] .world-agent-bar-state{color:var(--st-blocked)}.world-agent-bar-item[data-status=done] .world-agent-bar-state{color:var(--st-done)}.world-agent-bar-item[data-status=stale] .world-agent-bar-state{color:var(--red)}.world-agent-bar-empty,.world-agent-bar-overflow{min-height:32px;color:var(--subtext0);white-space:nowrap;flex:none;align-items:center;font-size:9px;list-style:none;display:inline-flex}.world-agent-bar-overflow{color:var(--yellow);padding:0 5px}.world-stage-stat{border:1px solid var(--line);border-radius:var(--r-sm);height:26px;color:var(--subtext0);background:var(--base);text-transform:uppercase;align-items:center;gap:5px;padding:0 9px;font-size:9px;display:inline-flex}.world-stage-stat span{color:var(--text);font-family:var(--mono);font-size:11px}.world-stage-stat[data-status=working]{border-color:color-mix(in srgb, var(--st-working) 35%, var(--line))}.world-stage-stat[data-status=blocked]{border-color:color-mix(in srgb, var(--st-blocked) 35%, var(--line))}.world-canvas-callout{z-index:12;border:1px solid color-mix(in srgb, var(--accent) 60%, var(--line));border-radius:var(--r-sm);pointer-events:none;max-width:min(260px,100% - 24px);color:var(--subtext0);background:color-mix(in srgb, var(--mantle) 94%, var(--accent));white-space:nowrap;gap:3px;padding:7px 9px;font-size:9px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 8px 24px #00000061}.world-canvas-callout strong{color:var(--text);text-overflow:ellipsis;font-size:10px;overflow:hidden}.world-canvas-callout span{text-overflow:ellipsis;overflow:hidden}.world-canvas-callout-persistent{z-index:13;white-space:normal;border-width:2px;gap:5px;max-width:min(360px,100% - 24px);padding:9px 11px;font-size:10px}.world-canvas-callout-persistent strong{font-size:11px}.world-canvas-callout-summary{color:var(--text);font-size:11px;line-height:1.35}.world-canvas-callout[data-status=working]{border-color:color-mix(in srgb, var(--st-working) 70%, var(--line))}.world-canvas-callout[data-status=blocked]{border-color:color-mix(in srgb, var(--st-blocked) 70%, var(--line))}.world-canvas-callout[data-status=done]{border-color:color-mix(in srgb, var(--st-done) 70%, var(--line))}.world-canvas-callout[data-status=stale]{border-color:color-mix(in srgb, var(--red) 70%, var(--line))}.world-stage-scroll{overscroll-behavior:contain;scrollbar-color:#353554 #0a0a14;flex:auto;min-width:0;min-height:0;position:relative;overflow:auto}.world-canvas-shell,.world-canvas-host{width:100%;min-width:1000px;min-height:100%;position:relative}.world-canvas-host canvas{max-width:none;display:block;position:sticky;top:0}.world-conversation-slot{z-index:20;pointer-events:auto;width:min(72%,960px);min-width:560px;height:min(60%,560px);min-height:340px;margin:auto;position:absolute;inset:0}.world-conversation-slot[data-positioned=true]{margin:0;inset:auto}.world-conversation-slot[data-interaction=moving],.world-conversation-slot[data-interaction=resizing]{-webkit-user-select:none;user-select:none}.world-conversation-bubble{border:1px solid color-mix(in srgb, var(--accent) 62%, var(--line));background:color-mix(in srgb, var(--base) 86%, transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:10px;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 18px 50px #0000006b,0 0 0 1px #ffffff0a}.world-conversation-header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--mantle) 92%, var(--accent));cursor:grab;touch-action:none;flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:7px 8px 7px 13px;display:flex}.world-conversation-slot[data-interaction=moving] .world-conversation-header,.world-conversation-slot[data-interaction=resizing] .world-conversation-header{cursor:grabbing}.world-conversation-header:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.world-conversation-heading{min-width:0;color:var(--accent);align-items:center;gap:9px;display:flex}.world-conversation-heading>div{gap:2px;min-width:0;display:grid}.world-conversation-heading strong,.world-conversation-heading span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.world-conversation-heading strong{color:var(--text);font-size:13px;font-weight:650}.world-conversation-heading span{color:var(--subtext0);font-size:10px}.world-conversation-actions{flex:none;align-items:center;gap:3px;display:inline-flex}.world-conversation-context{min-width:0;color:var(--subtext0);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:9px;overflow:hidden}.world-conversation-context[data-status=working]{color:var(--st-working)}.world-conversation-context[data-status=idle]{color:var(--overlay1)}.world-conversation-context[data-status=blocked]{color:var(--st-blocked)}.world-conversation-context[data-status=done]{color:var(--st-done)}.world-conversation-context[data-status=stale]{color:var(--red)}.world-conversation-context[data-status=unknown]{color:var(--st-unknown)}.world-conversation-terminal{flex:auto;min-width:0;min-height:0;display:flex}.world-conversation-terminal .terminal-stage{border-radius:0 0 9px 9px}.world-conversation-terminal .terminal-host{background:#11111be0;justify-content:center;align-items:center;padding:0;display:flex}.world-conversation-terminal .terminal-host>.xterm{justify-content:center;align-items:center;display:flex}.world-conversation-terminal .terminal-host>.xterm .xterm-screen{margin:auto}.world-conversation-terminal .terminal-stage[data-terminal-translucent=true]{background:0 0}.world-conversation-resize{z-index:3;background:linear-gradient(135deg, transparent 55%, color-mix(in srgb, var(--accent) 13%, transparent) 55%);cursor:nwse-resize;touch-action:none;border:0;border-radius:0 0 10px;width:42px;height:42px;position:absolute;bottom:-1px;right:-1px}.world-conversation-resize:before{border-right:3px solid color-mix(in srgb, var(--accent) 82%, white);border-bottom:3px solid color-mix(in srgb, var(--accent) 82%, white);content:"";opacity:.72;width:16px;height:16px;position:absolute;bottom:8px;right:8px}.world-conversation-resize:hover:before,.world-conversation-resize:focus-visible:before{opacity:1}.world-conversation-resize:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.world-conversation-connector{z-index:18;pointer-events:none;position:absolute;inset:0;overflow:visible}.world-conversation-connector path{fill:none;stroke:color-mix(in srgb, var(--accent) 72%, white);stroke-width:2px;stroke-linecap:round;stroke-dasharray:5 5;opacity:.76}.world-conversation-connector path[data-anchor=workbench]{stroke:color-mix(in srgb, var(--peach) 68%, var(--accent));stroke-dasharray:3 6;opacity:.58}.world-conversation-connector path[data-anchor=agent]{stroke:color-mix(in srgb, var(--accent) 82%, white);opacity:.86}.world-conversation-connector path[data-offscreen]{stroke-dasharray:2 6;opacity:.72}.world-conversation-connector circle{fill:var(--accent);stroke:var(--base);stroke-width:2px}.world-conversation-connector circle[data-anchor=workbench]{fill:var(--peach)}.world-conversation-connector circle[data-offscreen]{fill:var(--yellow)}.world-renderer-fallback{min-width:min(1000px,100vw);min-height:440px;color:var(--overlay1);text-align:center;background:radial-gradient(circle at 50% 35%,#17172c,#090912 65%);flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.world-renderer-fallback strong{color:var(--text)}.sidebar-mode button{border-radius:calc(var(--r-sm) - 2px);height:30px;color:var(--overlay1);background:0 0;border:0;font-size:12px;font-weight:550;transition:color .12s,background .12s}.sidebar-mode button[data-on=true]{color:var(--text);background:var(--surface0)}.sidebar-scope{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--mantle);flex:none;grid-template-columns:1fr 1fr;align-self:stretch;gap:3px;margin:0 8px 8px;padding:4px;display:grid}.host-scope{grid-template-columns:repeat(auto-fit,minmax(82px,1fr))}.sidebar-scope button{border-radius:calc(var(--r-sm) - 2px);text-overflow:ellipsis;white-space:nowrap;min-width:0;height:28px;color:var(--overlay1);background:0 0;border:0;padding:0 10px;font-size:11px;font-weight:550;transition:color .12s,background .12s;overflow:hidden}.sidebar-scope button[data-on=true]{color:var(--crust);background:var(--accent)}.sidebar-scope .bridge-chip{justify-content:center;align-items:center;gap:6px;display:inline-flex}.bridge-chip-dot{border:1px solid color-mix(in srgb, var(--bridge-color) 75%, var(--crust));background:var(--bridge-color);width:8px;height:8px;box-shadow:0 0 0 2px color-mix(in srgb, var(--bridge-color) 16%, transparent);border-radius:50%;flex:none}.bridge-chip[data-connection=connecting] .bridge-chip-dot,.bridge-chip[data-connection=degraded] .bridge-chip-dot{background:var(--yellow)}.bridge-chip[data-connection=offline] .bridge-chip-dot,.bridge-chip[data-connection=incompatible] .bridge-chip-dot{background:var(--red);box-shadow:none}:where(button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bridge-chip-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.grp-bridge-dot{width:9px;height:9px}.list{scrollbar-width:thin;scrollbar-color:var(--surface1) transparent;flex-direction:column;flex:auto;gap:6px;min-height:0;padding:4px 8px 16px;display:flex;overflow-y:auto}.list::-webkit-scrollbar{width:9px}.list::-webkit-scrollbar-thumb{background:var(--surface1);background-clip:content-box;border:3px solid #0000;border-radius:999px}.list::-webkit-scrollbar-thumb:hover{background:var(--surface2);background-clip:content-box}.sec{flex-direction:column;display:flex}.sec-head{align-items:center;gap:8px;height:30px;padding:0 8px 0 10px;display:flex}.sec-label{letter-spacing:.08em;color:var(--overlay1);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;flex:0 auto;font-size:11px;font-weight:600;overflow:hidden}.sec-rule{background:linear-gradient(90deg, var(--line), transparent);flex:auto;height:1px}.sec-count{color:var(--overlay0);flex:none;font-size:11px}.scope{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--mantle);flex:none;padding:2px;display:inline-flex}.scope button{border-radius:calc(var(--r-sm) - 2px);color:var(--overlay1);background:0 0;border:0;padding:2px 9px;font-size:11px;font-weight:500;transition:color .12s,background .12s}.scope button[data-on=true]{color:var(--crust);background:var(--accent)}.space-row-shell{transition:opacity .14s;position:relative}.space-row{border-radius:var(--r-md);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:9px 11px;transition:background .12s,border-color .12s;animation:.32s cubic-bezier(.2,.7,.2,1) both rowIn;display:grid}.space-row,.pane-row,.tab-head,.tabbar-tab,.stage-id{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.space-row:hover{background:var(--row-hover)}.space-row[data-active=true]{border-color:var(--line);background:var(--row-active);box-shadow:0 0 0 1px var(--accent-soft)}.space-row-shell[data-reorder-member=true] .space-row{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));background:color-mix(in srgb, var(--accent-soft) 44%, transparent)}.space-row-shell[data-reorder-source=true] .space-row{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);padding-right:50px}.sidebar[data-space-reorder=true] button{pointer-events:none}.sidebar[data-space-reorder=true] .space-row-shell[data-reorder-source=true]>.space-row,.sidebar[data-space-reorder=true] .space-reorder-cancel{pointer-events:auto}.space-row-shell[data-reorder-source=true]>.space-row{cursor:grab;touch-action:none}.space-row-shell[data-reorder-source=true]>.space-row:active{cursor:grabbing}.sidebar[data-space-reorder=true] .sb-head,.sidebar[data-space-reorder=true] .host-scope,.sidebar[data-space-reorder=true] .sidebar-mode,.sidebar[data-space-reorder=true] .sidebar-scope,.sidebar[data-space-reorder=true] [data-sidebar-section=spaces] .sec-head,.sidebar[data-space-reorder=true] [data-sidebar-section=spaces] .grp-space,.sidebar[data-space-reorder=true] [data-sidebar-section=content],.sidebar[data-space-reorder=true] .space-row-shell:not([data-reorder-member=true]){opacity:.38}.space-reorder-controls{align-items:center;gap:2px;display:flex;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.space-reorder-cancel{border-radius:var(--r-sm);width:34px;height:34px;color:var(--subtext0);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.space-reorder-cancel:hover{border-color:var(--line);color:var(--text);background:var(--row-hover)}.space-reorder-cancel:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.space-row-shell[data-drop-before=true]:before,.space-row-shell[data-drop-after=true]:after{z-index:2;background:var(--accent);height:2px;box-shadow:0 0 0 1px var(--mantle);content:"";pointer-events:none;border-radius:999px;position:absolute;left:7px;right:7px}.space-row-shell[data-drop-before=true]:before{top:-2px}.space-row-shell[data-drop-after=true]:after{bottom:-2px}.space-body{flex-direction:column;gap:2px;min-width:0;display:flex}.space-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:550;overflow:hidden}.space-sub{color:var(--overlay0);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.attn{min-width:19px;height:19px;font-family:var(--mono);color:var(--crust);background:var(--peach);border-radius:999px;place-items:center;padding:0 5px;font-size:11px;font-weight:600;display:inline-grid}.tabgrp+.tabgrp{margin-top:2px}.tab-div{align-items:center;gap:8px;height:26px;margin-top:4px;padding:0 11px;display:flex}.tab-name{color:var(--overlay1);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:11px;font-weight:500;overflow:hidden}.tab-split{border:1px solid var(--line);color:var(--overlay0);border-radius:999px;flex:none;align-items:center;gap:3px;padding:1px 6px;font-size:10px;display:inline-flex}.tab-line{background:var(--line-soft);flex:auto;height:1px}.grp-space{border-radius:var(--r-sm);width:100%;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:8px 10px 3px;display:flex}.grp-space:hover{background:var(--row-hover)}.grp-space[data-nested=true]{padding-left:26px}.grp-space:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.grp-space-chevron{color:var(--overlay0);flex:none}.grp-space-name{color:var(--subtext0);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.grp-space-line{background:var(--line-soft);flex:auto;height:1px}.grp-space-count{color:var(--overlay0);flex:none;font-size:10px}.pane-row{border-radius:var(--r-md);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:8px 11px 8px 12px;transition:background .12s,border-color .12s;animation:.32s cubic-bezier(.2,.7,.2,1) both rowIn;display:grid}.pane-row:hover{background:var(--row-hover)}.pane-row[data-active=true]{border-color:var(--line);background:var(--row-active);box-shadow:0 0 0 1px var(--accent-soft)}.pane-body{flex-direction:column;gap:2px;min-width:0;display:flex}.pane-name{color:var(--subtext1);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.pane-row[data-active=true] .pane-name{color:var(--text);font-weight:550}.agent-row{grid-template-columns:16px minmax(0,1fr) auto}.agent-row .pane-name{color:var(--text);font-weight:550}.pane-title{align-items:center;gap:6px;min-width:0;display:flex}.pane-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.agent-icon{fill:currentColor;width:14px;height:14px;color:var(--subtext1);flex:none}.agent-pin-indicator{width:10px;height:10px;color:var(--overlay1);flex:none}.agent-icon-claude{color:#d97757}.agent-row[data-status=blocked]{border-color:color-mix(in srgb, var(--st-blocked) 22%, transparent)}.agent-row[data-status=done]{border-color:color-mix(in srgb, var(--st-done) 18%, transparent)}.note-row[data-link=unresolved]{border-color:color-mix(in srgb, var(--st-working) 18%, transparent)}.note-row[data-link=detached]{border-color:color-mix(in srgb, var(--overlay0) 18%, transparent)}.pane-meta{color:var(--overlay0);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pane-word{border-radius:calc(var(--r-sm) - 2px);background:color-mix(in srgb, currentColor 9%, transparent);font-family:var(--mono);letter-spacing:0;border:1px solid;flex:none;padding:2px 6px;font-size:11px;font-weight:500;line-height:1.2}.dot{background:var(--st-unknown);border-radius:3px;flex:none;justify-self:center;width:10px;height:10px;position:relative}.dot[data-status=blocked]{background:var(--st-blocked)}.dot[data-status=working]{background:var(--st-working)}.dot[data-status=done]{background:var(--st-done)}.dot[data-status=idle]{background:var(--st-idle)}.dot[data-status=unknown]{background:var(--st-unknown)}.dot[data-status=blocked],.dot[data-status=done]{color:inherit;box-shadow:0 0 9px -1px}.dot[data-status=working]{animation:1.7s ease-out infinite pulse}.pane-word[data-status=blocked]{color:var(--st-blocked)}.pane-word[data-status=working]{color:var(--st-working)}.pane-word[data-status=done]{color:var(--st-done)}.empty{color:var(--overlay0);text-align:center;flex-direction:column;gap:4px;padding:28px 16px;font-size:12.5px;display:flex}.empty strong{color:var(--subtext0);font-weight:550}.stage{z-index:1;background:var(--term-bg);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.stage-bar{border-bottom:1px solid var(--line);background:var(--mantle);flex:none;align-items:center;gap:10px;height:56px;padding:0 12px 0 10px;display:flex}.tabbar{border-bottom:1px solid var(--line);background:var(--sidebar-bg);flex:none;align-items:center;gap:8px;height:40px;padding:0 8px 0 10px;display:flex}.tabbar-scroll{scrollbar-width:thin;scrollbar-color:var(--surface1) transparent;flex:auto;align-items:center;gap:4px;min-width:0;display:flex;overflow:auto hidden}.tabbar-tab{border-radius:var(--r-sm);max-width:220px;height:28px;color:var(--overlay1);white-space:nowrap;background:0 0;border:1px solid #0000;flex:none;align-items:center;gap:7px;padding:0 12px;font-size:12.5px;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.tabbar-tab:hover{color:var(--text);background:var(--row-hover)}.tabbar-tab[data-active=true]{border-color:var(--line);color:var(--text);background:var(--row-active)}.tabbar-name{text-overflow:ellipsis;overflow:hidden}.tabbar-add{border:1px solid var(--line);border-radius:var(--r-sm);width:26px;height:26px;color:var(--overlay1);background:0 0;flex:none;place-items:center;padding:0;transition:color .12s,border-color .12s,background .12s;display:inline-grid}.tabbar-add:hover{border-color:var(--surface1);color:var(--text);background:var(--surface0)}.stage-id{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.stage-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550;overflow:hidden}.stage-sub{color:var(--overlay1);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.stage-pin-button[data-on=true]{border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--accent);background:color-mix(in srgb, var(--accent) 11%, transparent)}.badge{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--base);height:26px;color:var(--subtext0);flex:none;align-items:center;gap:7px;padding:0 11px 0 9px;font-size:12px;display:inline-flex}.badge[data-status=blocked]{border-color:color-mix(in srgb, var(--st-blocked) 45%, var(--line));color:var(--st-blocked)}.badge[data-status=working]{border-color:color-mix(in srgb, var(--st-working) 45%, var(--line));color:var(--st-working)}.badge[data-status=done]{border-color:color-mix(in srgb, var(--st-done) 45%, var(--line));color:var(--st-done)}.notes-button{position:relative}.notes-button:after{content:"";background:0 0;border-radius:999px;height:2px;position:absolute;bottom:6px;left:12px;right:12px}.notes-button[data-has-notes=true]:after{background:color-mix(in srgb, var(--teal) 70%, var(--overlay1))}.notes-button[data-active=true]{border-color:color-mix(in srgb, var(--accent) 50%, var(--line));color:var(--text);background:var(--accent-soft)}.notes-surface{z-index:1;width:var(--notes-w);border-left:1px solid var(--line);background:var(--base);min-width:0;height:100%;min-height:0;box-shadow:none;flex-direction:column;display:flex;position:relative}.notes-resizer{z-index:4;cursor:col-resize;touch-action:none;outline:none;width:8px;height:100%;position:absolute;top:0;left:-4px}.notes-resizer:before{content:"";background:0 0;width:1px;height:100%;transition:background .12s,box-shadow .12s;position:absolute;top:0;left:3px}.notes-resizer:hover:before,.notes-resizer:focus-visible:before,.app[data-resizing-notes=true] .notes-resizer:before{background:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.notes-head{border-bottom:1px solid var(--line);background:var(--mantle);align-items:center;gap:12px;min-height:58px;padding:0 14px 0 16px;display:flex}.notes-head>div{flex:auto;min-width:0}.notes-title{color:var(--text);font-size:15px;font-weight:650;display:block}.notes-sub{max-width:100%;color:var(--overlay1);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.pane-note-tabs{border-bottom:1px solid var(--line-soft);background:color-mix(in srgb, var(--mantle) 76%, var(--base));scrollbar-width:thin;align-items:center;gap:6px;min-width:0;min-height:42px;padding:6px 10px;display:flex;overflow:auto hidden}.pane-note-tab{border:1px solid var(--line);border-radius:var(--r-sm);min-width:64px;max-width:180px;height:28px;color:var(--overlay1);background:var(--surface0);text-overflow:ellipsis;white-space:nowrap;flex:none;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:650;display:inline-flex;overflow:hidden}.pane-note-tab[data-active=true]{border-color:color-mix(in srgb, var(--accent) 52%, var(--line));color:var(--text);background:var(--accent-soft)}.pane-note-tab-new{min-width:32px;max-width:32px;padding:0}.notes-shell{grid-template-columns:var(--notes-list-w) minmax(0, 1fr);flex:auto;min-height:0;transition:grid-template-columns .16s;display:grid}.notes-surface[data-list=collapsed] .notes-shell{grid-template-columns:0 minmax(0,1fr)}.notes-list-pane{border-right:1px solid var(--line);background:var(--sidebar-bg);min-width:0;position:relative;overflow-y:auto}.notes-surface[data-list=collapsed] .notes-list-pane{visibility:hidden;border-right:0;overflow:hidden}.notes-list-resizer{z-index:3;cursor:col-resize;touch-action:none;outline:none;width:8px;height:100%;position:absolute;top:0;right:-4px}.notes-list-resizer:before{content:"";background:0 0;width:1px;height:100%;transition:background .12s,box-shadow .12s;position:absolute;top:0;right:3px}.notes-list-resizer:hover:before,.notes-list-resizer:focus-visible:before,.app[data-resizing-notes-list=true] .notes-list-resizer:before{background:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.notes-section{flex-direction:column;min-width:0;padding:8px;display:flex}.notes-section+.notes-section{border-top:1px solid var(--line-soft)}.notes-section-head{min-height:32px;color:var(--overlay1);letter-spacing:.06em;text-transform:uppercase;justify-content:flex-start;align-items:center;gap:8px;padding:0 2px 0 6px;font-size:11px;font-weight:700;display:flex}.notes-section-head>span{flex:auto}.notes-filter{color:var(--overlay1);letter-spacing:0;text-transform:none;align-items:center;gap:4px;font-size:10px;font-weight:650;display:inline-flex}.notes-filter input{width:12px;height:12px;accent-color:var(--accent)}.notes-empty{color:var(--overlay0);padding:14px 8px 16px;font-size:12px;line-height:1.35}.notes-list-item{border-radius:var(--r-sm);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:12px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;padding:8px 7px;transition:background .12s,border-color .12s;display:grid}.notes-list-item:hover{background:var(--row-hover)}.notes-list-item[data-active=true]{border-color:var(--line);background:var(--row-active)}.notes-list-item-body{flex-direction:column;gap:2px;min-width:0;display:flex}.notes-list-item-title{color:var(--subtext1);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.notes-list-item-sub{color:var(--overlay0);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.note-editor{background:var(--base);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.note-editor-empty{color:var(--overlay0);justify-content:center;align-items:center;gap:10px;font-size:13px}.note-editor-toolbar{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:45px;padding:6px 10px;display:grid}.note-editor-toolbar-left,.note-editor-actions{align-items:center;gap:6px;min-width:0;display:flex}.note-editor-toolbar-left{flex-wrap:wrap}.note-editor-actions{justify-content:flex-end}.note-editor-mode{flex:none;width:auto;min-width:122px}.note-editor-mode button{height:26px;padding:0 8px;font-size:11px}.note-state-icon{width:18px;height:18px;color:var(--overlay1);flex:none;place-items:center;display:inline-grid}.note-state-icon[data-status=blocked]{color:var(--st-blocked)}.note-state-icon[data-status=working]{color:var(--st-working)}.note-state-icon[data-status=done]{color:var(--st-done)}.note-conflict{border-bottom:1px solid color-mix(in srgb, var(--peach) 35%, var(--line-soft));color:var(--peach);background:color-mix(in srgb, var(--peach) 12%, var(--base));align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.note-conflict span{flex:auto;min-width:0}.note-conflict button{border:1px solid color-mix(in srgb, var(--peach) 48%, var(--line));color:var(--text);background:color-mix(in srgb, var(--surface0) 75%, var(--peach));font:inherit;cursor:pointer;border-radius:6px;flex:none;padding:5px 8px;font-size:12px}.note-title-input,.note-body-input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none}.note-title-input{border-bottom:1px solid var(--line-soft);flex:none;padding:16px 16px 10px;font-size:18px;font-weight:650}.note-body-input{resize:none;min-height:0;color:var(--subtext1);flex:auto;padding:14px 16px 42px;font-size:13.5px;line-height:1.55}.note-body-preview{min-height:0;color:var(--subtext1);flex:auto;padding:14px 16px 42px;font-size:13px;line-height:1.5;overflow:auto}.note-editor-save-status{z-index:1;border:1px solid var(--line-soft);max-width:min(180px,100% - 24px);color:var(--overlay1);background:color-mix(in srgb, var(--surface0) 88%, transparent);pointer-events:none;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:10.5px;line-height:1;position:absolute;bottom:10px;right:12px;overflow:hidden;box-shadow:0 6px 18px #0003}.note-editor-save-status[data-state=error],.note-editor-save-status[data-state=conflict]{border-color:color-mix(in srgb, var(--peach) 42%, var(--line-soft));color:var(--peach);background:color-mix(in srgb, var(--peach) 12%, var(--surface0))}.note-body-preview>:first-child{margin-top:0}.note-body-preview>:last-child{margin-bottom:0}.note-body-preview h1,.note-body-preview h2,.note-body-preview h3{color:var(--text);margin:1em 0 .45em;font-weight:650;line-height:1.2}.note-body-preview h1{font-size:20px}.note-body-preview h2{font-size:17px}.note-body-preview h3{font-size:15px}.note-body-preview p,.note-body-preview ul,.note-body-preview ol,.note-body-preview blockquote,.note-body-preview pre,.note-body-preview table{margin:0 0 .85em}.note-body-preview ul,.note-body-preview ol{padding-left:1.35em}.note-body-preview li+li{margin-top:.25em}.note-body-preview a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.note-body-preview code{background:var(--surface0);color:var(--text);font-family:var(--mono);border-radius:4px;padding:1px 4px;font-size:.94em}.note-body-preview pre{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--crust);padding:10px;overflow:auto}.note-body-preview pre code{background:0 0;padding:0}.note-body-preview blockquote{border-left:2px solid var(--line);color:var(--overlay1);padding-left:10px}.note-body-preview table{border-collapse:collapse;width:100%}.note-body-preview th,.note-body-preview td{border:1px solid var(--line-soft);padding:6px 7px}.note-body-preview th{color:var(--text);background:var(--surface0);font-weight:650}.note-body-preview-empty{color:var(--overlay0)}.terminal-stage{--terminal-mobile-controls-height:calc(82px * var(--mobile-controls-scale));background:var(--term-bg);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.terminal-host{touch-action:none;font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0, "kern" 0;outline:none;flex:auto;width:100%;min-width:0;min-height:0;padding:10px 8px 8px 12px;position:relative;overflow:hidden}.terminal-host canvas{display:block}.terminal-host .ghostty-hidden-input{left:var(--ghostty-ime-left,-10000px)!important;top:var(--ghostty-ime-top,0px)!important;width:var(--ghostty-ime-width,1px)!important;height:var(--ghostty-ime-height,1px)!important;opacity:0!important;color:#0000!important;caret-color:#0000!important;resize:none!important;pointer-events:none!important;z-index:0!important;background:0 0!important;border:0!important;margin:0!important;padding:0!important;position:fixed!important;overflow:hidden!important}.terminal-host .ghostty-hidden-input.ghostty-keyboard-input,.terminal-host .ghostty-hidden-input.ghostty-ime-composing{left:var(--ghostty-ime-left,1px)!important;top:var(--ghostty-ime-top,1px)!important;width:var(--ghostty-ime-width,1px)!important;height:var(--ghostty-ime-height,16px)!important;z-index:5!important}.terminal-host .ghostty-ime-preedit{z-index:6;box-sizing:border-box;background:color-mix(in srgb, var(--surface0) 88%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--blue) 35%, transparent);color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue);text-underline-offset:2px;white-space:pre;pointer-events:none;border:0;border-radius:2px;margin:0;padding:0 2px;text-decoration-thickness:1px;position:fixed;overflow:hidden}.terminal-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.terminal-upload-fab{z-index:3;border:1px solid var(--line);border-radius:var(--r-sm);background:color-mix(in srgb, var(--mantle) 86%, black);width:34px;height:34px;color:var(--text);opacity:.78;touch-action:manipulation;place-items:center;padding:0;display:inline-grid;position:absolute;top:12px;right:12px}.terminal-upload-fab:hover,.terminal-upload-fab:focus-visible{border-color:var(--accent);color:var(--accent);opacity:1}.terminal-upload-fab:disabled{cursor:default;opacity:.42}.terminal-upload-status{z-index:4;border:1px solid var(--line);border-radius:var(--r-sm);background:color-mix(in srgb, var(--mantle) 92%, black);max-width:min(420px,100vw - 24px);color:var(--text);text-overflow:ellipsis;white-space:nowrap;padding:7px 10px;font-size:12px;line-height:1.2;position:absolute;bottom:12px;right:12px;overflow:hidden}.terminal-selection-sheet{z-index:9;border:1px solid var(--line);border-radius:var(--r-md);background:color-mix(in srgb, var(--mantle) 94%, black);gap:9px;padding:10px;display:grid;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 12px 34px #00000070}.terminal-selection-url{min-width:0;color:var(--subtext0);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.3;overflow:hidden}.terminal-selection-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.terminal-selection-actions .btn{align-items:center;gap:6px;padding-inline:10px;display:inline-flex}.terminal-selection-actions .icon-btn{flex:none;margin-left:auto}.terminal-touch-loupe{z-index:8;pointer-events:none;border:1px solid color-mix(in srgb, var(--accent) 68%, white);background:var(--term-bg);will-change:transform;border-radius:18px;width:132px;height:82px;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 12px 34px #00000070,inset 0 0 0 1px #ffffff14}.terminal-touch-loupe canvas{width:100%;height:100%;display:block}.terminal-touch-endpoint{z-index:7;touch-action:none;will-change:transform;background:0 0;width:72px;height:72px;position:absolute;top:0;left:0}.terminal-touch-endpoint[data-dragging=true]{opacity:0}.terminal-touch-endpoint[data-hint]:before{content:attr(data-hint);border:1px solid var(--line);background:color-mix(in srgb, var(--mantle) 92%, black);color:var(--text);white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:11px;line-height:1.2;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.terminal-touch-endpoint-ring{left:var(--terminal-touch-endpoint-ring-left);top:var(--terminal-touch-endpoint-ring-top);box-sizing:border-box;width:var(--terminal-touch-endpoint-ring-diameter);height:var(--terminal-touch-endpoint-ring-diameter);border:3px solid color-mix(in srgb, var(--terminal-touch-marker) 82%, white);background:color-mix(in srgb, var(--terminal-touch-marker) 8%, transparent);pointer-events:none;border-radius:999px;position:absolute;box-shadow:0 3px 12px #0000003d,0 0 0 1px #0003}.terminal-mobile-controls{--mobile-control-gap:calc(5px * var(--mobile-controls-scale));--mobile-key-height:calc(30px * var(--mobile-controls-scale));--mobile-key-min-width:calc(34px * var(--mobile-controls-scale));--mobile-key-icon-width:calc(34px * var(--mobile-controls-scale));--mobile-key-padding-x:calc(7px * var(--mobile-controls-scale));--mobile-key-panel-padding-x:calc(3px * var(--mobile-controls-scale));--mobile-input-row-height:calc(34px * var(--mobile-controls-scale));--mobile-input-padding-x:calc(10px * var(--mobile-controls-scale));--mobile-send-width:calc(38px * var(--mobile-controls-scale));gap:var(--mobile-control-gap);padding:calc(6px * var(--mobile-controls-scale)) max(8px, env(safe-area-inset-right)) calc(7px * var(--mobile-controls-scale)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--line);background:color-mix(in srgb, var(--mantle) 94%, black);flex:none;display:none}.term-key-strip,.term-key-group,.term-key-actions,.term-key-panel,.term-input-row{gap:var(--mobile-control-gap);min-width:0;display:flex}.term-key-strip{align-items:center;padding-bottom:1px}.term-key-group{scrollbar-width:none;flex:auto;overflow-x:auto}.term-key-group::-webkit-scrollbar{display:none}.term-key-actions{padding-left:var(--mobile-key-padding-x);border-left:1px solid var(--line);flex:none;justify-content:flex-end;margin-left:auto}.term-key-panel{grid-template-columns:repeat(10,minmax(0,1fr));display:grid}.term-key,.term-send{min-width:0;height:var(--mobile-key-height);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface0);color:var(--text);font-size:clamp(10px, calc(11px * var(--mobile-controls-scale)), 16px);white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:manipulation;flex:none;place-items:center;line-height:1;display:inline-grid}.term-key{min-width:var(--mobile-key-min-width);padding:0 var(--mobile-key-padding-x)}.term-key-icon{width:var(--mobile-key-icon-width);padding:0}.term-key-icon svg{width:calc(15px * var(--mobile-controls-scale));height:calc(15px * var(--mobile-controls-scale))}.term-send svg{width:calc(16px * var(--mobile-controls-scale));height:calc(16px * var(--mobile-controls-scale))}.term-key-panel .term-key{width:100%;padding:0 var(--mobile-key-panel-padding-x)}.term-key[data-active=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.term-key:disabled,.term-send:disabled,.term-native-input:disabled,.terminal-upload-fab:disabled{cursor:default;opacity:.48}.term-input-row{height:var(--mobile-input-row-height)}.term-input-row[data-expanding=true]{align-items:flex-end;height:auto}.term-native-input{border:1px solid var(--line);border-radius:var(--r-sm);min-width:0;padding:0 var(--mobile-input-padding-x);background:var(--crust);color:var(--text);font-size:clamp(11px, calc(13px * var(--mobile-controls-scale)), 20px);outline:none;flex:auto}.term-native-input[data-expanding=true]{box-sizing:border-box;min-height:var(--mobile-input-row-height);max-height:min(34vh, calc(var(--mobile-input-row-height) * 7));padding:calc(7px * var(--mobile-controls-scale)) var(--mobile-input-padding-x);resize:none;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.35;overflow:hidden auto}.term-native-input:focus{border-color:color-mix(in srgb, var(--accent) 65%, var(--line));box-shadow:0 0 0 2px var(--accent-soft)}.term-send{width:var(--mobile-send-width);flex:0 0 var(--mobile-send-width);background:color-mix(in srgb, var(--blue) 22%, var(--surface0));color:var(--blue)}.term-stage-command{background:var(--surface0);color:var(--subtext1)}.pane-grid{background:var(--term-bg);flex:auto;min-width:0;min-height:0;position:relative;overflow:hidden}.pane-cell{border:1px solid var(--line);background:var(--term-bg);flex-direction:column;min-width:0;min-height:0;display:flex;position:absolute;overflow:hidden}.pane-cell[data-selected=true]{z-index:1;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 18px -6px var(--accent)}.pane-cell .terminal-stage{flex:auto}.pane-cell .terminal-host{padding:6px 6px 6px 8px}.terminal-overlay{border:1px solid var(--line);background:color-mix(in srgb, var(--base) 88%, transparent);max-width:min(280px,100% - 28px);color:var(--subtext0);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:12px;display:inline-flex;position:absolute;inset:auto 14px 14px auto;box-shadow:0 8px 30px #00000059}.terminal-overlay:before{background:var(--peach);content:"";width:7px;height:7px;color:var(--peach);border-radius:999px;animation:1.7s ease-out infinite pulse}.sec-add{border:1px solid var(--line);border-radius:var(--r-sm);width:24px;height:24px;color:var(--overlay1);background:0 0;flex:none;place-items:center;padding:0;transition:color .12s,border-color .12s,background .12s;display:inline-grid}.sec-add:hover{border-color:var(--surface1);color:var(--text);background:var(--surface0)}.sec-add[data-on=true]{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.tab-head{text-align:left;background:0 0;border:0;border-radius:5px;flex:0 auto;align-items:center;gap:7px;min-width:0;margin-left:-6px;padding:2px 6px;transition:background .12s;display:inline-flex}.tab-head:hover{background:var(--row-hover)}.tab-head:hover .tab-name{color:var(--subtext0)}.overlay-root{z-index:100;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.overlay-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;border:0;position:fixed;inset:0}.overlay-scrim-clear{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.menu{z-index:1;border:1px solid var(--surface0);border-radius:var(--r-md);background:var(--base);flex-direction:column;min-width:192px;max-width:calc(100vw - 16px);padding:6px;animation:.13s ease-out both pop;display:flex;position:fixed;box-shadow:0 18px 50px #00000080}.menu-title{border-bottom:1px solid var(--line-soft);color:var(--overlay1);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;padding:5px 9px 7px;font-size:11px;overflow:hidden}.menu-item{border-radius:var(--r-sm);color:var(--subtext1);text-align:left;background:0 0;border:0;padding:9px 10px;font-size:13.5px;transition:background .11s,color .11s}.menu-item:hover{color:var(--text);background:var(--row-hover)}.menu-item[data-danger]{color:var(--red)}.menu-item[data-danger]:hover{background:color-mix(in srgb, var(--red) 16%, transparent)}.sidebar-options-menu{z-index:1;border:1px solid var(--surface0);border-radius:var(--r-md);background:var(--base);outline:none;flex-direction:column;gap:10px;width:min(232px,100vw - 16px);padding:10px;animation:.13s ease-out both pop;display:flex;position:fixed;box-shadow:0 18px 50px #00000080}.sidebar-option-field{flex-direction:column;gap:6px;min-width:0;display:flex}.sidebar-option-field span{letter-spacing:.06em;color:var(--overlay1);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;padding:0 2px;font-size:11px;font-weight:650;overflow:hidden}.sidebar-option-field select{border:1px solid var(--line);border-radius:var(--r-sm);width:100%;min-width:0;height:34px;color:var(--text);background:var(--mantle);font:inherit;padding:0 9px;font-size:13px}.sidebar-option-field option{color:var(--text);background:var(--mantle)}.modal{z-index:1;border:1px solid var(--surface0);border-radius:var(--r-lg);background:var(--base);flex-direction:column;gap:14px;width:min(380px,100%);max-height:calc(100dvh - 32px);padding:18px;animation:.14s ease-out both pop;display:flex;position:relative;overflow-y:auto;box-shadow:0 24px 70px #0000008c}.modal-title{color:var(--text);align-items:center;gap:7px;font-size:15px;font-weight:600;display:inline-flex}.modal-close{position:absolute;top:10px;right:10px}.modal-message{color:var(--subtext0);margin-top:-6px;font-size:13px;line-height:1.5}.quick-note-modal{width:min(420px,100%)}.quick-note-target{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-note-expand{align-self:flex-start}.quick-note-body{resize:vertical;min-height:112px;line-height:1.45}.launch-modal{width:min(420px,100%)}.launch-grid{overscroll-behavior-x:contain;scrollbar-width:thin;gap:6px;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.launch-option{border:1px solid var(--surface0);border-radius:var(--r-sm);min-width:96px;max-width:112px;height:38px;color:var(--subtext0);background:var(--mantle);flex:0 0 96px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12.5px;font-weight:550;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.launch-option:hover{border-color:var(--surface1);color:var(--text);background:var(--surface0)}.launch-option[data-active=true]{border-color:color-mix(in srgb, var(--accent) 55%, var(--surface0));color:var(--text);background:var(--accent-soft)}.launch-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.launch-empty{min-width:0;color:var(--subtext0);flex:auto;padding:8px 4px;font-size:12px;line-height:1.35}.backend-modal{width:min(840px,100%)}.backend-layout{grid-template-columns:150px minmax(0,1fr);gap:14px;min-height:260px;display:grid}.settings-area-list{flex-direction:column;gap:6px;min-width:0;display:flex}.settings-area-tab{border-radius:var(--r-sm);width:100%;height:36px;color:var(--subtext0);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex}.settings-area-tab:hover{color:var(--text);background:var(--row-hover)}.settings-area-tab[data-active=true]{border-color:var(--line);color:var(--text);background:var(--row-active)}.settings-panel{min-width:0}.bridge-settings-grid{grid-template-columns:minmax(260px,1.05fr) minmax(320px,.95fr);gap:14px;display:grid}.backend-list{flex-direction:column;gap:6px;min-width:0;padding-right:2px;display:flex;overflow-y:auto}.backend-fleet-summary{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--subtext0);background:color-mix(in srgb, var(--surface0) 72%, transparent);justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;display:flex}.backend-fleet-summary strong,.backend-fleet-summary small{display:block}.backend-fleet-summary strong{color:var(--text);font-size:11.5px}.backend-fleet-summary small{font-family:var(--mono);margin-top:2px;font-size:10px}.backend-fleet-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.settings-inline-action{border:1px solid var(--surface1);border-radius:var(--r-sm);color:var(--subtext0);background:var(--surface0);padding:4px 6px;font-size:10px}.settings-inline-action:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.settings-inline-action:disabled{cursor:default;opacity:.45}.backend-row{border-radius:var(--r-sm);width:100%;color:var(--subtext0);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:4px;padding:0;display:grid}.backend-row:hover,.backend-row-action:hover{color:var(--text);background:var(--row-hover)}.backend-row[data-active=true],.backend-row-action[data-active=true]{border-color:var(--line);color:var(--text);background:var(--row-active)}.backend-row-main,.backend-row-action{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:9px;display:grid}.backend-row-action{border-radius:var(--r-sm);color:var(--subtext0);border:1px solid #0000}.backend-row-text,.backend-row-action>span{min-width:0}.backend-row-dot{border:1px solid color-mix(in srgb, var(--bridge-color) 78%, var(--crust));background:var(--bridge-color);width:9px;height:9px;box-shadow:0 0 0 2px color-mix(in srgb, var(--bridge-color) 14%, transparent);border-radius:50%}.backend-row-text strong,.backend-row-text small,.backend-row-action strong,.backend-row-action small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.backend-row-text strong,.backend-row-action strong{font-size:12.5px;font-weight:600}.backend-row-text small,.backend-row-action small{color:var(--overlay0);font-family:var(--mono);margin-top:2px;font-size:10.5px}.backend-toggle{border:1px solid var(--surface1);background:var(--surface0);border-radius:999px;width:34px;height:22px;position:relative}.backend-toggle span{background:var(--overlay1);border-radius:50%;width:14px;height:14px;transition:transform .12s,background .12s;position:absolute;top:3px;left:3px}.backend-toggle[data-on=true]{border-color:color-mix(in srgb, var(--accent) 55%, var(--surface1));background:var(--accent-soft)}.backend-toggle[data-on=true] span{background:var(--accent);transform:translate(12px)}.backend-form{flex-direction:column;gap:12px;min-width:0;display:flex}.backend-static{color:var(--subtext0);gap:6px;padding-top:2px;font-size:12.5px;line-height:1.45;display:grid}.backend-static strong{color:var(--text);font-size:13px;font-weight:600}.backend-note,.backend-warning{font-size:12px;line-height:1.45}.backend-note{color:var(--overlay1)}.backend-warning{color:var(--peach)}.settings-section{border-top:1px solid var(--line);gap:8px;margin-top:4px;padding-top:12px;display:grid}.settings-section-flat{border-top:0;margin-top:0;padding-top:0}.world-settings-modal{width:min(520px,100%)}.world-settings-content{gap:12px}.settings-help{color:var(--subtext0);margin:-4px 0 0;font-size:12px;line-height:1.5}.world-settings-health{color:var(--overlay1);align-items:center;gap:7px;font-size:12px;display:flex}.world-settings-health[data-status=available]{color:var(--st-done)}.world-settings-health[data-status=unavailable]{color:var(--overlay1)}.settings-label{letter-spacing:.08em;color:var(--overlay1);text-transform:uppercase;font-size:11px;font-weight:600}.settings-row{color:var(--subtext0);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;font-size:12.5px;display:grid}.segmented-control{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--crust);width:100%;min-width:0;padding:3px;display:inline-flex}.segmented-control button{border-radius:calc(var(--r-sm) - 2px);min-width:0;height:28px;color:var(--overlay1);white-space:nowrap;background:0 0;border:0;flex:1 1 0;padding:0 10px;font-size:12px;font-weight:550}.segmented-control button[data-on=true]{color:var(--text);background:var(--surface1)}.settings-value-control{grid-template-columns:74px auto 30px;justify-self:end;align-items:center;gap:6px;display:grid}.settings-slider-control{grid-template-columns:minmax(140px,1fr) auto;align-items:center;gap:10px;width:min(340px,100%);display:grid}.settings-range{width:100%;accent-color:var(--accent)}.settings-number-field{border:1px solid var(--surface1);border-radius:var(--r-sm);width:74px;height:32px;color:var(--text);background:var(--crust);font:inherit;font-family:var(--mono);outline:none;padding:0 8px;font-size:12.5px}.settings-number-field:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.settings-unit{color:var(--overlay1);font-size:12px}.settings-reset{width:30px;height:30px}.settings-reset:disabled{cursor:default;opacity:.42}.field-label{gap:6px;display:grid}.field-label>span{letter-spacing:.08em;color:var(--overlay1);text-transform:uppercase;font-size:11px;font-weight:600}.field{border:1px solid var(--surface1);border-radius:var(--r-sm);width:100%;color:var(--text);background:var(--crust);font:inherit;outline:none;padding:10px 12px;font-size:14px;transition:border-color .12s,box-shadow .12s}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.backend-color-control{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;display:grid}.backend-color-swatch{border:1px solid var(--surface1);border-radius:var(--r-sm);background:linear-gradient(var(--bridge-color), var(--bridge-color)) content-box, var(--crust);cursor:pointer;width:44px;height:36px;padding:3px}.backend-color-swatch:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.backend-color-value{border:1px solid var(--surface1);border-radius:var(--r-sm);width:100%;min-width:0;height:36px;color:var(--subtext0);background:var(--crust);font:inherit;outline:none;padding:0 10px;font-size:12.5px}.backend-color-value:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.backend-color-popover{border:1px solid var(--surface0);border-radius:var(--r-sm);background:var(--crust);grid-column:1/-1;justify-items:center;gap:12px;width:min(100%,236px);min-width:0;padding:12px;display:grid;box-shadow:inset 0 1px #ffffff08}.backend-color-popover .w-color-wheel{touch-action:none}.backend-color-actions{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.backend-color-preview{border:1px solid color-mix(in srgb, var(--bridge-color) 70%, var(--surface1));border-radius:var(--r-sm);background:var(--bridge-color);width:100%;height:24px;display:block}.backend-color-shade{appearance:none;cursor:pointer;background:0 0;width:100%;min-width:0;height:18px;margin:0}.backend-color-shade:focus{outline:none}.backend-color-shade::-webkit-slider-runnable-track{border:1px solid var(--surface1);background:linear-gradient(to right, #000, var(--shade-color));border-radius:999px;height:16px}.backend-color-shade::-webkit-slider-thumb{appearance:none;background:0 0;border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin-top:-1px;box-shadow:0 1px 4px #00000073}.backend-color-shade:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-soft), 0 1px 4px #00000073}.backend-color-shade::-moz-range-track{border:1px solid var(--surface1);background:linear-gradient(to right, #000, var(--shade-color));border-radius:999px;height:16px}.backend-color-shade::-moz-range-thumb{background:0 0;border:2px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 4px #00000073}.backend-color-shade:focus::-moz-range-thumb{box-shadow:0 0 0 3px var(--accent-soft), 0 1px 4px #00000073}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.btn{border:1px solid var(--surface0);border-radius:var(--r-sm);color:var(--subtext1);background:0 0;padding:8px 14px;font-size:13px;font-weight:500;transition:color .12s,background .12s,border-color .12s,filter .12s}.btn:hover{color:var(--text);background:var(--surface0)}.btn:disabled{cursor:default;opacity:.5}.btn-clear{margin-right:auto}.btn-primary{color:var(--crust);background:var(--accent);border-color:#0000}.btn-primary:hover:not(:disabled){background:var(--lavender);filter:brightness(1.06)}.btn-danger{border-color:color-mix(in srgb, var(--red) 50%, var(--surface0));color:var(--red)}.btn-danger:hover:not(:disabled){color:var(--crust);background:var(--red)}.toast{z-index:200;border:1px solid color-mix(in srgb, var(--red) 45%, var(--surface0));background:color-mix(in srgb, var(--red) 18%, var(--base));color:#ffd9e1;border-radius:999px;max-width:min(440px,100% - 32px);padding:11px 16px;font-size:13px;animation:.2s ease-out both toastIn;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #00000073}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 55%, transparent)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes rowIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.space-row,.pane-row,.dot[data-status=working],.terminal-overlay:before,.icon-btn[data-spin] svg{animation:none}}@media (width<=820px){.app{grid-template-columns:none;width:100vw;transition:none;display:block;position:relative;transform:none}.app[data-detail=true]{transform:none}.sidebar,.stage{top:var(--content-inset-top);width:100vw;height:calc(100dvh - var(--content-inset-top) - var(--content-inset-bottom));flex:none;transition:transform .26s cubic-bezier(.4,0,.2,1);position:fixed;left:0}.sidebar{transform:translate(0)}.stage{transform:translate(100vw)}.app[data-detail=true] .sidebar{transform:translate(-100vw)}.app[data-detail=true] .stage{transform:translate(0)}.sidebar{border-right:0}.world-conversation-slot{width:calc(100% - 20px);min-width:0;height:min(60%,520px);min-height:260px;margin:auto;inset:0}.world-conversation-heading strong{font-size:12px}.sidebar-resizer{display:none}.backend-layout{grid-template-columns:1fr;min-height:0}.settings-area-list{flex-direction:row;padding-bottom:2px;overflow-x:auto}.settings-area-tab{justify-content:center;width:auto;min-width:104px}.bridge-settings-grid{grid-template-columns:1fr}.backend-list{max-height:190px}.settings-row{grid-template-columns:1fr}.settings-value-control,.settings-slider-control{justify-self:stretch;width:100%}}.app[data-compact=true]{grid-template-columns:none;width:100vw;transition:none;display:block;position:relative;transform:none}.app[data-compact=true][data-detail=true]{transform:none}.app[data-compact=true] .sidebar,.app[data-compact=true] .stage{top:var(--content-inset-top);width:100vw;height:calc(100dvh - var(--content-inset-top) - var(--content-inset-bottom));flex:none;transition:transform .26s cubic-bezier(.4,0,.2,1);position:fixed;left:0}.app[data-compact=true] .sidebar{transform:translate(0)}.app[data-compact=true] .stage{transform:translate(100vw)}.app[data-compact=true] .world-stage-stat{display:none}.app[data-compact=true] .graph-stage-shell{overflow:auto}.app[data-compact=true] .graph-stage-bar{flex-wrap:wrap;padding:7px 9px}.app[data-compact=true] .graph-stage-heading{flex:auto}.app[data-compact=true] .graph-search{flex-basis:calc(100% - 92px);order:3;min-width:0}.app[data-compact=true] .graph-zoom-button{width:44px;min-width:44px;min-height:44px}.app[data-compact=true] .graph-fit{order:4;justify-content:center;min-width:82px}.app[data-compact=true] .graph-content{flex-direction:column;flex:none;min-height:auto}.app[data-compact=true] .graph-visual{flex:0 0 48dvh;min-height:48dvh}.app[data-compact=true] .graph-conversation-slot{width:calc(100% - 20px);min-width:0;height:min(68%,360px);min-height:0;inset:auto 10px 10px}.app[data-compact=true] .graph-semantic{border-top:1px solid var(--line);border-left:0;flex:none;width:100%;min-width:0;max-height:none;overflow:visible}.app[data-compact=true] .graph-collapse,.app[data-compact=true] .graph-tree-select,.app[data-compact=true] .graph-tree-open{min-height:48px}.app[data-compact=true] .world-office-overview{flex-direction:column;align-items:stretch;gap:6px}.app[data-compact=true] .world-canvas-agent-bar{width:280px;right:28px}.app[data-compact=true] .world-overview-heading{justify-content:space-between;align-items:baseline;display:flex}.app[data-compact=true] .world-sidebar{padding-bottom:28px}.app[data-compact=true][data-detail=true] .sidebar{transform:translate(-100vw)}.app[data-compact=true][data-detail=true] .stage{transform:translate(0)}.app[data-compact=true] .sidebar{border-right:0}.app[data-compact=true] .sidebar-resizer{display:none}.app[data-compact=true] .notes-surface,.notes-surface[data-compact=true]{z-index:5;top:var(--content-inset-top);width:100vw;height:calc(100dvh - var(--content-inset-top) - var(--content-inset-bottom));box-shadow:none;border-left:0;position:fixed;left:0;right:auto}.app[data-compact=true] .notes-resizer,.notes-surface[data-compact=true] .notes-resizer,.app[data-compact=true] .notes-list-resizer,.notes-surface[data-compact=true] .notes-list-resizer{display:none}.app[data-compact=true] .notes-shell,.notes-surface[data-compact=true] .notes-shell{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr}.app[data-compact=true] .notes-list-pane,.notes-surface[data-compact=true] .notes-list-pane{border-bottom:0;border-right:0}.app[data-compact=true] .notes-head,.notes-surface[data-compact=true] .notes-head{min-height:60px}.app[data-compact=true] .notes-surface[data-mobile-screen=list] .note-editor,.notes-surface[data-compact=true][data-mobile-screen=list] .note-editor,.app[data-compact=true] .notes-surface[data-mobile-screen=editor] .notes-list-pane,.notes-surface[data-compact=true][data-mobile-screen=editor] .notes-list-pane{display:none}.app[data-touch=true] .sidebar-resizer{width:24px;right:-12px}.app[data-touch=true] .notes-resizer{width:24px;left:-12px}.app[data-touch=true] .notes-list-resizer{width:24px;right:-12px}.app[data-touch=true] .space-row,.app[data-touch=true] .pane-row{padding:11px 12px}.app[data-touch=true] .space-row-shell[data-reorder-source=true] .space-row{padding-right:62px}.app[data-touch=true] .space-reorder-cancel{width:42px;height:42px}.app[data-touch=true] .sb-head,.app[data-touch=true] .stage-bar{height:60px}.app[data-touch=true] .terminal-mobile-controls{flex-direction:column;display:flex}.app[data-touch=true] .terminal-stage:has(.terminal-mobile-controls) .terminal-overlay{bottom:calc(var(--terminal-mobile-controls-height) + 38px * var(--mobile-controls-scale))}.app[data-touch=true] .terminal-stage:has(.terminal-mobile-controls) .terminal-upload-status{bottom:calc(var(--terminal-mobile-controls-height) + 8px * var(--mobile-controls-scale))}.app[data-touch=true] .terminal-stage:has(.terminal-mobile-controls) .terminal-selection-sheet{bottom:calc(var(--terminal-mobile-controls-height) + 8px * var(--mobile-controls-scale))}
@@ -0,0 +1 @@
1
+ import{a as e,b as t,c as n,d as r,f as i,g as a,h as o,l as s,m as c,o as l,p as u,s as d,u as f,y as p}from"./WorldSurface-4GHZpnMP.js";import{pt as m}from"./localUniformBit-BnogyqF-.js";m.add(t),m.add(p),m.add(o),m.add(a),m.add(c),m.add(i),m.add(u),m.add(r),m.add(s),m.add(f),m.add(n),m.add(d),m.add(e),m.add(l);
@@ -0,0 +1 @@
1
+ import{t as e}from"./chunk-QTnfLwEv.js";var t=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),n=e(((e,n)=>{n.exports=t()})),r=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),i=e(((e,t)=>{t.exports=r()}));export{n,i as t};
@@ -1 +1 @@
1
- import{b as e}from"./index-Bkp5BPZN.js";var t=class extends e{constructor(){super(),this.handleVisibilityChange=()=>{let e={isActive:document.hidden!==!0};this.notifyListeners(`appStateChange`,e),document.hidden?this.notifyListeners(`pause`,null):this.notifyListeners(`resume`,null)},document.addEventListener(`visibilitychange`,this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented(`Not implemented on web.`)}async getInfo(){throw this.unimplemented(`Not implemented on web.`)}async getLaunchUrl(){return{url:``}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented(`Not implemented on web.`)}async toggleBackButtonHandler(){throw this.unimplemented(`Not implemented on web.`)}async getAppLanguage(){return{value:navigator.language.split(`-`)[0].toLowerCase()}}};export{t as AppWeb};
1
+ import{T as e}from"./index-B8V-qiZs.js";var t=class extends e{constructor(){super(),this.handleVisibilityChange=()=>{let e={isActive:document.hidden!==!0};this.notifyListeners(`appStateChange`,e),document.hidden?this.notifyListeners(`pause`,null):this.notifyListeners(`resume`,null)},document.addEventListener(`visibilitychange`,this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented(`Not implemented on web.`)}async getInfo(){throw this.unimplemented(`Not implemented on web.`)}async getLaunchUrl(){return{url:``}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented(`Not implemented on web.`)}async toggleBackButtonHandler(){throw this.unimplemented(`Not implemented on web.`)}async getAppLanguage(){return{value:navigator.language.split(`-`)[0].toLowerCase()}}};export{t as AppWeb};
@@ -1 +1 @@
1
- import{b as e}from"./index-Bkp5BPZN.js";var t=class extends e{constructor(){super(...arguments),this.group=`CapacitorStorage`}async configure({group:e}){typeof e==`string`&&(this.group=e)}async get(e){return{value:this.impl.getItem(this.applyPrefix(e.key))}}async set(e){this.impl.setItem(this.applyPrefix(e.key),e.value)}async remove(e){this.impl.removeItem(this.applyPrefix(e.key))}async keys(){return{keys:this.rawKeys().map(e=>e.substring(this.prefix.length))}}async clear(){for(let e of this.rawKeys())this.impl.removeItem(e)}async migrate(){let e=[],t=[],n=Object.keys(this.impl).filter(e=>e.indexOf(`_cap_`)===0);for(let r of n){let n=r.substring(5),i=this.impl.getItem(r)??``,{value:a}=await this.get({key:n});typeof a==`string`?t.push(n):(await this.set({key:n,value:i}),e.push(n))}return{migrated:e,existing:t}}async removeOld(){let e=Object.keys(this.impl).filter(e=>e.indexOf(`_cap_`)===0);for(let t of e)this.impl.removeItem(t)}get impl(){return window.localStorage}get prefix(){return this.group===`NativeStorage`?``:`${this.group}.`}rawKeys(){return Object.keys(this.impl).filter(e=>e.indexOf(this.prefix)===0)}applyPrefix(e){return this.prefix+e}};export{t as PreferencesWeb};
1
+ import{T as e}from"./index-B8V-qiZs.js";var t=class extends e{constructor(){super(...arguments),this.group=`CapacitorStorage`}async configure({group:e}){typeof e==`string`&&(this.group=e)}async get(e){return{value:this.impl.getItem(this.applyPrefix(e.key))}}async set(e){this.impl.setItem(this.applyPrefix(e.key),e.value)}async remove(e){this.impl.removeItem(this.applyPrefix(e.key))}async keys(){return{keys:this.rawKeys().map(e=>e.substring(this.prefix.length))}}async clear(){for(let e of this.rawKeys())this.impl.removeItem(e)}async migrate(){let e=[],t=[],n=Object.keys(this.impl).filter(e=>e.indexOf(`_cap_`)===0);for(let r of n){let n=r.substring(5),i=this.impl.getItem(r)??``,{value:a}=await this.get({key:n});typeof a==`string`?t.push(n):(await this.set({key:n,value:i}),e.push(n))}return{migrated:e,existing:t}}async removeOld(){let e=Object.keys(this.impl).filter(e=>e.indexOf(`_cap_`)===0);for(let t of e)this.impl.removeItem(t)}get impl(){return window.localStorage}get prefix(){return this.group===`NativeStorage`?``:`${this.group}.`}rawKeys(){return Object.keys(this.impl).filter(e=>e.indexOf(this.prefix)===0)}applyPrefix(e){return this.prefix+e}};export{t as PreferencesWeb};
@@ -0,0 +1 @@
1
+ import"./WorldSurface-4GHZpnMP.js";import"./init-BCuNUfJx.js";
@@ -14,9 +14,10 @@
14
14
  <link rel="apple-touch-icon" href="/herdr-logo-180.png" />
15
15
  <link rel="icon" href="/herdr-logo.svg" type="image/svg+xml" />
16
16
  <title>Herdr World</title>
17
- <script type="module" crossorigin src="/assets/index-Bkp5BPZN.js"></script>
17
+ <script type="module" crossorigin src="/assets/index-B8V-qiZs.js"></script>
18
18
  <link rel="modulepreload" crossorigin href="/assets/chunk-QTnfLwEv.js">
19
- <link rel="stylesheet" crossorigin href="/assets/index-Cuh3insr.css">
19
+ <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-BWRPWl8p.js">
20
+ <link rel="stylesheet" crossorigin href="/assets/index-DSq8fuVk.css">
20
21
  </head>
21
22
  <body>
22
23
  <div id="root"></div>
@@ -1 +0,0 @@
1
- import{G as e,W as t,Y as n,dt as r,ft as i,lt as a,nt as o}from"./localUniformBit-BnogyqF-.js";var s=class e{constructor(t){this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.composed=!1,this.defaultPrevented=!1,this.eventPhase=e.prototype.NONE,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new a,this.page=new a,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=t}get layerX(){return this.layer.x}get layerY(){return this.layer.y}get pageX(){return this.page.x}get pageY(){return this.page.y}get data(){return this}composedPath(){return this.manager&&(!this.path||this.path[this.path.length-1]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}initEvent(e,t,n){throw Error(`initEvent() is a legacy DOM API. It is not implemented in the Federated Events API.`)}initUIEvent(e,t,n,r,i){throw Error(`initUIEvent() is a legacy DOM API. It is not implemented in the Federated Events API.`)}preventDefault(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}stopImmediatePropagation(){this.propagationImmediatelyStopped=!0}stopPropagation(){this.propagationStopped=!0}},c=/iPhone/i,l=/iPod/i,u=/iPad/i,d=/\biOS-universal(?:.+)Mac\b/i,f=/\bAndroid(?:.+)Mobile\b/i,p=/Android/i,m=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,h=/Silk/i,g=/Windows Phone/i,_=/\bWindows(?:.+)ARM\b/i,v=/BlackBerry/i,y=/BB10/i,b=/Opera Mini/i,x=/\b(CriOS|Chrome)(?:.+)Mobile/i,S=/Mobile(?:.+)Firefox\b/i,C=function(e){return e!==void 0&&e.platform===`MacIntel`&&typeof e.maxTouchPoints==`number`&&e.maxTouchPoints>1&&typeof MSStream>`u`};function w(e){return function(t){return t.test(e)}}function T(e){var t={userAgent:``,platform:``,maxTouchPoints:0};!e&&typeof navigator<`u`?t={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof e==`string`?t.userAgent=e:e&&e.userAgent&&(t={userAgent:e.userAgent,platform:e.platform,maxTouchPoints:e.maxTouchPoints||0});var n=t.userAgent,r=n.split(`[FBAN`);r[1]!==void 0&&(n=r[0]),r=n.split(`Twitter`),r[1]!==void 0&&(n=r[0]);var i=w(n),a={apple:{phone:i(c)&&!i(g),ipod:i(l),tablet:!i(c)&&(i(u)||C(t))&&!i(g),universal:i(d),device:(i(c)||i(l)||i(u)||i(d)||C(t))&&!i(g)},amazon:{phone:i(m),tablet:!i(m)&&i(h),device:i(m)||i(h)},android:{phone:!i(g)&&i(m)||!i(g)&&i(f),tablet:!i(g)&&!i(m)&&!i(f)&&(i(h)||i(p)),device:!i(g)&&(i(m)||i(h)||i(f)||i(p))||i(/\bokhttp\b/i)},windows:{phone:i(g),tablet:i(_),device:i(g)||i(_)},other:{blackberry:i(v),blackberry10:i(y),opera:i(b),firefox:i(S),chrome:i(x),device:i(v)||i(y)||i(b)||i(S)||i(x)},any:!1,phone:!1,tablet:!1};return a.any=a.apple.device||a.android.device||a.windows.device||a.other.device,a.phone=a.apple.phone||a.android.phone||a.windows.phone,a.tablet=a.apple.tablet||a.android.tablet||a.windows.tablet,a}var E=(T.default??T)(globalThis.navigator),D=9,O=100,k=0,A=0,j=2,M=1,N=-1e3,P=-1e3,F=2,I=class{constructor(e,t=E){this._mobileInfo=t,this.debug=!1,this._isActive=!1,this._isMobileAccessibility=!1,this._pool=[],this._renderId=0,this._children=[],this._androidUpdateCount=0,this._androidUpdateFrequency=500,this._hookDiv=null,(t.tablet||t.phone)&&this._createTouchHook();let n=document.createElement(`div`);n.style.width=`${O}px`,n.style.height=`${O}px`,n.style.position=`absolute`,n.style.top=`${k}px`,n.style.left=`${A}px`,n.style.zIndex=j.toString(),this._div=n,this._renderer=e,this._onKeyDown=this._onKeyDown.bind(this),this._onMouseMove=this._onMouseMove.bind(this),globalThis.addEventListener(`keydown`,this._onKeyDown,!1)}get isActive(){return this._isActive}get isMobileAccessibility(){return this._isMobileAccessibility}get hookDiv(){return this._hookDiv}_createTouchHook(){let e=document.createElement(`button`);e.style.width=`${M}px`,e.style.height=`${M}px`,e.style.position=`absolute`,e.style.top=`${N}px`,e.style.left=`${P}px`,e.style.zIndex=F.toString(),e.style.backgroundColor=`#FF0000`,e.title=`select to enable accessibility for this content`,e.addEventListener(`focus`,()=>{this._isMobileAccessibility=!0,this._activate(),this._destroyTouchHook()}),document.body.appendChild(e),this._hookDiv=e}_destroyTouchHook(){this._hookDiv&&=(document.body.removeChild(this._hookDiv),null)}_activate(){this._isActive||(this._isActive=!0,globalThis.document.addEventListener(`mousemove`,this._onMouseMove,!0),globalThis.removeEventListener(`keydown`,this._onKeyDown,!1),this._renderer.runners.postrender.add(this),this._renderer.view.canvas.parentNode?.appendChild(this._div))}_deactivate(){!this._isActive||this._isMobileAccessibility||(this._isActive=!1,globalThis.document.removeEventListener(`mousemove`,this._onMouseMove,!0),globalThis.addEventListener(`keydown`,this._onKeyDown,!1),this._renderer.runners.postrender.remove(this),this._div.parentNode?.removeChild(this._div))}_updateAccessibleObjects(e){if(!e.visible||!e.accessibleChildren)return;e.accessible&&e.isInteractive()&&(e._accessibleActive||this._addChild(e),e._renderId=this._renderId);let t=e.children;if(t)for(let e=0;e<t.length;e++)this._updateAccessibleObjects(t[e])}init(e){this.debug=e?.debug??this.debug,this._renderer.runners.postrender.remove(this)}postrender(){let e=performance.now();if(this._mobileInfo.android.device&&e<this._androidUpdateCount||(this._androidUpdateCount=e+this._androidUpdateFrequency,!this._renderer.renderingToScreen||!this._renderer.view.canvas))return;this._renderer.lastObjectRendered&&this._updateAccessibleObjects(this._renderer.lastObjectRendered);let{x:t,y:n,width:r,height:i}=this._renderer.view.canvas.getBoundingClientRect(),{width:a,height:s,resolution:c}=this._renderer,l=r/a*c,u=i/s*c,d=this._div;d.style.left=`${t}px`,d.style.top=`${n}px`,d.style.width=`${a}px`,d.style.height=`${s}px`;for(let e=0;e<this._children.length;e++){let t=this._children[e];if(t._renderId!==this._renderId)t._accessibleActive=!1,o(this._children,e,1),this._div.removeChild(t._accessibleDiv),this._pool.push(t._accessibleDiv),t._accessibleDiv=null,e--;else{d=t._accessibleDiv;let e=t.hitArea,n=t.worldTransform;t.hitArea?(d.style.left=`${(n.tx+e.x*n.a)*l}px`,d.style.top=`${(n.ty+e.y*n.d)*u}px`,d.style.width=`${e.width*n.a*l}px`,d.style.height=`${e.height*n.d*u}px`):(e=t.getBounds().rectangle,this._capHitArea(e),d.style.left=`${e.x*l}px`,d.style.top=`${e.y*u}px`,d.style.width=`${e.width*l}px`,d.style.height=`${e.height*u}px`,d.title!==t.accessibleTitle&&t.accessibleTitle!==null&&(d.title=t.accessibleTitle||``),d.getAttribute(`aria-label`)!==t.accessibleHint&&t.accessibleHint!==null&&d.setAttribute(`aria-label`,t.accessibleHint||``)),(t.accessibleTitle!==d.title||t.tabIndex!==d.tabIndex)&&(d.title=t.accessibleTitle||``,d.tabIndex=t.tabIndex,this.debug&&this._updateDebugHTML(d))}}this._renderId++}_updateDebugHTML(e){e.innerHTML=`type: ${e.type}</br> title : ${e.title}</br> tabIndex: ${e.tabIndex}`}_capHitArea(e){e.x<0&&(e.width+=e.x,e.x=0),e.y<0&&(e.height+=e.y,e.y=0);let{width:t,height:n}=this._renderer;e.x+e.width>t&&(e.width=t-e.x),e.y+e.height>n&&(e.height=n-e.y)}_addChild(e){let t=this._pool.pop();t||(t=document.createElement(`button`),t.style.width=`${O}px`,t.style.height=`${O}px`,t.style.backgroundColor=this.debug?`rgba(255,255,255,0.5)`:`transparent`,t.style.position=`absolute`,t.style.zIndex=j.toString(),t.style.borderStyle=`none`,navigator.userAgent.toLowerCase().includes(`chrome`)?t.setAttribute(`aria-live`,`off`):t.setAttribute(`aria-live`,`polite`),navigator.userAgent.match(/rv:.*Gecko\//)?t.setAttribute(`aria-relevant`,`additions`):t.setAttribute(`aria-relevant`,`text`),t.addEventListener(`click`,this._onClick.bind(this)),t.addEventListener(`focus`,this._onFocus.bind(this)),t.addEventListener(`focusout`,this._onFocusOut.bind(this))),t.style.pointerEvents=e.accessiblePointerEvents,t.type=e.accessibleType,e.accessibleTitle&&e.accessibleTitle!==null?t.title=e.accessibleTitle:(!e.accessibleHint||e.accessibleHint===null)&&(t.title=`container ${e.tabIndex}`),e.accessibleHint&&e.accessibleHint!==null&&t.setAttribute(`aria-label`,e.accessibleHint),this.debug&&this._updateDebugHTML(t),e._accessibleActive=!0,e._accessibleDiv=t,t.container=e,this._children.push(e),this._div.appendChild(e._accessibleDiv),e._accessibleDiv.tabIndex=e.tabIndex}_dispatchEvent(e,t){let{container:n}=e.target,r=this._renderer.events.rootBoundary,i=Object.assign(new s(r),{target:n});r.rootTarget=this._renderer.lastObjectRendered,t.forEach(e=>r.dispatchEvent(i,e))}_onClick(e){this._dispatchEvent(e,[`click`,`pointertap`,`tap`])}_onFocus(e){e.target.getAttribute(`aria-live`)||e.target.setAttribute(`aria-live`,`assertive`),this._dispatchEvent(e,[`mouseover`])}_onFocusOut(e){e.target.getAttribute(`aria-live`)||e.target.setAttribute(`aria-live`,`polite`),this._dispatchEvent(e,[`mouseout`])}_onKeyDown(e){e.keyCode===D&&this._activate()}_onMouseMove(e){e.movementX===0&&e.movementY===0||this._deactivate()}destroy(){this._destroyTouchHook(),this._div=null,globalThis.document.removeEventListener(`mousemove`,this._onMouseMove,!0),globalThis.removeEventListener(`keydown`,this._onKeyDown),this._pool=null,this._children=null,this._renderer=null}};I.extension={type:[i.WebGLSystem,i.WebGPUSystem],name:`accessibility`};var L={accessible:!1,accessibleTitle:null,accessibleHint:null,tabIndex:0,_accessibleActive:!1,_accessibleDiv:null,accessibleType:`button`,accessiblePointerEvents:`auto`,accessibleChildren:!0,_renderId:-1},R=new class{constructor(){this.interactionFrequency=10,this._deltaTime=0,this._didMove=!1,this._tickerAdded=!1,this._pauseUpdate=!0}init(e){this.removeTickerListener(),this.events=e,this.interactionFrequency=10,this._deltaTime=0,this._didMove=!1,this._tickerAdded=!1,this._pauseUpdate=!0}get pauseUpdate(){return this._pauseUpdate}set pauseUpdate(e){this._pauseUpdate=e}addTickerListener(){this._tickerAdded||!this.domElement||(t.system.add(this._tickerUpdate,this,e.INTERACTION),this._tickerAdded=!0)}removeTickerListener(){this._tickerAdded&&=(t.system.remove(this._tickerUpdate,this),!1)}pointerMoved(){this._didMove=!0}_update(){if(!this.domElement||this._pauseUpdate)return;if(this._didMove){this._didMove=!1;return}let e=this.events._rootPointerEvent;this.events.supportsTouchEvents&&e.pointerType===`touch`||globalThis.document.dispatchEvent(new PointerEvent(`pointermove`,{clientX:e.clientX,clientY:e.clientY,pointerType:e.pointerType,pointerId:e.pointerId}))}_tickerUpdate(e){this._deltaTime+=e.deltaTime,!(this._deltaTime<this.interactionFrequency)&&(this._deltaTime=0,this._update())}},z=class extends s{constructor(){super(...arguments),this.client=new a,this.movement=new a,this.offset=new a,this.global=new a,this.screen=new a}get clientX(){return this.client.x}get clientY(){return this.client.y}get x(){return this.clientX}get y(){return this.clientY}get movementX(){return this.movement.x}get movementY(){return this.movement.y}get offsetX(){return this.offset.x}get offsetY(){return this.offset.y}get globalX(){return this.global.x}get globalY(){return this.global.y}get screenX(){return this.screen.x}get screenY(){return this.screen.y}getLocalPosition(e,t,n){return e.worldTransform.applyInverse(n||this.global,t)}getModifierState(e){return`getModifierState`in this.nativeEvent&&this.nativeEvent.getModifierState(e)}initMouseEvent(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){throw Error(`Method not implemented.`)}},B=class extends z{constructor(){super(...arguments),this.width=0,this.height=0,this.isPrimary=!1}getCoalescedEvents(){return this.type===`pointermove`||this.type===`mousemove`||this.type===`touchmove`?[this]:[]}getPredictedEvents(){throw Error(`getPredictedEvents is not supported!`)}},V=class extends z{constructor(){super(...arguments),this.DOM_DELTA_PIXEL=0,this.DOM_DELTA_LINE=1,this.DOM_DELTA_PAGE=2}};V.DOM_DELTA_PIXEL=0,V.DOM_DELTA_LINE=1,V.DOM_DELTA_PAGE=2;var H=2048,U=new a,W=new a,G=class{constructor(e){this.dispatch=new r,this.moveOnAll=!1,this.enableGlobalMoveEvents=!0,this.mappingState={trackingData:{}},this.eventPool=new Map,this._allInteractiveElements=[],this._hitElements=[],this._isPointerMoveEvent=!1,this.rootTarget=e,this.hitPruneFn=this.hitPruneFn.bind(this),this.hitTestFn=this.hitTestFn.bind(this),this.mapPointerDown=this.mapPointerDown.bind(this),this.mapPointerMove=this.mapPointerMove.bind(this),this.mapPointerOut=this.mapPointerOut.bind(this),this.mapPointerOver=this.mapPointerOver.bind(this),this.mapPointerUp=this.mapPointerUp.bind(this),this.mapPointerUpOutside=this.mapPointerUpOutside.bind(this),this.mapWheel=this.mapWheel.bind(this),this.mappingTable={},this.addEventMapping(`pointerdown`,this.mapPointerDown),this.addEventMapping(`pointermove`,this.mapPointerMove),this.addEventMapping(`pointerout`,this.mapPointerOut),this.addEventMapping(`pointerleave`,this.mapPointerOut),this.addEventMapping(`pointerover`,this.mapPointerOver),this.addEventMapping(`pointerup`,this.mapPointerUp),this.addEventMapping(`pointerupoutside`,this.mapPointerUpOutside),this.addEventMapping(`wheel`,this.mapWheel)}addEventMapping(e,t){this.mappingTable[e]||(this.mappingTable[e]=[]),this.mappingTable[e].push({fn:t,priority:0}),this.mappingTable[e].sort((e,t)=>e.priority-t.priority)}dispatchEvent(e,t){e.propagationStopped=!1,e.propagationImmediatelyStopped=!1,this.propagate(e,t),this.dispatch.emit(t||e.type,e)}mapEvent(e){if(!this.rootTarget)return;let t=this.mappingTable[e.type];if(t)for(let n=0,r=t.length;n<r;n++)t[n].fn(e);else n(`[EventBoundary]: Event mapping not defined for ${e.type}`)}hitTest(e,t){R.pauseUpdate=!0;let n=this._isPointerMoveEvent&&this.enableGlobalMoveEvents?`hitTestMoveRecursive`:`hitTestRecursive`,r=this[n](this.rootTarget,this.rootTarget.eventMode,U.set(e,t),this.hitTestFn,this.hitPruneFn);return r&&r[0]}propagate(e,t){if(!e.target)return;let n=e.composedPath();e.eventPhase=e.CAPTURING_PHASE;for(let r=0,i=n.length-1;r<i;r++)if(e.currentTarget=n[r],this.notifyTarget(e,t),e.propagationStopped||e.propagationImmediatelyStopped)return;if(e.eventPhase=e.AT_TARGET,e.currentTarget=e.target,this.notifyTarget(e,t),!(e.propagationStopped||e.propagationImmediatelyStopped)){e.eventPhase=e.BUBBLING_PHASE;for(let r=n.length-2;r>=0;r--)if(e.currentTarget=n[r],this.notifyTarget(e,t),e.propagationStopped||e.propagationImmediatelyStopped)return}}all(e,t,n=this._allInteractiveElements){if(n.length===0)return;e.eventPhase=e.BUBBLING_PHASE;let r=Array.isArray(t)?t:[t];for(let t=n.length-1;t>=0;t--)r.forEach(r=>{e.currentTarget=n[t],this.notifyTarget(e,r)})}propagationPath(e){let t=[e];for(let n=0;n<H&&e!==this.rootTarget&&e.parent;n++){if(!e.parent)throw Error(`Cannot find propagation path to disconnected target`);t.push(e.parent),e=e.parent}return t.reverse(),t}hitTestMoveRecursive(e,t,n,r,i,a=!1){let o=!1;if(this._interactivePrune(e))return null;if((e.eventMode===`dynamic`||t===`dynamic`)&&(R.pauseUpdate=!1),e.interactiveChildren&&e.children){let s=e.children;for(let c=s.length-1;c>=0;c--){let l=s[c],u=this.hitTestMoveRecursive(l,this._isInteractive(t)?t:l.eventMode,n,r,i,a||i(e,n));if(u){if(u.length>0&&!u[u.length-1].parent)continue;let t=e.isInteractive();(u.length>0||t)&&(t&&this._allInteractiveElements.push(e),u.push(e)),this._hitElements.length===0&&(this._hitElements=u),o=!0}}}let s=this._isInteractive(t),c=e.isInteractive();return c&&c&&this._allInteractiveElements.push(e),a||this._hitElements.length>0?null:o?this._hitElements:s&&!i(e,n)&&r(e,n)?c?[e]:[]:null}hitTestRecursive(e,t,n,r,i){if(this._interactivePrune(e)||i(e,n))return null;if((e.eventMode===`dynamic`||t===`dynamic`)&&(R.pauseUpdate=!1),e.interactiveChildren&&e.children){let a=e.children,o=n;for(let n=a.length-1;n>=0;n--){let s=a[n],c=this.hitTestRecursive(s,this._isInteractive(t)?t:s.eventMode,o,r,i);if(c){if(c.length>0&&!c[c.length-1].parent)continue;let t=e.isInteractive();return(c.length>0||t)&&c.push(e),c}}}let a=this._isInteractive(t),o=e.isInteractive();return a&&r(e,n)?o?[e]:[]:null}_isInteractive(e){return e===`static`||e===`dynamic`}_interactivePrune(e){return!e||!e.visible||!e.renderable||!e.includeInBuild||!e.measurable||e.eventMode===`none`||e.eventMode===`passive`&&!e.interactiveChildren}hitPruneFn(e,t){if(e.hitArea&&(e.worldTransform.applyInverse(t,W),!e.hitArea.contains(W.x,W.y)))return!0;if(e.effects&&e.effects.length)for(let n=0;n<e.effects.length;n++){let r=e.effects[n];if(r.containsPoint&&!r.containsPoint(t,this.hitTestFn))return!0}return!1}hitTestFn(e,t){return e.hitArea?!0:e?.containsPoint?(e.worldTransform.applyInverse(t,W),e.containsPoint(W)):!1}notifyTarget(e,t){if(!e.currentTarget.isInteractive())return;t??=e.type;let n=`on${t}`;e.currentTarget[n]?.(e);let r=e.eventPhase===e.CAPTURING_PHASE||e.eventPhase===e.AT_TARGET?`${t}capture`:t;this._notifyListeners(e,r),e.eventPhase===e.AT_TARGET&&this._notifyListeners(e,t)}mapPointerDown(e){if(!(e instanceof B)){n(`EventBoundary cannot map a non-pointer event as a pointer event`);return}let t=this.createPointerEvent(e);if(this.dispatchEvent(t,`pointerdown`),t.pointerType===`touch`)this.dispatchEvent(t,`touchstart`);else if(t.pointerType===`mouse`||t.pointerType===`pen`){let e=t.button===2;this.dispatchEvent(t,e?`rightdown`:`mousedown`)}let r=this.trackingData(e.pointerId);r.pressTargetsByButton[e.button]=t.composedPath(),this.freeEvent(t)}mapPointerMove(e){if(!(e instanceof B)){n(`EventBoundary cannot map a non-pointer event as a pointer event`);return}this._allInteractiveElements.length=0,this._hitElements.length=0,this._isPointerMoveEvent=!0;let t=this.createPointerEvent(e);this._isPointerMoveEvent=!1;let r=t.pointerType===`mouse`||t.pointerType===`pen`,i=this.trackingData(e.pointerId),a=this.findMountedTarget(i.overTargets);if(i.overTargets?.length>0&&a!==t.target){let n=e.type===`mousemove`?`mouseout`:`pointerout`,i=this.createPointerEvent(e,n,a);if(this.dispatchEvent(i,`pointerout`),r&&this.dispatchEvent(i,`mouseout`),!t.composedPath().includes(a)){let n=this.createPointerEvent(e,`pointerleave`,a);for(n.eventPhase=n.AT_TARGET;n.target&&!t.composedPath().includes(n.target);)n.currentTarget=n.target,this.notifyTarget(n),r&&this.notifyTarget(n,`mouseleave`),n.target=n.target.parent;this.freeEvent(n)}this.freeEvent(i)}if(a!==t.target){let n=e.type===`mousemove`?`mouseover`:`pointerover`,i=this.clonePointerEvent(t,n);this.dispatchEvent(i,`pointerover`),r&&this.dispatchEvent(i,`mouseover`);let o=a?.parent;for(;o&&o!==this.rootTarget.parent&&o!==t.target;)o=o.parent;if(!o||o===this.rootTarget.parent){let e=this.clonePointerEvent(t,`pointerenter`);for(e.eventPhase=e.AT_TARGET;e.target&&e.target!==a&&e.target!==this.rootTarget.parent;)e.currentTarget=e.target,this.notifyTarget(e),r&&this.notifyTarget(e,`mouseenter`),e.target=e.target.parent;this.freeEvent(e)}this.freeEvent(i)}let o=[],s=this.enableGlobalMoveEvents??!0;this.moveOnAll?o.push(`pointermove`):this.dispatchEvent(t,`pointermove`),s&&o.push(`globalpointermove`),t.pointerType===`touch`&&(this.moveOnAll?o.splice(1,0,`touchmove`):this.dispatchEvent(t,`touchmove`),s&&o.push(`globaltouchmove`)),r&&(this.moveOnAll?o.splice(1,0,`mousemove`):this.dispatchEvent(t,`mousemove`),s&&o.push(`globalmousemove`),this.cursor=t.target?.cursor),o.length>0&&this.all(t,o),this._allInteractiveElements.length=0,this._hitElements.length=0,i.overTargets=t.composedPath(),this.freeEvent(t)}mapPointerOver(e){if(!(e instanceof B)){n(`EventBoundary cannot map a non-pointer event as a pointer event`);return}let t=this.trackingData(e.pointerId),r=this.createPointerEvent(e),i=r.pointerType===`mouse`||r.pointerType===`pen`;this.dispatchEvent(r,`pointerover`),i&&this.dispatchEvent(r,`mouseover`),r.pointerType===`mouse`&&(this.cursor=r.target?.cursor);let a=this.clonePointerEvent(r,`pointerenter`);for(a.eventPhase=a.AT_TARGET;a.target&&a.target!==this.rootTarget.parent;)a.currentTarget=a.target,this.notifyTarget(a),i&&this.notifyTarget(a,`mouseenter`),a.target=a.target.parent;t.overTargets=r.composedPath(),this.freeEvent(r),this.freeEvent(a)}mapPointerOut(e){if(!(e instanceof B)){n(`EventBoundary cannot map a non-pointer event as a pointer event`);return}let t=this.trackingData(e.pointerId);if(t.overTargets){let n=e.pointerType===`mouse`||e.pointerType===`pen`,r=this.findMountedTarget(t.overTargets),i=this.createPointerEvent(e,`pointerout`,r);this.dispatchEvent(i),n&&this.dispatchEvent(i,`mouseout`);let a=this.createPointerEvent(e,`pointerleave`,r);for(a.eventPhase=a.AT_TARGET;a.target&&a.target!==this.rootTarget.parent;)a.currentTarget=a.target,this.notifyTarget(a),n&&this.notifyTarget(a,`mouseleave`),a.target=a.target.parent;t.overTargets=null,this.freeEvent(i),this.freeEvent(a)}this.cursor=null}mapPointerUp(e){if(!(e instanceof B)){n(`EventBoundary cannot map a non-pointer event as a pointer event`);return}let t=performance.now(),r=this.createPointerEvent(e);if(this.dispatchEvent(r,`pointerup`),r.pointerType===`touch`)this.dispatchEvent(r,`touchend`);else if(r.pointerType===`mouse`||r.pointerType===`pen`){let e=r.button===2;this.dispatchEvent(r,e?`rightup`:`mouseup`)}let i=this.trackingData(e.pointerId),a=this.findMountedTarget(i.pressTargetsByButton[e.button]),o=a;if(a&&!r.composedPath().includes(a)){let t=a;for(;t&&!r.composedPath().includes(t);){if(r.currentTarget=t,this.notifyTarget(r,`pointerupoutside`),r.pointerType===`touch`)this.notifyTarget(r,`touchendoutside`);else if(r.pointerType===`mouse`||r.pointerType===`pen`){let e=r.button===2;this.notifyTarget(r,e?`rightupoutside`:`mouseupoutside`)}t=t.parent}delete i.pressTargetsByButton[e.button],o=t}if(o){let n=this.clonePointerEvent(r,`click`);n.target=o,n.path=null,i.clicksByButton[e.button]||(i.clicksByButton[e.button]={clickCount:0,target:n.target,timeStamp:t});let a=i.clicksByButton[e.button];if(a.target===n.target&&t-a.timeStamp<200?++a.clickCount:a.clickCount=1,a.target=n.target,a.timeStamp=t,n.detail=a.clickCount,n.pointerType===`mouse`){let e=n.button===2;this.dispatchEvent(n,e?`rightclick`:`click`)}else n.pointerType===`touch`&&this.dispatchEvent(n,`tap`);this.dispatchEvent(n,`pointertap`),this.freeEvent(n)}this.freeEvent(r)}mapPointerUpOutside(e){if(!(e instanceof B)){n(`EventBoundary cannot map a non-pointer event as a pointer event`);return}let t=this.trackingData(e.pointerId),r=this.findMountedTarget(t.pressTargetsByButton[e.button]),i=this.createPointerEvent(e);if(r){let n=r;for(;n;)i.currentTarget=n,this.notifyTarget(i,`pointerupoutside`),i.pointerType===`touch`?this.notifyTarget(i,`touchendoutside`):(i.pointerType===`mouse`||i.pointerType===`pen`)&&this.notifyTarget(i,i.button===2?`rightupoutside`:`mouseupoutside`),n=n.parent;delete t.pressTargetsByButton[e.button]}this.freeEvent(i)}mapWheel(e){if(!(e instanceof V)){n(`EventBoundary cannot map a non-wheel event as a wheel event`);return}let t=this.createWheelEvent(e);this.dispatchEvent(t),this.freeEvent(t)}findMountedTarget(e){if(!e)return null;let t=e[0];for(let n=1;n<e.length&&e[n].parent===t;n++)t=e[n];return t}createPointerEvent(e,t,n){let r=this.allocateEvent(B);return this.copyPointerData(e,r),this.copyMouseData(e,r),this.copyData(e,r),r.nativeEvent=e.nativeEvent,r.originalEvent=e,r.target=n??this.hitTest(r.global.x,r.global.y)??this._hitElements[0],typeof t==`string`&&(r.type=t),r}createWheelEvent(e){let t=this.allocateEvent(V);return this.copyWheelData(e,t),this.copyMouseData(e,t),this.copyData(e,t),t.nativeEvent=e.nativeEvent,t.originalEvent=e,t.target=this.hitTest(t.global.x,t.global.y),t}clonePointerEvent(e,t){let n=this.allocateEvent(B);return n.nativeEvent=e.nativeEvent,n.originalEvent=e.originalEvent,this.copyPointerData(e,n),this.copyMouseData(e,n),this.copyData(e,n),n.target=e.target,n.path=e.composedPath().slice(),n.type=t??n.type,n}copyWheelData(e,t){t.deltaMode=e.deltaMode,t.deltaX=e.deltaX,t.deltaY=e.deltaY,t.deltaZ=e.deltaZ}copyPointerData(e,t){e instanceof B&&t instanceof B&&(t.pointerId=e.pointerId,t.width=e.width,t.height=e.height,t.isPrimary=e.isPrimary,t.pointerType=e.pointerType,t.pressure=e.pressure,t.tangentialPressure=e.tangentialPressure,t.tiltX=e.tiltX,t.tiltY=e.tiltY,t.twist=e.twist)}copyMouseData(e,t){e instanceof z&&t instanceof z&&(t.altKey=e.altKey,t.button=e.button,t.buttons=e.buttons,t.client.copyFrom(e.client),t.ctrlKey=e.ctrlKey,t.metaKey=e.metaKey,t.movement.copyFrom(e.movement),t.screen.copyFrom(e.screen),t.shiftKey=e.shiftKey,t.global.copyFrom(e.global))}copyData(e,t){t.isTrusted=e.isTrusted,t.srcElement=e.srcElement,t.timeStamp=performance.now(),t.type=e.type,t.detail=e.detail,t.view=e.view,t.which=e.which,t.layer.copyFrom(e.layer),t.page.copyFrom(e.page)}trackingData(e){return this.mappingState.trackingData[e]||(this.mappingState.trackingData[e]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[e]}allocateEvent(e){this.eventPool.has(e)||this.eventPool.set(e,[]);let t=this.eventPool.get(e).pop()||new e(this);return t.eventPhase=t.NONE,t.currentTarget=null,t.path=null,t.target=null,t}freeEvent(e){if(e.manager!==this)throw Error(`It is illegal to free an event not managed by this EventBoundary!`);let t=e.constructor;this.eventPool.has(t)||this.eventPool.set(t,[]),this.eventPool.get(t).push(e)}_notifyListeners(e,t){let n=e.currentTarget._events[t];if(n)if(`fn`in n)n.once&&e.currentTarget.removeListener(t,n.fn,void 0,!0),n.fn.call(n.context,e);else for(let r=0,i=n.length;r<i&&!e.propagationImmediatelyStopped;r++)n[r].once&&e.currentTarget.removeListener(t,n[r].fn,void 0,!0),n[r].fn.call(n[r].context,e)}},K=1,q={touchstart:`pointerdown`,touchend:`pointerup`,touchendoutside:`pointerupoutside`,touchmove:`pointermove`,touchcancel:`pointercancel`},J=class e{constructor(t){this.supportsTouchEvents=`ontouchstart`in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=t,this.rootBoundary=new G(null),R.init(this),this.autoPreventDefault=!0,this._eventsAdded=!1,this._rootPointerEvent=new B(null),this._rootWheelEvent=new V(null),this.cursorStyles={default:`inherit`,pointer:`pointer`},this.features=new Proxy({...e.defaultEventFeatures},{set:(e,t,n)=>(t===`globalMove`&&(this.rootBoundary.enableGlobalMoveEvents=n),e[t]=n,!0)}),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),this._onPointerUp=this._onPointerUp.bind(this),this._onPointerOverOut=this._onPointerOverOut.bind(this),this.onWheel=this.onWheel.bind(this)}static get defaultEventMode(){return this._defaultEventMode}init(t){let{canvas:n,resolution:r}=this.renderer;this.setTargetElement(n),this.resolution=r,e._defaultEventMode=t.eventMode??`passive`,Object.assign(this.features,t.eventFeatures??{}),this.rootBoundary.enableGlobalMoveEvents=this.features.globalMove}resolutionChange(e){this.resolution=e}destroy(){this.setTargetElement(null),this.renderer=null,this._currentCursor=null}setCursor(e){e||=`default`;let t=!0;if(globalThis.OffscreenCanvas&&this.domElement instanceof OffscreenCanvas&&(t=!1),this._currentCursor===e)return;this._currentCursor=e;let n=this.cursorStyles[e];if(n)switch(typeof n){case`string`:t&&(this.domElement.style.cursor=n);break;case`function`:n(e);break;case`object`:t&&Object.assign(this.domElement.style,n);break}else t&&typeof e==`string`&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,e)&&(this.domElement.style.cursor=e)}get pointer(){return this._rootPointerEvent}_onPointerDown(e){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let t=this._normalizeToPointerData(e);this.autoPreventDefault&&t[0].isNormalized&&(e.cancelable||!(`cancelable`in e))&&e.preventDefault();for(let e=0,n=t.length;e<n;e++){let n=t[e],r=this._bootstrapEvent(this._rootPointerEvent,n);this.rootBoundary.mapEvent(r)}this.setCursor(this.rootBoundary.cursor)}_onPointerMove(e){if(!this.features.move)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,R.pointerMoved();let t=this._normalizeToPointerData(e);for(let e=0,n=t.length;e<n;e++){let n=this._bootstrapEvent(this._rootPointerEvent,t[e]);this.rootBoundary.mapEvent(n)}this.setCursor(this.rootBoundary.cursor)}_onPointerUp(e){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let t=e.target;e.composedPath&&e.composedPath().length>0&&(t=e.composedPath()[0]);let n=t===this.domElement?``:`outside`,r=this._normalizeToPointerData(e);for(let e=0,t=r.length;e<t;e++){let t=this._bootstrapEvent(this._rootPointerEvent,r[e]);t.type+=n,this.rootBoundary.mapEvent(t)}this.setCursor(this.rootBoundary.cursor)}_onPointerOverOut(e){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let t=this._normalizeToPointerData(e);for(let e=0,n=t.length;e<n;e++){let n=this._bootstrapEvent(this._rootPointerEvent,t[e]);this.rootBoundary.mapEvent(n)}this.setCursor(this.rootBoundary.cursor)}onWheel(e){if(!this.features.wheel)return;let t=this.normalizeWheelEvent(e);this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,this.rootBoundary.mapEvent(t)}setTargetElement(e){this._removeEvents(),this.domElement=e,R.domElement=e,this._addEvents()}_addEvents(){if(this._eventsAdded||!this.domElement)return;R.addTickerListener();let e=this.domElement.style;e&&(globalThis.navigator.msPointerEnabled?(e.msContentZooming=`none`,e.msTouchAction=`none`):this.supportsPointerEvents&&(e.touchAction=`none`)),this.supportsPointerEvents?(globalThis.document.addEventListener(`pointermove`,this._onPointerMove,!0),this.domElement.addEventListener(`pointerdown`,this._onPointerDown,!0),this.domElement.addEventListener(`pointerleave`,this._onPointerOverOut,!0),this.domElement.addEventListener(`pointerover`,this._onPointerOverOut,!0),globalThis.addEventListener(`pointerup`,this._onPointerUp,!0)):(globalThis.document.addEventListener(`mousemove`,this._onPointerMove,!0),this.domElement.addEventListener(`mousedown`,this._onPointerDown,!0),this.domElement.addEventListener(`mouseout`,this._onPointerOverOut,!0),this.domElement.addEventListener(`mouseover`,this._onPointerOverOut,!0),globalThis.addEventListener(`mouseup`,this._onPointerUp,!0),this.supportsTouchEvents&&(this.domElement.addEventListener(`touchstart`,this._onPointerDown,!0),this.domElement.addEventListener(`touchend`,this._onPointerUp,!0),this.domElement.addEventListener(`touchmove`,this._onPointerMove,!0))),this.domElement.addEventListener(`wheel`,this.onWheel,{passive:!0,capture:!0}),this._eventsAdded=!0}_removeEvents(){if(!this._eventsAdded||!this.domElement)return;R.removeTickerListener();let e=this.domElement.style;e&&(globalThis.navigator.msPointerEnabled?(e.msContentZooming=``,e.msTouchAction=``):this.supportsPointerEvents&&(e.touchAction=``)),this.supportsPointerEvents?(globalThis.document.removeEventListener(`pointermove`,this._onPointerMove,!0),this.domElement.removeEventListener(`pointerdown`,this._onPointerDown,!0),this.domElement.removeEventListener(`pointerleave`,this._onPointerOverOut,!0),this.domElement.removeEventListener(`pointerover`,this._onPointerOverOut,!0),globalThis.removeEventListener(`pointerup`,this._onPointerUp,!0)):(globalThis.document.removeEventListener(`mousemove`,this._onPointerMove,!0),this.domElement.removeEventListener(`mousedown`,this._onPointerDown,!0),this.domElement.removeEventListener(`mouseout`,this._onPointerOverOut,!0),this.domElement.removeEventListener(`mouseover`,this._onPointerOverOut,!0),globalThis.removeEventListener(`mouseup`,this._onPointerUp,!0),this.supportsTouchEvents&&(this.domElement.removeEventListener(`touchstart`,this._onPointerDown,!0),this.domElement.removeEventListener(`touchend`,this._onPointerUp,!0),this.domElement.removeEventListener(`touchmove`,this._onPointerMove,!0))),this.domElement.removeEventListener(`wheel`,this.onWheel,!0),this.domElement=null,this._eventsAdded=!1}mapPositionToPoint(e,t,n){let r=this.domElement.isConnected?this.domElement.getBoundingClientRect():{x:0,y:0,width:this.domElement.width,height:this.domElement.height,left:0,top:0},i=1/this.resolution;e.x=(t-r.left)*(this.domElement.width/r.width)*i,e.y=(n-r.top)*(this.domElement.height/r.height)*i}_normalizeToPointerData(e){let t=[];if(this.supportsTouchEvents&&e instanceof TouchEvent)for(let n=0,r=e.changedTouches.length;n<r;n++){let r=e.changedTouches[n];r.button===void 0&&(r.button=0),r.buttons===void 0&&(r.buttons=1),r.isPrimary===void 0&&(r.isPrimary=e.touches.length===1&&e.type===`touchstart`),r.width===void 0&&(r.width=r.radiusX||1),r.height===void 0&&(r.height=r.radiusY||1),r.tiltX===void 0&&(r.tiltX=0),r.tiltY===void 0&&(r.tiltY=0),r.pointerType===void 0&&(r.pointerType=`touch`),r.pointerId===void 0&&(r.pointerId=r.identifier||0),r.pressure===void 0&&(r.pressure=r.force||.5),r.twist===void 0&&(r.twist=0),r.tangentialPressure===void 0&&(r.tangentialPressure=0),r.layerX===void 0&&(r.layerX=r.offsetX=r.clientX),r.layerY===void 0&&(r.layerY=r.offsetY=r.clientY),r.isNormalized=!0,r.type=e.type,t.push(r)}else if(!globalThis.MouseEvent||e instanceof MouseEvent&&(!this.supportsPointerEvents||!(e instanceof globalThis.PointerEvent))){let n=e;n.isPrimary===void 0&&(n.isPrimary=!0),n.width===void 0&&(n.width=1),n.height===void 0&&(n.height=1),n.tiltX===void 0&&(n.tiltX=0),n.tiltY===void 0&&(n.tiltY=0),n.pointerType===void 0&&(n.pointerType=`mouse`),n.pointerId===void 0&&(n.pointerId=K),n.pressure===void 0&&(n.pressure=.5),n.twist===void 0&&(n.twist=0),n.tangentialPressure===void 0&&(n.tangentialPressure=0),n.isNormalized=!0,t.push(n)}else t.push(e);return t}normalizeWheelEvent(e){let t=this._rootWheelEvent;return this._transferMouseData(t,e),t.deltaX=e.deltaX,t.deltaY=e.deltaY,t.deltaZ=e.deltaZ,t.deltaMode=e.deltaMode,this.mapPositionToPoint(t.screen,e.clientX,e.clientY),t.global.copyFrom(t.screen),t.offset.copyFrom(t.screen),t.nativeEvent=e,t.type=e.type,t}_bootstrapEvent(e,t){return e.originalEvent=null,e.nativeEvent=t,e.pointerId=t.pointerId,e.width=t.width,e.height=t.height,e.isPrimary=t.isPrimary,e.pointerType=t.pointerType,e.pressure=t.pressure,e.tangentialPressure=t.tangentialPressure,e.tiltX=t.tiltX,e.tiltY=t.tiltY,e.twist=t.twist,this._transferMouseData(e,t),this.mapPositionToPoint(e.screen,t.clientX,t.clientY),e.global.copyFrom(e.screen),e.offset.copyFrom(e.screen),e.isTrusted=t.isTrusted,e.type===`pointerleave`&&(e.type=`pointerout`),e.type.startsWith(`mouse`)&&(e.type=e.type.replace(`mouse`,`pointer`)),e.type.startsWith(`touch`)&&(e.type=q[e.type]||e.type),e}_transferMouseData(e,t){e.isTrusted=t.isTrusted,e.srcElement=t.srcElement,e.timeStamp=performance.now(),e.type=t.type,e.altKey=t.altKey,e.button=t.button,e.buttons=t.buttons,e.client.x=t.clientX,e.client.y=t.clientY,e.ctrlKey=t.ctrlKey,e.metaKey=t.metaKey,e.movement.x=t.movementX,e.movement.y=t.movementY,e.page.x=t.pageX,e.page.y=t.pageY,e.relatedTarget=null,e.shiftKey=t.shiftKey}};J.extension={name:`events`,type:[i.WebGLSystem,i.CanvasSystem,i.WebGPUSystem],priority:-1},J.defaultEventFeatures={move:!0,globalMove:!0,click:!0,wheel:!0};var Y=J,X={onclick:null,onmousedown:null,onmouseenter:null,onmouseleave:null,onmousemove:null,onglobalmousemove:null,onmouseout:null,onmouseover:null,onmouseup:null,onmouseupoutside:null,onpointercancel:null,onpointerdown:null,onpointerenter:null,onpointerleave:null,onpointermove:null,onglobalpointermove:null,onpointerout:null,onpointerover:null,onpointertap:null,onpointerup:null,onpointerupoutside:null,onrightclick:null,onrightdown:null,onrightup:null,onrightupoutside:null,ontap:null,ontouchcancel:null,ontouchend:null,ontouchendoutside:null,ontouchmove:null,onglobaltouchmove:null,ontouchstart:null,onwheel:null,get interactive(){return this.eventMode===`dynamic`||this.eventMode===`static`},set interactive(e){this.eventMode=e?`static`:`passive`},_internalEventMode:void 0,get eventMode(){return this._internalEventMode??Y.defaultEventMode},set eventMode(e){this._internalEventMode=e},isInteractive(){return this.eventMode===`static`||this.eventMode===`dynamic`},interactiveChildren:!0,hitArea:null,addEventListener(e,t,n){let r=typeof n==`boolean`&&n||typeof n==`object`&&n.capture,i=typeof n==`object`?n.signal:void 0,a=typeof n==`object`?n.once===!0:!1,o=typeof t==`function`?void 0:t;e=r?`${e}capture`:e;let s=typeof t==`function`?t:t.handleEvent,c=this;i&&i.addEventListener(`abort`,()=>{c.off(e,s,o)}),a?c.once(e,s,o):c.on(e,s,o)},removeEventListener(e,t,n){let r=typeof n==`boolean`&&n||typeof n==`object`&&n.capture,i=typeof t==`function`?void 0:t;e=r?`${e}capture`:e,t=typeof t==`function`?t:t.handleEvent,this.off(e,t,i)},dispatchEvent(e){if(!(e instanceof s))throw Error(`Container cannot propagate events outside of the Federated Events API`);return e.defaultPrevented=!1,e.path=null,e.target=this,e.manager.dispatchEvent(e),!e.defaultPrevented}};export{I as i,Y as n,L as r,X as t};