pi-roundtable-web 0.23.0 → 0.23.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +27 -2
  3. package/dist/chunk-character-creator-dwk6y4be.js +1 -0
  4. package/dist/chunk-connectors-pk0fh4y6.js +1 -0
  5. package/dist/chunk-conversations-sfsgmsdm.js +1 -0
  6. package/dist/chunk-entry-x0j9g57j.js +1 -0
  7. package/dist/chunk-index-19g8jmr8.js +2 -0
  8. package/dist/chunk-index-362dfedj.js +1 -0
  9. package/dist/chunk-index-6g69tqt0.js +47 -0
  10. package/dist/chunk-index-89q2qdkj.css +1 -0
  11. package/dist/chunk-index-9k42hnam.js +41 -0
  12. package/dist/chunk-index-k0z1ykph.js +2 -0
  13. package/dist/{chunk-index-kkydgsrs.js → chunk-index-p8h0e861.js} +2 -2
  14. package/dist/chunk-notes-v60aswry.js +1 -0
  15. package/dist/chunk-overview-c1c0ccda.js +1 -0
  16. package/dist/chunk-skills-r8rwbc5y.js +1 -0
  17. package/dist/{chunk-table-ypqdgf66.js → chunk-table-pmr7zrgm.js} +1 -1
  18. package/dist/chunk-table2d-ac2gez71.js +1 -0
  19. package/dist/chunk-table3d-g258jemr.js +4229 -0
  20. package/dist/chunk-transcript-wjqk37f5.js +1 -0
  21. package/dist/chunk-zh-tw-mtvm7sn7.js +1 -0
  22. package/dist/index.html +1 -1
  23. package/dist/sw.js +1 -1
  24. package/package.json +2 -2
  25. package/src/api-types.ts +9 -0
  26. package/src/app/app.ts +17 -0
  27. package/src/app/routes.ts +5 -0
  28. package/src/features.ts +6 -1
  29. package/src/i18n/index.ts +13 -0
  30. package/src/i18n/locale.ts +11 -0
  31. package/src/i18n/zh-tw.ts +698 -0
  32. package/src/options.ts +34 -0
  33. package/src/push/quiet-hours.ts +60 -0
  34. package/src/push/triggers.ts +14 -2
  35. package/src/web-plugin.ts +4 -0
  36. package/dist/chunk-character-creator-6vdshaj9.js +0 -1
  37. package/dist/chunk-connectors-s33pc7b8.js +0 -1
  38. package/dist/chunk-conversations-zpztvesk.js +0 -1
  39. package/dist/chunk-entry-th44mrfe.js +0 -1
  40. package/dist/chunk-index-4w1rf52n.js +0 -47
  41. package/dist/chunk-index-5pnpf9v5.js +0 -41
  42. package/dist/chunk-index-dkvf85c7.css +0 -1
  43. package/dist/chunk-index-mtcervy3.js +0 -2
  44. package/dist/chunk-index-x3cf4dsz.js +0 -1
  45. package/dist/chunk-notes-ytw8qcfk.js +0 -1
  46. package/dist/chunk-overview-fbea32dq.js +0 -1
  47. package/dist/chunk-skills-58f4qz3b.js +0 -1
  48. package/dist/chunk-table2d-bk1khqzq.js +0 -1
  49. package/dist/chunk-table3d-5vpp4bzh.js +0 -4229
  50. package/dist/chunk-transcript-nabrrayp.js +0 -1
@@ -1 +0,0 @@
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);--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);--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);flex:none;place-items: center;width:1.75rem;height:1.75rem}.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}.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 .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,44rem);margin:auto;transform:translateY(16px)scale(.98)}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{display:flex;gap:var(--space-3);max-height:inherit;overflow-y:auto;padding:var(--space-4)var(--space-4)calc(var(--space-4) + var(--safe-bottom));overscroll-behavior:contain;flex-direction:column}.sheet-head{display:flex;justify-content:space-between;align-items: center;gap:var(--space-3);touch-action:none}.sheet-head button{touch-action:manipulation}@media (max-width:719px){dialog.sheet{border-radius:var(--radius-lg)var(--radius-lg)0 0;opacity:1;border-bottom:0;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}}.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;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}.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}}.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-1)0 var(--space-2)var(--space-5);padding-left:var(--space-3);border-left:2px solid var(--border);flex-direction:column}.thread-list{display:flex;gap:var(--space-1);list-style:none;flex-direction:column;margin:0;padding:0}.thread-row{display:flex;align-items: center;gap:var(--space-2);min-height:var(--touch);padding:var(--space-1)var(--space-3);border-radius:var(--radius);color:inherit;font-size:var(--text-sm);text-decoration:none;transition:background var(--dur-fast)var(--ease-out),border-color var(--dur-fast)var(--ease-out);border:1px solid #0000}.thread-row:hover{background:var(--surface);border-color:var(--border)}.thread-row[aria-current=page]{background:var(--accent-soft);border-color:var(--accent)}.thread-row[data-closed]{color:var(--muted)}.thread-row-icon{color:var(--muted);flex:none}.thread-row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.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-link{font-weight:600}.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)}}.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-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}.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)}.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}.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=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.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.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)}.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)}.group-table-panel{position:absolute;top:calc(3.85rem + var(--safe-top));z-index:3;display:flex;background:var(--surface);border-inline-start:1px solid var(--border);flex-direction:column;width:min(26rem,45%);max-height:100%;bottom:0}.group-table-panel: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:0}.group-table-panel: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:0}.group-table-panel: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:0}.group-table-panel:-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:0}.group-table-panel:-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:0}.group-table-panel: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:0}.group-table-panel>header{display:flex;padding:var(--space-2)var(--space-3);border-bottom:1px solid var(--border);justify-content:space-between;align-items: center}.group-table-panel h2{font-size:var(--text-md);margin:0}.group-table-body{display:flex;flex-direction:column;height:min(70dvh,34rem);min-height:0}.group-table-panel .group-table-body{flex:1;height:auto;min-height:16rem}
@@ -1,2 +0,0 @@
1
- import{r,s,t,e,n}from"./chunk-index-5pnpf9v5.js";function k(o){let i=s(null),{open:a}=o;return r(()=>{let l=i.current;if(!l)return;if(a&&!l.open)l.showModal();if(!a&&l.open)l.close()},[a]),e("dialog",{ref:i,onClose:o.onClose,"aria-label":o.title,children:n("div",{className:"stack",children:[n("div",{className:"card-head",children:[e("h2",{children:o.title}),e("button",{type:"button",className:"secondary","aria-label":t("Close"),onClick:o.onClose,children:t("Close")})]}),o.open?o.children:null]})})}
2
- export{k};
@@ -1 +0,0 @@
1
- import{M,K,L,J,l,y,W,ee,le,ce,ue,de,Z}from"./chunk-index-4w1rf52n.js";export{L as AVATAR_STATES,l as CATALOG,M as CLASS_IDS,y as CharacterError,K as EXPRESSIONS,J as STATE_EXPRESSION,ue as accentOf,de as characterCss,ce as composeSvg,ee as parseCharacter,le as readCharacter,W as resolveCharacter,Z as suggestCharacter};
@@ -1 +0,0 @@
1
- import{T,r,s,i,t,e,n,h,o,p,d,a,u,m,_,re,x}from"./chunk-index-5pnpf9v5.js";import{k}from"./chunk-index-mtcervy3.js";var W=[{kind:"core",label:"Core",hint:"Carried into every turn."},{kind:"note",label:"Note",hint:"Searched when the assistant needs them."},{kind:"event",label:"Events",hint:"Carried into every turn until their date."}],M=300;function ne(){let{timeZone:g}=m(),{version:f}=_(),[c,y]=i("core"),[b,w]=i(""),[D,P]=i(),[v,q]=i(),[C,S]=i(),[K,V]=i(),[E,F]=i(),I=x(()=>a.principals(),"principals").data,L=s(0),A=T(async(l)=>{let N=++L.current;try{let R=await a.notes(l.trim(),E);if(N!==L.current)return;P(R),q(void 0)}catch(R){if(N===L.current)q(u(R))}},[E]);r(()=>{let l=setTimeout(()=>void A(b),M);return()=>clearTimeout(l)},[b,A,f]);let B=(D??[]).filter((l)=>l.kind===c).sort((l,N)=>c==="event"?(l.eventDate??"").localeCompare(N.eventDate??""):l.id-N.id),H=re(g);return n("section",{className:"stack",children:[n("div",{className:"card-head",children:[n("div",{children:[e("h2",{children:t("Notes")}),e("p",{className:"hint",children:t("What the assistant remembers. A change applies from the next turn.")})]}),e("button",{type:"button",onClick:()=>S({draft:{kind:c,fact:"",eventDate:""}}),children:t("Add")})]}),I&&I.principals.length>1?e(O,{people:I,shown:E,choose:(l)=>{P(void 0),F(l)}}):null,n("div",{className:"toolbar",children:[e("div",{className:"tabs",role:"tablist",children:W.map((l)=>n("button",{type:"button",role:"tab","aria-selected":c===l.kind,onClick:()=>y(l.kind),children:[t(l.label),D?` ${D.filter((N)=>N.kind===l.kind).length}`:""]},l.kind))}),e("input",{type:"search",placeholder:t("Search (words separated by spaces)"),"aria-label":t("Search notes"),value:b,onChange:(l)=>w(l.target.value)})]}),e("p",{className:"hint",children:t(W.find((l)=>l.kind===c)?.hint??"")}),v?e(o,{message:v}):null,!D?e(h,{}):B.length===0?e(p,{children:b?t("No matching notes."):t("Nothing of this kind yet.")}):B.map((l)=>e("article",{className:"card",children:n("div",{className:"card-head",children:[n("div",{children:[l.eventDate?n("p",{className:"meta",children:[l.eventDate," ",l.eventDate<H?e(d,{children:t("past")}):null]}):null,e("p",{className:"text",children:l.fact})]}),n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:()=>S({note:l,draft:{kind:l.kind,fact:l.fact,eventDate:l.eventDate??""}}),children:t("Edit")}),e("button",{type:"button",className:"danger",onClick:()=>V(l),children:t("Delete")})]})]})},l.id)),e(k,{open:C!==void 0,title:C?.note?t("Edit note"):t("Add note"),onClose:()=>S(void 0),children:C?e(Q,{initial:C.draft,save:async(l)=>{if(C.note)await a.updateNote(C.note.id,l,E);else await a.addNote(l,E);S((N)=>N===C?void 0:N),await A(b)},cancel:()=>S(void 0)}):null}),e(k,{open:K!==void 0,title:t("Delete this note?"),onClose:()=>V(void 0),children:K?e(Y,{text:K.fact,run:async()=>{await a.deleteNote(K.id,E),V((l)=>l===K?void 0:l),await A(b)},cancel:()=>V(void 0)}):null})]})}function O(g){let{people:f}=g;return n("label",{className:"inline",children:[t("Whose notes")," ",e("select",{value:g.shown??f.self,onChange:(c)=>g.choose(c.target.value===f.self?void 0:c.target.value),children:f.principals.map((c)=>e("option",{value:c.id,children:c.id===f.self?t("{name} (you)",{name:c.name}):c.disabled?t("{name} (disabled)",{name:c.name}):c.name},c.id))})]})}function Q(g){let[f,c]=i(g.initial),[y,b]=i(!1),[w,D]=i(),P=async()=>{b(!0),D(void 0);try{await g.save({kind:f.kind,fact:f.fact,...f.kind==="event"&&f.eventDate?{eventDate:f.eventDate}:{}})}catch(v){D(u(v)),b(!1)}};return n("form",{className:"stack",onSubmit:(v)=>{v.preventDefault(),P()},children:[n("fieldset",{children:[e("legend",{children:t("Kind")}),e("div",{className:"tabs",children:W.map((v)=>e("button",{type:"button","aria-pressed":f.kind===v.kind,onClick:()=>c({...f,kind:v.kind}),children:t(v.label)},v.kind))})]}),f.kind==="event"?n("label",{children:[t("Date"),e("input",{type:"date",value:f.eventDate,onChange:(v)=>c({...f,eventDate:v.target.value})})]}):null,n("label",{children:[t("Text"),e("textarea",{rows:4,value:f.fact,onChange:(v)=>c({...f,fact:v.target.value})})]}),w?e(o,{message:w}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:g.cancel,children:t("Cancel")}),e("button",{type:"submit",disabled:y,children:y?t("Saving…"):t("Save")})]})]})}function Y(g){let[f,c]=i(!1),[y,b]=i();return n("div",{className:"stack",children:[e("p",{className:"text",children:g.text}),y?e(o,{message:y}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:g.cancel,children:t("Cancel")}),e("button",{type:"button",className:"danger",disabled:f,onClick:()=>{c(!0),g.run().catch((w)=>{b(u(w)),c(!1)})},children:f?t("Deleting…"):t("Delete")})]})]})}export{ne as NotesPage};
@@ -1 +0,0 @@
1
- import{i,t,f,e,n,c,h,o,p,d,a,u,m,_,A,w,R,Y,O,B,x}from"./chunk-index-5pnpf9v5.js";import{k}from"./chunk-index-mtcervy3.js";function I(s){let{cleanup:r}=m(),[y,N]=i(),[v,g]=i(!1),[b,l]=i();if(!r)return null;let S=()=>{if(!v)N(void 0),l(void 0)};return n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:()=>N("start-over"),children:t("Start over")}),s.deletable?e("button",{type:"button",className:"danger",onClick:()=>N("delete"),children:t("Delete")}):null,n(k,{open:y!==void 0,title:y==="delete"?t("Permanently delete {name}?",{name:s.title}):t("Start over {name}?",{name:s.title}),onClose:S,children:[e("p",{children:y==="delete"?t("The live conversation and all archives will be permanently deleted. Memory and schedules are preserved."):t("The current conversation will be archived; the next message starts a new one. Long-term memory is preserved. Active turns finish first.")}),b?e(o,{message:b}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",disabled:v,onClick:S,children:t("Cancel")}),e("button",{type:"button",className:y==="delete"?"danger":"",disabled:v,onClick:async()=>{if(!y)return;g(!0),l(void 0);try{if(y==="delete")await a.deleteConversation(s.channel);else await a.startOver(s.channel);N(void 0),s.refresh()}catch(W){l(u(W))}finally{g(!1)}},children:v?y==="delete"?t("Deleting…"):s.busy?t("Waiting for this turn…"):t("Starting over…"):y==="delete"?t("Delete permanently"):t("Start over")})]})]})]})}function ae(){let s=m(),{now:r}=_(),[y,N]=i(0),v=()=>N((l)=>l+1),{data:g,error:b}=x(()=>a.overview(),`overview:${y}`);if(!g)return b?e(o,{message:b}):e(h,{});return n(f,{children:[b?e(o,{message:b}):null,n("section",{className:"stack",children:[e("h2",{children:t("Agent server")}),e("p",{className:"hint",children:t("Agent and group status; starting over archives the conversation and preserves memory.")}),g.agents.length+g.groups.length===0?e(p,{children:t("No agents.")}):null,g.agents.map((l)=>e(E,{agent:l,groups:g.groups,agents:g.agents,guildId:g.guildId,now:r,refresh:v},l.name)),g.groups.map((l)=>e(D,{group:l,guildId:g.guildId,now:r,timeZone:s.timeZone,refresh:v},l.name))]}),n("section",{className:"stack",children:[e("h2",{children:t("My workspaces")}),e("p",{className:"hint",children:t("Direct messages and channels where you mention the assistant. Start over archives; delete removes every archive permanently.")}),g.workspaces?.length?g.workspaces.map((l)=>e(V,{conversation:l,schedules:l.schedules,now:r,refresh:v},l.key)):e(p,{children:t("No workspaces.")})]}),n("section",{className:"stack",children:[e("h2",{children:t("Outside-agent conversations")}),e("p",{className:"hint",children:t("Conversations opened through remote MCP; after deletion the session ID cannot be resumed.")}),g.outside?.length?g.outside.map((l)=>e(V,{conversation:l,now:r,refresh:v},l.key)):e(p,{children:t("No outside-agent conversations.")})]}),n("section",{className:"stack",children:[e("h2",{children:t("Party channels")}),e("p",{className:"hint",children:t("Starting over stops the container and archives role conversations; each speaker's memory is preserved.")}),g.party?.length?g.party.map((l)=>e(L,{party:l,now:r,refresh:v},l.key)):e(p,{children:t("No party channels.")})]})]})}function C({busy:s}){return e(d,{tone:s?"busy":"plain",children:s===0?t("idle"):s===1?t("Working"):t("Working, {count} waiting",{count:s-1})})}function D(s){let{group:r,now:y,timeZone:N}=s;return n("article",{className:"card",children:[n("div",{className:"card-head",children:[r.channelId?e("a",{href:B(r.channelId,s.guildId),target:"_blank",rel:"noreferrer",children:r.displayName}):e("strong",{children:r.displayName}),e(d,{children:t("Group")}),e(C,{busy:r.busy})]}),e("p",{children:t("Members: {members} | Host: {host}",{members:r.members.join(", "),host:r.host})}),n("p",{className:"hint",children:[t("Last active")," ",A(r.lastActive,y,N)]}),r.channelId?e(I,{channel:`discord:${r.channelId}`,title:r.displayName,busy:r.busy>0,refresh:s.refresh}):null]})}function E(s){let{agent:r}=s,{timeZone:y,panes:N}=m(),v=s.groups.find((l)=>l.channelId===r.workingIn),g=s.agents.find((l)=>l.channelId===r.workingIn),b=!r.workingIn?void 0:r.workingIn===r.channelId?t("Working in own channel"):v?t("Working in group {name}",{name:v.displayName}):g?t("Replying in {name}'s channel",{name:g.displayName}):t("Replying in another channel");return n("article",{className:"card",children:[n("div",{className:"card-head",children:[e("strong",{children:r.channelId?e("a",{href:B(r.channelId,s.guildId),target:"_blank",rel:"noreferrer",children:r.displayName}):r.displayName}),e(d,{children:"agent"}),r.workingIn?e(C,{busy:1+r.waiting}):r.waiting>0?e(d,{tone:"busy",children:t("{count} waiting",{count:r.waiting})}):e(d,{children:t("idle")})]}),b?e("p",{children:b}):null,n("dl",{className:"facts",children:[n("div",{children:[e("dt",{children:t("Model")}),n("dd",{children:[r.model," · thinking ",r.thinking]})]}),n("div",{children:[e("dt",{children:t("Context")}),e("dd",{children:r.context?r.context.tokens===null?t("Just compacted (limit {limit})",{limit:Y(r.context.contextWindow)}):`${Y(r.context.tokens)} / ${Y(r.context.contextWindow)} (${Math.round(r.context.tokens/r.context.contextWindow*100)}%)`:"—"})]}),n("div",{children:[e("dt",{children:t("Schedules")}),e("dd",{children:r.schedules})]}),n("div",{children:[e("dt",{children:t("Last active")}),e("dd",{children:A(r.lastActive,s.now,y)})]})]}),r.channelId?n(f,{children:[e(I,{channel:`discord:${r.channelId}`,title:r.displayName,busy:!!r.workingIn||r.waiting>0,refresh:s.refresh}),N.includes("conversations")?e("a",{href:c("conversations",`discord:${r.channelId}`),children:t("transcript")}):null]}):null]})}function V({conversation:s,schedules:r,now:y,refresh:N}){let{timeZone:v,panes:g}=m(),{title:b,detail:l}=s.kind==="outside"?{title:s.firstMessage||t("(No messages)"),detail:s.id}:O(s.channel,s.id);return n("article",{className:"card",children:[n("div",{className:"card-head",children:[e("strong",{children:s.channel&&s.channel.kind!=="gone"?e("a",{href:B(s.id,s.channel.kind==="guild"?s.channel.guildId:void 0),target:"_blank",rel:"noreferrer",children:b}):b}),e(C,{busy:s.busy})]}),l?e("p",{className:"hint",children:l}):null,e("p",{children:s.liveBytes>0?t("Conversation {size} · Archives {count}",{size:R(s.liveBytes),count:s.archives}):t("No live conversation · Archives {count}",{count:s.archives})}),s.startedAt?n("p",{children:[t("Started")," ",w(s.startedAt,v)]}):null,n("p",{className:"hint",children:[r!==void 0?`${t("Schedules")} ${r} · `:"",t("Last active")," ",A(s.lastActive,y,v)]}),e(I,{channel:s.key,title:b,busy:s.busy>0,deletable:!0,refresh:N}),g.includes("conversations")?e("a",{href:c("conversations",s.key),children:t("transcript")}):null]})}function L({party:s,now:r,refresh:y}){let{timeZone:N}=m(),{title:v,detail:g}=O(s.channel,s.channelId),b={running:"Container running",stopped:"Container stopped",missing:"No container yet",unknown:"Container status unknown"};return n("article",{className:"card",children:[n("div",{className:"card-head",children:[e("strong",{children:s.channel.kind!=="gone"?e("a",{href:B(s.channelId,s.channel.kind==="guild"?s.channel.guildId:void 0),target:"_blank",rel:"noreferrer",children:v}):v}),e(d,{children:s.profile}),e(d,{children:t(b[s.container])}),e(C,{busy:s.busy})]}),g?e("p",{className:"hint",children:g}):null,e("p",{children:t("Enabled by {name} at {time}",{name:s.enabledBy,time:w(s.enabledAt,N)})}),n("p",{className:"hint",children:[t("Last active")," ",A(s.lastActive,r,N)]}),e(I,{channel:s.key,title:v,busy:s.busy>0,refresh:y})]})}export{ae as OverviewPage};
@@ -1 +0,0 @@
1
- import{Q,i,t,e,n,h,o,p,d,a,u,G,z,x}from"./chunk-index-5pnpf9v5.js";import{k}from"./chunk-index-mtcervy3.js";function N({source:r}){return e(G,{remarkPlugins:[z],components:{a:({href:s,children:m})=>s&&/^https?:\/\//.test(s)?e("a",{href:s,target:"_blank",rel:"noreferrer",children:m}):e("span",{children:m}),img:({alt:s})=>e("span",{children:s})},children:r})}function O(){let{data:r,error:s}=x(()=>a.skills(),"skills");return n("section",{className:"stack",children:[e("h2",{children:t("Skills")}),e("p",{className:"hint",children:t("Registered skills and their carriers; ask an agent on Discord to edit their contents.")}),s?e(o,{message:s}):null,!r&&!s?e(h,{}):null,r?.length===0?e(p,{children:t("No skills.")}):null,r?.map((m)=>e(S,{skill:m},m.name))]})}function S({skill:r}){let[s,m]=i(!1),[l,w]=i(),[g,f]=i(),y=r.source.kind==="builtin"?t("Built-in"):r.source.kind==="written"?t("Assistant-written"):r.source.kind==="package"?r.source.package:`${r.source.repo}:${r.source.path}`;return n("article",{className:"card",children:[n("div",{className:"card-head",children:[e("strong",{children:r.name}),e(d,{children:y}),r.missing?e(d,{tone:"warn",children:t("File missing")}):e("button",{type:"button",className:"secondary",onClick:()=>{if(m(!0),!l)f(void 0),a.skill(r.name).then(w).catch((c)=>f(u(c)))},children:"SKILL.md"})]}),e("p",{children:r.missing??r.description}),n("p",{className:"hint",children:[t("Carriers"),":"," ",r.source.kind==="builtin"?t("All agents"):r.carriers.join(", ")||t("None")]}),r.groups.length?n("p",{className:"hint",children:[t("Groups"),": ",r.groups.join(", ")]}):null,e(k,{open:s,title:r.name,onClose:()=>m(!1),children:g?e(o,{message:g}):!l?e(h,{}):n("div",{className:"skill-document",children:[e("dl",{className:"facts",children:l.metadata.map((c)=>n(Q,{children:[e("dt",{children:c.key}),e("dd",{className:"text",children:c.value})]},c.key))}),e(N,{source:l.body})]})})]})}export{O as SkillsPage};
@@ -1 +0,0 @@
1
- import{ae,F,U}from"./chunk-index-kkydgsrs.js";var tt="http://www.w3.org/2000/svg",e=(r,n={},u)=>{let h=document.createElementNS(tt,r);for(let[b,C]of Object.entries(n))h.setAttribute(b,String(C));return u?.appendChild(h),h},et=(r)=>{let n=/<svg[^>]*\swidth=/.test(r)?r:r.replace("<svg",'<svg width="256" height="256"');return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(n)}`},ot=0;function it(r,n){let u=`t2d${++ot}`,h=window.matchMedia("(prefers-reduced-motion: reduce)"),b=n.reducedMotion==="auto"||n.reducedMotion===void 0?h.matches:n.reducedMotion,{theme:C,scheme:P}=n,f=[],w=new Map,S=new Map,M=document.createElement("div");M.className="t2d";let l=e("svg",{role:"group","aria-label":"Round table"});if(M.appendChild(l),getComputedStyle(r).position==="static")r.style.position="relative";r.appendChild(M);function v(){let s=F(C,P);M.classList.toggle("reduced",b),M.classList.toggle("dim",f.some((o)=>S.get(o.id)==="speaking"));let a=Math.max(r.clientWidth,200),m=Math.max(r.clientHeight,n.variant==="compact"?60:200);l.setAttribute("viewBox",`0 0 ${a} ${m}`),l.replaceChildren();let T=Math.max(f.length,1),N=a/m<0.8,p=a/2,x=m/2,d=Math.max(44,Math.min(96,Math.min(a,m)*(T>8?0.13:T>6?0.15:0.19)*(N?1.1:1))),L=Math.min(m/2-d*1.15,N?a*0.5:m),_=Math.max(d*1.5,Math.max(11,Math.min(15,d*0.2))*5.5+14),I=Math.min(a/2-Math.max(d*0.8,_/2)-1,N?a:L*1.75),R=Math.max(I-d*0.85,30),z=Math.max(L-d*0.8,24);e("rect",{width:a,height:m,fill:s.bg},l);let G=e("defs",{},l),A=e("radialGradient",{id:`${u}-floor`},G);if(e("stop",{offset:0,"stop-color":s.rug},A),e("stop",{offset:0.9,"stop-color":s.rug},A),e("stop",{offset:1,"stop-color":s.rugEdge},A),e("ellipse",{cx:p,cy:x+10,rx:I+d*0.75,ry:L+d*0.5,fill:`url(#${u}-floor)`},l),e("ellipse",{cx:p,cy:x+16,rx:R*1.05,ry:z*1.1,fill:"#000",opacity:s.shadow*0.45},l),e("ellipse",{cx:p,cy:x+9,rx:R,ry:z,fill:s.rim},l),e("ellipse",{cx:p,cy:x,rx:R,ry:z,fill:s.table},l),e("ellipse",{cx:p,cy:x,rx:R*0.5,ry:z*0.5,fill:"none",stroke:s.inlay,"stroke-width":2,opacity:0.7,"stroke-dasharray":s.candles?"5 4":"0"},l),s.candles)e("circle",{cx:p,cy:x-4,r:5,fill:s.flame},l);f.forEach((o,i)=>{let g=`${u}-h${i}`,t=e("radialGradient",{id:g},G);e("stop",{offset:0,"stop-color":o.color,"stop-opacity":0.95},t),e("stop",{offset:1,"stop-color":o.color,"stop-opacity":0},t)});let J=n.variant==="compact"?f.map((o,i)=>{let g=a/T,t=Math.min(m*0.62,g*0.82);return{s:o,x:g*(i+0.5),y:m*0.7,size:t,a:0}}):f.map((o,i)=>({s:o,a:Math.PI+i/T*Math.PI*2})).sort((o,i)=>Math.cos(o.a)-Math.cos(i.a)).map(({s:o,a:i})=>{let g=0.9+0.1*Math.cos(i);return{s:o,a:i,x:p+Math.sin(i)*I,y:x+Math.cos(i)*L+d*0.22,size:d*g}});for(let{s:o,x:i,y:g,size:t}of J){let O=S.get(o.id)??"idle",c=e("g",{class:"seat","data-state":O,transform:`translate(${i.toFixed(1)} ${g.toFixed(1)})`,tabindex:n.listBelow?-1:0,role:"button","aria-label":`${o.name} (${O})`,color:s.css.text,...n.listBelow?{"aria-hidden":"true"}:{}},l);e("ellipse",{cx:0,cy:4,rx:t*0.55,ry:t*0.16,fill:"#000",opacity:s.shadow*0.6},c),e("ellipse",{class:"halo",cx:0,cy:-t*0.5,rx:t*0.85,ry:t*0.85,fill:`url(#${u}-h${f.indexOf(o)})`},c);let Q=e("polygon",{class:"beam",points:`${-t*0.12},${-t*2.1} ${t*0.12},${-t*2.1} ${t*0.5},0 ${-t*0.5},0`,fill:o.color,opacity:0.22},c),K=e("g",{class:"lift"},c),X=e("image",{href:w.has(o.id)?et(w.get(o.id)):"",x:-t/2,y:-t,width:t,height:t},K);if(!w.has(o.id)){X.remove(),e("circle",{cx:0,cy:-t/2,r:t*0.36,fill:o.color},K);let k=e("text",{x:0,y:-t/2+t*0.12,"text-anchor":"middle","font-size":t*0.36,"font-weight":700,fill:"#fff"},K);k.textContent=o.name.slice(0,1).toUpperCase()}let y=Math.max(11,Math.min(15,t*0.2)),E=Math.min(Math.max(t*1.5,y*5.5+14),Math.max(t*0.9,o.name.length*y*0.62+18));e("rect",{class:"plate",x:-E/2,y:2,width:E,height:y+12,rx:7,fill:s.css.plate,stroke:"none"},c),e("rect",{x:-E/2,y:2+y+7,width:E,height:5,rx:2.5,fill:o.color},c);let Y=e("text",{x:0,y:2+y+1,"text-anchor":"middle","font-size":y,"font-weight":700,fill:s.css.text},c);Y.textContent=ae(o.name,(E-14)/y);let q=e("g",{class:"badge"},e("g",{transform:`translate(${t*0.42} ${-t*0.9})`},c)),W=O==="done",j=O==="error";e("circle",{r:t*0.17,fill:W?U.done:j?U.error:o.color},q);let Z=e("text",{x:0,y:t*0.07,"text-anchor":"middle","font-size":t*0.22,"font-weight":800,fill:"#fff"},q);Z.textContent=W?"✓":j?"✕":"!";let V=e("g",{class:"orbit"},c);e("circle",{cx:t*0.38,cy:-t*0.62,r:t*0.055,fill:o.color},V),e("circle",{cx:-t*0.38,cy:-t*0.62,r:t*0.035,fill:o.color,opacity:0.6},V),c.addEventListener("click",()=>n.onSeatClick({id:o.id,name:o.name})),c.addEventListener("keydown",(k)=>{if(k.key==="Enter"||k.key===" ")k.preventDefault(),n.onSeatClick({id:o.id,name:o.name})})}}let B=new ResizeObserver(v);B.observe(r);let D=()=>{if(n.reducedMotion==="auto"||n.reducedMotion===void 0)H.setReducedMotion(h.matches)};h.addEventListener("change",D);let H={kind:"svg",setTheme(s,a){C=s,P=a,v()},setSeats(s){f=s;for(let a of s)if(S.set(a.id,a.state??"idle"),a.avatarSvg)w.set(a.id,a.avatarSvg);v()},setState(s,a){if(S.get(s)===a)return;S.set(s,a),v()},setAvatar(s,a){return w.set(s,a),v(),Promise.resolve()},setReducedMotion(s){b=s,v()},resetCamera(){},getStats(){return{kind:"svg",fps:0,frameMs:0,frameMsMax:0,drawCalls:0,triangles:0,textures:0,geometries:0,dpr:1,lowPower:!1,reduced:b,loop:"idle",seats:f.length,renders:0}},dispose(){B.disconnect(),h.removeEventListener("change",D),M.remove()}};return H.setSeats(n.seats),H}export{it as createTable2D};