pi-roundtable-web 0.26.3 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/README.md +18 -11
- package/dist/chunk-account-1ecx5kt7.js +1 -0
- package/dist/chunk-action-menu-zh2n0ahf.js +1 -0
- package/dist/chunk-agent-ynm2tcbx.js +1 -0
- package/dist/chunk-arranged-rooms-qnz8vese.js +1 -0
- package/dist/chunk-bulk-actions-pr0mw0kc.js +1 -0
- package/dist/chunk-character-creator-caj4pmg4.js +1 -0
- package/dist/{chunk-codeeditor-6xavqntt.js → chunk-codeeditor-dga6s78p.js} +2 -2
- package/dist/chunk-confirm-g76v5d9r.js +1 -0
- package/dist/{chunk-connectors-7xqsg5q5.js → chunk-connectors-j79ze3j1.js} +1 -1
- package/dist/{chunk-conversations-zc4mv6vj.js → chunk-conversations-2farn72g.js} +1 -1
- package/dist/chunk-council-sheet-s9sz1bzf.js +2 -0
- package/dist/{chunk-drag-0mefcvp3.js → chunk-drag-45e8222r.js} +1 -1
- package/dist/chunk-entry-q11n47h9.js +1 -0
- package/dist/chunk-folder-list-4gcj7g7h.js +1 -0
- package/dist/chunk-folds-ten4ykfw.js +1 -0
- package/dist/{chunk-gate-86r8a2vf.js → chunk-gate-kcv1a4t0.js} +1 -1
- package/dist/chunk-group-scene-12ghcvzd.js +1 -0
- package/dist/chunk-group-table-t458kdgn.js +1 -0
- package/dist/chunk-host-icons-h1k9k96a.js +1 -0
- package/dist/chunk-host-picture-3p0wzn3v.js +1 -0
- package/dist/chunk-host-state-7mdve7cb.js +1 -0
- package/dist/chunk-host-ui-bdgwa6sf.js +1 -0
- package/dist/chunk-index-02vfshtt.js +2 -0
- package/dist/chunk-index-0a81da8z.js +2 -0
- package/dist/{chunk-index-8eexybcx.js → chunk-index-0w4bfjb5.js} +2 -2
- package/dist/{chunk-index-1fn8q4ps.js → chunk-index-12zyshae.js} +2 -2
- package/dist/chunk-index-18pgxxw3.js +2 -0
- package/dist/chunk-index-2e4am3hw.js +50 -0
- package/dist/{chunk-index-agrvqf5b.js → chunk-index-2fdns8tn.js} +2 -2
- package/dist/{chunk-index-84wbc80d.js → chunk-index-2t30xwed.js} +2 -2
- package/dist/{chunk-index-jq970hsd.js → chunk-index-31x6krbs.js} +3 -3
- package/dist/{chunk-index-eh0wb6g0.js → chunk-index-3d8s3565.js} +2 -2
- package/dist/chunk-index-5bfqek1d.js +2 -0
- package/dist/chunk-index-64rsz6pf.js +2 -0
- package/dist/chunk-index-6bkcq9ka.js +2 -0
- package/dist/{chunk-index-47yspxa4.js → chunk-index-8d81qy69.js} +1 -1
- package/dist/chunk-index-92zgb7my.js +2 -0
- package/dist/chunk-index-aamhjg5n.js +2 -0
- package/dist/{chunk-index-r1v895tj.js → chunk-index-ac1ktr56.js} +2 -2
- package/dist/{chunk-index-hc0dgmrs.js → chunk-index-ak6ecqy3.js} +2 -2
- package/dist/{chunk-index-eyc2rkq5.js → chunk-index-b73y2gc0.js} +2 -2
- package/dist/chunk-index-b8cpvr7y.js +2 -0
- package/dist/{chunk-index-3aa5czxj.js → chunk-index-bhqczxr3.js} +2 -2
- package/dist/{chunk-index-6c8mewwy.js → chunk-index-cbqhzf40.js} +12 -12
- package/dist/chunk-index-cdctnw71.js +2 -0
- package/dist/chunk-index-dj0tbfyb.js +2 -0
- package/dist/chunk-index-dnjftvtq.js +2 -0
- package/dist/chunk-index-e2dqjde8.js +1 -0
- package/dist/{chunk-index-tsxsy4qs.js → chunk-index-ebg48jgy.js} +2 -2
- package/dist/{chunk-index-rcxz5w5d.js → chunk-index-ek5mek4j.js} +3 -3
- package/dist/chunk-index-f6q0stqx.js +2 -0
- package/dist/{chunk-index-67p2sc14.js → chunk-index-ffbrm6tr.js} +3 -3
- package/dist/chunk-index-g1awv7rk.js +2 -0
- package/dist/chunk-index-g3wrs02w.js +1 -0
- package/dist/chunk-index-j0m16cj1.js +2 -0
- package/dist/chunk-index-j4kk1m59.js +2 -0
- package/dist/chunk-index-j4x9dq30.css +1 -0
- package/dist/{chunk-index-3wbyq10m.js → chunk-index-jgzygbt8.js} +1 -1
- package/dist/chunk-index-kb3w11mn.js +7 -0
- package/dist/{chunk-index-raf772z6.js → chunk-index-kbrg32sx.js} +2 -2
- package/dist/chunk-index-msqhgvfx.js +2 -0
- package/dist/chunk-index-pefwfm26.js +2 -0
- package/dist/chunk-index-pyfx77cj.js +2 -0
- package/dist/{chunk-index-30vw4nhh.js → chunk-index-q7g62sgm.js} +3 -3
- package/dist/chunk-index-qfgkfq86.js +2 -0
- package/dist/chunk-index-rh0x9rzf.js +2 -0
- package/dist/{chunk-index-m65cv329.js → chunk-index-sm7m4fej.js} +2 -2
- package/dist/chunk-index-sv9qpmhv.js +1 -0
- package/dist/chunk-index-t998yg8y.js +2 -0
- package/dist/{chunk-index-e90kztkx.js → chunk-index-tk4se135.js} +3 -3
- package/dist/chunk-index-v6smgw77.js +2 -0
- package/dist/chunk-index-w42rcbx1.js +2 -0
- package/dist/chunk-index-x4enmj72.js +2 -0
- package/dist/chunk-index-xq84gg8w.js +2 -0
- package/dist/{chunk-index-gt42wjby.js → chunk-index-xxeb2xp0.js} +3 -3
- package/dist/{chunk-index-hczrjnky.js → chunk-index-zyvwhxga.js} +1 -1
- package/dist/chunk-lang-css-y9133ktr.js +1 -0
- package/dist/{chunk-lang-dockerfile-tjxsnhr9.js → chunk-lang-dockerfile-cnwqn660.js} +1 -1
- package/dist/{chunk-lang-go-drmfa25k.js → chunk-lang-go-yy6kgsxv.js} +2 -2
- package/dist/chunk-lang-html-r2xmryek.js +1 -0
- package/dist/chunk-lang-javascript-1r6wd177.js +1 -0
- package/dist/{chunk-lang-json-790swysy.js → chunk-lang-json-dx56g11y.js} +1 -1
- package/dist/{chunk-lang-markdown-483dkxcq.js → chunk-lang-markdown-fpcf2dfq.js} +5 -5
- package/dist/{chunk-lang-python-v9s40bzj.js → chunk-lang-python-zzp95955.js} +2 -2
- package/dist/{chunk-lang-rust-z4gry1bf.js → chunk-lang-rust-214fh7sp.js} +1 -1
- package/dist/{chunk-lang-shell-egsvk8rj.js → chunk-lang-shell-1rpgtepw.js} +1 -1
- package/dist/{chunk-lang-sql-75j3denr.js → chunk-lang-sql-vvp46hpj.js} +2 -2
- package/dist/{chunk-lang-toml-7dbjvhex.js → chunk-lang-toml-tbj7467c.js} +1 -1
- package/dist/chunk-lang-typescript-y5w4tt4g.js +1 -0
- package/dist/{chunk-lang-xml-jg1sv4h2.js → chunk-lang-xml-tbcqmedk.js} +1 -1
- package/dist/{chunk-lang-yaml-g3v7s5je.js → chunk-lang-yaml-jh56t3sv.js} +1 -1
- package/dist/chunk-layout-actions-y73mpsh1.js +1 -0
- package/dist/chunk-menu-items-bza16bw6.js +2 -0
- package/dist/chunk-mode-toggle-nj9gnt3b.js +1 -0
- package/dist/chunk-note-row-6fmhrdng.js +75 -0
- package/dist/chunk-notes-wv0e6ssf.js +1 -0
- package/dist/{chunk-notice-bell-jehad6sx.js → chunk-notice-bell-9z27epd2.js} +1 -1
- package/dist/{chunk-notices-prqkv7ge.js → chunk-notices-fte9f196.js} +1 -1
- package/dist/chunk-onboarding-c5twahc3.js +1 -0
- package/dist/{chunk-overview-2j1s6kqg.js → chunk-overview-k4ccprax.js} +1 -1
- package/dist/{chunk-palette-4qt6ewem.js → chunk-palette-9rbp2fab.js} +1 -1
- package/dist/chunk-placement-items-me598wsb.js +1 -0
- package/dist/{chunk-profile-pfzyc04p.js → chunk-profile-s7r7fcvz.js} +1 -1
- package/dist/{chunk-prompt-history-2bcp2rky.js → chunk-prompt-history-hf296e7v.js} +1 -1
- package/dist/chunk-prompts-c8s0nhkm.js +1 -0
- package/dist/chunk-room-confirms-ga2sbvhc.js +1 -0
- package/dist/chunk-room-menu-7h4jym2b.js +1 -0
- package/dist/chunk-rooms-menu-button-pgtaanb6.js +1 -0
- package/dist/{chunk-schedules-64h9gfwn.js → chunk-schedules-mbnwcxpc.js} +1 -1
- package/dist/{chunk-seat-menu-vrpc40v9.js → chunk-seat-menu-r0k0eawr.js} +1 -1
- package/dist/chunk-sheet-hosts-a5dfevy9.js +1 -0
- package/dist/{chunk-shortcut-help-bdbkdcs9.js → chunk-shortcut-help-a6pkjcq7.js} +2 -2
- package/dist/{chunk-shortcuts-qft33r8t.js → chunk-shortcuts-cgt87jkz.js} +1 -1
- package/dist/chunk-skill-editor-67yk4x7t.js +8 -0
- package/dist/chunk-skills-rewemey4.js +1 -0
- package/dist/chunk-switcher-list-t8rbay2y.js +1 -0
- package/dist/{chunk-tab-dot-1p68ybf8.js → chunk-tab-dot-vr11dfrw.js} +1 -1
- package/dist/chunk-table-52nh0azk.js +1 -0
- package/dist/chunk-table2d-g57vr6h0.js +1 -0
- package/dist/chunk-table3d-rp0w6kt4.js +4220 -0
- package/dist/chunk-thread-actions-qcxt1y1g.js +1 -0
- package/dist/{chunk-thread-cards-t794fp4d.js → chunk-thread-cards-c2mrp2gj.js} +1 -1
- package/dist/chunk-thread-list-0071q455.js +217 -0
- package/dist/{chunk-transcript-km4e3aey.js → chunk-transcript-789yqysq.js} +1 -1
- package/dist/chunk-where-hmwmme9e.js +1 -0
- package/dist/{chunk-workspace-d064v56e.js → chunk-workspace-wr1qrtsh.js} +2 -2
- package/dist/chunk-zh-tw-z5p5mpph.js +1 -0
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +3 -3
- package/src/api-types.ts +51 -0
- package/src/app/app.ts +38 -4
- package/src/app/helper-routes.ts +106 -0
- package/src/app/rooms.ts +18 -3
- package/src/app/routes.ts +20 -0
- package/src/app/surface.ts +18 -1
- package/src/app/team-routes.ts +21 -1
- package/src/i18n/zh-tw.ts +46 -9
- package/dist/chunk-account-hck7mhf8.js +0 -1
- package/dist/chunk-action-menu-beqh40k6.js +0 -1
- package/dist/chunk-agent-znnth24t.js +0 -1
- package/dist/chunk-arranged-rooms-wfakrddk.js +0 -1
- package/dist/chunk-bulk-actions-c4tkvk9g.js +0 -1
- package/dist/chunk-character-creator-qwcsdytw.js +0 -1
- package/dist/chunk-confirm-z95j9jt3.js +0 -1
- package/dist/chunk-entry-hrt97qed.js +0 -1
- package/dist/chunk-folder-list-nemtqbnc.js +0 -1
- package/dist/chunk-folds-xpg9qcwf.js +0 -1
- package/dist/chunk-group-scene-g24kxz6f.js +0 -1
- package/dist/chunk-group-table-851jm8ef.js +0 -1
- package/dist/chunk-host-icons-23zhqpmc.js +0 -1
- package/dist/chunk-host-picture-8tnh2wam.js +0 -1
- package/dist/chunk-host-state-j41sp065.js +0 -1
- package/dist/chunk-host-ui-cje7a9t9.js +0 -1
- package/dist/chunk-index-3k7sdph2.js +0 -1
- package/dist/chunk-index-4jf4jvfd.css +0 -1
- package/dist/chunk-index-4s1qj9we.js +0 -2
- package/dist/chunk-index-5fz5e1ct.js +0 -2
- package/dist/chunk-index-azrnzgev.js +0 -2
- package/dist/chunk-index-c2ag3qw2.js +0 -2
- package/dist/chunk-index-efgm0066.js +0 -2
- package/dist/chunk-index-fe0m5mht.js +0 -2
- package/dist/chunk-index-hrtyanda.js +0 -2
- package/dist/chunk-index-j479p62w.js +0 -2
- package/dist/chunk-index-kankja6p.js +0 -50
- package/dist/chunk-index-kb44jp50.js +0 -2
- package/dist/chunk-index-mnwdbb4n.js +0 -2
- package/dist/chunk-index-n6zrc05a.js +0 -2
- package/dist/chunk-index-n93wqszt.js +0 -8
- package/dist/chunk-index-nrexxkar.js +0 -2
- package/dist/chunk-index-pgxgq61x.js +0 -2
- package/dist/chunk-index-q5vzjqr5.js +0 -2
- package/dist/chunk-index-qqwk157d.js +0 -2
- package/dist/chunk-index-r3tqhew8.js +0 -2
- package/dist/chunk-index-rg9vh59e.js +0 -1
- package/dist/chunk-index-sxq69p1f.js +0 -2
- package/dist/chunk-index-taq2psr6.js +0 -2
- package/dist/chunk-index-wc83vb0a.js +0 -2
- package/dist/chunk-index-xbs8q4kn.js +0 -2
- package/dist/chunk-index-xxbveevc.js +0 -2
- package/dist/chunk-index-zx6yka30.js +0 -2
- package/dist/chunk-lang-css-yrc25qk9.js +0 -1
- package/dist/chunk-lang-html-rwe8epvf.js +0 -1
- package/dist/chunk-lang-javascript-d6x6qjtg.js +0 -1
- package/dist/chunk-lang-typescript-1rv9vdcz.js +0 -1
- package/dist/chunk-layout-actions-6assr93n.js +0 -1
- package/dist/chunk-menu-items-9szcza00.js +0 -2
- package/dist/chunk-mode-toggle-bzbq7ycq.js +0 -1
- package/dist/chunk-note-row-g20h11pm.js +0 -75
- package/dist/chunk-notes-gc8bssxn.js +0 -1
- package/dist/chunk-onboarding-mdtc2mb7.js +0 -1
- package/dist/chunk-placement-items-2eect825.js +0 -1
- package/dist/chunk-prompts-052mb05y.js +0 -1
- package/dist/chunk-room-confirms-asvmjh5s.js +0 -1
- package/dist/chunk-room-menu-dm2r2hk6.js +0 -1
- package/dist/chunk-rooms-menu-button-32hemzxc.js +0 -1
- package/dist/chunk-sheet-hosts-jaqx490x.js +0 -1
- package/dist/chunk-skill-editor-z3dx2895.js +0 -8
- package/dist/chunk-skills-4jfcv39n.js +0 -1
- package/dist/chunk-switcher-list-xysjd4tw.js +0 -1
- package/dist/chunk-table-0v4q4dx3.js +0 -1
- package/dist/chunk-table-seats-f683hx8k.js +0 -1
- package/dist/chunk-table2d-1a6atjhj.js +0 -1
- package/dist/chunk-table3d-k0ffeffj.js +0 -4220
- package/dist/chunk-thread-actions-4rpfg4fq.js +0 -1
- package/dist/chunk-thread-list-1pcygpka.js +0 -1
- package/dist/chunk-where-phjwqggy.js +0 -1
- package/dist/chunk-zh-tw-qf18hcxc.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--buncss-light:initial;--buncss-dark: ;color-scheme:light dark;--bg:var(--buncss-light,#f5f6f8)var(--buncss-dark,#0f1115);--surface:var(--buncss-light,#fff)var(--buncss-dark,#171a20);--surface-2:var(--buncss-light,#eef0f4)var(--buncss-dark,#1d2128);--surface-3:var(--buncss-light,#e4e7ee)var(--buncss-dark,#262b34);--raised:var(--buncss-light,#fff)var(--buncss-dark,#1c2027);--border:var(--buncss-light,#dfe2e8)var(--buncss-dark,#2a2f39);--border-strong:var(--buncss-light,#c4cad6)var(--buncss-dark,#3b414d);--control-border:var(--buncss-light,#7f8797)var(--buncss-dark,#69717f);--scrim:var(--buncss-light,#0f11156b)var(--buncss-dark,#0000009e);--text:var(--buncss-light,#16181d)var(--buncss-dark,#e9ebf0);--muted:var(--buncss-light,#5a6270)var(--buncss-dark,#a0a7b4);--on-accent:var(--buncss-light,#fff)var(--buncss-dark,#0c1230);--accent:var(--buncss-light,#3a5bd9)var(--buncss-dark,#8ea4ff);--accent-strong:var(--buncss-light,#2f4ac0)var(--buncss-dark,#a9b9ff);--accent-soft:var(--buncss-light,#e8edfd)var(--buncss-dark,#232c52);--accent-ink:var(--buncss-light,#2a47b8)var(--buncss-dark,#b6c4ff);--success:var(--buncss-light,#17703f)var(--buncss-dark,#5fd699);--success-soft:var(--buncss-light,#e3f4ea)var(--buncss-dark,#16301f);--warn:var(--buncss-light,#8a5a00)var(--buncss-dark,#f0b95b);--warn-soft:var(--buncss-light,#fdf1d8)var(--buncss-dark,#33270f);--danger:var(--buncss-light,#b42318)var(--buncss-dark,#ff8f85);--danger-soft:var(--buncss-light,#fde8e6)var(--buncss-dark,#3a1b19);--yolo:var(--buncss-light,#9a4608)var(--buncss-dark,#ffa664);--yolo-soft:var(--buncss-light,#fdebd9)var(--buncss-dark,#382314);--long:var(--buncss-light,#6d3fc0)var(--buncss-dark,#b99cf5);--long-soft:var(--buncss-light,#efe7fb)var(--buncss-dark,#2a2140);--code-bg:var(--buncss-light,#fbfbfd)var(--buncss-dark,#14171c);--code-fg:var(--buncss-light,#1d2129)var(--buncss-dark,#e6e8ee);--code-gutter-bg:var(--buncss-light,#f1f2f6)var(--buncss-dark,#191d23);--code-gutter:var(--buncss-light,#5c6372)var(--buncss-dark,#8b93a1);--code-selection:var(--buncss-light,#cfdcff)var(--buncss-dark,#2b3a66);--code-active-line:var(--buncss-light,#f0f2f8)var(--buncss-dark,#1a1f27);--code-keyword:var(--buncss-light,#a0267a)var(--buncss-dark,#f08bd0);--code-string:var(--buncss-light,#1a6a35)var(--buncss-dark,#7fd69a);--code-number:var(--buncss-light,#9a4a00)var(--buncss-dark,#ffb070);--code-comment:var(--buncss-light,#5f6878)var(--buncss-dark,#8e98aa);--code-type:var(--buncss-light,#0b6a8f)var(--buncss-dark,#6cc7e6);--code-function:var(--buncss-light,#3a4fc0)var(--buncss-dark,#9db2ff);--code-meta:var(--buncss-light,#7a5a00)var(--buncss-dark,#e0c070);--busy:var(--success);--accent-text:var(--on-accent);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-full:999px;--shadow-1:0 1px 2px var(--buncss-light,#1018280f)var(--buncss-dark,#0006);--shadow-2:0 4px 14px var(--buncss-light,#1018281a)var(--buncss-dark,#00000073);--shadow-3:0 18px 48px var(--buncss-light,#10182833)var(--buncss-dark,#0009);--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--leading-tight:1.25;--leading:1.5;--weight-medium:500;--weight-bold:650;--dur-fast:.12s;--dur:.2s;--dur-slow:.34s;--ease-out:cubic-bezier(.2,.8,.2,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--rail-width:15rem;--tabbar-height:3.5rem;--touch:2.75rem;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);font-family:var(--font);font-size:16px;line-height:var(--leading);-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-color-scheme:dark){:root{--buncss-light: ;--buncss-dark:initial}}:root[data-theme=light]{--buncss-light:initial;--buncss-dark: ;color-scheme:light}:root[data-theme=dark]{--buncss-light: ;--buncss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--dur-fast:.01ms;--dur:.01ms;--dur-slow:.01ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.av{overflow:visible}.av .ov{opacity:0}.av .glow{opacity:.28}.av .ch,.av .prop,.av .eyes,.av .ov{transform-box:view-box}.av .ch{transform-origin:50px 94px}.av .eyes{transform-origin:50px 52px;animation:5.2s infinite av-blink}.av .o-wait,.av .o-done,.av .o-err{transform-origin:17px 19px}.av .o-think{transform-origin:50px 50px}.av [data-prop=staff]{transform-origin:73px 82px}.av [data-prop=shield]{transform-origin:27px 82px}.av [data-prop=scroll]{transform-origin:76px 76px}.av [data-prop=hammer]{transform-origin:79px 84px}.av [data-prop=bow]{transform-origin:78px 70px}.av [data-prop=lute]{transform-origin:75px 70px}.av [data-prop=flask]{transform-origin:73px 66px}.av [data-prop=quill]{transform-origin:72px 82px}.av [data-prop=tome]{transform-origin:78px 76px}.av [data-prop=bell]{transform-origin:76px 62px}.av [data-prop=keys]{transform-origin:78px 62px}.av [data-prop=map]{transform-origin:77px 58px}.av [data-prop=telescope]{transform-origin:76px 74px}.av [data-prop=wrench]{transform-origin:78px 86px}.av [data-prop=spade]{transform-origin:76px 60px}.av [data-prop=ladle]{transform-origin:78px 78px}.av [data-prop=lantern]{transform-origin:76px 62px}.av [data-prop=seal]{transform-origin:76px 66px}.av [data-prop=dagger]{transform-origin:78px 86px}.av [data-prop=beads]{transform-origin:78px 62px}.av [data-prop=bird]{transform-origin:78px 76px}.av [data-prop=anchor]{transform-origin:76px 76px}.av [data-prop=marotte]{transform-origin:76px 62px}.av [data-prop=sword]{transform-origin:76px 82px}:-webkit-any(.av,.av-host)[data-state=idle] .ch{animation:3.8s ease-in-out infinite av-breathe}:-moz-any(.av,.av-host)[data-state=idle] .ch{animation:3.8s ease-in-out infinite av-breathe}:is(.av,.av-host)[data-state=idle] .ch{animation:3.8s ease-in-out infinite av-breathe}:-webkit-any(.av,.av-host)[data-state=thinking] .ch{animation:3.2s ease-in-out infinite av-tilt}:-moz-any(.av,.av-host)[data-state=thinking] .ch{animation:3.2s ease-in-out infinite av-tilt}:is(.av,.av-host)[data-state=thinking] .ch{animation:3.2s ease-in-out infinite av-tilt}:-webkit-any(.av,.av-host)[data-state=thinking] .o-think{opacity:1;animation:2.6s linear infinite av-orbit}:-moz-any(.av,.av-host)[data-state=thinking] .o-think{opacity:1;animation:2.6s linear infinite av-orbit}:is(.av,.av-host)[data-state=thinking] .o-think{opacity:1;animation:2.6s linear infinite av-orbit}:-webkit-any(.av,.av-host)[data-state=working] .ch{animation:.56s ease-in-out infinite av-bob}:-moz-any(.av,.av-host)[data-state=working] .ch{animation:.56s ease-in-out infinite av-bob}:is(.av,.av-host)[data-state=working] .ch{animation:.56s ease-in-out infinite av-bob}:-webkit-any(.av,.av-host)[data-state=working] .prop{animation:.56s ease-in-out infinite alternate av-sweep}:-moz-any(.av,.av-host)[data-state=working] .prop{animation:.56s ease-in-out infinite alternate av-sweep}:is(.av,.av-host)[data-state=working] .prop{animation:.56s ease-in-out infinite alternate av-sweep}:-webkit-any(.av,.av-host)[data-state=working] .glow{animation:.56s ease-in-out infinite alternate av-glow}:-moz-any(.av,.av-host)[data-state=working] .glow{animation:.56s ease-in-out infinite alternate av-glow}:is(.av,.av-host)[data-state=working] .glow{animation:.56s ease-in-out infinite alternate av-glow}:-webkit-any(.av,.av-host)[data-state=waiting] .ch{animation:1.6s ease-in-out infinite av-lean}:-moz-any(.av,.av-host)[data-state=waiting] .ch{animation:1.6s ease-in-out infinite av-lean}:is(.av,.av-host)[data-state=waiting] .ch{animation:1.6s ease-in-out infinite av-lean}:-webkit-any(.av,.av-host)[data-state=waiting] .o-wait{opacity:1;animation:1.2s ease-in-out infinite av-badge}:-moz-any(.av,.av-host)[data-state=waiting] .o-wait{opacity:1;animation:1.2s ease-in-out infinite av-badge}:is(.av,.av-host)[data-state=waiting] .o-wait{opacity:1;animation:1.2s ease-in-out infinite av-badge}:-webkit-any(.av,.av-host)[data-state=waiting] .glow{animation:1.2s ease-in-out infinite alternate av-glow}:-moz-any(.av,.av-host)[data-state=waiting] .glow{animation:1.2s ease-in-out infinite alternate av-glow}:is(.av,.av-host)[data-state=waiting] .glow{animation:1.2s ease-in-out infinite alternate av-glow}:-webkit-any(.av,.av-host)[data-state=done] .ch{animation:.7s cubic-bezier(.3,1.6,.5,1) av-pop}:-moz-any(.av,.av-host)[data-state=done] .ch{animation:.7s cubic-bezier(.3,1.6,.5,1) av-pop}:is(.av,.av-host)[data-state=done] .ch{animation:.7s cubic-bezier(.3,1.6,.5,1) av-pop}:-webkit-any(.av,.av-host)[data-state=done] .o-done{opacity:1;animation:.5s ease-out av-badge-in}:-moz-any(.av,.av-host)[data-state=done] .o-done{opacity:1;animation:.5s ease-out av-badge-in}:is(.av,.av-host)[data-state=done] .o-done{opacity:1;animation:.5s ease-out av-badge-in}:-webkit-any(.av,.av-host)[data-state=done] .glow{opacity:.7}:-moz-any(.av,.av-host)[data-state=done] .glow{opacity:.7}:is(.av,.av-host)[data-state=done] .glow{opacity:.7}:-webkit-any(.av,.av-host)[data-state=error] .ch{animation:.5s ease-in-out 2 av-shake}:-moz-any(.av,.av-host)[data-state=error] .ch{animation:.5s ease-in-out 2 av-shake}:is(.av,.av-host)[data-state=error] .ch{animation:.5s ease-in-out 2 av-shake}:-webkit-any(.av,.av-host)[data-state=error] .o-err{opacity:1;animation:.3s ease-out av-badge-in}:-moz-any(.av,.av-host)[data-state=error] .o-err{opacity:1;animation:.3s ease-out av-badge-in}:is(.av,.av-host)[data-state=error] .o-err{opacity:1;animation:.3s ease-out av-badge-in}:-webkit-any(.av,.av-host)[data-state=error] .ring{stroke:#e5484d}:-moz-any(.av,.av-host)[data-state=error] .ring{stroke:#e5484d}:is(.av,.av-host)[data-state=error] .ring{stroke:#e5484d}:-webkit-any(.av,.av-host)[data-state=error] .glow{opacity:0}:-moz-any(.av,.av-host)[data-state=error] .glow{opacity:0}:is(.av,.av-host)[data-state=error] .glow{opacity:0}:-webkit-any(.av,.av-host)[data-state=sleepy] .ch{animation:6s ease-in-out infinite av-breathe}:-moz-any(.av,.av-host)[data-state=sleepy] .ch{animation:6s ease-in-out infinite av-breathe}:is(.av,.av-host)[data-state=sleepy] .ch{animation:6s ease-in-out infinite av-breathe}:-webkit-any(.av,.av-host)[data-state=sleepy] .o-zz{opacity:1;animation:3s ease-in-out infinite av-float}:-moz-any(.av,.av-host)[data-state=sleepy] .o-zz{opacity:1;animation:3s ease-in-out infinite av-float}:is(.av,.av-host)[data-state=sleepy] .o-zz{opacity:1;animation:3s ease-in-out infinite av-float}:-webkit-any(.av,.av-host)[data-state=sleepy] .glow{opacity:.08}:-moz-any(.av,.av-host)[data-state=sleepy] .glow{opacity:.08}:is(.av,.av-host)[data-state=sleepy] .glow{opacity:.08}@keyframes av-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.08)}}@keyframes av-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012,1.03)}}@keyframes av-tilt{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes av-orbit{to{transform:rotate(360deg)}}@keyframes av-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.4px)}}@keyframes av-sweep{0%{transform:rotate(-9deg)}to{transform:rotate(9deg)}}@keyframes av-glow{0%{opacity:.2}to{opacity:.85}}@keyframes av-lean{0%,to{transform:rotate(-1deg)translateY(0)}50%{transform:rotate(-6deg)translateY(1px)}}@keyframes av-badge{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}@keyframes av-badge-in{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes av-pop{0%{transform:scale(1)}40%{transform:scale(1.1,.94)}70%{transform:scale(.97,1.05)}to{transform:scale(1)}}@keyframes av-shake{0%,to{transform:translate(0)}20%{transform:translate(-2.4px)}40%{transform:translate(2.4px)}60%{transform:translate(-1.6px)}80%{transform:translate(1.6px)}}@keyframes av-float{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(-4px);opacity:1}}@media (prefers-reduced-motion:reduce){.av *{animation:none!important}.av .o-think{opacity:0!important}}.av.static *{animation:none!important}:root[data-look=camelot]{--bg:var(--buncss-light,#f4ead5)var(--buncss-dark,#0f1726);--surface:var(--buncss-light,#fbf5e6)var(--buncss-dark,#16213a);--surface-2:var(--buncss-light,#eee1c3)var(--buncss-dark,#1c2a47);--surface-3:var(--buncss-light,#e3d2a9)var(--buncss-dark,#243557);--raised:var(--buncss-light,#fffaf0)var(--buncss-dark,#1b2744);--border:var(--buncss-light,#dccb9f)var(--buncss-dark,#2c3c61);--border-strong:var(--buncss-light,#c2ad78)var(--buncss-dark,#41537f);--control-border:var(--buncss-light,#8a7650)var(--buncss-dark,#7e8db2);--scrim:var(--buncss-light,#2b211873)var(--buncss-dark,#03060eb3);--text:var(--buncss-light,#2b2118)var(--buncss-dark,#efe6d2);--muted:var(--buncss-light,#66543c)var(--buncss-dark,#bcb8ab);--on-accent:var(--buncss-light,#fff9ea)var(--buncss-dark,#1a1405);--accent:var(--buncss-light,#7a500a)var(--buncss-dark,#e6b94c);--accent-strong:var(--buncss-light,#5f3e07)var(--buncss-dark,#f2cd6c);--accent-soft:var(--buncss-light,#f0deb0)var(--buncss-dark,#2d3045);--accent-ink:var(--buncss-light,#553705)var(--buncss-dark,#f0cd78);--code-bg:var(--buncss-light,#fffaf0)var(--buncss-dark,#121c33);--code-fg:var(--buncss-light,#2b2118)var(--buncss-dark,#efe6d2);--code-gutter-bg:var(--buncss-light,#f1e5c6)var(--buncss-dark,#16213a);--code-gutter:var(--buncss-light,#66543c)var(--buncss-dark,#bcb8ab);--code-selection:var(--buncss-light,#ecd9a0)var(--buncss-dark,#31446e);--code-active-line:var(--buncss-light,#f6ecd2)var(--buncss-dark,#18243f);--code-keyword:var(--buncss-light,#7a500a)var(--buncss-dark,#e6b94c);--code-string:var(--buncss-light,#8a1c1c)var(--buncss-dark,#ff9a8f);--code-number:var(--buncss-light,#5f3d94)var(--buncss-dark,#c3a7f5);--code-comment:var(--buncss-light,#6a5a42)var(--buncss-dark,#b0ab9d);--code-type:var(--buncss-light,#26602d)var(--buncss-dark,#6fd49b);--code-function:var(--buncss-light,#1f4a80)var(--buncss-dark,#8fb4ff);--code-meta:var(--buncss-light,#764a07)var(--buncss-dark,#f0b95b);--gold:var(--buncss-light,#b98a2c)var(--buncss-dark,#e6b94c);--gold-soft:var(--buncss-light,#e9d29a)var(--buncss-dark,#3b4256);--gold-wash:var(--buncss-light,#f2e4bd)var(--buncss-dark,#222f4d);--success:var(--buncss-light,#26602d)var(--buncss-dark,#6fd49b);--success-soft:var(--buncss-light,#dfe9c9)var(--buncss-dark,#153027);--warn:var(--buncss-light,#764a07)var(--buncss-dark,#f0b95b);--warn-soft:var(--buncss-light,#f6e2b0)var(--buncss-dark,#3a2d12);--danger:var(--buncss-light,#a3281e)var(--buncss-dark,#ff9a8f);--danger-soft:var(--buncss-light,#f3d6cb)var(--buncss-dark,#3d1f2a);--yolo:var(--buncss-light,#96400a)var(--buncss-dark,#ffae72);--yolo-soft:var(--buncss-light,#f3dcc2)var(--buncss-dark,#3b2616);--long:var(--buncss-light,#5f3d94)var(--buncss-dark,#c3a7f5);--long-soft:var(--buncss-light,#e8ddee)var(--buncss-dark,#2c2547);--shadow-1:0 1px 2px var(--buncss-light,#4a340e1a)var(--buncss-dark,#00000073);--shadow-2:0 4px 14px var(--buncss-light,#4a340e24)var(--buncss-dark,#00000080);--shadow-3:0 18px 48px var(--buncss-light,#4a340e42)var(--buncss-dark,#000000a6);--font-heading:"Iowan Old Style",Palatino,"Songti TC","Noto Serif TC",Georgia,serif}[data-look=camelot] h1,[data-look=camelot] h2,[data-look=camelot] h3,[data-look=camelot] .page-bar strong,[data-look=camelot] .prompt-head strong{font-family:var(--font-heading);letter-spacing:0}[data-look=camelot] body{background:radial-gradient(60rem 36rem at 12% -8%,var(--buncss-light,#fffcf08c)var(--buncss-dark,#4660a029),transparent 70%),radial-gradient(48rem 30rem at 96% 108%,var(--buncss-light,#c8a05a33)var(--buncss-dark,#e6b94c0f),transparent 70%),radial-gradient(22rem 14rem at 70% 24%,var(--buncss-light,#b98a2c14)var(--buncss-dark,#788cd20d),transparent 70%),var(--bg)}[data-look=camelot] .topbar,[data-look=camelot] .tabbar{border-color:var(--gold-soft)}[data-look=camelot] .page-head{padding-bottom:var(--space-2);background:linear-gradient(90deg,var(--gold),transparent 70%)bottom/100% 1px no-repeat}[data-look=camelot] .room-head{position:relative;border-bottom-color:var(--gold-soft);box-shadow:0 1px 0 color-mix(in srgb,var(--gold)38%,transparent)}[data-look=camelot] .room-head:before,[data-look=camelot] .room-head:after{content:"";position:absolute;pointer-events:none;background:linear-gradient(var(--gold),var(--gold))bottom/100% 2px no-repeat,linear-gradient(var(--gold),var(--gold))var(--side)/2px 100% no-repeat;width:.75rem;height:.75rem;bottom:-1px}[data-look=camelot] .room-head:before{--side:left;left:0}[data-look=camelot] .room-head:after{--side:right;right:0}[data-look=camelot] .card,[data-look=camelot] .prompt,[data-look=camelot] .progress,[data-look=camelot] .bubble{border-color:color-mix(in srgb,var(--gold)34%,var(--border))}[data-look=camelot] .message[data-mine] .bubble{border-color:#0000}[data-look=camelot] .room-row[data-home],[data-look=camelot] .room-row[aria-current=page],[data-look=camelot] .creator-preview{background:var(--gold-wash)}[data-look=camelot] .prompt{position:relative;--seal-out:.9rem;--seal-in:.6rem}[data-look=camelot] .prompt[data-sealed]{padding-bottom:calc(var(--space-4) + var(--seal-in));margin-bottom:var(--seal-out)}.wax-seal{--seal-size:2.5rem;position:absolute;right:var(--space-4);bottom:calc(var(--seal-out)*-1);width:var(--seal-size);height:var(--seal-size);pointer-events:none;filter:drop-shadow(0 2px 2px #00000047);transform:rotate(-9deg)}.wax-seal[data-stamp]{animation-name:seal-stamp;animation-duration:.45s;animation-timing-function:var(--ease-spring);animation-fill-mode:both}.wax-seal svg{display:block;overflow:visible;width:100%;height:100%}.wax-seal .seal-body{fill:var(--agent-accent,var(--accent))}.wax-seal .seal-ring{fill:none;stroke:color-mix(in srgb,var(--agent-accent,var(--accent))62%,#000);stroke-width:1.6}.wax-seal .seal-mark{fill:none;stroke:color-mix(in srgb,var(--agent-accent,var(--accent))62%,#000);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}@keyframes seal-stamp{0%{opacity:0;transform:rotate(-9deg)scale(1.7)}60%{opacity:1;transform:rotate(-9deg)scale(.92)}to{opacity:1;transform:rotate(-9deg)scale(1)}}[data-look=camelot] .progress-bar{display:none}.candle-runes{display:inline-flex;align-items: center;gap:var(--space-2);flex:none}.candle{overflow:visible;width:.85rem;height:1.55rem}.candle .candle-wax{fill:var(--buncss-light,#f3e3b6)var(--buncss-dark,#d9cdb0);stroke:var(--gold);stroke-width:.6}.candle .candle-wick{stroke:var(--buncss-light,#4a3a28)var(--buncss-dark,#1a1405);stroke-width:.9}.candle .candle-flame{fill:var(--gold);transform-box:fill-box;transform-origin:50% 100%;animation:1.7s ease-in-out infinite candle-flicker}.runes{display:inline-flex;gap:.3rem}.rune{width:.55rem;height:.9rem}.rune path{fill:none;stroke:color-mix(in srgb,var(--gold)80%,var(--text));stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.rune{animation:2.4s ease-in-out infinite rune-shimmer}.rune[data-rune="1"]{animation-delay:.3s}.rune[data-rune="2"]{animation-delay:.6s}.rune[data-rune="3"]{animation-delay:.9s}.rune[data-rune="4"]{animation-delay:1.2s}.rune[data-rune="5"]{animation-delay:1.5s}@keyframes rune-shimmer{0%,to{opacity:.4}45%{opacity:1}}@keyframes candle-flicker{0%,to{opacity:1;transform:scale(1)rotate(0)}30%{opacity:.82;transform:scale(.92,1.08)rotate(-2deg)}65%{opacity:.94;transform:scale(1.06,.95)rotate(2deg)}}@media (prefers-reduced-motion:reduce){.wax-seal[data-stamp],.candle .candle-flame,.rune{animation-name:none}.rune{opacity:.85}}*{box-sizing:border-box}html{background:var(--bg);height:100%}body{overflow:hidden;background:var(--bg);color:var(--text);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;height:100%;margin:0}a{color:var(--accent)}h1,h2,h3{font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.01em;margin:0}h1{font-size:var(--text-xl)}h2{font-size:var(--text-md)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.visually-hidden{position:absolute;overflow:hidden;clip-path:inset(50%);white-space:nowrap;width:1px;height:1px}kbd{padding:0 var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font:inherit;font-size:var(--text-xs)}.app{position:fixed;left:0;right:0;top:var(--app-top,0px);height:var(--app-height,100dvh);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)auto;background:var(--bg)}.stage{grid-row:1;display:flex;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-left:var(--safe-left);padding-right:var(--safe-right);flex-direction:column;min-width:0;min-height:0}.stage[data-fill]{overflow:hidden}.route{display:flex;flex-direction:column;flex:1;min-height:0}.no-vt .route{animation:route-in var(--dur-slow)var(--ease-out)both}@keyframes route-in{0%{opacity:0;transform:translateY(8px)}}.topbar{position:sticky;z-index:5;display:flex;justify-content:space-between;align-items: center;gap:var(--space-3);padding:calc(var(--space-2) + var(--safe-top))var(--space-4)var(--space-2);background:color-mix(in srgb,var(--bg)88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);top:0}.topbar h1{font-size:var(--text-md)}.brand{display:flex;align-items: center;gap:var(--space-2);min-width:0}.brand-mark{display:grid;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);overflow:hidden;flex:none;place-items: center;width:1.75rem;height:1.75rem}.brand-mark img{object-fit:cover;width:100%;height:100%}.brand h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-end,.rail-foot{display:flex;align-items: center;gap:var(--space-2)}.live-chip{display:inline-flex;align-items: center;gap:var(--space-2);font-size:var(--text-xs);color:var(--muted)}.live-chip:before{content:"";border-radius:var(--radius-full);background:var(--muted);width:.5rem;height:.5rem}.live-chip[data-on]:before{background:var(--success);box-shadow:0 0 0 0 var(--success);animation:pulse 2.4s var(--ease-out)infinite}@keyframes pulse{70%,to{box-shadow:0 0 0 6px #0000}}.rail{display:none}.tabbar{grid-row:2;display:flex;padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface)92%,transparent);backdrop-filter:blur(14px)}.tab{position:relative;display:flex;min-height:var(--tabbar-height);color:var(--muted);font-size:var(--text-xs);text-decoration:none;transition:color var(--dur)var(--ease-out);flex-direction:column;flex:1;justify-content:center;align-items: center;gap:2px}.tab[aria-current=page]{color:var(--accent)}.tab svg{transition:transform var(--dur)var(--ease-spring)}.tab[aria-current=page] svg{transform:translateY(-1px)scale(1.1)}.tab-badge{position:absolute;border-radius:var(--radius-full);background:var(--warn);color:var(--bg);font-size:.65rem;font-weight:var(--weight-bold);text-align:center;min-width:1.1rem;padding:0 .3rem;line-height:1.1rem;top:.35rem;left:calc(50% + .55rem)}.app[data-fill]{grid-template-rows:minmax(0,1fr)}.app[data-fill] .tabbar,.app[data-fill] .topbar{display:none}@media (min-width:720px){.app{grid-template-columns:var(--rail-width)minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.app[data-fill] .topbar,.topbar,.tabbar,.app[data-fill] .tabbar{display:none}.rail{grid-column:1;display:flex;gap:var(--space-4);padding:calc(var(--space-4) + var(--safe-top))var(--space-3)var(--space-3)calc(var(--space-3) + var(--safe-left));border-right:1px solid var(--border);background:var(--surface);flex-direction:column;min-height:0}.stage{grid-column:2;padding-left:0}.rail-nav{display:flex;gap:var(--space-1);overflow-y:auto;flex-direction:column;flex:1}.rail-link{position:relative;display:flex;align-items: center;gap:var(--space-3);padding:0 var(--space-3);border-radius:var(--radius);color:var(--muted);font-weight:var(--weight-medium);text-decoration:none;transition:background-color var(--dur-fast)var(--ease-out),color var(--dur-fast)var(--ease-out);min-height:2.5rem}.rail-link:hover{background:var(--surface-2);color:var(--text)}.rail-link[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink)}.rail-link .tab-badge{position:static;margin-left:auto}.rail-foot{padding-left:var(--space-3)}}.page{display:flex;gap:var(--space-5);padding:var(--space-4)var(--space-4)calc(var(--space-8) + var(--safe-bottom));flex-direction:column;width:100%;max-width:60rem;margin:0 auto}@media (min-width:720px){.page{padding:var(--space-8)var(--space-8)var(--space-10)}}.page-head{min-height:var(--touch);display:flex;justify-content:space-between;align-items: center;gap:var(--space-3);flex-wrap:wrap}.section-title{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.stack{display:flex;gap:var(--space-3);flex-direction:column}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3)var(--space-4);box-shadow:var(--shadow-1)}.card-link{display:block;color:inherit;text-decoration:none;transition:border-color var(--dur-fast)var(--ease-out),transform var(--dur)var(--ease-out)}.card-link:hover{border-color:var(--accent)}.card-head{display:flex;justify-content:space-between;align-items: flex-start;gap:var(--space-2);flex-wrap:wrap}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-2)var(--space-4);margin:var(--space-2)0 0}.facts dt{font-size:var(--text-xs);color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.skill-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-2)var(--space-4);margin:0}.skill-meta dt{font-size:var(--text-xs);color:var(--muted);padding-top:.15em}.skill-meta dd{overflow-wrap:anywhere;margin:0}.skill-document{display:flex;gap:var(--space-4);flex-direction:column}.skill-meta{padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.prose.document{line-height:1.65}.prose.document>:-webkit-any(p,ul,ol,blockquote,h1,h2,h3,h4){max-width:72ch}.prose.document>:-moz-any(p,ul,ol,blockquote,h1,h2,h3,h4){max-width:72ch}.prose.document>:is(p,ul,ol,blockquote,h1,h2,h3,h4){max-width:72ch}.meta,.hint,.empty{font-size:var(--text-sm);color:var(--muted);margin:0}.empty{padding:var(--space-6)var(--space-4);text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius)}.text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.badge{display:inline-flex;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface-2);font-size:var(--text-xs);color:var(--muted);white-space:nowrap;align-items: center;gap:.25rem;line-height:1.3rem}.badge-busy{background:var(--success-soft);color:var(--success);border-color:#0000}.badge-warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.badge-accent{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.badge-yolo{background:var(--yolo-soft);color:var(--yolo);border-color:#0000}.badge-long{background:var(--long-soft);color:var(--long);border-color:#0000}.failure{padding:var(--space-3)var(--space-4);border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);margin:0}.skeleton{border-radius:var(--radius);background:linear-gradient(100deg,var(--surface-2)30%,var(--surface-3)50%,var(--surface-2)70%);animation:1.4s linear infinite shimmer;background-size:300% 100%;height:4rem}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}button,input,select,textarea{font:inherit;color:inherit}button{display:inline-flex;justify-content:center;align-items: center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--on-accent);font-weight:var(--weight-medium);cursor:pointer;touch-action:manipulation;transition:background-color var(--dur-fast)var(--ease-out),border-color var(--dur-fast)var(--ease-out),transform var(--dur-fast)var(--ease-out),opacity var(--dur)var(--ease-out);min-height:2.5rem}button:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}button:active:not(:disabled){transform:scale(.97)}button.secondary,.tabs button{border-color:var(--control-border);color:var(--text);background:0 0}button.secondary:hover:not(:disabled),.tabs button:hover:not(:disabled){background:var(--surface-2);border-color:var(--control-border)}.tabs button[aria-selected=true],.tabs button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}button.danger{border-color:var(--danger);color:var(--danger);background:0 0}button.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}button:disabled{opacity:.55;cursor:default}.icon-button{display:inline-flex;width:var(--touch);min-width:var(--touch);height:var(--touch);min-height:var(--touch);color:var(--muted);background:0 0;border-color:#0000;justify-content:center;align-items: center;padding:0}.icon-button:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:#0000}.link-button{padding:0 var(--space-2);color:var(--accent);background:0 0;border-color:#0000;min-height:2rem}.link-button:hover:not(:disabled){background:var(--accent-soft);border-color:#0000}.danger-icon:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}input,select,textarea{padding:var(--space-2)var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius);background:var(--surface);transition:border-color var(--dur-fast)var(--ease-out);width:100%;min-height:2.5rem}input:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}select:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}textarea{resize:vertical;line-height:var(--leading)}input[type=radio]:focus-visible{border-radius:50%}input[type=radio],input[type=checkbox]{accent-color:var(--accent);width:1.1rem;height:1.1rem;min-height:0}label{display:flex;gap:var(--space-1);font-size:var(--text-sm);color:var(--muted);flex-direction:column}label.inline{flex-direction:row;align-items: center}label.inline select{width:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--text);font-weight:var(--weight-medium);padding:0}.toolbar{display:flex;gap:var(--space-3);flex-wrap:wrap}.toolbar input{flex:1;width:auto;min-width:12rem}.tabs{display:flex;gap:var(--space-1)}.actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.form{max-width:40rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-3)}.back{font-size:var(--text-sm);text-decoration:none}.page-bar{display:flex;align-items: center;gap:var(--space-2);margin:calc(var(--space-2)*-1)calc(var(--space-2)*-1)0}.page-bar strong{font-size:var(--text-md)}.crash{display:flex;align-items: center;gap:var(--space-3);margin:var(--space-10)auto 0;padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-2);text-align:center;flex-direction:column;max-width:24rem}.crash p{color:var(--muted);margin:0}.crash-icon{display:grid;border-radius:var(--radius-full);background:var(--warn-soft);color:var(--warn);place-items: center;width:2.75rem;height:2.75rem}button.yolo-action{border-color:var(--yolo);background:var(--yolo);color:var(--bg)}button.yolo-action:hover:not(:disabled){border-color:var(--yolo);background:color-mix(in srgb,var(--yolo)88%,var(--text))}.switch{position:relative;border-color:var(--control-border);border-radius:var(--radius-full);background:var(--surface-3);transition:background-color var(--dur)var(--ease-out),border-color var(--dur)var(--ease-out);flex:none;width:2.75rem;min-width:2.75rem;height:1.65rem;min-height:1.65rem;padding:0}.switch:hover:not(:disabled){background:var(--border-strong);border-color:var(--control-border)}.switch-thumb{position:absolute;border-radius:var(--radius-full);background:var(--control-border);box-shadow:var(--shadow-1);transition:transform var(--dur)var(--ease-spring),background-color var(--dur)var(--ease-out);width:1.2rem;height:1.2rem;margin-top:-.6rem;top:50%;left:2px}.switch[aria-checked=true],.switch[aria-checked=true]:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.switch[aria-checked=true] .switch-thumb{background:var(--on-accent);transform:translate(1.1rem)}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);gap:2px;padding:3px}.segmented-wide{display:flex}.segmented-wide label{flex:1}.segmented label{position:relative;justify-content:center;align-items: center;gap:var(--space-2);padding:0 var(--space-3);border-radius:calc(var(--radius) - 3px);color:var(--muted);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--dur)var(--ease-out),color var(--dur)var(--ease-out);flex-direction:row;min-height:2.25rem}.segmented label[data-checked=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1),inset 0 0 0 1px var(--border-strong)}.segmented input{position:absolute;opacity:0;cursor:pointer;width:100%;height:100%;inset:0}.segmented label:has(:focus-visible){outline:2px solid var(--accent)}.look-swatch{display:inline-flex;border:1px solid var(--control-border);border-radius:var(--radius-sm);gap:2px;padding:2px}.look-swatch i{display:block;border-radius:2px;width:.7rem;height:.9rem}.look-swatch[data-swatch=modern] i:first-child{background:var(--buncss-light,#f5f6f8)var(--buncss-dark,#0f1115)}.look-swatch[data-swatch=modern] i:nth-child(2){background:var(--buncss-light,#fff)var(--buncss-dark,#171a20)}.look-swatch[data-swatch=modern] i:nth-child(3){background:var(--buncss-light,#3a5bd9)var(--buncss-dark,#8ea4ff)}.look-swatch[data-swatch=camelot] i:first-child{background:var(--buncss-light,#f4ead5)var(--buncss-dark,#0f1726)}.look-swatch[data-swatch=camelot] i:nth-child(2){background:var(--buncss-light,#fbf5e6)var(--buncss-dark,#16213a)}.look-swatch[data-swatch=camelot] i:nth-child(3){background:var(--buncss-light,#b98a2c)var(--buncss-dark,#e6b94c)}.av-host{display:inline-block;user-select:none;flex:none;width:2.5rem;height:2.5rem;line-height:0}.av-host:empty{border-radius:var(--radius-full);background:var(--surface-3)}.av-host>svg{display:block;width:100%;height:100%}.av-host.static .av *{animation:none!important}.av-stack{position:relative;display:inline-block;flex:none}.av-stack-item{position:absolute;top:0}.toaster{position:fixed;z-index:50;left:0;right:0;bottom:calc(var(--tabbar-height) + var(--safe-bottom) + var(--space-3));display:flex;align-items: center;gap:var(--space-2);pointer-events:none;flex-direction:column}.app[data-fill]~.toaster{bottom:calc(5.5rem + var(--safe-bottom))}@media (min-width:720px){.toaster{bottom:var(--space-6)}}.toast{pointer-events:auto;display:flex;align-items: center;gap:var(--space-2);padding:var(--space-2)var(--space-2)var(--space-2)var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--raised);box-shadow:var(--shadow-2);font-size:var(--text-sm);animation:toast-in var(--dur-slow)var(--ease-spring)both;max-width:min(28rem,100vw - 2rem)}.toast[data-tone=danger]{border-color:var(--danger)}.toast-action{padding:0 var(--space-3);font-size:var(--text-sm);min-height:2rem}.toast .icon-button{width:2rem;min-width:2rem;height:2rem;min-height:2rem}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--raised);color:var(--text);box-shadow:var(--shadow-3);padding:0}dialog::backdrop{background:var(--scrim);opacity:var(--sheet-progress,1);transition:opacity var(--dur)var(--ease-out)}dialog.sheet{overflow:hidden;opacity:0;transition:transform var(--dur-slow)var(--ease-out),opacity var(--dur)var(--ease-out);width:min(32rem,100vw - 2rem);max-height:min(85dvh,48rem);margin:auto;transform:translateY(16px)scale(.98)}dialog.sheet[open]{display:flex;flex-direction:column}dialog.sheet[data-state=open]{opacity:1;transform:none}dialog.sheet[data-state=closing]{opacity:0;transition-duration:var(--dur);transform:translateY(16px)scale(.98)}dialog.sheet[data-state=opening]::backdrop{opacity:0}dialog.sheet[data-state=closing]::backdrop{opacity:0}dialog.sheet[data-dragging]{transition:none}.sheet-grab{display:none;padding:var(--space-2)0 var(--space-1);touch-action:none;justify-content:center}.sheet-handle{border-radius:var(--radius-full);background:var(--border-strong);width:2.5rem;height:.3rem}.sheet-body{position:relative;display:flex;gap:var(--space-3);overflow-y:auto;padding:var(--space-5)var(--space-5)calc(var(--space-5) + var(--safe-bottom));overscroll-behavior:contain;flex-direction:column;flex:auto;min-height:0}.sheet-head{display:flex;justify-content:space-between;align-items: center;gap:var(--space-3);padding:var(--space-4)var(--space-4)var(--space-4)var(--space-5);border-bottom:1px solid var(--border);touch-action:none;flex:none}.sheet-head h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sheet-head button{touch-action:manipulation;flex:none}.sheet-head .icon-button{width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem}@media (min-width:720px){dialog.sheet.wide{width:min(56rem,100vw - 4rem)}}dialog.sheet.full{border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0}@media (max-width:719px){dialog.sheet{border-radius:var(--radius-lg)var(--radius-lg)0 0;opacity:1;width:100%;max-width:none;margin:auto 0 0;transform:translateY(100%)}dialog.sheet[data-state=open]{transform:none}dialog.sheet[data-state=closing]{opacity:1;transform:translateY(100%)}.sheet-grab{display:flex}.sheet-head{padding:var(--space-3)var(--space-3)var(--space-3)var(--space-4)}.sheet-body{padding:var(--space-4)var(--space-4)calc(var(--space-4) + var(--safe-bottom))}}.menu{display:flex;list-style:none;flex-direction:column;margin:0;padding:0}.menu-item{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-2)var(--space-1);border-radius:var(--radius);color:var(--text);text-align:left;text-decoration:none;font-weight:inherit;background:0 0;border:0;flex-direction:row;width:100%;min-height:3.5rem}.menu-link:hover,.menu-toggle:hover{background:var(--surface-2)}.menu-toggle{gap:var(--space-3);color:var(--text);font-size:var(--text-base);cursor:pointer;flex-direction:row}.menu-icon{display:grid;border-radius:var(--radius);background:var(--surface-2);color:var(--muted);flex:none;place-items: center;width:2.25rem;height:2.25rem}.menu-icon[data-tone=yolo]{background:var(--yolo-soft);color:var(--yolo)}.menu-icon[data-tone=long]{background:var(--long-soft);color:var(--long)}.menu-icon[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.menu-text{display:flex;flex-direction:column;flex:1;min-width:0}.menu-text .meta{font-weight:400}.more-list{display:flex;padding:var(--space-2);list-style:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;margin:0}.prose{overflow-wrap:anywhere}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p,.prose ul,.prose ol,.prose blockquote,.prose .code-block,.prose .table-wrap{margin:0 0 var(--space-3)}.prose ul,.prose ol{padding-left:1.4rem}.prose h1,.prose h2,.prose h3,.prose h4{margin:var(--space-4)0 var(--space-2);font-size:var(--text-md)}.prose blockquote{padding:0 var(--space-3);color:var(--muted);background:var(--surface-2);border-radius:var(--radius-sm)}.prose code{background:var(--surface-3);font-family:var(--font-mono);border-radius:4px;padding:.1em .35em;font-size:.88em}.code-block{position:relative}.code-block pre{padding:var(--space-3);overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-size:var(--text-sm);margin:0}.code-block pre code{font-size:inherit;background:0 0;padding:0}.code-copy{position:absolute;opacity:0;transition:opacity var(--dur)var(--ease-out);width:2rem;min-width:2rem;height:2rem;min-height:2rem;top:.25rem;right:.25rem}.code-block:hover .code-copy{opacity:1}.code-copy:focus-visible{opacity:1}@media (hover:none){.code-copy{opacity:1}}.table-wrap{overflow-x:auto}.prose table{border-collapse:collapse;font-size:var(--text-sm)}.prose th,.prose td{padding:var(--space-1)var(--space-3);border:1px solid var(--border);text-align:left}.transcript{display:flex;gap:var(--space-3);list-style:none;flex-direction:column;margin:0;padding:0}.entry{padding:var(--space-3)var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.entry-user{background:var(--accent-soft)}.entry-compaction{color:var(--muted);border-style:dashed}.entry-tool{padding:var(--space-2)var(--space-4);font-size:var(--text-sm);background:0 0}.entry-tool summary{cursor:pointer;color:var(--muted)}.entry-tool pre{margin:var(--space-2)0 0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;max-height:20rem}.entry-head{display:flex;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.role{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.04em}.call{display:block;margin-top:var(--space-2);font-size:var(--text-xs);color:var(--muted);overflow-wrap:anywhere}.theme-reveal::view-transition-old(root){animation:none;mix-blend-mode:normal}.theme-reveal::view-transition-new(root){animation:none;mix-blend-mode:normal}.theme-fade *,.theme-fade *:before,.theme-fade *:after{transition:background-color .24s var(--ease-out),color .24s var(--ease-out),border-color .24s var(--ease-out)!important}::view-transition-old(root){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-out)}::view-transition-new(root){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-out)}@media (max-width:719px),(pointer:coarse){button,input,select,textarea{min-height:var(--touch)}input[type=radio],input[type=checkbox]{min-height:0}select,textarea{font-size:var(--text-md)}input:where(:not(:-webkit-any([type=checkbox],[type=radio],[type=range],[type=color],[type=file]))){font-size:var(--text-md)}input:where(:not(:-moz-any([type=checkbox],[type=radio],[type=range],[type=color],[type=file]))){font-size:var(--text-md)}input:where(:not(:is([type=checkbox],[type=radio],[type=range],[type=color],[type=file]))){font-size:var(--text-md)}.switch{min-height:1.65rem}.link-button,.segmented label,.to-end,.prompt-details summary,.rail-link{min-height:var(--touch)}.prompt-details summary{display:flex;align-items: center}.code-copy,.toast .icon-button,.attached-chip .icon-button{width:var(--touch);min-width:var(--touch);height:var(--touch);min-height:var(--touch)}.back,.schedule a,.meta a{display:inline-flex;min-height:var(--touch);align-items: center}kbd{display:none}}.search-button{gap:var(--space-3);color:var(--muted)}.search-button span{display:none}@media (min-width:720px){.search-button span{display:inline}}.header-button{color:var(--text);background:0 0;border-color:#0000}.header-button:hover:not(:disabled){background:var(--surface-2);border-color:#0000}.switcher-search .switcher-add{margin-right:calc(var(--space-2)*-1);flex:none}.room-list{display:flex;gap:var(--space-2);list-style:none;flex-direction:column;margin:0;padding:0}.room-row{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-3)var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-1);color:inherit;text-decoration:none;transition:transform var(--dur)var(--ease-out),border-color var(--dur-fast)var(--ease-out),box-shadow var(--dur)var(--ease-out);min-height:4.25rem}.room-row:hover{border-color:var(--agent-accent,var(--accent));box-shadow:var(--shadow-2)}.room-row[aria-current=page]{border-color:var(--agent-accent,var(--accent));background:color-mix(in srgb,var(--agent-accent,var(--accent))14%,var(--surface))}.room-row:active{transform:scale(.99)}.room-row[data-home]{padding:var(--space-4);background:color-mix(in srgb,var(--agent-accent,var(--accent))9%,var(--surface))}.room-row-main{display:flex;flex-direction:column;flex:1;gap:2px;min-width:0}.room-row-top{display:flex;align-items: center;gap:var(--space-2)}.room-row-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-row-time{font-size:var(--text-xs);color:var(--muted);flex:none;margin-left:auto}.room-row-preview{display:flex;align-items: center;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm);min-width:0}.room-row-preview>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-row-badges{display:flex;gap:var(--space-1);empty-cells:hide;flex-wrap:wrap}.room-row-badges:empty{display:none}.room-row-chevron{color:var(--muted);transition:transform var(--dur)var(--ease-out);flex:none}.room-row:hover .room-row-chevron{transform:translate(3px)}.thread-group{display:flex;gap:var(--space-1);margin:var(--space-2)0 var(--space-2)var(--space-5);flex-direction:column}.thread-list{display:flex;gap:var(--space-1);list-style:none;flex-direction:column;margin:0;padding:0}.thread-item{position:relative;overflow:hidden;border-radius:var(--radius-lg)}.thread-card{position:relative;display:flex;border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--agent-accent,var(--accent))10%,var(--surface));touch-action:pan-y;transition:border-color var(--dur-fast)var(--ease-out);align-items: center}.thread-card[data-closed]{background:var(--surface);color:var(--muted)}.thread-card:hover{border-color:var(--agent-accent,var(--accent))}.thread-card:has(.thread-link[aria-current=page]){border-color:var(--agent-accent,var(--accent))}.thread-link{font-weight:600}.thread-card .thread-link{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-2)var(--space-3);border-radius:var(--radius-lg);color:inherit;font-size:var(--text-sm);text-decoration:none;flex:1;min-width:0;min-height:3.5rem}.thread-card .thread-link:focus-visible{outline:2px solid var(--focus,var(--accent));outline-offset:-2px}.thread-more:focus-visible{outline:2px solid var(--focus,var(--accent));outline-offset:-2px}.thread-row-icon{color:var(--muted);flex:none}.thread-card-main{display:flex;flex-direction:column;flex:1;gap:2px;min-width:0}.thread-card-top,.thread-card-meta{display:flex;align-items: center;gap:var(--space-2);min-width:0}.thread-card-meta{flex-wrap:wrap}.thread-card-meta .room-row-time{white-space:nowrap}.thread-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.thread-card:not([data-closed]) .thread-title{color:var(--text)}.thread-reveal{position:absolute;display:flex;align-items: center;gap:var(--space-2);padding-left:var(--space-4);border-radius:var(--radius-lg);background:var(--danger-soft);color:var(--danger);font-size:var(--text-sm);font-weight:var(--weight-medium);inset:0}.thread-card[data-armed]{border-color:var(--danger)}.thread-more,.thread-clear{min-width:var(--touch);min-height:var(--touch);color:var(--muted);font-size:var(--text-xs);background:0 0;border-color:#0000;flex:none;font-weight:400}.thread-more:hover:not(:disabled),.thread-clear:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:#0000}.thread-more{margin-right:var(--space-1);padding:0}.thread-clear{position:absolute;padding:0 var(--space-3);top:0;right:0}.thread-finished{position:relative}@media (prefers-reduced-motion:reduce){.thread-card{transition:none}}.thread-closed>summary{display:flex;min-height:var(--touch);padding:0 var(--space-3);color:var(--muted);font-size:var(--text-xs);cursor:pointer;list-style:none;align-items: center}.thread-closed>summary::-webkit-details-marker{display:none}.thread-closed>summary:before{content:"▸";margin-right:var(--space-2)}.thread-closed[open]>summary:before{content:"▾"}.thread-closed>summary:hover{color:var(--text)}.thread-closed[open]>summary{margin-bottom:var(--space-1)}.thread-finished>.thread-closed>summary{padding-right:6rem}.line .prose{text-align:center;flex:0 auto}.line .prose p{margin:0}.typing{display:inline-flex;flex:none;gap:3px}.typing i{border-radius:var(--radius-full);background:var(--success);animation:bounce 1.1s var(--ease-in-out)infinite;width:5px;height:5px}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:none;opacity:.45}30%{transform:translateY(-4px);opacity:1}}.room{position:relative;display:flex;background:var(--bg);flex-direction:column;flex:1;min-height:0}.room-head{display:flex;align-items: center;gap:var(--space-3);padding:calc(var(--space-2) + var(--safe-top))var(--space-3)var(--space-2)var(--space-2);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface)92%,transparent);backdrop-filter:blur(14px);z-index:4}.room-title{display:flex;flex-direction:column;flex:1;min-width:0}.room-title h1{overflow:hidden;font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap}.room-status{font-size:var(--text-xs);color:var(--muted)}.room-status[data-working]{color:var(--success)}@media (min-width:720px){.room-back{display:none}.room-head{padding-left:var(--space-4)}}button.room-name{display:inline;border-radius:var(--radius-sm);color:inherit;font:inherit;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;max-width:100%;min-height:0;padding:0}button.room-name:hover:not(:disabled){text-decoration:underline;text-decoration-color:var(--muted);text-underline-offset:.2em;background:0 0}.room-muted,.muted-mark{margin-left:var(--space-2);vertical-align:-.1em;color:var(--muted);flex:none}button.room-picture{border-radius:var(--radius-full);background:0 0;border:0;flex:none;min-height:0;padding:0}button.room-picture:hover:not(:disabled){background:0 0}.switcher{position:fixed;z-index:30;--switcher-progress:0;visibility:hidden;pointer-events:none;transition:visibility 0s linear var(--dur-slow);inset:0}.switcher[data-state=open]{--switcher-progress:1}.switcher[data-state=open],.switcher[data-state=dragging]{visibility:visible;pointer-events:auto;transition:none}.switcher-scrim{position:absolute;background:var(--scrim);opacity:var(--switcher-progress);transition:opacity var(--dur-slow)var(--ease-out);touch-action:pan-y;inset:0}.switcher-panel{position:absolute;display:flex;padding:var(--safe-top)0 var(--safe-bottom)var(--safe-left);border-right:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-2);outline:none;transform:translate3d(calc((var(--switcher-progress) - 1)*100%),0,0);transition:transform var(--dur-slow)var(--ease-out);touch-action:pan-y;flex-direction:column;width:min(80vw,360px);inset:0 auto 0 0}.switcher[data-state=dragging] .switcher-scrim,.switcher[data-state=dragging] .switcher-panel{transition:none}.switcher-search{display:flex;align-items: center;gap:var(--space-2);margin:var(--space-3)var(--space-3)var(--space-1);padding:0 var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius-full);background:var(--surface-2);color:var(--muted)}.switcher-search svg{flex:none}.switcher-search input{min-height:var(--touch);color:var(--text);outline:none;background:0 0;border:0;min-width:0;padding:0;font-size:1rem}.switcher-search:focus-within{border-color:var(--accent)}.switcher-scroll{overflow-y:auto;overscroll-behavior:contain;padding:0 var(--space-2)var(--space-3);flex:1;min-height:0}.switcher-heading{margin:var(--space-3)var(--space-2)var(--space-1);color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.switcher-heading[data-waiting]{color:var(--warn)}.switcher-list{display:flex;list-style:none;flex-direction:column;gap:2px;margin:0;padding:0}.switcher-row{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-2)var(--space-3);border-radius:var(--radius);color:inherit;text-decoration:none;min-height:3.5rem}.switcher-row:hover,.switcher-row:active{background:var(--surface-2)}.switcher-row[aria-current=page]{background:color-mix(in srgb,var(--agent-accent,var(--accent))14%,var(--surface))}.switcher-picture{position:relative;display:inline-flex;flex:none}.switcher-dot{position:absolute;border:2px solid var(--surface);border-radius:var(--radius-full);background:var(--warn);width:.7rem;height:.7rem;top:-1px;right:-1px}.switcher-name{display:flex;flex-direction:column;flex:1;min-width:0}.switcher-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switcher-working{display:inline-flex;align-items: center;gap:var(--space-2);color:var(--success);font-size:var(--text-xs)}.switcher-mode{display:inline-flex;flex:none}.switcher-mode[data-mode=yolo]{color:var(--yolo)}.switcher-mode[data-mode=long]{color:var(--long)}.switcher-mode[data-mode=muted]{color:var(--muted)}.mode-banner{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-slow)var(--ease-out);z-index:3}.mode-banner[data-open=true]{grid-template-rows:1fr}.mode-banner-inner{overflow:hidden;min-height:0}.mode-lines{display:flex;flex-direction:column}.mode-line{display:flex;align-items: center;gap:var(--space-2);padding:0 var(--space-2)0 var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium)}.mode-line>span{flex:1}.mode-line[data-mode=yolo]{background:var(--yolo-soft);color:var(--yolo)}.mode-line[data-mode=long]{background:var(--long-soft);color:var(--long)}.mode-line .link-button{color:inherit;text-decoration:underline}.mode-line[data-mode=yolo] svg{animation:flash 2.6s var(--ease-in-out)infinite}@keyframes flash{50%{opacity:.45}}.room-scroll{overflow-anchor:auto;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:var(--space-4);flex:1;min-height:0}.room-content{display:flex;gap:var(--space-3);padding:var(--space-4)var(--space-3);flex-direction:column;justify-content:flex-end;width:100%;max-width:52rem;min-height:100%;margin:0 auto}.older{align-self: center}.messages{display:flex;list-style:none;flex-direction:column;gap:2px;margin:0;padding:0}.message{display:flex;align-items: flex-end;gap:var(--space-2);content-visibility:auto;contain-intrinsic-size:auto 6rem}@supports not (overflow-anchor: auto){.message{content-visibility:visible}}.message[data-header]{margin-top:var(--space-3)}.message[data-mine]{justify-content:flex-end}.message[data-enter],.line[data-enter],.slot[data-enter]{animation:arrive var(--dur-slow)var(--ease-out)both}@keyframes arrive{0%{opacity:0;transform:translateY(10px)scale(.985)}}.message-avatar{flex:none;align-self: flex-start;width:32px}.message-main{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:min(40rem,86%)}.message[data-mine] .message-main{align-items: flex-end}.message-meta{display:flex;align-items:baseline;gap:var(--space-2);padding:0 var(--space-1);font-size:var(--text-xs);color:var(--muted)}.message-meta strong{color:var(--text);font-size:var(--text-sm)}.bubble{padding:var(--space-2)var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-1);min-width:0}.message[data-mine] .bubble{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:var(--radius-sm);border-color:#0000}.message[data-mine] .bubble a,.message[data-mine] .bubble code{color:inherit}.message[data-mine] .prose code,.message[data-mine] .prose blockquote{background:#ffffff2e}.message[data-mine] .code-block pre{color:inherit;background:#0003;border-color:#0000}.message:not([data-mine]) .bubble{border-bottom-left-radius:var(--radius-sm)}.message[data-live] .bubble{border-style:dashed}.message[data-pending=sending] .bubble{opacity:.6}.message[data-pending=failed] .bubble{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.pending-actions{justify-content:flex-end}.failure-text{color:var(--danger)}.files{display:flex;gap:var(--space-2);margin:var(--space-2)0 0;list-style:none;flex-wrap:wrap;padding:0}.bubble>.files:first-child{margin-top:0}.file-image{display:block;border-radius:var(--radius);object-fit:cover;max-width:min(100%,22rem);max-height:18rem}.file-chip{display:inline-flex;align-items: center;gap:var(--space-2);padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);background:var(--surface-2);color:var(--text);font-size:var(--text-sm);text-decoration:none}.message[data-mine] .file-chip{color:inherit;background:#fff3}.line{display:flex;justify-content:center;align-items: center;gap:var(--space-2);margin:var(--space-2)0;font-size:var(--text-xs);color:var(--muted)}.day{display:flex;margin:var(--space-4)0 var(--space-1);font-size:var(--text-xs);color:var(--muted);justify-content:center}.day span{padding:0 var(--space-3);border-radius:var(--radius-full);background:var(--surface-2);line-height:1.5rem}.slot{list-style:none;margin:var(--space-2)0}.progress{display:flex;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);animation:arrive var(--dur-slow)var(--ease-out)both;flex-direction:column}.progress-head{display:flex;align-items: center;gap:var(--space-3);font-size:var(--text-sm);color:var(--muted)}.progress-label{flex:1}.progress-bar{position:relative;overflow:hidden;border-radius:var(--radius-full);background:var(--surface-3);width:2.5rem;height:.3rem}.progress-bar:after{content:"";position:absolute;border-radius:inherit;background:var(--agent-accent,var(--accent));animation:sweep 1.3s var(--ease-in-out)infinite;width:60%;inset:0}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(170%)}}.chips{display:flex;gap:var(--space-1);list-style:none;flex-wrap:wrap;margin:0;padding:0}.chip{display:inline-flex;align-items: center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-full);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--text-xs);animation:chip-in var(--dur)var(--ease-spring)both;max-width:100%;line-height:1.6rem}@keyframes chip-in{0%{opacity:0;transform:scale(.85)}}.chip-more-item{display:contents}.chip-more{border:1px dashed var(--border);color:var(--muted);font:inherit;cursor:pointer;background:0 0;min-height:0}.chip-dot{border-radius:var(--radius-full);background:var(--muted);flex:none;width:.45rem;height:.45rem}.chip[data-status=running] .chip-dot{background:var(--accent);animation:pulse-dot 1s var(--ease-in-out)infinite}.chip[data-status=ok] .chip-dot{background:var(--success)}.chip[data-status=failed] .chip-dot,.chip[data-status=refused] .chip-dot{background:var(--danger)}@keyframes pulse-dot{50%{transform:scale(1.5);opacity:.5}}.chip-preview{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:14rem}.progress-flow{display:block;text-align:left}.progress-text{overflow:hidden;color:var(--muted);font-size:var(--text-sm);text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-mask-image:linear-gradient(#0000,#000 40%);mask-image:linear-gradient(#0000,#000 40%);display:flex;background:0 0;border:0;flex-direction:column;justify-content:flex-end;width:100%;min-height:0;max-height:4.6em;padding:0;font-weight:400;line-height:1.5}.progress-text:hover:not(:disabled){background:0 0;border:0}.progress-text[data-expanded=true]{overflow-y:auto;-webkit-mask-image:none;mask-image:none;max-height:40dvh}.caret{display:inline-block;vertical-align:text-bottom;background:var(--accent);animation:1s steps(2,start) infinite blink;width:.5ch;height:1.05em;margin-left:2px}@keyframes blink{to{visibility:hidden}}.to-end{position:absolute;right:var(--space-4);z-index:3;padding:0 var(--space-3);border-radius:var(--radius-full);box-shadow:var(--shadow-2);animation:toast-in var(--dur-slow)var(--ease-spring)both;min-height:2.25rem;bottom:5.5rem}.room-note,.offline-note{padding:var(--space-3)var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--muted);background:var(--surface);border-top:1px solid var(--border);margin:0}.offline-banner{display:flex;justify-content:center;align-items: center;gap:var(--space-2);padding:var(--space-2)var(--space-4);background:var(--warn-soft);color:var(--warn);font-size:var(--text-sm);font-weight:var(--weight-medium);animation:banner-in var(--dur-slow)var(--ease-out)both}@keyframes banner-in{0%{opacity:0;transform:translateY(-6px)}}.spinner{border-radius:var(--radius-full);animation:.8s linear infinite spin;border:2px solid;border-right-color:#0000;flex:none;width:.9rem;height:.9rem}@keyframes spin{to{transform:rotate(360deg)}}.pending-note{color:var(--muted)}.composer{display:flex;gap:var(--space-2);padding:var(--space-2)var(--space-3)calc(var(--space-2) + var(--safe-bottom));flex-direction:column;width:100%;max-width:52rem;margin:0 auto}.composer-row{display:flex;align-items: flex-end;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--control-border);background:var(--surface);box-shadow:var(--shadow-1);transition:border-color var(--dur-fast)var(--ease-out),box-shadow var(--dur)var(--ease-out);border-radius:1.5rem}.composer-row:focus-within{border-color:var(--agent-accent,var(--accent));box-shadow:0 0 0 3px color-mix(in srgb,var(--agent-accent,var(--accent))24%,transparent)}.composer textarea{min-height:var(--touch);padding:.7rem var(--space-2);resize:none;background:0 0;border:0;flex:1;max-height:200px;font-size:1rem}.composer textarea:focus-visible{outline:none}.composer-send{width:var(--touch);height:var(--touch);border-radius:var(--radius-full);flex:none;padding:0}.composer-send:disabled{background:var(--surface-3);color:var(--muted);border-color:#0000}.composer-stop{border-radius:var(--radius-full);background:var(--danger-soft);color:var(--danger);flex:none}.composer-stop:hover:not(:disabled){background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.attached{display:flex;gap:var(--space-1);list-style:none;flex-wrap:wrap;margin:0;padding:0}.attached-chip{display:inline-flex;align-items: center;gap:var(--space-2);padding:0 0 0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);font-size:var(--text-sm);animation:chip-in var(--dur)var(--ease-spring)both;max-width:100%}.chip-body{display:flex;text-align:left;flex-direction:column;min-width:0}.chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14rem}.chip-body .meta{overflow:hidden;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;max-width:14rem}.chip-take{display:inline-flex;align-items: center;gap:var(--space-2);padding:var(--space-1)0;color:inherit;background:0 0;border:0;min-height:0;font-weight:400}.chip-take:hover:not(:disabled){color:var(--accent);background:0 0;border:0}.attached-chip[data-state=uploading]{opacity:.6}.attached-chip[data-state=failed]{border-color:var(--danger);color:var(--danger)}.attached-chip .icon-button{width:2rem;min-width:2rem;height:2rem;min-height:2rem}.prompt{display:flex;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-2);transition:box-shadow var(--dur-slow)var(--ease-out),opacity var(--dur-slow)var(--ease-out);flex-direction:column}.prompt-action{background:linear-gradient(180deg,var(--accent-soft),var(--surface)3.5rem)}.prompt-timeout{background:linear-gradient(180deg,var(--warn-soft),var(--surface)3.5rem)}.prompt-ask{background:linear-gradient(180deg,var(--long-soft),var(--surface)3.5rem)}.prompt[data-ended]{box-shadow:var(--shadow-1);background:var(--surface)}.prompt-head{display:flex;align-items: center;gap:var(--space-2);flex-wrap:wrap}.prompt-icon{display:grid;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-ink);place-items: center;width:1.9rem;height:1.9rem}.prompt-timeout .prompt-icon{background:var(--warn-soft);color:var(--warn)}.prompt-ask .prompt-icon{background:var(--long-soft);color:var(--long)}.prompt-outcome{display:inline-flex;align-items: center;gap:var(--space-1);padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--surface-2);color:var(--muted);font-size:var(--text-xs);animation:chip-in var(--dur)var(--ease-spring)both;margin-left:auto;line-height:1.4rem}.prompt-outcome[data-outcome=approved],.prompt-outcome[data-outcome=answered]{background:var(--success-soft);color:var(--success)}.prompt-outcome[data-outcome=declined],.prompt-outcome[data-outcome=cancelled]{background:var(--danger-soft);color:var(--danger)}.prompt-meta{color:var(--muted);font-size:var(--text-xs);margin:0}.collapse{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--dur-slow)var(--ease-out),opacity var(--dur)var(--ease-out)}.collapse[data-open=true]{grid-template-rows:1fr;opacity:1}.collapse-inner{display:flex;gap:var(--space-3);overflow:hidden;flex-direction:column;min-height:0;margin:-3px;padding:3px}.prompt-details{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-size:var(--text-sm)}.prompt-details summary{padding:var(--space-2)var(--space-3);cursor:pointer;font-weight:var(--weight-medium)}.prompt-details>:not(summary){padding:0 var(--space-3)var(--space-3);margin:0}.prompt-input{overflow:auto;font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;overflow-wrap:anywhere;max-height:14rem}.prompt-files{list-style:none}.prompt-files li{display:flex;align-items: center;gap:var(--space-2)}.copy-action{align-self: flex-start}.field,.options{display:flex;gap:var(--space-2);flex-direction:column}.prompt textarea{resize:none}.prompt-answer{padding:var(--space-2)var(--space-3);border-radius:var(--radius);background:var(--surface-2);font-size:var(--text-sm);list-style:none;margin:0}.option{align-items: flex-start;gap:var(--space-3);min-height:var(--touch);padding:var(--space-2)var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--text-base);cursor:pointer;transition:border-color var(--dur-fast)var(--ease-out),background-color var(--dur-fast)var(--ease-out);flex-direction:row}.option:hover{border-color:var(--border-strong)}.option[data-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.option input{margin-top:.15rem}.option span{display:flex;flex-direction:column}.option-preview{padding:var(--space-3);overflow:auto;border-radius:var(--radius);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;animation:arrive var(--dur)var(--ease-out)both;max-height:12rem;margin:0}dialog.palette{width:min(36rem,100vw - 1.5rem);max-height:min(70dvh,32rem);margin:12vh auto auto}dialog.palette .sheet-body{gap:0;padding:0}@media (max-width:719px){dialog.palette{margin:calc(var(--safe-top) + .5rem)auto auto;border-radius:var(--radius-lg);border-bottom:1px solid var(--border);opacity:0;width:calc(100vw - 1rem);transform:translateY(-12px)scale(.98)}dialog.palette[data-state=open]{opacity:1;transform:none}dialog.palette[data-state=closing]{opacity:0;transform:translateY(-12px)scale(.98)}dialog.palette .sheet-grab{display:none}}.palette-input{display:flex;align-items: center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--border);color:var(--muted)}.palette-input input{color:var(--text);background:0 0;border:0;min-height:3.25rem;font-size:1rem}.palette-input input:focus-visible{outline:none}.palette-list{padding:var(--space-2);overflow-y:auto;list-style:none;margin:0}.palette-list a{display:flex;align-items: center;gap:var(--space-3);min-height:var(--touch);padding:0 var(--space-3);border-radius:var(--radius);color:var(--text);text-decoration:none}.palette-list li[data-active] a,.palette-list a[aria-current=true]{background:var(--accent-soft);color:var(--accent-ink)}.palette-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.palette-icon{display:grid;border-radius:var(--radius-full);background:var(--surface-2);place-items: center;width:28px;height:28px}.palette-empty{padding:var(--space-4);text-align:center;color:var(--muted)}.profile-head{display:flex;align-items: center;gap:var(--space-4)}.profile-head>div{display:flex;gap:var(--space-2);flex-direction:column;align-items: flex-start}.schedule-list{display:flex;gap:var(--space-3);list-style:none;flex-direction:column;margin:0;padding:0}.schedule{display:flex;align-items: flex-start;gap:var(--space-3)}.schedule-main{display:flex;gap:var(--space-1);flex-direction:column;flex:1;min-width:0}.schedule-prompt{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;color:var(--text);overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0}.split{display:grid;grid-template-columns:minmax(18rem,22rem)minmax(0,1fr);flex:1;min-height:0}.split-list{overflow-y:auto;border-right:1px solid var(--border);background:var(--bg);min-height:0}.split-list .page[data-column]{padding:var(--space-4);gap:var(--space-4);max-width:none}.split-list .search-button span{display:none}.split-detail{display:flex;min-width:0;min-height:0}.split-detail .room{min-width:0}.agent-sheet .form{max-width:none}.agent-sheet h3{font-size:var(--text-md)}.field-head{display:flex;justify-content:space-between;align-items: center;gap:var(--space-3)}.field-label,.agent-sheet legend{font-size:var(--text-sm);color:var(--muted);font-weight:var(--weight-medium)}button.compact{padding:0 var(--space-3);font-size:var(--text-sm);min-height:2rem}.option-chips{display:flex;gap:var(--space-2);overflow-y:auto;overscroll-behavior:contain;flex-wrap:wrap;max-height:10.5rem}button.option-chip{padding:0 var(--space-3);border-color:var(--control-border);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-height:2.25rem;font-weight:400}button.option-chip:hover:not(:disabled){border-color:var(--accent);background:var(--surface-2)}button.option-chip[aria-pressed=true],button.option-chip[aria-pressed=true]:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:var(--on-accent)}textarea.prompt-full{resize:none;font-family:var(--font-mono);font-size:var(--text-sm);flex:1;min-height:12rem}@media (max-width:719px),(pointer:coarse){textarea.prompt-full{font-size:var(--text-md)}}.review-fields{display:flex;gap:var(--space-2);list-style:none;flex-direction:column;margin:0;padding:0}.review-fields li{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap}.review-before{color:var(--muted);text-decoration:line-through}pre.diff{padding:var(--space-2)0;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-family:var(--font-mono);font-size:var(--text-xs);max-height:18rem;margin:0;line-height:1.5}.diff-line{display:block;padding:0 var(--space-3)0 0;white-space:pre-wrap;overflow-wrap:anywhere}.diff-line[data-kind=add]{background:color-mix(in srgb,var(--success)16%,transparent)}.diff-line[data-kind=del]{background:color-mix(in srgb,var(--danger)16%,transparent)}.diff-mark{display:inline-block;text-align:center;color:var(--muted);user-select:none;width:1.5rem}.field-tools{display:inline-flex;align-items: center;gap:var(--space-2)}.sheet.full .field textarea.prompt-full{min-height:55vh}.sheet.full .sheet-body>.stack,.sheet.full .review,.sheet.full .review>.field{flex:1;min-height:0}.sheet.full .review pre.diff{flex:1;min-height:12rem;max-height:none}.skill-lock{display:flex;align-items: center;gap:var(--space-2)}.history .menu-item[aria-pressed=true]{background:var(--surface-2)}.creator{display:grid;gap:var(--space-5);align-items: start}@media (min-width:720px){.creator{grid-template-columns:13rem minmax(0,1fr)}.creator-preview{position:sticky;top:var(--space-4)}}.creator-preview{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--agent-accent,var(--accent))8%,var(--surface));flex-direction:column}.creator-body{display:flex;gap:var(--space-4);flex-direction:column;min-width:0}.creator-field{display:flex;gap:var(--space-2);flex-direction:column;min-width:0}.creator-field h3{font-size:var(--text-sm);color:var(--muted);font-weight:var(--weight-medium)}dialog.sheet dialog.sheet .creator-field>h3{display:none}.creator-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:var(--space-2)}.creator-strip{display:flex;gap:var(--space-2);padding:3px 3px var(--space-1);overflow-x:auto;scroll-snap-type:x proximity}.creator-strip[data-more=end]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),#0000)}.creator-strip[data-more=start]{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 2.5rem),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 2.5rem),#0000)}.creator-strip[data-more=both]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 2.5rem calc(100% - 2.5rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 2.5rem calc(100% - 2.5rem),#0000)}.creator-tile{display:flex;padding:var(--space-2)var(--space-1);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--text-xs);scroll-snap-align:start;flex-direction:column;flex:none;align-items: center;gap:2px;min-width:4.25rem}.creator-grid .creator-tile{min-width:0}.creator-tile span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.creator-tile:hover{border-color:var(--control-border)}.creator-tile[aria-pressed=true],.creator-swatch[aria-pressed=true]{border-color:var(--agent-accent,var(--accent));background:color-mix(in srgb,var(--agent-accent,var(--accent))14%,var(--surface));box-shadow:0 0 0 2px var(--agent-accent,var(--accent))}.creator-swatches{display:flex;align-items: center;gap:var(--space-2);border:0;flex-wrap:wrap;margin:0;padding:0}.creator-swatch{border:2px solid var(--surface);border-radius:var(--radius-full);box-shadow:0 0 0 1px var(--control-border);width:2.25rem;height:2.25rem;min-height:0;padding:0}.creator-custom{display:flex;gap:var(--space-4);flex-wrap:wrap}.creator-custom label{display:flex;align-items: flex-start;gap:var(--space-1);font-size:var(--text-sm);color:var(--muted);flex-direction:column}.creator-custom input[type=color],.creator-swatches input[type=color]{border:1px solid var(--control-border);border-radius:var(--radius-sm);background:0 0;width:2.25rem;height:2.25rem;padding:0}.field-error{color:var(--danger);font-size:var(--text-sm);margin:0}.creator-sections{display:flex;gap:var(--space-2);list-style:none;flex-direction:column;margin:0;padding:0}.creator-section{display:flex;justify-content:space-between;align-items: center;gap:var(--space-3);text-align:left;width:100%}.creator-actions{flex-wrap:wrap}[data-hold]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}[data-hold=text] .bubble{-webkit-user-select:text;user-select:text}.message[data-hold]:focus-visible{outline:2px solid var(--focus,var(--accent));outline-offset:2px;border-radius:var(--radius-lg)}.action-popover{position:fixed;z-index:60;display:flex;overflow-y:auto;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-2);outline:none;animation:popover-in var(--dur)var(--ease-out)both;flex-direction:column;min-width:13rem;max-width:min(22rem,100vw - 16px);max-height:calc(100dvh - 16px)}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.action-popover .menu-item{padding:var(--space-1)var(--space-2);font-size:var(--text-sm);cursor:pointer;min-height:2.5rem}.action-popover .menu-icon{width:1.75rem;height:1.75rem}.action-items .menu-item{cursor:pointer}.action-items .menu-item:hover{background:var(--surface-2)}.action-items .menu-item:focus-visible{background:var(--surface-2)}.action-items .menu-item[data-tone=danger] strong{color:var(--danger)}.action-items .menu-check{color:var(--accent);flex:none;margin-left:auto}.action-popover .menu-item[role]{width:100%}.rt-table{position:relative;display:flex;aspect-ratio:10/11;flex-direction:column;width:100%;min-height:0;max-height:100%}.rt-table[data-variant=full]:not([data-list]){aspect-ratio:auto;flex:1 1 0;min-height:16rem}.rt-table[data-variant=compact]{aspect-ratio:auto;flex:none;height:120px}.rt-table-stage{position:relative;flex:1 1 0;min-height:0}.rt-table[data-list]{aspect-ratio:auto;height:100%}.rt-table[data-list] .rt-table-stage{aspect-ratio:10/11;flex:none;max-height:60%}.rt-table[data-list] .rt-table-stage>ul{display:none}.rt-table-list{overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));list-style:none;flex:auto;gap:.4rem;min-height:0;margin:0;padding:.5rem}.rt-table-list button{display:flex;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:1px solid;border-radius:.5rem;align-items: center;gap:.5rem;width:100%;min-height:2.75rem;padding:.4rem .6rem}.rt-table-list button:before{content:"";background:var(--seat);border-radius:50%;flex:none;width:.75rem;height:.75rem}.t2d{position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;width:100%;height:100%}.t2d svg{display:block;width:100%;height:100%}.t2d .seat{cursor:pointer;outline:none}.t2d .seat:focus-visible .plate{stroke:currentColor;stroke-width:3}.t2d .seat .lift,.t2d .seat .halo,.t2d .seat .badge,.t2d .seat .orbit,.t2d .seat .beam{transform-box:fill-box;transform-origin:center}.t2d .seat .halo{opacity:0;transition:opacity .35s}.t2d .seat .badge{opacity:0;transition:opacity .25s,transform .35s cubic-bezier(.3,1.6,.5,1);transform:scale(.4)}.t2d .seat .orbit{opacity:0;transition:opacity .3s}.t2d .seat .beam{opacity:0;transition:opacity .35s}.t2d .seat:hover .halo{opacity:.35}.t2d.focus .seat:not([data-focus]) .lift{opacity:.7}.t2d .seat[data-focus] .lift{transform:scale(1.06)}.t2d.dim .seat:not([data-state=speaking]) .lift{opacity:.78}.t2d .seat[data-state=idle] .lift{animation:3.4s ease-in-out infinite t2d-breathe}.t2d .seat[data-state=thinking] .halo{opacity:.25}.t2d .seat[data-state=thinking] .orbit{opacity:1;animation:2.6s linear infinite t2d-spin}.t2d .seat[data-state=working] .halo{opacity:.7;animation:1.1s ease-in-out infinite t2d-pulse}.t2d .seat[data-state=working] .lift{animation:.55s ease-in-out infinite t2d-bob}.t2d .seat[data-state=waiting] .halo{opacity:.8;animation:1.7s ease-in-out infinite t2d-pulse}.t2d .seat[data-state=waiting] .badge{opacity:1;animation:1.6s ease-in-out infinite t2d-wave;transform:scale(1)}.t2d .seat[data-state=waiting] .lift{transform:translateY(2px)}.t2d .seat[data-state=speaking] .halo{opacity:.85}.t2d .seat[data-state=speaking] .beam{opacity:1}.t2d .seat[data-state=speaking] .lift{animation:.5s ease-in-out infinite t2d-talk}.t2d .seat[data-state=done] .badge{opacity:1;transform:scale(1)}.t2d .seat[data-state=done] .lift{animation:.6s ease-out t2d-pop}.t2d .seat[data-state=done] .halo{opacity:.4}.t2d .seat[data-state=error] .badge{opacity:1;transform:scale(1)}.t2d .seat[data-state=error] .lift{animation:.45s linear t2d-shake}.t2d .seat[data-state=error] .halo{opacity:.85;animation:.9s steps(2,end) 2 both t2d-flicker}@keyframes t2d-breathe{50%{transform:scaleY(1.02)}}@keyframes t2d-spin{to{transform:rotate(360deg)}}@keyframes t2d-pulse{50%{opacity:.35;transform:scale(1.08)}}@keyframes t2d-bob{50%{transform:translateY(-3px)}}@keyframes t2d-wave{50%{transform:scale(1.12)rotate(6deg)}}@keyframes t2d-talk{50%{transform:scale(1.025)}}@keyframes t2d-pop{40%{transform:scale(1.14)}}@keyframes t2d-shake{20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes t2d-flicker{50%{opacity:.25}}.t2d.reduced .seat *{animation:none!important;transition:none!important}.t2d .seat-in{animation:.82s ease-out both t2d-in}.t2d .seat-out{pointer-events:none;animation:.64s ease-in both t2d-out}.t2d .seat-ring{fill:none;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:.82s ease-out both t2d-ring}.t2d .seat-out .puff{transform-box:fill-box;transform-origin:center;animation:.72s ease-out both t2d-puff}.t2d.reduced .seat-in,.t2d.reduced .seat-out{animation-duration:.16s}.t2d.reduced .seat-ring,.t2d.reduced .seat-out .puff{display:none}@keyframes t2d-in{0%{opacity:0}}@keyframes t2d-out{40%{opacity:1}to{opacity:0}}@keyframes t2d-ring{0%{opacity:0;transform:scale(.3)}40%{opacity:1}to{opacity:0;transform:scale(1.4)}}@keyframes t2d-puff{0%{opacity:1;transform:scale(.3)}50%{opacity:1}to{opacity:0;transform:translateY(-18px)scale(1.5)}}.t2d.reduced .seat[data-state=waiting] .halo,.t2d.reduced .seat[data-state=working] .halo{opacity:.6}.table-page{display:flex;gap:var(--space-2);padding:var(--space-3)var(--space-3)var(--space-2);flex-direction:column;flex:1;width:100%;min-height:0}@media (min-width:720px){.table-page{padding:var(--space-5)var(--space-6)var(--space-4)}}.table-frame{display:flex;flex-direction:column;flex:1;min-height:0}.table-host{display:flex;flex-direction:column;flex:1;justify-content:flex-start;align-items: center;width:100%;min-height:0}.table-empty{margin:var(--space-8)auto;color:var(--muted)}.table-empty-state{margin:var(--space-8)auto;display:flex;align-items: center;gap:var(--space-2);text-align:center;flex-direction:column;max-width:24rem}.table-empty-state p{margin:0}.table-tools{display:flex;align-items: center;gap:var(--space-2)}.seat-row .menu-text{flex:1;min-width:0}.room-table-slot{flex:none}.group-strip{border-bottom:1px solid var(--border);background:var(--surface)}.group-table-button{gap:var(--space-1);padding-inline:var(--space-2);width:auto}.group-table-label{font-size:var(--text-xs)}.rt-names{position:absolute;overflow:hidden;pointer-events:none;font-family:var(--rt-font,system-ui,sans-serif);inset:0}.rt-name{position:absolute;border:2px solid var(--rt-ink,#0b0f1e);background:linear-gradient(var(--rt-gold,#e3b24b),var(--rt-gold-dark,#9a6c1d));color:var(--rt-plate-ink,#3a2410);font:700 var(--rt-name-size,12px)/1.25 var(--rt-font,system-ui,sans-serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;pointer-events:auto;visibility:hidden;will-change:transform;border-radius:.3em;max-width:12em;min-height:0;padding:.12em .7em .16em;top:0;left:0}.rt-name:focus-visible{outline:3px solid var(--accent,#3a5bd9);outline-offset:2px}.rt-speed{mix-blend-mode:screen}.table-frame{position:relative}.room-scene,.room-scene .table-host{flex:1;min-height:0}.scene-box{position:absolute;inset-inline:var(--space-3);bottom:var(--space-3);display:flex;border:3px solid var(--rt-ink,#0b0f1e);background:color-mix(in srgb,var(--surface)94%,transparent);transform:translateY(calc(100% + var(--space-4)));opacity:0;pointer-events:none;z-index:4;border-radius:1.1rem;flex-direction:column;max-width:46rem;max-height:62%;margin-inline-start:auto;margin-inline-end:auto;transition:transform .36s cubic-bezier(.2,.9,.25,1.05),opacity .2s ease-out;box-shadow:0 .6rem 2rem #00000073}.scene-box[data-open]{opacity:1;pointer-events:auto;transform:none}.scene-tab{display:flex;align-items: center;gap:var(--space-2);margin:-1.1rem var(--space-3)0;padding:.2rem var(--space-2).2rem .3rem;max-width:calc(100% - 2*var(--space-3));border:3px solid var(--rt-ink,#0b0f1e);background:var(--agent-accent,var(--accent));color:#fff;border-radius:.8rem;align-self: flex-start}.scene-chip{display:grid;border:3px solid var(--rt-ink,#0b0f1e);background:var(--surface);overflow:hidden;border-radius:50%;place-items: center;width:2.4rem;height:2.4rem;margin:-.9rem 0 -.3rem}.scene-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);text-shadow:0 1px #00000059;flex:0 auto;min-width:4ch}.scene-tools{display:flex;flex:none;align-items: center;gap:.15rem;margin-inline-start:var(--space-2)}.scene-tools .icon-button{color:inherit}.scene-log-button{gap:var(--space-1);padding-inline:var(--space-2);font-size:var(--text-xs);flex:none;width:auto}.scene-log-button span{white-space:nowrap}.scene-body{overflow:auto;padding:var(--space-2)var(--space-3)var(--space-1);flex:auto;min-height:0}.scene-line{overflow-wrap:anywhere;min-height:2.6rem;font-size:1.02rem;line-height:1.55}.scene-line[role=button]{cursor:pointer}.scene-line>:first-child{margin-top:0}.scene-from{display:block;color:var(--muted);font-size:var(--text-xs)}.scene-card{margin-top:var(--space-2)}.scene-composer{border-top:1px solid var(--border);flex:none}.scene-box[data-collapsed] .scene-body,.scene-box[data-collapsed] .scene-composer{display:none}.scene-log{overflow:auto;padding:var(--space-2)var(--space-3);max-height:70dvh}@media (max-width:719px){.scene-tools{margin-inline-start:var(--space-1)}.scene-tools .icon-button{width:2.5rem;min-width:2.5rem}.scene-tools .scene-log-button{padding-inline:var(--space-1);width:auto}}@media (max-width:719px) and (orientation:portrait){.table-frame[data-focused]{display:grid;grid-template-rows:55% minmax(0,1fr)}.table-frame[data-focused] .table-host{min-height:0}.table-frame[data-focused] .scene-box{position:relative;border-bottom:0;border-radius:1rem 1rem 0 0;max-width:none;min-height:0;max-height:none;margin:0;inset:auto}}@media (max-width:719px) and (orientation:landscape){.scene-box{inset-inline:var(--space-2);bottom:var(--space-1);max-width:none;max-height:38%}}@media (prefers-reduced-motion:reduce){.scene-box{transition:none}}.council-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14rem}.council-row{text-align:start;width:100%}.council-row[aria-current=true]{background:color-mix(in srgb,var(--accent)12%,transparent)}.council-count{display:block}.council-sheet h3{font-size:var(--text-sm);margin:0}.order-strip{display:flex;align-items: center;gap:var(--space-1)var(--space-2);margin-top:var(--space-1);padding:var(--space-1)var(--space-3);background:color-mix(in srgb,var(--accent)7%,transparent);flex-wrap:wrap}.order-faces{display:flex;align-items: center;gap:var(--space-1);list-style:none;flex-wrap:wrap;margin:0;padding:0}.order-face{position:relative;display:inline-flex;transition:opacity .2s ease-out,transform .2s ease-out}.order-face[data-place=spoken]{opacity:.5}.order-face[data-place=current]{transform:scale(1.08)}.order-badge{position:absolute;background:color-mix(in srgb,var(--accent)22%,var(--surface));color:var(--text);text-align:center;border-radius:999px;min-width:1rem;height:1rem;padding-inline-start:.15rem;padding-inline-end:.15rem;font-size:.625rem;font-weight:700;line-height:1rem;bottom:-.25rem}.order-badge:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:-.3rem}.order-badge:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:-.3rem}.order-badge:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:-.3rem}.order-badge:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:-.3rem}.order-badge:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:-.3rem}.order-badge:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:-.3rem}.order-badge:empty{display:none}.order-chip{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;margin-inline-start:auto}.order-queued{color:var(--muted);font-size:var(--text-xs);flex-basis:100%}@media (prefers-reduced-motion:reduce){.order-face{transition:none}}@media (max-height:480px){.order-strip{margin-top:0;padding-block-start:0;padding-block-end:0}}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r,t,e,n,
|
|
1
|
+
import{r,t,e,n,d,g}from"./chunk-index-2e4am3hw.js";import{L}from"./chunk-index-8d81qy69.js";function K(o){let[a,l]=r(!1),[s,i]=r(),c=()=>{if(a)return;i(void 0),o.onClose()};return e(L,{open:o.open,title:o.title,onClose:c,...o.restoreFocus?{restoreFocus:o.restoreFocus}:{},children:n("div",{className:"stack",children:[e("div",{className:"prose",children:o.children}),s?e(g,{message:s}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",disabled:a,onClick:c,children:o.cancelLabel??t("Cancel")}),e("button",{type:"button",className:o.tone==="danger"?"danger":o.tone==="yolo"?"yolo-action":"",disabled:a,onClick:async()=>{l(!0),i(void 0);try{await o.onConfirm(),o.onClose()}catch(m){i(d(m))}finally{l(!1)}},children:o.confirmLabel})]})]})})}
|
|
2
2
|
export{K};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{h,ve,s,M,a,r,t,c,e,Le,D,u,V,dn,An,et,it,Nn,yn,Ye,Bo,Ge,Ee}from"./chunk-index-2e4am3hw.js";import{Be}from"./chunk-index-18pgxxw3.js";import{Ae}from"./chunk-index-kbrg32sx.js";import{wn}from"./chunk-index-64rsz6pf.js";var he=8,Re={views:[],attention:{},loaded:!1},de=Re,{emit:be,use:xe}=V(),Mn=()=>xe(()=>de);function ei(){let n=ve(et)?.tier;return n!==void 0&&n!=="owner"}function ke(n,i){return{key:n.key,kind:"agent",name:`${i}.${n.id}`,displayName:n.title,home:!1,readOnly:!1,mode:{yolo:!1,longRunning:!1},typing:!1,stoppable:!1}}var Te=(n)=>n.attention===!0,He=(n,i)=>(i.lastAt??"").localeCompare(n.lastAt??"");async function Ce(n){let i=await Promise.allSettled(n.map((o)=>Be.list(o))),l=[];i.forEach((o,m)=>{let f=n[m];if(o.status!=="fulfilled"||f===void 0)return;for(let g of o.value.rooms)l.push({room:g,kind:f})}),l.sort((o,m)=>He(o.room,m.room));let d={};for(let{room:o}of l)if(Te(o))d[o.key]=!0;return{views:l.map(({room:o,kind:m})=>ke(o,m)),attention:d,loaded:!0}}function wo(n){let i=Ee(),l=u((w)=>w.connects),d=Ae((w)=>w.lists),o=a(0),m=a(0),f=n.join(`
|
|
2
|
+
`),{views:g}=Mn();s(()=>{o.current+=1;let w=o.current,b=!0;return Ce(f===""?[]:f.split(`
|
|
3
|
+
`)).then((k)=>{if(!b||w<m.current)return;m.current=w,de=k,be()}),()=>{b=!1}},[f,l,d]);let S=g.slice(0,he).map((w)=>w.key).join(`
|
|
4
|
+
`);s(()=>{let w=S===""?[]:S.split(`
|
|
5
|
+
`);for(let b of w)i.send({type:"subscribe",room:b});return()=>{for(let b of w)i.send({type:"unsubscribe",room:b})}},[i,S,l])}var Me=["①","②","③","④","⑤","⑥","⑦","⑧"];function ko(n){if(!n)return[];return[...n.spoken.map((i)=>({name:i,place:"spoken"})),...n.current===void 0?[]:[{name:n.current,place:"current"}],...n.next.map((i,l)=>({name:i,place:"next",order:l+1}))]}function fe(n){let i={};if(n?.state!=="running")return i;for(let d of n.spoken)i[d]="✓";let l=new Set;if(n.next.forEach((d,o)=>{let m=Me[o];if(m===void 0||l.has(d))return;l.add(d),i[d]=m}),n.current!==void 0)delete i[n.current];return i}var Ai=(n)=>n?.state==="running"?n.current:void 0;function _o(n){let i=n.current===void 0?n.replies:n.replies+1;return Math.min(Math.max(i,0),n.limit)}var Oe=380,Ve="cubic-bezier(0.7, 0, 0.84, 0)",Ne=2.4,le=0.35,De=260,_e="cubic-bezier(0.2, 0.8, 0.2, 1)",Pe=1.06,$e=700,x;function me(n){if(x?.host===n&&x.phase==="diving")x.abort()}var Ie=(n)=>{if(!n||typeof n.animate!=="function")return;n.animate([{transform:`scale(${Pe})`,opacity:le},{transform:"scale(1)",opacity:1}],{duration:De,easing:_e})};function pe(n,i,l,d){if(x)return;let o=n.closest("main.route")??n;if(Le()||typeof o.animate!=="function"){l();return}d?.();let m=o.getBoundingClientRect(),f=`${i.x-m.left}px ${i.y-m.top}px`,g={overflow:o.style.overflow,events:o.style.pointerEvents};o.style.overflow="hidden",o.style.pointerEvents="none";let S=o.animate([{transformOrigin:f,transform:"scale(1)",opacity:1},{transformOrigin:f,transform:`scale(${Ne})`,opacity:le}],{duration:Oe,easing:Ve,fill:"forwards"}),w=document.documentElement,b,k,P=()=>{o.style.overflow=g.overflow,o.style.pointerEvents=g.events,S.cancel()},I=()=>{window.removeEventListener("popstate",T),window.removeEventListener("hashchange",T)},E={host:n,phase:"diving",abort:T};function T(){if(x!==E||E.phase!=="diving")return;I(),P(),x=void 0}let H=(N)=>{if(x!==E)return;if(k?.disconnect(),clearTimeout(b),w.removeAttribute("data-dive"),P(),x=void 0,N)Ie(document.querySelector("main.route"))};x=E,window.addEventListener("popstate",T),window.addEventListener("hashchange",T),S.finished.then(()=>{if(x!==E||E.phase!=="diving")return;if(E.phase="committing",I(),w.setAttribute("data-dive",""),l(),!n.isConnected){H(!0);return}k=new MutationObserver(()=>{if(!n.isConnected)H(!0)}),k.observe(o.parentElement??document.body,{childList:!0,subtree:!0}),b=setTimeout(()=>H(!n.isConnected),$e)},()=>{return})}var Fe=(n)=>n==="sleepy"?"idle":n;function ge(n,i){let l={};for(let[d,o]of Object.entries(n))l[d]=Fe(o);for(let d of i){let o=d.agent;if(!d.typing||o===void 0||!(o in l))continue;let m=l[o];if(m==="waiting"||m==="error")continue;l[o]="speaking"}return l}function Z(n,i){if(n==="speaking")return"happy";return(i?.STATE_EXPRESSION??Ke)[n]}var Ke={idle:"neutral",thinking:"thinking",working:"determined",waiting:"curious",done:"proud",error:"apologetic",sleepy:"sleepy"};function ee(n,i){return`s${n}${i.toLowerCase().replace(/[^a-z0-9]/g,"")}`.slice(0,16)}var Xe={x:-7,y:-3,w:114,h:100},K=256;function te(n,i,l,d,o,m){let f=n.composeSvg(i,{bare:!0,look:l,expr:Z(d,n),state:"idle",still:!0,size:K,uid:o,skins:m}),{x:g,y:S,w,h:b}=Xe;return f.replace('viewBox="0 0 100 100"',`viewBox="${g} ${S} ${w} ${b}"`).replace(`width="${K}" height="${K}"`,`width="${K}" height="${Math.round(K*b/w)}"`)}function Se(n){let i=n.delayMs??300,l=n.timers??{set:(f,g)=>setTimeout(f,g),clear:(f)=>clearTimeout(f)},d=new Map,o=new Map,m=(f)=>{let g=o.get(f);if(g===void 0)return;l.clear(g),o.delete(f)};return{seed(f,g){m(f),d.set(f,Z(g))},update(f,g){let S=Z(g);if(!d.has(f)){d.set(f,S);return}if(m(f),d.get(f)===S)return;o.set(f,l.set(()=>{o.delete(f),d.set(f,S),n.setAvatar(f,g)},i))},forget(f){m(f),d.delete(f)},dispose(){for(let f of[...o.keys()])m(f);d.clear()}}}var je={idle:c("idle"),thinking:c("thinking"),working:c("working"),waiting:c("waiting"),speaking:c("speaking"),done:c("done"),error:c("error")},qe=()=>({table:t("Round table"),seat:(n,i)=>t("{name} ({state})",{name:n,state:t(je[i])})}),ze=()=>{Ge().catch(()=>{return})};function $i(n){let i=ei(),{views:l}=Mn(),d=u((o)=>{let m=o.order.map((g)=>o.rooms[g]?.view).filter((g)=>g!==void 0&&g.kind==="agent"&&!g.helper);return[...n?n.slice(0,wn).map((g)=>m.find((S)=>S.name===g)).filter((g)=>g!==void 0):m].sort((g,S)=>Number(S.home)-Number(g.home)).slice(0,wn)},n?.join(`
|
|
6
|
+
`)??"");return i?l.slice(0,wn):d}function ti(){return u((n)=>n.order.map((i)=>n.rooms[i]?.view).filter((i)=>i!==void 0&&i.kind==="agent"&&!i.helper),"agents")}function Ue(n){return u((i)=>Object.values(i.rooms).filter((l)=>n?l.key===n:l.view?.kind==="group").map((l)=>{let d=Ai(l.round),o=d??l.agent;return{typing:l.typing||d!==void 0,...o===void 0?{}:{agent:o}}}),n??"")}function We(n){return u((i)=>fe(n?i.rooms[n]?.round:void 0),n??"")}function Vt(n){let{variant:i="full",onHandle:l}=n,d=An(),o=it(),m=Nn(),f=yn(),g=Ye(),S=$i(n.members),w=Bo(S.map((p)=>p.key)),b=Ue(n.groupRoom),k=We(n.groupRoom),P=Mn().attention,I=ei(),E=a(I);E.current=I;let T=i==="full"&&n.list===!0,H=M(()=>ge(Object.fromEntries(S.map((p)=>{let y=w[p.key]??"idle";return[p.name,P[p.key]&&(y==="idle"||y==="sleepy")?"waiting":y]})),b),[S,w,b,P]),N=a(H);N.current=H;let A=M(()=>{if(!d)return[];return S.map((p,y)=>{let v=g[p.name]??p.character??dn(d,p);return{id:p.name,name:p.displayName,color:d.accentOf(v,m.look),avatarSvg:te(d,v,m.look,N.current[p.name]??"idle",ee(y,p.name),f)}})},[d,S,g,m.look,f]),X=a(A);X.current=A;let G=a(S);G.current=S;let U=a({look:o,scheme:m.scheme});U.current={look:o,scheme:m.scheme};let W=a(null),C=a(void 0),[F,ye]=r(0),j=a(void 0),ne=a(()=>{return});ne.current=(p)=>{let y=S.find((v)=>v.name===p);if(!d||!y)return;return g[p]??y.character??dn(d,y)};let oe=a(m);oe.current=m;let re=a(f);re.current=f;let se=a(d);se.current=d;let Y=a(l);Y.current=l;let L=a(n);L.current=n;let ie=d!==void 0&&A.length>0;s(()=>{let p=W.current;if(!ie||!p)return;let y=!0,v,Q=Se({setAvatar:(_,q)=>{let O=ne.current(_),R=se.current,B=G.current.findIndex((z)=>z.name===_);if(!O||!R||B<0)return;v?.setAvatar(_,te(R,O,oe.current.look,q,ee(B,_),re.current))}});return j.current=Q,(async()=>{let{mountRoundTable:_}=await (h("q11n47h9"),import("./chunk-entry-q11n47h9.js")),q=X.current.map((R)=>({...R,state:N.current[R.id]??"idle"})),O=await _(p,{theme:U.current.look,scheme:U.current.scheme,seats:q,onSeatClick:({id:R,at:B})=>{let z=L.current.onSeat;if(z){z(R);return}let ae=G.current.find((we)=>we.name===R);if(!ae)return;let ce=()=>D("room",ae.key),ue=W.current;if(B&&ue)pe(ue,B,ce,E.current?ze:void 0);else ce()},...L.current.onSeatMenu?{onSeatMenu:(R)=>L.current.onSeatMenu?.(R)}:{},ownerName:L.current.ownerName??t("You"),focus:L.current.focus??null,onFocus:(R)=>L.current.onFocus?.(R),reducedMotion:"auto",lowPower:"auto",variant:i,listBelow:T,labels:qe()});if(!y){O.dispose();return}v=O,C.current=O;for(let R of q)Q.seed(R.id,R.state??"idle");Y.current?.(O),ye((R)=>R+1)})(),()=>{y=!1,me(p),Q.dispose(),j.current=void 0,C.current=void 0,Y.current?.(void 0),v?.dispose()}},[ie,i,T]);let J=n.focus??null;if(s(()=>{let p=C.current;if(p&&p.focused()!==J)p.focus(J)},[J,F]),s(()=>{let p=C.current;if(!p||A.length===0)return;let y=N.current;p.setSeats(A.map((v)=>({...v,state:y[v.id]??"idle"})));for(let v of A)j.current?.seed(v.id,y[v.id]??"idle")},[A,F]),s(()=>{let p=C.current;if(!p)return;for(let y of X.current)p.setMark(y.id,k[y.id]??null)},[k,A,F]),s(()=>{let p=C.current;if(p)p.setTheme(o,m.scheme)},[o,m.scheme,F]),s(()=>{let p=C.current;if(!p)return;for(let y of X.current){let v=H[y.id]??"idle";p.setState(y.id,v),j.current?.update(y.id,v)}},[H,F]),S.length===0)return e("p",{className:"table-empty",children:t("No knights are seated yet.")});return e("section",{className:"table-host",ref:W,"aria-label":t("Round table")})}
|
|
7
|
+
export{Mn,ei,wo,ko,Ai,_o,$i,ti,Vt};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{y,
|
|
2
|
-
export{
|
|
1
|
+
import{y,V}from"./chunk-index-2e4am3hw.js";var t={unread:{},reads:{},cursor:{},cards:{},rooms:{},lists:{},pages:{}},{emit:R,use:b,subscribe:Hr}=V();function s(e){t={...t,...e},R()}var Ae=(e)=>b(()=>e(t)),jr=(e)=>t.unread[e]??0,Kr=()=>Object.values(t.unread).reduce((e,r)=>e+r,0);function Jr(){return Object.fromEntries(Object.entries(t.unread).filter(([,e])=>e>0))}var d=[],eo=d,to=d;function l(e,r){return e.kind!=="system"&&e.id!==0&&(e.principalId===void 0||e.principalId!==r)}var f=(e)=>y.getState().focus===e&&document.visibilityState==="visible";function nn(e){let r={...t.unread};for(let[o,n]of Object.entries(e))r[o]=n;s({unread:r})}var p=new WeakSet;function g(){let e;for(let[r,o]of Object.entries(y.getState().rooms)){let n=o.view;if(!n||p.has(n))continue;p.add(n),e??={...t.unread},e[r]=n.unread??0}if(e)s({unread:e})}y.subscribe(g);g();function nr(e,r,o){let n={};if(r)n.reads={...t.reads,[e]:r};if(o!==void 0&&o>(t.cursor[e]??0))n.cursor={...t.cursor,[e]:o};if(n.reads||n.cursor)s(n)}function no(e,r){s({cards:{...t.cards,[e]:r}})}var i=(e,r)=>({...e,[r]:(e[r]??0)+1});function zs(e){switch(e.type){case"message":case"host_message":{let r=y.getState().principal?.id;if(!l(e.message,r)||f(e.room))return;s({unread:{...t.unread,[e.room]:(t.unread[e.room]??0)+1}});return}case"read":{let{room:r,principal:o,upTo:n}=e;if(o===y.getState().principal?.id){let a=(y.getState().rooms[r]?.messages??[]).filter((u)=>u.id>n&&l(u,o)).length;s({unread:{...t.unread,[r]:a},cursor:{...t.cursor,[r]:Math.max(n,t.cursor[r]??0)}});return}let m=(t.reads[r]??d).filter((a)=>a.principal!==o),c=t.reads[r]?.find((a)=>a.principal===o);if(c&&c.upTo>=n)return;s({reads:{...t.reads,[r]:[...m,{principal:o,name:e.name,upTo:n,at:e.at}]}});return}case"host_card":{let r=(t.cards[e.room]??d).filter((o)=>o.id!==e.card.id);s({cards:{...t.cards,[e.room]:[...r,e.card].sort((o,n)=>o.at<n.at?-1:o.at>n.at?1:0)}});return}case"room_changed":s({rooms:i(t.rooms,e.room)});return;case"list_changed":s({lists:i(t.lists,e.kind)});return;case"page_changed":s({pages:i(t.pages,e.page)});return;default:return}}
|
|
2
|
+
export{Hr,Ae,jr,Kr,Jr,eo,to,nn,nr,no,zs};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p}from"./chunk-index-2e4am3hw.js";var de={pushTest:()=>p("push/test",{method:"POST"}),pushPrefs:()=>p("push/prefs"),setPushPrefs:(e)=>p("push/prefs",{method:"PUT",body:JSON.stringify({quiet:e})}),notices:()=>p("notices"),ackNotice:(e)=>p(`notices/${encodeURIComponent(e)}/ack`,{method:"POST"}),onboarding:()=>p("onboarding"),waive:(e)=>p(`onboarding/${encodeURIComponent(e)}/waive`,{method:"POST"}),profile:()=>p("profile"),chooseSource:(e)=>p("profile/source",{method:"PUT",body:JSON.stringify({provider:e})}),links:()=>p("links"),issueLink:(e)=>p(`links/${encodeURIComponent(e)}/issue`,{method:"POST"}),confirmLink:(e,i)=>p(`links/${encodeURIComponent(e)}/confirm`,{method:"POST",body:JSON.stringify({request:i})}),cancelLink:(e)=>p(`links/${encodeURIComponent(e)}/cancel`,{method:"POST"}),unlink:(e)=>p(`links/${encodeURIComponent(e)}`,{method:"DELETE"})};
|
|
2
|
+
export{de};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t,pe,Zo,yi}from"./chunk-index-2e4am3hw.js";import{Ce}from"./chunk-index-j4kk1m59.js";import{ki}from"./chunk-index-b8cpvr7y.js";function Jn(e){let r=e.getBoundingClientRect(),o=Zo();pe({title:t("Rooms"),items:[...ki(),{id:"new-folder",label:t("Add a folder"),icon:"plus",run:()=>Ce({kind:"new"})},{id:"arrange",label:o?t("Done"):t("Arrange"),icon:o?"check":"list",run:()=>yi(!o)}],at:{x:r.left,y:r.bottom},via:"key",source:e})}
|
|
2
|
+
export{Jn};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{y,p,d,f}from"./chunk-index-2e4am3hw.js";import{Ho}from"./chunk-index-qfgkfq86.js";import{io,_n}from"./chunk-index-j0m16cj1.js";import{je,xs,Ss,ws,ks,_s}from"./chunk-index-x4enmj72.js";import{Nt}from"./chunk-index-g1awv7rk.js";var n={createFolder:(e)=>p("folders",{method:"POST",body:JSON.stringify({name:e})}),changeFolder:(e,t)=>p(`folders/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)}),deleteFolder:(e)=>p(`folders/${encodeURIComponent(e)}`,{method:"DELETE"}),muteFolder:(e,t)=>p(`folders/${encodeURIComponent(e)}/mute`,{method:"PUT",body:JSON.stringify({muted:t})}),placeRoom:(e,t,o)=>p(`rooms/${encodeURIComponent(e)}/folder`,{method:"PUT",body:JSON.stringify({folder:t,before:o})}),pinRoom:(e,t,o)=>p(`rooms/${encodeURIComponent(e)}/pin`,{method:"PUT",body:JSON.stringify({pinned:t,before:o})})};var a=(e)=>f(e,"danger"),l=(e)=>y.dispatch({type:"layout_loaded",pins:e.pins,folders:e.folders});async function i(e,t,o=a){let r=io();try{l(e(r))}catch{}try{let s=await t();return l(s),s}catch(s){l(r),y.dispatch({type:"changed"}),o(d(s));return}}var Wo=(e,t,o=null)=>i((r)=>_s(r,e,t,o),()=>n.pinRoom(e,t,o)),jt=(e,t,o=null)=>i((r)=>ks(r,e,t,o),()=>n.placeRoom(e,t,o));function er(e,t){let o=Nt(_n(),e);if(o.kind==="rest")return;let r=je(o.siblings,e,t);if(!r)return;return o.kind==="pinned"?Wo(e,!0,r.before):jt(e,o.folder,r.before)}async function zr(e,t=a){try{let o=await n.createFolder(e);return l(o),o.folders.at(-1)?.id}catch(o){t(d(o));return}}var Ir=(e,t,o)=>i((r)=>xs(r,e,t),()=>n.changeFolder(e,{name:t}),o),Cs=(e,t)=>i((o)=>Ss(o,e,t),()=>n.changeFolder(e,{before:t}));function $s(e,t){let o=je(io().folders.map((r)=>r.id),e,t);return o?Cs(e,o.before):void 0}var Dr=(e,t)=>i((o)=>ws(o,e),()=>n.deleteFolder(e),t);async function Ns(e,t){try{let o=await n.muteFolder(e,t);for(let r of o.rooms)y.dispatch({type:"room_muted",room:r,muted:o.muted});return!0}catch(o){return a(d(o)),!1}}function Ls(e,t){let o=Ho(Nt(_n(),e),e,t);if(!o)return;if(o.kind==="pin")return Wo(e,!0,o.before);if(o.kind==="folder")return jt(e,o.folder,o.before);return jt(e,null)}
|
|
2
|
+
export{Wo,jt,er,zr,Ir,Cs,$s,Dr,Ns,Ls};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r,e}from"./chunk-index-
|
|
1
|
+
import{r,e}from"./chunk-index-2e4am3hw.js";var d=!1;function st(){if(d||typeof document>"u")return;if(d=!0,typeof CSSStyleSheet<"u"&&"adoptedStyleSheets"in Document.prototype)try{let t=new CSSStyleSheet;t.replaceSync(`
|
|
2
2
|
.hpic {
|
|
3
3
|
flex: none;
|
|
4
4
|
display: inline-grid;
|
|
@@ -948,5 +948,5 @@ import{r,e}from"./chunk-index-kankja6p.js";var d=!1;function rt(){if(d||typeof d
|
|
|
948
948
|
right: -1px;
|
|
949
949
|
box-shadow: 0 0 0 2px var(--surface);
|
|
950
950
|
}
|
|
951
|
-
`,document.head.append(a)}
|
|
952
|
-
export{
|
|
951
|
+
`,document.head.append(a)}st();function p(a){if(!a)return;if("file"in a)return`api/files/${encodeURIComponent(a.file)}`;if("principal"in a)return`api/people/${encodeURIComponent(a.principal)}/picture`;return}function f(a){let t=a.trim().split(/\s+/).filter(Boolean),o=[...t[0]??"?"][0]??"?";if(/[\u3400-\u9fff]/.test(o))return o;let i=t.length>1?[...t.at(-1)??""][0]:void 0;return`${o}${i??""}`.toUpperCase()}function h(a){let t=0;for(let o of a)t=(t*31+(o.codePointAt(0)??0))%360;return`hsl(${t} 42% 40%)`}function at(a){let[t,o]=r(!1),i=a.size??32,n=t?void 0:p(a.picture),s=a.picture&&"initials"in a.picture?a.picture:void 0,l=s?.initials??f(a.name),c=s?.color??h(a.name);return e("span",{className:"hpic",style:{width:i,height:i,fontSize:Math.round(i*0.4),...n?{}:{background:c}},children:n?e("img",{src:n,alt:"",loading:"lazy",decoding:"async",onError:()=>o(!0)}):e("span",{"aria-hidden":"true",children:l})})}
|
|
952
|
+
export{st,at};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{qn}from"./chunk-index-x4enmj72.js";var f=12;function m(r,e){let t=r.find((u)=>e>=u.top&&e<=u.bottom);if(t)return t;let n,o=f+1;for(let u of r){let i=e<u.top?u.top-e:e-u.bottom;if(i<o)n=u,o=i}return n}function d(r,e,t){for(let n of r)if(n.key!==e&&n.top+n.height/2>t)return n.key;return null}function Yo(r,e,t){let n=m(r,t);return n?{zone:n,before:d(n.items,e,t)}:void 0}function Ho(r,e,t){let{zone:n,before:o}=t;if(n.kind==="rest")return r.kind==="rest"?void 0:{kind:"unplace"};if(n.kind==="pinned"&&r.kind==="pinned"||n.kind==="folder"&&r.kind==="folder"&&r.folder===n.folder){let i=r.siblings;if(qn(i,e,o).every((s,l)=>s===i[l]))return}return n.kind==="pinned"?{kind:"pin",before:o}:{kind:"folder",folder:n.folder,before:o}}function jo(r,e,t,n){if(n<e.top-f*3||n>e.bottom+f*3)return;return{before:d(r,t,n)}}function Ur(r,e,t,n=0){let o=(r[e]?.height??0)+n;return r.map((u,i)=>{if(i===e)return 0;if(e<t&&i>e&&i<=t)return-o;if(e>t&&i>=t&&i<e)return o;return 0})}function Vr(r,e,t){return qn(r,e,t).indexOf(e)}function Ko(r,e,t,n=64,o=18){if(r<e+n)return-Math.min(1,(e+n-r)/n)*o;if(r>t-n)return Math.min(1,(r-(t-n))/n)*o;return 0}var Jo=600;
|
|
2
|
+
export{Yo,Ho,jo,Ur,Vr,Ko,Jo};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{y}from"./chunk-index-2e4am3hw.js";function a(n,o){let i=y.getState(),r=new Map;for(let s of i.order){let e=i.rooms[s]?.view;if(e?.kind!=="thread"||!e.parent)continue;if(n&&!n.has(e.parent))continue;let t=i.rooms[e.parent]?.view;if(!t||t.kind==="thread")continue;if(!o(e.closed===!0))continue;r.set(e.parent,[...r.get(e.parent)??[],s])}return r}var _i=(n)=>a(n&&new Set(n),(o)=>o),ys=(n)=>[...a(new Set(n),()=>!0).values()].flat();function bs(n){let o=y.getState(),i=n&&new Set(n),r=new Map;for(let s of o.order){let e=o.rooms[s]?.view,t=e?.helper?.parent;if(!e||!t||e.helper?.finished!==!0)continue;if(i&&!i.has(t))continue;if(!o.rooms[t]?.view)continue;r.set(t,[...r.get(t)??[],e.name])}return r}
|
|
2
|
+
export{_i,ys,bs};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
export{
|
|
1
|
+
import{q,Se,l,x,we,ze,Ie,F,se,ht,zt,C,b,kt,A,Je}from"./chunk-index-cbqhzf40.js";class sr{constructor(t,e,i,n){this.state=t,this.pos=e,this.explicit=i,this.view=n,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(t){let e=A(this.state).resolveInner(this.pos,-1);while(e&&t.indexOf(e.name)<0)e=e.parent;return e?{from:e.from,to:this.pos,text:this.state.sliceDoc(e.from,this.pos),type:e.type}:null}matchBefore(t){let e=this.state.doc.lineAt(this.pos),i=Math.max(e.from,this.pos-250),n=e.text.slice(i-e.from,this.pos-e.from),o=n.search(D(t,!1));return o<0?null:{from:i+o,to:this.pos,text:n.slice(o)}}get aborted(){return this.abortListeners==null}addEventListener(t,e,i){if(t=="abort"&&this.abortListeners){if(this.abortListeners.push(e),i&&i.onDocChange)this.abortOnDocChange=!0}}}function v(t){let e=Object.keys(t).join(""),i=/\w/.test(e);if(i)e=e.replace(/\w/g,"");return`[${i?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function E(t){let e=Object.create(null),i=Object.create(null);for(let{label:o}of t){e[o[0]]=!0;for(let s=1;s<o.length;s++)i[o[s]]=!0}let n=v(e)+v(i)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function ct(t){let e=t.map((o)=>typeof o=="string"?{label:o}:o),[i,n]=e.every((o)=>/^\w+$/.test(o.label))?[/\w*$/,/\w+$/]:E(e);return(o)=>{let s=o.matchBefore(n);return s||o.explicit?{from:s?s.from:o.pos,options:e,validFor:i}:null}}function ut(t,e){return(i)=>{for(let n=A(i.state).resolveInner(i.pos,-1);n;n=n.parent){if(t.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(i)}}function D(t,e){var i;let{source:n}=t,o=e&&n[0]!="^",s=n[n.length-1]!="$";if(!o&&!s)return t;return new RegExp(`${o?"^":""}(?:${n})${s?"$":""}`,(i=t.flags)!==null&&i!==void 0?i:t.ignoreCase?"i":"")}var P=Ie.define();var re=typeof navigator=="object"&&/Win/.test(navigator.platform);var L=b.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:0.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:0.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'\uD835\uDC65'"}},".cm-completionIcon-constant":{"&:after":{content:"'\uD835\uDC36'"}},".cm-completionIcon-type":{"&:after":{content:"'\uD835\uDC61'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\uD83D\uDD11︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class S{constructor(t,e,i,n){this.field=t,this.line=e,this.from=i,this.to=n}}class g{constructor(t,e,i){this.field=t,this.from=e,this.to=i}map(t){let e=t.mapPos(this.from,-1,Se.TrackDel),i=t.mapPos(this.to,1,Se.TrackDel);return e==null||i==null?null:new g(this.field,e,i)}}class y{constructor(t,e){this.lines=t,this.fieldPositions=e}instantiate(t,e){let i=[],n=[e],o=t.doc.lineAt(e),s=/^\s*/.exec(o.text)[0];for(let a of this.lines){if(i.length){let h=s,c=/^\t*/.exec(a)[0].length;for(let r=0;r<c;r++)h+=t.facet(Je);n.push(e+h.length-c),a=h+a.slice(c)}i.push(a),e+=a.length+1}let f=this.fieldPositions.map((a)=>new g(a.field,n[a.line]+a.from,n[a.line]+a.to));return{text:i,ranges:f}}static parse(t){let e=[],i=[],n=[],o;for(let s of t.split(/\r\n?|\n/)){while(o=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(s)){let f=o[1]?+o[1]:null,a=o[2]||o[3]||"",h=-1;if(f===0)f=1e9;let c=a.replace(/\\[{}]/g,(r)=>r[1]);for(let r=0;r<e.length;r++)if(f!=null?e[r].seq==f:c?e[r].name==c:!1)h=r;if(h<0){let r=0;while(r<e.length&&(f==null||e[r].seq!=null&&e[r].seq<f))r++;e.splice(r,0,{seq:f,name:c}),h=r;for(let u of n)if(u.field>=h)u.field++}for(let r of n)if(r.line==i.length&&r.from>o.index){let u=o[2]?3+(o[1]||"").length:2;r.from-=u,r.to-=u}n.push(new S(h,i.length,o.index,o.index+c.length)),s=s.slice(0,o.index)+a+s.slice(o.index+o[0].length)}s=s.replace(/\\([{}])/g,(f,a,h)=>{for(let c of n)if(c.line==i.length&&c.from>h)c.from--,c.to--;return a}),i.push(s)}return new y(i,n)}}var R=C.widget({widget:new class extends zt{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),k=C.mark({class:"cm-snippetField"});class p{constructor(t,e){this.ranges=t,this.active=e,this.deco=C.set(t.map((i)=>(i.from==i.to?R:k).range(i.from,i.to)),!0)}map(t){let e=[];for(let i of this.ranges){let n=i.map(t);if(!n)return null;e.push(n)}return new p(e,this.active)}selectionInsideField(t){return t.ranges.every((e)=>this.ranges.some((i)=>i.field==this.active&&i.from<=e.from&&i.to>=e.to))}}var m=F.define({map(t,e){return t&&t.map(e)}}),M=F.define(),d=we.define({create(){return null},update(t,e){for(let i of e.effects){if(i.is(m))return i.value;if(i.is(M)&&t)return new p(t.ranges,i.value)}if(t&&e.docChanged)t=t.map(e.changes);if(t&&e.selection&&!t.selectionInsideField(e.selection))t=null;return t},provide:(t)=>b.decorations.from(t,(e)=>e?e.deco:C.none)});function w(t,e){return l.create(t.filter((i)=>i.field==e).map((i)=>l.range(i.from,i.to)))}function B(t){let e=y.parse(t);return(i,n,o,s)=>{let{text:f,ranges:a}=e.instantiate(i.state,o),{main:h}=i.state.selection,c={changes:{from:o,to:s==h.from?h.to:s,insert:q.of(f)},scrollIntoView:!0,annotations:n?[P.of(n),se.userEvent.of("input.complete")]:void 0};if(a.length)c.selection=w(a,0);if(a.some((r)=>r.field>0)){let r=new p(a,0),u=c.effects=[m.of(r)];if(i.state.field(d,!1)===void 0)u.push(F.appendConfig.of([d,_,H,L]))}i.dispatch(i.state.update(c))}}function T(t){return({state:e,dispatch:i})=>{let n=e.field(d,!1);if(!n||t<0&&n.active==0)return!1;let o=n.active+t,s=t>0&&!n.ranges.some((f)=>f.field==o+t);return i(e.update({selection:w(n.ranges,o),effects:m.of(s?null:new p(n.ranges,o)),scrollIntoView:!0})),!0}}var W=({state:t,dispatch:e})=>{if(!t.field(d,!1))return!1;return e(t.update({effects:m.of(null)})),!0},N=T(1),U=T(-1);var j=[{key:"Tab",run:N,shift:U},{key:"Escape",run:W}],I=x.define({combine(t){return t.length?t[0]:j}}),_=ze.highest(kt.compute([I],(t)=>t.facet(I)));function z(t,e){return{...e,apply:B(t)}}var H=b.domEventHandlers({mousedown(t,e){let i=e.state.field(d,!1),n;if(!i||(n=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let o=i.ranges.find((s)=>s.from<=n&&s.to>=n);if(!o||o.field==i.active)return!1;return e.dispatch({selection:w(i.ranges,o.field),effects:m.of(i.ranges.some((s)=>s.field>o.field)?new p(i.ranges,o.field):null),scrollIntoView:!0}),!0}});var O=new class extends ht{};O.startSide=1;O.endSide=-1;var ae=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent);
|
|
2
|
+
export{sr,ct,ut,z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ze,Er,Ht,Cr,G,oe,vi,Ar,Ps,Qs,$r,Ms,Rs,Es,xn}from"./chunk-index-b73y2gc0.js";export{Ht as AVATAR_STATES,G as CATALOG,Ze as CLASS_IDS,oe as CharacterError,Qs as EAST_ASIAN_SKINS,Er as EXPRESSIONS,Cr as STATE_EXPRESSION,Rs as accentOf,Es as characterCss,$r as checkSkins,Ms as composeSvg,Ar as parseCharacter,Ps as readCharacter,vi as resolveCharacter,xn as suggestCharacter};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{s,Qe,li,a,r,t,m,e,n,o,Le,u,k,tt,hn,pn,ue,Ct,We,Ye,Fi,Gi,Zi,bn,Ee}from"./chunk-index-2e4am3hw.js";import{ko,Ai,_o,Vt}from"./chunk-index-kb3w11mn.js";import{L}from"./chunk-index-8d81qy69.js";function A(i,l,f,p){if(!i)return;let d=i.pending.at(-1);if(d&&!d.failed)return{id:`p${d.id}`,who:"owner",author:l,text:d.text,files:[],live:!1,pending:!0};if(i.typing&&i.progress.text!==""){let c=i.agent??p;return{id:`s${i.messages.at(-1)?.id??0}`,who:"agent",agent:c,author:f(c),text:i.progress.text,files:[],live:!0,pending:!1}}let g=i.live.at(-1);if(g)return{id:`l${g.live??g.id}`,who:"agent",agent:g.agent,author:g.author,text:g.text,files:g.files,live:!0,pending:!1};for(let c=i.messages.length-1;c>=0;c-=1){let b=i.messages[c];if(!b||b.kind==="system")continue;return{id:`m${b.id}`,who:b.kind==="owner"?"owner":"agent",agent:b.agent,author:b.author,text:b.text,files:b.files,live:!1,pending:!1}}return}function P(i,l,f){return i.cardOrder.map((d)=>({id:d,card:i.cards[d]})).filter((d)=>d.card?.room===l).filter((d)=>d.card.outcome===void 0||f===void 0||d.card.after>=f)}var Q=90;function U(i,l,f,p={}){if(p.instant)return l;let d=i+f/1000*(p.cps??Q);return Math.min(l,Math.max(i,d))}function B(){let i,l="",f=0,p=0;return{get shown(){return Math.floor(p)},get done(){return Math.floor(p)>=f},feed(d,g){if(d!==i){let c=l!==""&&(g.startsWith(l)||l.startsWith(g));if(i=d,!c)p=0}if(l=g,f=Array.from(g).length,p>f)p=f},step(d,g){p=U(p,f,d,{instant:g})},finish(){p=f}}}var q=(i,l)=>Array.from(i).slice(0,l).join("");function D(i,l){if(!i||i.who!=="agent"||i.agent===void 0)return null;return l.includes(i.agent)?i.agent:null}function I(i,l,f){return f&&f.lineId===l?f.member:i}var X=24;function G(i,l,f){let p=a(!0);s(()=>{let d=i.current;if(!d)return;let g=()=>{p.current=d.scrollHeight-d.scrollTop-d.clientHeight<=X};return d.addEventListener("scroll",g,{passive:!0}),()=>d.removeEventListener("scroll",g)},[i]),Qe(()=>{let d=i.current;if(!l){p.current=!0;return}if(d&&p.current)d.scrollTop=d.scrollHeight},[i,l,f])}function ee(i){let l=a(B()),[,f]=li((c)=>c+1,0),p=Le();l.current.feed(i?.id??"",i?.text??"");let d=i?.text??"",g=i?.id;return s(()=>{let c=l.current;if(p||d===""||g===void 0){c.finish(),f();return}let b=performance.now(),v=0,x=()=>{let w=performance.now();if(c.step(w-b,!1),b=w,f(),!c.done)v=requestAnimationFrame(x)};if(!c.done)v=requestAnimationFrame(x);return()=>cancelAnimationFrame(v)},[p,g,d]),{shown:l.current.shown,done:l.current.done,finish(){l.current.finish(),f()}}}function O(i){let l=u((b)=>b.rooms[i]),f=u((b)=>b.principal?.name)??t("You"),p=u((b)=>{let v={};for(let x of Object.values(b.rooms))if(x.view?.kind==="agent")v[x.view.name]=x.view.displayName;return v}),d=l?.view,c=A(l,f,(b)=>(b===void 0?void 0:p[b])??b??d?.displayName??i,d?.kind==="agent"?d.name:void 0);return{room:l,view:d,line:c}}function ne(i){let{loaded:l,error:f}=i,p=u((b)=>b.rooms[i.roomKey]),[d,g]=r(!1),c=a(null);return s(()=>{if(i.open&&l)c.current?.scrollTo({top:c.current.scrollHeight})},[i.open,l]),e(L,{open:i.open,title:`${i.name} · ${t("Log")}`,onClose:i.onClose,children:n("div",{className:"scene-log",ref:c,children:[f?e("p",{className:"failure-text",children:f}):null,p?.more?e("button",{type:"button",className:"secondary older",disabled:d,onClick:async()=>{g(!0),await Zi(i.roomKey),g(!1)},children:d?t("Loading…"):t("Load earlier messages")}):null,e(bn,{roomKey:i.roomKey,enterAfter:void 0,quotable:!0})]})})}function V(i){let{roomKey:l}=i,f=Ee(),p=k(),d=Gi(l),g=i.streams!==!1;s(()=>{if(!g)return;return f.focus(l),()=>f.focus(void 0)},[f,l,g]);let c=u((y)=>y.limits),b=u((y)=>P(y,l,y.rooms[l]?.messages.at(-1)?.id)),v=Ye(),{room:x,view:w,line:h}=O(l),S=w?.kind==="agent"?w:void 0,R=S?S.name:h?.who==="agent"?h.agent:void 0,z=We(R?v[R]:void 0),C=S?S.displayName:h?h.author:w?.displayName??l,{shown:H,done:M,finish:E}=ee(h),F=a(null);G(F,!M,H);let[W,T]=r(!1),[N,Y]=r(!1),Z=h?.who==="owner"&&!S?{["--agent-accent"]:"var(--accent)"}:z,_=Boolean(x?.typing)&&(!h||h.who==="owner"),J=h?q(h.text,H):"";return n("section",{className:"scene-box","data-open":i.open||void 0,"data-collapsed":N||void 0,"data-who":h?.who,style:Z,"aria-label":t("Log"),children:[n("header",{className:"scene-tab",children:[S||h?.who==="agent"?e("span",{className:"scene-chip",children:e(ue,{spec:R?v[R]:void 0,name:R??C,size:34,live:!1})}):null,e("strong",{className:"scene-name",children:C}),n("span",{className:"scene-tools",children:[i.onBack?e("button",{type:"button",className:"icon-button","aria-label":t("Back to the whole table"),onClick:i.onBack,children:e(o,{name:"back"})}):null,i.onMenu?e("button",{type:"button",className:"icon-button scene-more","aria-label":t("More"),"aria-haspopup":"menu",onClick:(y)=>i.onMenu?.(y.currentTarget),children:e(o,{name:"more"})}):null,n("button",{type:"button",className:"icon-button scene-log-button","aria-label":t("Log"),"aria-haspopup":"dialog",onClick:()=>T(!0),children:[e(o,{name:"conversations"}),e("span",{children:t("Log")})]}),e("button",{type:"button",className:"icon-button scene-collapse","aria-label":N?t("Show the message box"):t("Hide the message box"),title:N?t("Show the message box"):t("Hide the message box"),"aria-expanded":!N,onClick:()=>Y((y)=>!y),children:e(o,{name:"chevron",style:{rotate:N?"-90deg":"90deg"}})})]})]}),i.strip,n("div",{className:"scene-body",ref:F,children:[e("div",{className:"scene-line","data-live":h?.live||void 0,"aria-live":"polite",...M?{}:{role:"button",tabIndex:0,title:t("Tap to show the whole message"),onClick:E,onKeyDown:(y)=>{if(y.key==="Enter"||y.key===" ")y.preventDefault(),E()}},children:h?n(m,{children:[S&&h.who==="owner"?e("span",{className:"scene-from",children:h.author}):null,e(tt,{source:J}),M?e(Ct,{files:h.files}):null]}):null}),_&&x?e(pn,{name:C,progress:x.progress}):null,b.map(({id:y,card:K})=>e("div",{className:"scene-card",children:e(Fi,{card:K,timeZone:p.timeZone})},y))]}),w?.readOnly?null:e("div",{className:"scene-composer",children:e(hn,{draftKey:l,name:w?.displayName??l,limits:c,stoppable:Boolean(x?.stoppable),...w?.kind==="group"?{stopLabel:t("Stop the round")}:{},onSend:(y,K)=>f.say(l,y,K),onStop:()=>f.send({type:"stop",room:l})},l)}),e(ne,{roomKey:l,open:W,loaded:d.loaded,error:d.error,name:w?.displayName??l,onClose:()=>T(!1)})]})}function te(i){if(i.ended==="limit")return t("Limit reached");if(i.ended==="stopped")return t("Round stopped");if(i.ended==="done")return t("{count} of {limit} replies",{count:i.replies,limit:i.limit});return t("Reply {n} of {limit}",{n:i.n,limit:i.limit})}function j(i){let l=u((c)=>c.rooms[i.roomKey]?.round),f=u((c)=>{let b={};for(let v of Object.values(c.rooms))if(v.view?.kind==="agent")b[v.view.name]=v.view.displayName;return b}),p=Ye();if(!l)return null;let d=ko(l),g=(c)=>f[c]??c;return n("div",{className:"order-strip","data-state":l.state,children:[e("ol",{className:"order-faces","aria-label":t("Speaking order"),children:d.map((c,b)=>n("li",{className:"order-face","data-place":c.place,title:g(c.name),children:[e(ue,{spec:p[c.name],name:c.name,size:c.place==="current"?36:26,live:!1}),e("span",{className:"order-badge","aria-hidden":"true",children:c.place==="spoken"?"✓":c.place==="next"?c.order:null}),e("span",{className:"visually-hidden",children:`${g(c.name)}, ${c.place==="spoken"?t("has spoken"):c.place==="current"?t("speaking"):t("next")}`})]},`${c.name}:${b}`))}),e("span",{className:"order-chip","aria-live":"polite",children:te({...l,n:_o(l)})}),l.state==="running"&&(l.queued??0)>0?e("span",{className:"order-queued",children:t("Your message waits for the next round")}):null]})}function Ei(i,l){let{line:f}=O(i),p=u((w)=>Ai(w.rooms[i]?.round)),[d,g]=r(),c=`${f?.id??""}|${p??""}`,b=p!==void 0&&l.includes(p)?p:D(f,l);return{focus:I(b,c,d),look:(w)=>g({lineId:c,member:w})}}function Ci(i){let{roomKey:l,members:f}=i;return n("div",{className:"table-frame room-scene","data-focused":"",children:[e(Vt,{members:f,groupRoom:l,variant:"full",focus:i.focus,onFocus:i.onLook,onSeat:i.onLook,...i.onHandle?{onHandle:i.onHandle}:{},...i.onSeatMenu?{onSeatMenu:i.onSeatMenu}:{}}),e(V,{roomKey:l,open:!0,streams:i.streams??!1,strip:e(j,{roomKey:l})})]})}function As(i){let{focus:l,look:f}=Ei(i.roomKey,i.members);return e(Ci,{roomKey:i.roomKey,members:i.members,focus:l,onLook:f})}
|
|
2
|
+
export{Ei,Ci,As};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{M,t,e,n,p}from"./chunk-index-2e4am3hw.js";var u=(i,s,r)=>p(i,{method:s,...r===void 0?{}:{body:JSON.stringify(r)}}),g=(i)=>encodeURIComponent(i),Ne={agentPromptHistory:(i)=>p(`agents/${g(i)}/prompt-history`),prompts:()=>p("prompts"),prompt:(i)=>p(`prompts/${g(i)}`),savePrompt:(i,s)=>u(`prompts/${g(i)}`,"PUT",s),revertPrompt:(i,s)=>u(`prompts/${g(i)}/revert`,"POST",s),promptHistory:(i)=>p(`prompts/${g(i)}/history`),skillDocument:(i)=>p(`skill-docs/${g(i)}`),saveSkillDocument:(i,s)=>u(`skill-docs/${g(i)}`,"PUT",s),createSkillDocument:(i)=>u("skill-docs","POST",i),skillHistory:(i)=>p(`skill-docs/${g(i)}/history`)};function h(i,s){let r=i.split(`
|
|
2
2
|
`),m=s.split(`
|
|
3
|
-
`),o=0;while(o<r.length&&o<m.length&&r[o]===m[o])o++;let d=0;while(d<r.length-o&&d<m.length-o&&r[r.length-1-d]===m[m.length-1-d])d++;let k=r.slice(o,r.length-d),
|
|
4
|
-
export{
|
|
3
|
+
`),o=0;while(o<r.length&&o<m.length&&r[o]===m[o])o++;let d=0;while(d<r.length-o&&d<m.length-o&&r[r.length-1-d]===m[m.length-1-d])d++;let k=r.slice(o,r.length-d),f=m.slice(o,m.length-d),a=r.slice(0,o).map((l)=>({kind:"same",text:l}));return a.push(...v(k,f)),a.push(...r.slice(r.length-d).map((l)=>({kind:"same",text:l}))),a}function v(i,s){let r=(l)=>l.map((c)=>({kind:"del",text:c})),m=(l)=>l.map((c)=>({kind:"add",text:c}));if(i.length===0)return m(s);if(s.length===0)return r(i);if(i.length*s.length>4000000)return[...r(i),...m(s)];let o=s.length+1,d=new Uint32Array((i.length+1)*o);for(let l=i.length-1;l>=0;l--)for(let c=s.length-1;c>=0;c--)d[l*o+c]=i[l]===s[c]?(d[(l+1)*o+c+1]??0)+1:Math.max(d[(l+1)*o+c]??0,d[l*o+c+1]??0);let k=[],f=0,a=0;while(f<i.length&&a<s.length)if(i[f]===s[a])k.push({kind:"same",text:i[f]}),f++,a++;else if((d[(f+1)*o+a]??0)>=(d[f*o+a+1]??0))k.push({kind:"del",text:i[f]}),f++;else k.push({kind:"add",text:s[a]}),a++;return k.push(...r(i.slice(f)),...m(s.slice(a))),k}function D(i){return{added:i.filter((s)=>s.kind==="add").length,removed:i.filter((s)=>s.kind==="del").length}}var y={same:" ",add:"+",del:"−"};function w({lines:i}){return e("pre",{className:"diff",children:i.map((s,r)=>n("span",{className:"diff-line","data-kind":s.kind,children:[e("span",{className:"diff-mark","aria-hidden":"true",children:y[s.kind]}),s.kind==="add"||s.kind==="del"?n("span",{className:"visually-hidden",children:[s.kind==="add"?t("Added"):t("Removed"),":"," "]}):null,s.text||" "]},r))})}function mt(i){let s=M(()=>h(i.before,i.after),[i.before,i.after]),r=D(s);return n("div",{className:"field",children:[n("span",{className:"field-label",children:[i.label," ·"," ",t("Lines: {added} added, {removed} removed",{added:r.added,removed:r.removed})]}),e(w,{lines:s})]})}
|
|
4
|
+
export{Ne,mt};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Un,wi}from"./chunk-index-64rsz6pf.js";var g={bg:"#0a1130",ink:"#0b0f1e",stone:"#3c4a6d",stoneShade:"#2a3555",stoneJoint:"#1d2745",floor:"#2b3756",floorJoint:"#1b2442",rune:"#3fe6cb",runeGlow:0.9,wood:"#5b3a22",woodDark:"#3a2314",woodLight:"#7d5231",gold:"#e3b24b",goldDark:"#9a6c1d",banner:"#1b5160",bannerEdge:"#e3b24b",glass:"#2e53a3",glassLight:"#5f86d6",glassDark:"#1b2f66",sky:"#f6f3da",beam:"#9fb9ff",beamAlpha:0.14,flame:"#ffb23a",flameCore:"#fff0a8",ambient:"#6f86c9",ambientI:1.55,key:"#aebfff",keyI:1.4,plateInk:"#3a2410",paper:"#f4efe3",spot:"#ffe29a",night:!0,additive:!0,css:{bg:"#0a1130",floor:"#2b3756",ring:"#3fe6cb",text:"#f4efe3",plate:"#e3b24b"}},m={bg:"#e8dcc0",ink:"#2a2036",stone:"#b9ae9a",stoneShade:"#938873",stoneJoint:"#756b5a",floor:"#cfc2a6",floorJoint:"#a79a80",rune:"#1c9d8f",runeGlow:0.75,wood:"#8c5a33",woodDark:"#5d3a20",woodLight:"#ab7443",gold:"#e0a92f",goldDark:"#936718",banner:"#2c7283",bannerEdge:"#e0a92f",glass:"#8dbbe6",glassLight:"#c4e0f6",glassDark:"#5d8dc2",sky:"#ffe9a6",beam:"#fff0b4",beamAlpha:0.2,flame:"#ff9a2c",flameCore:"#ffe7a0",ambient:"#fff1d4",ambientI:2.1,key:"#ffe3b0",keyI:1.6,plateInk:"#3a2410",paper:"#fffaf0",spot:"#fff0b0",night:!1,additive:!1,css:{bg:"#e8dcc0",floor:"#cfc2a6",ring:"#1c9d8f",text:"#2a2036",plate:"#e0a92f"}},P={modern:{dark:{banner:g.banner,bannerEdge:g.gold,gold:g.gold,goldDark:g.goldDark},light:{banner:m.banner,bannerEdge:m.gold,gold:m.gold,goldDark:m.goldDark}},camelot:{dark:{banner:"#6b1f3f",bannerEdge:"#f0c35a",gold:"#f0c35a",goldDark:"#a8791f"},light:{banner:"#9b2a45",bannerEdge:"#e6b436",gold:"#e6b436",goldDark:"#9a6b14"}}},Cn=(e,n)=>({...n==="dark"?g:m,...P[e][n]}),yr={done:"#58c878",error:"#ee4b4b"};var S=(e)=>{let n=e.codePointAt(0)??0;return n>=11904&&n<=64255?1:n>=65280&&n<=65519?1:0.6};function u(e,n){if(n(e))return e;let r=Array.from(e);while(r.length>1){r.pop();let t=`${r.join("").trimEnd()}…`;if(n(t))return t}return"…"}function br(e,n){let r=(t)=>Array.from(t).reduce((a,o)=>a+S(o),0);return u(e,(t)=>r(t)<=n)}var Pt='system-ui, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif',p=(e)=>`700 ${e}px ${Pt}`;function T(e,n,r,t){let a=r*0.86,o=Math.round(t*0.56),s=Math.round(t*0.36),f=(i,d)=>(e.font=p(d),e.measureText(i).width);for(let i=o;i>=s;i-=2)if(f(n,i)<=a)return{text:n,px:i,font:p(i)};return{text:u(n,(i)=>f(i,s)<=a),px:s,font:p(s)}}function Ro(e,n,r,t,a){let o=Math.max(3,t*0.07);e.fillStyle=a.ink,e.fillRect(0,0,r,t);let s=e.createLinearGradient?.(0,0,0,t);if(s)s.addColorStop(0,a.gold),s.addColorStop(0.55,a.gold),s.addColorStop(1,a.goldDark),e.fillStyle=s;else e.fillStyle=a.gold;e.fillRect(o,o,r-o*2,t-o*2),e.strokeStyle=a.goldDark,e.lineWidth=Math.max(1,t*0.03),e.beginPath(),e.moveTo(o*2,o*2),e.lineTo(r-o*2,o*2),e.lineTo(r-o*2,t-o*2),e.lineTo(o*2,t-o*2),e.closePath(),e.stroke(),e.fillStyle=a.goldDark;for(let b of[o*3.4,r-o*3.4])e.beginPath(),e.arc(b,t/2,Math.max(1.4,t*0.04),0,Math.PI*2),e.fill();let f=T(e,n,r-o*4,t);return e.font=f.font,e.fillStyle=a.plateInk,e.textAlign="center",e.textBaseline="middle",e.fillText(f.text,r/2,t/2+t*0.03),f}var an=720,h=260,A=380,y=600,ln=850,Qt=160,Eo=4.2,E=0.35;function ai(e,n,r){let t=new Set(e),a=new Set(n),o=e.filter((c)=>!a.has(c)),s=n.filter((c)=>!t.has(c)),f=n.filter((c)=>t.has(c)),b={leaving:o,joining:s,staying:f,swapAt:0,glideEnd:0,riseAt:0,riseEnd:0,total:0};if(o.length===0&&s.length===0)return{mode:"cut",...b};if(r)return{mode:"fade",...b,swapAt:Qt,glideEnd:Qt,riseAt:Qt,riseEnd:Qt,total:Qt*2};let i=o.length>0?A:0,d=i+y,x=d,k=s.length>0?x+ln:d;return{mode:"play",...b,swapAt:i,glideEnd:d,riseAt:x,riseEnd:k,total:Math.max(o.length>0?an:0,d,s.length>0?k:0)}}var l=(e,n=0,r=1)=>Math.min(r,Math.max(n,e));function zi(e){let n=l(e),r=1.70158;return 1+2.70158*(n-1)**3+1.70158*(n-1)**2}function Co(e){let n=Math.sin(Math.PI*l(e/h));return{scaleX:1+0.08*n,scaleY:1-0.14*n,gone:e>=h,puff:l(e/an)}}function Ii(e){if(e<0)return{shown:!1,depth:1,circle:0,light:0,spin:0,named:!1};let n=l(e/ln),r=l((n-0.25)/0.6),t=1-zi(r);return{shown:n>=0.25,depth:t,named:n>=0.25&&t<=E,circle:l(n/0.25)*l((1-n)/0.2),light:Math.sin(Math.PI*l((n-0.2)/0.7)),spin:n*Math.PI*1.5}}var Ao=(e)=>wi(l(e/y)),$o=(e,n,r)=>e+Un(e,n)*r;
|
|
2
|
+
export{Cn,yr,br,Pt,Ro,an,ln,Qt,Eo,ai,zi,Co,Ii,Ao,$o};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var vs=40;class l extends Error{code;constructor(e){super(e);this.code=e;this.name="LayoutError"}}function qn(e,n,r){if(r===n&&e.includes(n))return[...e];let t=e.filter((o)=>o!==n),i=r===null||r===void 0?-1:t.indexOf(r);if(i<0)return[...t,n];return[...t.slice(0,i),n,...t.slice(i)]}function je(e,n,r){let t=e.indexOf(n);if(t<0)return;if(r==="up")return t===0?void 0:{before:e[t-1]??null};return t===e.length-1?void 0:{before:e[t+2]??null}}function ro(e){let n=e.trim(),r=Array.from(n).length;if(r<1||r>40||/\p{Cc}/u.test(n))throw new l("bad-name");return n}var c=(e,n)=>e.toLocaleLowerCase()===n.toLocaleLowerCase();function u(e,n){let r=e.folders.findIndex((t)=>t.id===n);if(r<0)throw new l("no-folder");return r}var f=(e,n)=>({pins:e.pins,folders:n});function xs(e,n,r){let t=u(e,n),i=ro(r);if(e.folders.some((o)=>o.id!==n&&c(o.name,i)))throw new l("duplicate");return f(e,e.folders.map((o,s)=>s===t?{...o,name:i}:o))}function Ss(e,n,r){let t=u(e,n),i=e.folders[t],o=qn(e.folders.map((s)=>s.id),n,r);return f(e,o.map((s)=>s===n?i:e.folders.find((a)=>a.id===s)))}function ws(e,n){return u(e,n),f(e,e.folders.filter((r)=>r.id!==n))}var d=(e,n)=>({pins:e.pins.filter((r)=>r!==n),folders:e.folders.map((r)=>r.rooms.includes(n)?{...r,rooms:r.rooms.filter((t)=>t!==n)}:r)});function ks(e,n,r,t){if(r!==null)u(e,r);let i=d(e,n);if(r===null)return i;return f(i,i.folders.map((o)=>o.id===r?{...o,rooms:qn(o.rooms,n,t)}:o))}function _s(e,n,r,t){let i=d(e,n);if(!r)return i;return{pins:qn(e.pins.filter((o)=>o!==n),n,t),folders:i.folders}}
|
|
2
|
+
export{vs,qn,je,ro,xs,Ss,ws,ks,_s};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{e,n}from"./chunk-index-2e4am3hw.js";function Ut(l){return n("fieldset",{className:"field",children:[e("legend",{children:l.label}),e("div",{className:"option-chips",children:l.options.map((a)=>e("button",{type:"button","aria-pressed":a.value===l.value,className:"option-chip",onClick:()=>l.onChange(a.value),children:a.label},a.value))})]})}
|
|
2
|
+
export{Ut};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{h}from"./chunk-index-
|
|
1
|
+
import{h}from"./chunk-index-2e4am3hw.js";var r=!1;function ri(){if(r||typeof document>"u")return;if(r=!0,typeof CSSStyleSheet<"u"&&"adoptedStyleSheets"in Document.prototype)try{let e=new CSSStyleSheet;e.replaceSync(`
|
|
2
2
|
.folder-body[hidden] {
|
|
3
3
|
display: none;
|
|
4
4
|
}
|
|
@@ -422,5 +422,5 @@ import{h}from"./chunk-index-kankja6p.js";var r=!1;function Jn(){if(r||typeof doc
|
|
|
422
422
|
transition: none;
|
|
423
423
|
}
|
|
424
424
|
}
|
|
425
|
-
`,document.head.append(t)}var a=()=>(h("
|
|
426
|
-
export{
|
|
425
|
+
`,document.head.append(t)}var a=()=>(h("y73mpsh1"),import("./chunk-layout-actions-y73mpsh1.js")),oi=(t)=>({mode:"room",key:t,item:(e)=>e.closest("[data-drop-item]"),root:(e)=>e.closest("[data-drop-root]"),onDrop:(e)=>{if(e.type==="room")a().then((o)=>o.dropRoom(t,e.drop))},open:(e)=>void (h("ten4ykfw"),import("./chunk-folds-ten4ykfw.js")).then((o)=>o.expandFolder(e))});
|
|
426
|
+
export{ri,oi};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ci}from"./chunk-index-2e4am3hw.js";var M={chat:"M21 12a8 8 0 0 1-11.6 7.1L4 20.5l1.4-4.7A8 8 0 1 1 21 12Z",link:"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3A4 4 0 0 0 11 18.7l1-1",activity:"M3 12h4l3-8 4 16 3-8h4",users:"M9 11a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7ZM2.5 20a6.5 6.5 0 0 1 13 0M16 4.5a3.5 3.5 0 0 1 0 6.5M18 14a6.5 6.5 0 0 1 3.5 6",megaphone:"M4 10v4h3l8 4V6L7 10H4ZM18 9a4 4 0 0 1 0 6M7 14l1 6h3l-1-5",qr:"M4 4h6v6H4zM14 4h6v6h-6zM4 14h6v6H4zM14 14h2v2h-2zM18 14h2v2M14 18h2M18 18h2v2h-2z"};ci(M);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-index-cbqhzf40.js";import"./chunk-index-3d8s3565.js";import{Gn}from"./chunk-index-ebg48jgy.js";var r=()=>Gn();export{r as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{xt}from"./chunk-index-cbqhzf40.js";function p(e){a(e,"start");var t={},n=e.languageData||{},l=!1;for(var s in e)if(s!=n&&e.hasOwnProperty(s)){var u=t[s]=[],o=e[s];for(var r=0;r<o.length;r++){var i=o[r];if(u.push(new w(i,e)),i.indent||i.dedent)l=!0}}return{name:n.name,startState:function(){return{state:"start",pending:null,indent:l?[]:null}},copyState:function(g){var x={state:g.state,pending:g.pending,indent:g.indent&&g.indent.slice(0)};if(g.stack)x.stack=g.stack.slice(0);return x},token:v(t),indent:R(t,n),mergeTokens:n.mergeTokens,languageData:n}}function a(e,t){if(!e.hasOwnProperty(t))throw Error("Undefined state "+t+" in simple mode")}function m(e,t){if(!e)return/(?:)/;var n="";if(e instanceof RegExp){if(e.ignoreCase)n="i";if(e.unicode)n+="u";e=e.source}else e=String(e);return new RegExp((t===!1?"":"^")+"(?:"+e+")",n)}function y(e){if(!e)return null;if(e.apply)return e;if(typeof e=="string")return e.replace(/\./g," ");var t=[];for(var n=0;n<e.length;n++)t.push(e[n]&&e[n].replace(/\./g," "));return t}function w(e,t){if(e.next||e.push)a(t,e.next||e.push);this.regex=m(e.regex),this.token=y(e.token),this.data=e}function v(e){return function(t,n){if(n.pending){var l=n.pending.shift();if(n.pending.length==0)n.pending=null;return t.pos+=l.text.length,l.token}var s=e[n.state];for(var u=0;u<s.length;u++){var o=s[u],r=(!o.data.sol||t.sol())&&t.match(o.regex);if(r){if(o.data.next)n.state=o.data.next;else if(o.data.push)(n.stack||(n.stack=[])).push(n.state),n.state=o.data.push;else if(o.data.pop&&n.stack&&n.stack.length)n.state=n.stack.pop();if(o.data.indent)n.indent.push(t.indentation()+t.indentUnit);if(o.data.dedent)n.indent.pop();var i=o.token;if(i&&i.apply)i=i(r);if(r.length>2&&o.token&&typeof o.token!="string"){n.pending=[];for(var g=2;g<r.length;g++)if(r[g])n.pending.push({text:r[g],token:o.token[g-1]});return t.backUp(r[0].length-(r[1]?r[1].length:0)),i[0]}else if(i&&i.join)return i[0];else return i}}return t.next(),null}}function R(e,t){return function(n,l){if(n.indent==null||t.dontIndentStates&&t.dontIndentStates.indexOf(n.state)>-1)return null;var s=n.indent.length-1,u=e[n.state];e:for(;;){for(var o=0;o<u.length;o++){var r=u[o];if(r.data.dedent&&r.data.dedentIfLineStart!==!1){var i=r.regex.exec(l);if(i&&i[0]){if(s--,r.next||r.push)u=e[r.next||r.push];l=l.slice(i[0].length);continue e}}}break}return s<0?0:n.indent[s]}}var d="from",b=new RegExp("^(\\s*)\\b("+d+")\\b","i"),f=["run","cmd","entrypoint","shell"],S=new RegExp("^(\\s*)("+f.join("|")+")(\\s+\\[)","i"),k="expose",E=new RegExp("^(\\s*)("+k+")(\\s+)","i"),F=["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"],I=[d,k].concat(f).concat(F),c="("+I.join("|")+")",O=new RegExp("^(\\s*)"+c+"(\\s*)(#.*)?$","i"),T=new RegExp("^(\\s*)"+c+"(\\s+)","i"),h=p({start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:b,token:[null,"keyword"],sol:!0,next:"from"},{regex:O,token:[null,"keyword",null,"error"],sol:!0},{regex:S,token:[null,"keyword",null],sol:!0,next:"array"},{regex:E,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:T,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],languageData:{commentTokens:{line:"#"}}});var A=()=>xt.define(h);export{A as language};
|