luckytri 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/docs/en/CHANGELOG.md +6 -0
- package/docs/en/architecture.md +10 -0
- package/docs/zh/CHANGELOG.md +6 -0
- package/docs/zh/architecture.md +10 -0
- package/package.json +2 -2
- package/public/app/assets/{ChatsPage-GGOaUl3H.js → ChatsPage-o-exjdFu.js} +1 -1
- package/public/app/assets/{Empty-BSmsWoGM.js → Empty-uSyRBXOT.js} +1 -1
- package/public/app/assets/{Field-tUGp0-YL.js → Field-Bfa5dCkk.js} +1 -1
- package/public/app/assets/{HeartPage-B5_e1hI9.js → HeartPage-Q5ts7Ko6.js} +1 -1
- package/public/app/assets/{LifePage-D5P5kTzy.js → LifePage-B4AsD_DM.js} +1 -1
- package/public/app/assets/{MemoryPage-BrSPiqOS.js → MemoryPage-ijD6lsxo.js} +1 -1
- package/public/app/assets/{NaturePage-C0BdvfFu.js → NaturePage-B9-dv8vz.js} +1 -1
- package/public/app/assets/{PeoplePage-DBT70lu7.js → PeoplePage-BG_XPian.js} +1 -1
- package/public/app/assets/{PluginsPage-QBiQg3Jc.js → PluginsPage-CPYYMown.js} +1 -1
- package/public/app/assets/SystemPage-B9M9g95D.css +1 -0
- package/public/app/assets/{SystemPage-EFOEvom-.js → SystemPage-CTduZhr3.js} +1 -1
- package/public/app/assets/{TimePage-BuNKjCgN.js → TimePage-DScn8IN-.js} +1 -1
- package/public/app/assets/{index-BaXEYeFH.js → index-5FMs9YYQ.js} +3 -3
- package/public/app/assets/{index-BHZcHUMh.css → index-cDDC-1dI.css} +1 -1
- package/public/app/assets/{knowledge-COyBves6.js → knowledge-Ces-Bx70.js} +1 -1
- package/public/app/assets/{media-8uRD5Ocs.js → media-BsG-i0Lv.js} +1 -1
- package/public/app/assets/{mind-CQkvddhx.js → mind-D3mdwFW3.js} +1 -1
- package/public/app/index.html +4 -4
- package/public/guide.en.html +3 -3
- package/public/guide.html +3 -3
- package/server/app.js +8 -1
- package/server/channels/onebot/adapter.js +25 -1
- package/server/channels/onebot/index.js +5 -2
- package/server/core/dialogue-contract.js +1 -1
- package/server/core/image-preprocessor.js +41 -1
- package/server/core/message-scheduler.js +12 -2
- package/server/core/orchestrator.js +14 -0
- package/server/core/reply-delivery.js +72 -0
- package/server/core/turn-processor.js +25 -0
- package/server/core/turn.js +25 -1
- package/server/i18n/errors.js +14 -0
- package/server/stickers/api.js +149 -0
- package/server/stickers/index.js +363 -0
- package/server/stickers/library.js +199 -0
- package/server/stickers/offer.js +123 -0
- package/server/stickers/schema.js +25 -0
- package/public/app/assets/SystemPage-Cf8lKh5C.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
.sky[data-v-d7604463]{z-index:0;contain:paint;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sky-base[data-v-d7604463]{background:radial-gradient(ellipse at 13% 16%, #ffffffd4, transparent 38%), radial-gradient(ellipse at 82% 8%, color-mix(in srgb, var(--glow-b) 36%, transparent), transparent 46%), linear-gradient(168deg, var(--sky-top) 0%, var(--sky-mid) 48%, var(--sky-bottom) 100%);position:absolute;inset:0}.garden[data-v-d7604463]{opacity:.22;background:url(/app/assets/liquid-garden-IMoHBwzc.png) 50% 58%/cover no-repeat;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 8%,#000 42% 100%);mask-image:linear-gradient(#0000 8%,#000 42% 100%)}.garden.custom[data-v-d7604463]{background-position:50%;background-size:cover;-webkit-mask-image:none;mask-image:none}.glow[data-v-d7604463]{opacity:calc(.55 + var(--intensity,.5) * .2);border-radius:50%;position:absolute}.g1[data-v-d7604463]{background:radial-gradient(circle, var(--glow-a) 0%, transparent 64%);width:58vmax;height:58vmax;animation:sky-drift-a-d7604463 calc(34s / var(--tempo,1)) ease-in-out infinite alternate;top:-20vmax;left:-18vmax}.g2[data-v-d7604463]{background:radial-gradient(circle, var(--glow-b) 0%, transparent 66%);width:48vmax;height:48vmax;animation:sky-drift-b-d7604463 calc(41s / var(--tempo,1)) ease-in-out infinite alternate;top:8vh;right:-16vmax}.g3[data-v-d7604463]{background:radial-gradient(circle, color-mix(in srgb, var(--glow-a) 70%, var(--glow-b)) 0%, transparent 68%);width:46vmax;height:46vmax;animation:sky-drift-a-d7604463 calc(47s / var(--tempo,1)) ease-in-out infinite alternate-reverse;bottom:-24vmax;left:22vw}.g4[data-v-d7604463]{background:radial-gradient(circle, color-mix(in srgb, white 55%, var(--glow-b)) 0%, transparent 70%);opacity:.45;width:28vmax;height:28vmax;animation:sky-drift-b-d7604463 calc(28s / var(--tempo,1)) ease-in-out infinite alternate-reverse;top:18vh;left:48vw}.horizon[data-v-d7604463]{background:radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--glow-a) 62%, transparent), transparent 68%);height:46%;position:absolute;bottom:-6%;left:-12%;right:-12%}.sheen[data-v-d7604463]{pointer-events:none;background:linear-gradient(115deg,#0000 36%,#ffffff24 50%,#0000 64%);position:absolute;inset:0}.vignette[data-v-d7604463]{background:radial-gradient(ellipse at 50% 40%, transparent 42%, color-mix(in srgb, var(--ink) 14%, transparent) 100%);position:absolute;inset:0}.moon[data-v-d7604463]{filter:drop-shadow(0 0 26px #fff0be73);opacity:.92;border-radius:50%;width:78px;height:78px;position:absolute;top:3vh;right:24vw;transform:rotate(-20deg);box-shadow:inset -20px -7px #fff4c2}.particles[data-v-d7604463]{opacity:.55;width:100%;height:100%;position:absolute;inset:0}.particles.off[data-v-d7604463]{display:none}@keyframes sky-drift-a-d7604463{to{transform:translate(6vmax,4vmax)scale(1.08)}}@keyframes sky-drift-b-d7604463{to{transform:translate(-5vmax,6vmax)scale(.94)}}@media (width<=760px){.moon[data-v-d7604463]{width:52px;height:52px;top:1.5vh;right:36vw;box-shadow:inset -13px -5px #fff4c2}}.landscape[data-v-d7604463]{contain:paint;opacity:.55;pointer-events:none;position:absolute;inset:0;overflow:hidden}.landscape i[data-v-d7604463]{background:radial-gradient(ellipse at 34% 42%, #ffffffd9, color-mix(in srgb, var(--glow-b) 53%, transparent) 38%, transparent 72%);border-radius:61% 39% 45% 55%/47% 65% 35% 53%;width:77vw;height:48vw;position:absolute;top:6vh;right:-20vw;transform:rotate(-24deg)}.landscape i[data-v-d7604463]:nth-child(2){opacity:.66;background:radial-gradient(ellipse at 44% 48%, #ffffffc2, color-mix(in srgb, var(--glow-a) 48%, transparent) 46%, transparent 74%);width:61vw;height:35vw;top:38vh;right:-19vw}.landscape i[data-v-d7604463]:nth-child(3){opacity:.72;background:radial-gradient(ellipse at 52% 52%, #ffffffdb, color-mix(in srgb, var(--glow-a) 52%, transparent) 43%, transparent 71%);width:72vw;height:43vw;top:32vh;left:-34vw;right:auto}.landscape i[data-v-d7604463]:nth-child(4){opacity:.58;background:radial-gradient(ellipse at 49% 31%, #ffffffeb, color-mix(in srgb, var(--glow-b) 38%, transparent) 55%, transparent 80%);width:69vw;height:28vw;top:74vh;left:5vw;right:auto}.ta-orb[data-v-3fb60aa5]{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:50%;flex:none;position:relative}.ta-orb.interactive[data-v-3fb60aa5]{cursor:pointer}.ta-orb[data-v-3fb60aa5]:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:4px}svg[data-v-3fb60aa5]{width:100%;height:100%;transition:filter .6s var(--ease), transform .6s var(--spring);overflow:visible}.aura[data-v-3fb60aa5]{transform-box:fill-box;transform-origin:50%;animation:orb-aura-3fb60aa5 calc(4.8s / var(--tempo,1)) ease-in-out infinite}.shadow[data-v-3fb60aa5]{fill:var(--ink);opacity:.1}.body[data-v-3fb60aa5]{filter:drop-shadow(0 8px 14px color-mix(in srgb, var(--orb-c) 40%, transparent))}.shine[data-v-3fb60aa5]{fill:#fff;opacity:.5}.shine.dot[data-v-3fb60aa5]{opacity:.7}.ink[data-v-3fb60aa5]{fill:var(--orb-face)}.line[data-v-3fb60aa5]{fill:none;stroke:var(--orb-face);stroke-width:3.6px;stroke-linecap:round;stroke-linejoin:round}.line.thin[data-v-3fb60aa5]{stroke-width:2.6px}.line.hair[data-v-3fb60aa5]{stroke-width:1.6px;opacity:.5}.glint[data-v-3fb60aa5]{fill:#fff}.tongue[data-v-3fb60aa5],.cheeks ellipse[data-v-3fb60aa5]{fill:var(--cheek)}.cheeks[data-v-3fb60aa5]{transition:opacity .5s var(--ease)}.squish[data-v-3fb60aa5]{transform-box:view-box;transform-origin:100px 180px}.is-press .squish[data-v-3fb60aa5]{transition:transform .2s var(--ease);transform:scale(1.06,.93)}.is-poke .squish[data-v-3fb60aa5]{animation:orb-squish-3fb60aa5 .65s var(--spring)}.is-pet .squish[data-v-3fb60aa5]{animation:1.4s ease-in-out orb-wiggle-3fb60aa5}.eye[data-v-3fb60aa5]{transform-box:fill-box;transform-origin:50%}.eyes.blinks .eye[data-v-3fb60aa5]{animation:orb-blink-3fb60aa5 calc(5.6s / var(--tempo,1)) var(--blink-delay,0s) infinite}.eyes.blinks .eye.wink[data-v-3fb60aa5]{animation:6.5s 2s infinite orb-wink-3fb60aa5}.talk[data-v-3fb60aa5],.yawn[data-v-3fb60aa5]{transform-box:fill-box;transform-origin:50%}.talk[data-v-3fb60aa5]{animation:.42s ease-in-out infinite alternate orb-talk-3fb60aa5}.yawn[data-v-3fb60aa5]{animation:6s ease-in-out infinite orb-yawn-3fb60aa5}.page[data-v-3fb60aa5]{fill:var(--paper,#fffdf6);stroke:var(--orb-face);stroke-width:1.8px;stroke-linejoin:round}.pen rect[data-v-3fb60aa5],.pen path[data-v-3fb60aa5]{fill:var(--accent);stroke:var(--orb-face);stroke-width:1.4px}.halo circle[data-v-3fb60aa5]{fill:none;stroke:var(--orb-b);stroke-width:2px;stroke-dasharray:3 9;opacity:.85;transform-box:view-box;transform-origin:100px 112px;animation:26s linear infinite orb-spin-3fb60aa5}.halo .halo-soft[data-v-3fb60aa5]{stroke-dasharray:none;stroke-width:10px;opacity:.18;animation:5s ease-in-out infinite orb-breathe-3fb60aa5}.fx .sparkle[data-v-3fb60aa5]{fill:var(--particle);stroke:color-mix(in srgb, var(--accent) 50%, transparent);stroke-width:.8px;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite orb-twinkle-3fb60aa5}.fx .heart[data-v-3fb60aa5]{fill:var(--cheek);opacity:.85;transform-box:fill-box;transform-origin:50%;animation:3.6s ease-out infinite orb-rise-3fb60aa5}.fx .cloud[data-v-3fb60aa5]{fill:color-mix(in srgb, var(--orb-c) 55%, #fff);animation:3.5s ease-in-out infinite alternate orb-float-3fb60aa5}.storm .cloud[data-v-3fb60aa5]{fill:color-mix(in srgb, var(--orb-c) 75%, #444)}.drop[data-v-3fb60aa5]{stroke:var(--orb-c);stroke-width:2.2px;stroke-linecap:round;animation:1.35s linear infinite orb-drop-3fb60aa5}.scribble[data-v-3fb60aa5]{fill:none;stroke:var(--orb-c);stroke-width:2.4px;stroke-linecap:round;animation:.9s ease-in-out infinite alternate orb-float-3fb60aa5}.zz[data-v-3fb60aa5]{font:700 13px/1 var(--font-display);fill:var(--orb-face);opacity:.7;transform-box:fill-box;animation:3.2s ease-in-out infinite orb-z-3fb60aa5}[data-mood=night] .zz[data-v-3fb60aa5]{fill:var(--ink)}.moon[data-v-3fb60aa5]{fill:#fff4c2;filter:drop-shadow(0 0 6px #fff0b499)}.floating-page[data-v-3fb60aa5]{animation:3s ease-in-out infinite alternate orb-float-3fb60aa5}.think .puff[data-v-3fb60aa5]{fill:var(--surface-strong);stroke:var(--line);stroke-width:1.2px}.think .dot[data-v-3fb60aa5]{fill:var(--orb-face);transform-box:fill-box;animation:1.1s ease-in-out infinite orb-dots-3fb60aa5}.talkwaves path[data-v-3fb60aa5]{stroke:var(--accent);animation:1.2s ease-in-out infinite pulse-soft}.orb-say[data-v-3fb60aa5]{z-index:3;background:var(--surface-strong);border:1px solid var(--line);width:max-content;max-width:min(260px,70vw);box-shadow:var(--shadow-soft);color:var(--ink);text-align:left;pointer-events:none;border-radius:16px 16px 16px 4px;margin:0;padding:8px 14px;font-size:13px;font-weight:600;line-height:1.5;position:absolute;bottom:92%;left:50%}.orb-say.say-left[data-v-3fb60aa5]{border-radius:16px 16px 4px;bottom:56%;left:auto;right:88%}.orb-say-enter-active[data-v-3fb60aa5]{transition:opacity .25s var(--ease), transform .4s var(--spring)}.orb-say-leave-active[data-v-3fb60aa5]{transition:opacity .2s}.orb-say-enter-from[data-v-3fb60aa5]{opacity:0;transform:translateY(8px)scale(.9)}.orb-say-leave-to[data-v-3fb60aa5]{opacity:0}@keyframes orb-blink-3fb60aa5{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}@keyframes orb-wink-3fb60aa5{0%,86%,to{transform:scaleY(1)}90%,94%{transform:scaleY(.12)}}@keyframes orb-squish-3fb60aa5{0%{transform:scale(1)}18%{transform:scale(1.2,.76)}42%{transform:scale(.9,1.12)}66%{transform:scale(1.05,.96)}to{transform:scale(1)}}@keyframes orb-wiggle-3fb60aa5{0%,to{transform:rotate(0)}15%{transform:rotate(-6deg)}35%{transform:rotate(5deg)}55%{transform:rotate(-4deg)}75%{transform:rotate(2deg)}}@keyframes orb-aura-3fb60aa5{0%,to{opacity:.75;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}@keyframes orb-breathe-3fb60aa5{0%,to{opacity:.12}50%{opacity:.28}}@keyframes orb-talk-3fb60aa5{0%{transform:scaleY(.45)}to{transform:scaleY(1.1)}}@keyframes orb-yawn-3fb60aa5{0%,70%,to{transform:scale(.7)}80%,88%{transform:scale(1.35)}}@keyframes orb-spin-3fb60aa5{to{transform:rotate(360deg)}}@keyframes orb-twinkle-3fb60aa5{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.45)}}@keyframes orb-rise-3fb60aa5{0%{opacity:.85;transform:translateY(0)scale(1)}70%{opacity:.5}to{opacity:0;transform:translateY(-26px)scale(1.15)}}@keyframes orb-drop-3fb60aa5{0%{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}@keyframes orb-z-3fb60aa5{0%{opacity:.7;transform:translate(0)scale(1)}to{opacity:0;transform:translate(10px,-16px)scale(1.15)}}@keyframes orb-dots-3fb60aa5{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes orb-float-3fb60aa5{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.menu-select[data-v-fc4ee90c]{min-width:0;position:relative}.menu-face[data-v-fc4ee90c]{background:linear-gradient(180deg, #ffffffb8, #fff6), var(--surface-strong);border:1px solid var(--glass-edge);width:100%;min-height:42px;box-shadow:var(--glass-sheen);text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.menu-face span[data-v-fc4ee90c]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-face i[data-v-fc4ee90c]{border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);width:8px;height:8px;transform:translateY(-2px)rotate(45deg)}.menu-list[data-v-fc4ee90c]{z-index:200;background:var(--surface-strong);border:1px solid var(--glass-edge);max-height:280px;box-shadow:var(--glass-sheen), var(--shadow);transform-origin:top;animation:menu-pop-fc4ee90c .46s var(--jelly) both;border-radius:16px;margin:0;padding:6px;list-style:none;display:grid;position:fixed;overflow:auto}.menu-list.up[data-v-fc4ee90c]{transform-origin:bottom}@keyframes menu-pop-fc4ee90c{0%{opacity:0;transform:translateY(10px)scale(.92,.82)}70%{opacity:1;transform:translateY(-2px)scale(1.02,1.04)}to{transform:none}}.menu-list button[data-v-fc4ee90c]{text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:10px;width:100%;padding:8px 10px;font-weight:550}.menu-list button[aria-selected=true][data-v-fc4ee90c]{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--ink)}.empty[data-v-fc4ee90c]{color:var(--ink-soft);padding:8px 10px;font-size:13px}.menu-list button[data-v-fc4ee90c]:hover:not(:disabled){box-shadow:none;background:color-mix(in srgb, var(--accent) 10%, transparent);transform:none}.native[data-v-fc4ee90c]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ta-chat[data-v-235059b5]{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex}.preview-meta[data-v-235059b5]{color:var(--ink-soft);font-size:12px}.ta-chat-log[data-v-235059b5]{flex-direction:column;flex:1;gap:10px;min-height:64px;padding:4px 2px;display:flex}.preview-bubble[data-v-235059b5]{overflow-wrap:anywhere;max-width:88%;animation:bubble-in-235059b5 .35s var(--spring);border-radius:18px;padding:9px 13px;font-size:14px;line-height:1.6}.preview-bubble p+p[data-v-235059b5]{margin-top:4px}.preview-bubble.me[data-v-235059b5]{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:6px;align-self:flex-end}.preview-bubble.bot[data-v-235059b5]{background:linear-gradient(135deg, color-mix(in srgb, var(--orb-a) 80%, var(--surface-strong)), color-mix(in srgb, var(--orb-b) 50%, var(--surface-strong)));color:var(--ink);border-bottom-left-radius:6px;align-self:flex-start}[data-mood=night] .preview-bubble.bot[data-v-235059b5]{background:color-mix(in srgb, var(--orb-b) 40%, var(--surface-strong))}.why[data-v-235059b5]{margin-top:6px;font-size:12px}.why summary[data-v-235059b5]{color:var(--ink-soft);font-weight:600}.why summary[data-v-235059b5]:before{content:"▸ "}.why[open] summary[data-v-235059b5]:before{content:"▾ "}.why p[data-v-235059b5]{color:var(--ink-soft);margin-top:4px}.typing[data-v-235059b5]{background:color-mix(in srgb, var(--orb-a) 70%, var(--surface-strong));border-radius:18px 18px 18px 6px;align-self:flex-start;gap:5px;padding:12px 14px;display:inline-flex}.typing i[data-v-235059b5]{background:var(--orb-face);opacity:.5;border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite typing-235059b5}.typing i[data-v-235059b5]:nth-child(2){animation-delay:.15s}.typing i[data-v-235059b5]:nth-child(3){animation-delay:.3s}.ta-chat-form[data-v-235059b5]{flex-shrink:0;gap:8px;display:grid}.ta-chat-options[data-v-235059b5]{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.where[data-v-235059b5]{flex:1;align-items:center;gap:8px;min-width:180px;display:flex}.where[data-v-235059b5] .menu-select{flex:1;min-width:0}.where span[data-v-235059b5]{white-space:nowrap}.where select[data-v-235059b5]{padding:6px 10px;font-size:13px}.composer[data-v-235059b5]{gap:8px;display:flex}.composer input[data-v-235059b5]{border-radius:999px;padding-inline:16px}@keyframes bubble-in-235059b5{0%{opacity:0;transform:translateY(6px)scale(.97)}}@keyframes typing-235059b5{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.companion[data-v-038fa72e]{z-index:80;pointer-events:none;justify-items:end;gap:10px;display:grid;position:fixed;bottom:16px;right:18px}.companion[data-v-038fa72e]>*{pointer-events:auto}.companion-dock[data-v-038fa72e]{align-items:flex-end;gap:4px;display:flex}.companion-talk[data-v-038fa72e]{opacity:1;transition:opacity .25s var(--ease), transform .3s var(--spring);margin-bottom:14px;padding:6px 12px;font-size:12px;transform:none}.companion-dock:hover .companion-talk[data-v-038fa72e],.companion-talk[data-v-038fa72e]:focus-visible,.companion-talk[aria-expanded=true][data-v-038fa72e]{opacity:1;transform:none}@media (hover:none){.companion-talk[data-v-038fa72e]{opacity:1;transform:none}}.scrim[data-v-038fa72e]{z-index:1;background:color-mix(in srgb, var(--ink) 32%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100vw;height:100dvh;box-shadow:none;cursor:pointer;border:none;border-radius:0;margin:0;padding:0;position:fixed;inset:0}.scrim[data-v-038fa72e]:hover:not(:disabled),.scrim[data-v-038fa72e]:active:not(:disabled){box-shadow:none;border:none;transform:none}.scrim-enter-active[data-v-038fa72e],.scrim-leave-active[data-v-038fa72e]{transition:opacity .2s var(--ease)}.scrim-enter-from[data-v-038fa72e],.scrim-leave-to[data-v-038fa72e]{opacity:0}.ta-drawer[data-v-038fa72e]{z-index:2;background:radial-gradient(ellipse at 0% 0%, #ffffffeb, transparent 50%), linear-gradient(145deg, #ffffffb8, #ebf3ff6e 65%, #f8e8fb94), var(--glass-fill);-webkit-backdrop-filter:blur(34px)saturate(1.8);backdrop-filter:blur(34px)saturate(1.8);border:1.5px solid #ffffffde;border-radius:34px;flex-direction:column;gap:12px;width:min(460px,100vw - 28px);height:min(640px,100dvh - 140px);padding:16px 18px 18px;display:flex;position:relative;box-shadow:inset 0 2px 1px #fff,0 28px 64px -27px #3452956b}.drawer-head[data-v-038fa72e]{align-items:center;gap:10px;display:flex}.drawer-title[data-v-038fa72e]{flex:1;justify-items:start;gap:3px;display:grid}.drawer-head h2[data-v-038fa72e]{font-size:16px}.drawer-enter-active[data-v-038fa72e]{transition:opacity .28s var(--ease), transform .55s var(--spring)}.drawer-leave-active[data-v-038fa72e]{transition:opacity .18s,transform .2s}.drawer-enter-from[data-v-038fa72e],.drawer-leave-to[data-v-038fa72e]{opacity:0;transform-origin:100% 100%;transform:translateY(34px)scale(.88)rotate(2deg)}@media (width<=760px){.companion[data-v-038fa72e]{right:12px;bottom:calc(84px + env(safe-area-inset-bottom))}.companion-dock[data-v-038fa72e] .ta-orb{width:58px!important;height:58px!important}.companion-talk[data-v-038fa72e]{margin-bottom:10px;padding:5px 10px}.ta-drawer[data-v-038fa72e]{height:min(520px,100dvh - 190px)}}.drawer-head[data-v-038fa72e] .ta-orb{flex:0 0 42px}.drawer-head[data-v-038fa72e]{border-bottom:1px solid var(--line);flex-shrink:0;padding-bottom:12px}.ta-drawer[data-v-038fa72e] .ta-chat{min-height:0;overflow:hidden}.companion-dock[data-v-038fa72e]{background:linear-gradient(140deg, #ffffffd1, #e8f2ff6b), var(--glass-fill);-webkit-backdrop-filter:blur(22px)saturate(1.75);backdrop-filter:blur(22px)saturate(1.75);transition:transform .42s var(--spring), box-shadow .32s ease;border:1.5px solid #ffffffe0;border-radius:999px;align-items:center;padding:5px 10px;box-shadow:inset 0 2px 1px #fff,0 15px 28px -17px #34529561}.companion-dock[data-v-038fa72e]:hover{transform:translateY(-5px)scale(1.035);box-shadow:inset 0 2px 1px #fff,0 23px 32px -17px #34529573}.companion-talk[data-v-038fa72e]{background:0 0;border:0;margin:0}@media (width<=760px){.companion-dock[data-v-038fa72e] .ta-orb{width:36px!important;height:36px!important}.companion-talk[data-v-038fa72e]{margin:0}}.locale-switch[data-v-bc942b38]{flex-wrap:nowrap;gap:2px;padding:3px}.locale-switch button[data-v-bc942b38]{letter-spacing:.02em;min-width:36px;padding:5px 10px;font-size:12.5px;font-weight:700}@media (width<=760px){.locale-switch button[data-v-bc942b38]{min-width:30px;padding:5px 8px}}.theme-picker[data-v-4e5670d2]{position:relative}.theme-toggle[data-v-4e5670d2]{width:100%;color:var(--ink-soft);text-align:left;background:0 0;border:none;border-radius:14px;align-items:center;gap:10px;padding:8px 12px;display:flex}.theme-toggle[data-v-4e5670d2]:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--ink);box-shadow:none;transform:none}.swatch[data-v-4e5670d2]{background:radial-gradient(circle at 36% 30%, var(--orb-a), var(--orb-b) 58%, var(--orb-c));width:20px;height:20px;box-shadow:0 0 0 2px var(--surface-strong), 0 0 0 3px var(--line);border-radius:50%;flex:none}.swatch.auto[data-v-4e5670d2]{background:conic-gradient(#ffc15f,#ffa8cf,#7fdcbc,#99b2d8,#9a8cc4,#cdb6f7,#6f7ee6,#ffc15f)}.theme-menu[data-v-4e5670d2]{z-index:80;background:radial-gradient(ellipse at 0% 0%, #ffffffed, transparent 52%), linear-gradient(145deg, #ffffffb8, #edf3ff5e), var(--glass-fill);-webkit-backdrop-filter:blur(30px)saturate(1.8);backdrop-filter:blur(30px)saturate(1.8);border:1.5px solid #ffffffd9;border-radius:28px;gap:2px;width:250px;max-height:calc(100dvh - 64px);padding:8px;display:grid;position:fixed;top:96px;right:28px;overflow:auto;box-shadow:inset 0 2px 1px #fff,0 24px 58px -27px #34529566}.theme-menu.inline-menu[data-v-4e5670d2]{width:100%;box-shadow:none;position:static}@media (width>=761px) and (width<=1100px){.theme-menu[data-v-4e5670d2]{right:20px}}.theme-menu button[data-v-4e5670d2]{text-align:left;background:0 0;border:none;border-radius:14px;align-items:center;gap:12px;padding:8px 10px;font-weight:500;display:flex}.theme-menu button[data-v-4e5670d2]:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 9%, transparent);box-shadow:none;transform:none}.theme-menu button[aria-checked=true][data-v-4e5670d2]{background:linear-gradient(120deg, #ffffffde, color-mix(in srgb, var(--glow-a) 40%, white));box-shadow:inset 0 1px 0 white, 0 8px 18px -13px var(--accent)}.theme-menu button>span[data-v-4e5670d2]:last-child{line-height:1.35;display:grid}.theme-menu b[data-v-4e5670d2]{font-size:13px}.theme-menu small[data-v-4e5670d2]{color:var(--ink-soft);font-size:11.5px}.pop-enter-active[data-v-4e5670d2]{transition:opacity .2s var(--ease), transform .3s var(--spring)}.pop-leave-active[data-v-4e5670d2]{transition:opacity .15s}.pop-enter-from[data-v-4e5670d2],.pop-leave-to[data-v-4e5670d2]{opacity:0;transform:translateY(6px)scale(.98)}.presence-dock[data-v-4625711b]{z-index:4;width:100%;height:calc(100dvh - 112px);max-height:calc(100dvh - 112px);color:var(--ink);background:linear-gradient(145deg,#ffffffeb,#f8fbffe0);border:1px solid #ffffffe0;border-radius:28px;align-content:start;align-self:start;gap:12px;padding:22px;display:grid;position:sticky;top:96px;overflow:auto;box-shadow:inset 0 1px #fffffff5,0 24px 48px -34px #2745808f}.presence-detail[data-v-4625711b]{align-content:start;gap:12px;min-width:0;display:grid}.mood-word[data-v-4625711b]{font-family:var(--font-display);letter-spacing:-.055em;background:linear-gradient(105deg, var(--ink) 4%, #83bcf2 52%, #dd9dca 95%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(48px,3.5vw,70px);font-weight:750}.chips[data-v-4625711b]{gap:7px}.chips .chip[data-v-4625711b]{background:#ffffffa3;border-color:#ffffffd6}.activity-chip[data-v-4625711b]{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%;line-height:1.5}.actions[data-v-4625711b]{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.actions>button[data-v-4625711b]{background:#ffffff8a;border-color:#ffffffe0;justify-content:center;width:100%}.actions>button.primary[data-v-4625711b]{color:#213e73;background:linear-gradient(120deg,#84bdfb,#a5b5f0 56%,#dfb4e5);box-shadow:0 16px 32px -16px #7ca9ef}.aside-bit[data-v-4625711b]{border-top:1px solid #ffffffb3;gap:4px;padding-top:10px;display:grid}.aside-bit p[data-v-4625711b]{font-size:13.5px;line-height:1.55}.aside-bit small[data-v-4625711b]{color:var(--ink-soft);font-size:12px}@media (width<=760px){.presence-dock[data-v-4625711b]{width:calc(100% - 28px);height:auto;max-height:none;margin:0 auto 8px;position:relative;top:auto}}.dialog-layer[data-v-2339e49c]{z-index:100;background:color-mix(in srgb, var(--sky-top) 44%, #3c51893d);-webkit-backdrop-filter:blur(13px)saturate(1.25);backdrop-filter:blur(13px)saturate(1.25);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog[data-v-2339e49c]{background:radial-gradient(ellipse at 9% -10%, #fffffffa, transparent 53%), linear-gradient(148deg, #ffffffc2, #e5efff70 64%, #f8e7fb8c), var(--glass-fill);-webkit-backdrop-filter:blur(32px)saturate(1.7);backdrop-filter:blur(32px)saturate(1.7);border:1.5px solid #ffffffe3;border-radius:34px;gap:17px;width:min(420px,100%);padding:42px 30px 26px;display:grid;position:relative;box-shadow:inset 0 2px 1px #fff,0 30px 72px -28px #3452956e}.dialog h2[data-v-2339e49c]{font-size:18px}.dialog p[data-v-2339e49c]{color:var(--ink-soft);white-space:pre-line;font-size:14px;line-height:1.7}.dialog-orb[data-v-2339e49c]{background:radial-gradient(circle at 38% 30%, var(--orb-a), var(--orb-b) 60%, var(--orb-c));width:52px;height:50px;box-shadow:inset 0 3px 3px #ffffffe0, 0 13px 24px -9px var(--orb-c);border:2px solid #ffffffe3;border-radius:44% 56% 57% 43%/50% 43% 57% 50%;animation:4s ease-in-out infinite alternate dialog-orb-breathe-2339e49c;position:absolute;top:-24px;left:30px}.dialog-enter-active[data-v-2339e49c],.dialog-leave-active[data-v-2339e49c]{transition:opacity .2s var(--ease)}.dialog-enter-active .dialog[data-v-2339e49c]{transition:transform .52s var(--spring)}.dialog-enter-from[data-v-2339e49c],.dialog-leave-to[data-v-2339e49c]{opacity:0}.dialog-enter-from .dialog[data-v-2339e49c]{transform:translateY(22px)scale(.9)}@keyframes dialog-orb-breathe-2339e49c{to{transform:translateY(-5px)rotate(8deg)scale(1.07)}}.icon[data-v-69e2db74]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.sheet-layer[data-v-2c804a0d]{z-index:70;background:color-mix(in srgb, var(--sky-top) 42%, #3c518945);-webkit-backdrop-filter:blur(13px)saturate(1.3);backdrop-filter:blur(13px)saturate(1.3);justify-content:flex-end;padding:12px;display:flex;position:fixed;inset:0}.sheet[data-v-2c804a0d]{width:min(var(--sheet-w), calc(100vw - 24px));background:radial-gradient(ellipse at 0% 0%, #fffffff2, transparent 43%), linear-gradient(145deg, #ffffffba, #ecf4ff73 62%, #f6eafb99), var(--glass-fill);-webkit-backdrop-filter:blur(36px)saturate(1.8);backdrop-filter:blur(36px)saturate(1.8);border:1.5px solid #ffffffe0;border-radius:34px;outline:none;flex-direction:column;height:100%;display:flex;box-shadow:inset 0 2px 1px #fff,inset -1px -2px 2px #708fd221,0 32px 75px -28px #34529570}.sheet-head[data-v-2c804a0d]{border-bottom:1px solid #ffffffab;justify-content:space-between;align-items:flex-start;gap:12px;padding:26px 28px 18px;display:flex}.sheet-head h2[data-v-2c804a0d]{font-size:19px}.sheet-body[data-v-2c804a0d]{overscroll-behavior:contain;flex:1;padding:20px 28px 30px;overflow:auto}.sheet-enter-active[data-v-2c804a0d],.sheet-leave-active[data-v-2c804a0d]{transition:opacity .25s var(--ease)}.sheet-enter-active .sheet[data-v-2c804a0d],.sheet-leave-active .sheet[data-v-2c804a0d]{transition:transform .55s var(--spring)}.sheet-enter-from[data-v-2c804a0d],.sheet-leave-to[data-v-2c804a0d]{opacity:0}.sheet-enter-from .sheet[data-v-2c804a0d],.sheet-leave-to .sheet[data-v-2c804a0d]{transform:translate(74px)scale(.94)}@media (width<=760px){.sheet-layer[data-v-2c804a0d]{align-items:flex-end;padding:0}.sheet[data-v-2c804a0d]{border-radius:30px 30px 0 0;width:100vw;height:min(88dvh,100%)}.sheet-enter-from .sheet[data-v-2c804a0d],.sheet-leave-to .sheet[data-v-2c804a0d]{transform:translateY(40px)}}.card-head[data-v-2c88637b]{border-bottom:1px solid #ffffffb3;align-items:center;margin-bottom:19px;padding-bottom:13px;position:relative}.card-head h2[data-v-2c88637b]{letter-spacing:-.025em;margin-top:3px;font-size:clamp(18px,1.7vw,22px);font-weight:740}.card-head p[data-v-2c88637b]{margin-top:5px;line-height:1.55}.card-head .eyebrow[data-v-2c88637b]{color:var(--accent)}.meter-row[data-v-4f51518c]{grid-template-columns:minmax(64px,max-content) 1fr minmax(40px,max-content);align-items:center;gap:12px;font-size:12.5px;display:grid}.meter-label[data-v-4f51518c]{color:var(--ink-soft)}.meter-value[data-v-4f51518c]{text-align:right;font-variant-numeric:tabular-nums}.count[data-v-e8e03a3b]{opacity:.75;font-variant-numeric:tabular-nums;margin-left:6px;font-size:11px}.timeline[data-v-e79d18a9]{margin:0;padding:0;list-style:none;display:grid}.timeline li[data-v-e79d18a9]{content-visibility:auto;contain-intrinsic-size:auto 84px;grid-template-columns:24px minmax(0,1fr);gap:12px;display:grid}.stem[data-v-e79d18a9]{justify-items:center;display:grid;position:relative}.stem[data-v-e79d18a9]:before{content:"";background:linear-gradient(var(--glow-a), #ffffffd9, var(--glow-b));width:3px;box-shadow:0 0 10px color-mix(in srgb, var(--glow-a) 55%, transparent);border-radius:999px;position:absolute;top:0;bottom:0}.timeline li:first-child .stem[data-v-e79d18a9]:before{top:12px}.timeline li:last-child .stem[data-v-e79d18a9]:before{bottom:calc(100% - 14px)}.stem i[data-v-e79d18a9]{background:linear-gradient(145deg, white, var(--glow-a));width:13px;height:13px;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 33%, transparent), 0 0 13px var(--glow-a);border:2px solid #fff;border-radius:50%;margin-top:18px;position:relative}li[data-tone=warm] .stem i[data-v-e79d18a9]{border-color:var(--cheek);background:var(--cheek)}li[data-tone=quiet] .stem i[data-v-e79d18a9]{border-color:var(--ink-faint)}li[data-tone=glow] .stem i[data-v-e79d18a9]{background:var(--accent)}li[data-tone=night] .stem i[data-v-e79d18a9]{border-color:var(--orb-c);background:var(--orb-c)}.entry[data-v-e79d18a9]{background:linear-gradient(125deg, #ffffffa8, #fff3), var(--glass-fill);min-width:0;box-shadow:inset 0 1px 0 white, 0 8px 21px -18px var(--accent);transition:transform .48s var(--jelly);border:1px solid #ffffffc2;border-radius:18px;margin-bottom:10px;padding:11px 15px}.timeline li:hover .entry[data-v-e79d18a9]{transform:translate(4px)scale(1.01)}.wallpaper-picker[data-v-01d9dcb6]{z-index:6;-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);background:#ffffffd1;border:1px solid #ffffffdb;border-radius:22px;gap:12px;width:min(280px,100% - 32px);max-height:calc(100% - 78px);padding:14px;display:grid;position:absolute;top:62px;right:16px;overflow:auto;box-shadow:inset 0 1px #fff,0 18px 40px -24px #2745808c}header[data-v-01d9dcb6]{justify-content:space-between;align-items:center;display:flex}header b[data-v-01d9dcb6]{font-size:14px}.choice[data-v-01d9dcb6]{gap:8px;display:grid}.choice>span[data-v-01d9dcb6]{font-size:12.5px;font-weight:700}.row[data-v-01d9dcb6]{gap:8px;display:flex}.row button[data-v-01d9dcb6]{border-radius:999px;flex:1;min-height:32px;padding:6px 8px;font-size:12px}.opacity[data-v-01d9dcb6]{gap:4px;display:grid}.opacity span[data-v-01d9dcb6],.opacity small[data-v-01d9dcb6]{color:var(--ink-soft);font-size:12px}.opacity input[data-v-01d9dcb6]{width:100%;accent-color:var(--accent)}.now-presentation[data-v-663ff302]{min-height:450px;margin-bottom:26px;position:relative}.now-hero[data-v-663ff302]{isolation:isolate;background:linear-gradient(145deg, var(--sky-top), var(--sky-mid) 58%, var(--sky-bottom));height:450px;min-height:450px;color:var(--ink);border:2px solid #ffffffcf;border-radius:42px;margin:0;padding:0;display:block;position:relative;overflow:hidden;box-shadow:inset 0 2px #fffffff2,0 35px 90px -45px #5a7acc8c}.wallpaper-layer[data-v-663ff302]{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.wallpaper-layer img[data-v-663ff302]{object-fit:cover;object-position:50% 50%;width:100%;height:100%;transition:object-position .26s var(--ease-spring);-webkit-user-select:none;user-select:none;display:block}.wallpaper-layer[data-v-663ff302]:after{content:"";background:linear-gradient(100deg,#ffecf633 0%,#fff4fa14 42%,#0000 68%),linear-gradient(#301c4024,#0000 24% 72%,#3018282e);position:absolute;inset:0}.wallpaper-adjusting .wallpaper-layer img[data-v-663ff302]{transition:none}.wallpaper-drag-layer[data-v-663ff302]{z-index:2;cursor:grab;touch-action:none;background:radial-gradient(#0000 55%,#212f5214);position:absolute;inset:0}.wallpaper-drag-layer[data-v-663ff302]:active{cursor:grabbing}.wallpaper-tip[data-v-663ff302]{color:#29416d;-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);white-space:nowrap;pointer-events:none;background:#ffffffad;border:1px solid #ffffffd1;border-radius:999px;padding:10px 16px;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 32px #23375e29,inset 0 1px #fff}.wallpaper-controls[data-v-663ff302]{z-index:4;-webkit-backdrop-filter:blur(20px)saturate(1.45);backdrop-filter:blur(20px)saturate(1.45);background:#ffffff80;border:1px solid #ffffffc2;border-radius:999px;align-items:center;gap:8px;padding:6px;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 10px 28px #30456b1a,inset 0 1px #fff}.wallpaper-controls button[data-v-663ff302]{border-radius:999px;min-height:34px;padding:7px 13px;font-size:12px}.wallpaper-controls .wallpaper-tip-inline[data-v-663ff302]{color:var(--muted);white-space:nowrap;padding:0 4px 0 9px;font-size:12px}.now-hero button.primary[data-v-663ff302]{color:#213e73;background:linear-gradient(120deg,#84bdfb,#a5b5f0 56%,#dfb4e5);box-shadow:0 16px 32px -16px #7ca9ef}.now-hero button[data-v-663ff302]:not(.primary){background:#ffffff7a;border-color:#ffffffe0}.notes[data-v-663ff302]{align-items:start;gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));margin:8px 0 28px;display:grid}.note[data-v-663ff302]{background:linear-gradient(180deg, #ffffff52, transparent 55%), var(--surface);border:1px solid var(--glass-edge);box-shadow:var(--glass-sheen), var(--shadow-soft);transition:transform .52s var(--jelly);border-top:1px solid #fffffff2;border-radius:27px;align-content:start;gap:8px;padding:24px;display:grid;position:relative}.note[data-v-663ff302]:hover{transform:translateY(-4px)scale(1.012)}.note .quote[data-v-663ff302]{font-size:16px;font-weight:600;line-height:1.6}.note small[data-v-663ff302]{color:var(--ink-soft);font-size:12px}.note .text-button[data-v-663ff302]{justify-self:start;margin-top:2px}.note .eyebrow[data-v-663ff302]{margin-bottom:8px}.note>p[data-v-663ff302],.note>ul[data-v-663ff302]{max-height:248px;overflow:auto}.recent-list[data-v-663ff302]{gap:11px;margin:0;padding:0;list-style:none;display:grid}.recent-list li[data-v-663ff302]{border-bottom:1px solid color-mix(in srgb, var(--glass-edge) 70%, transparent);padding-bottom:10px}.recent-list li[data-v-663ff302]:last-child{border-bottom:0;padding-bottom:0}.recent-list .quote[data-v-663ff302]{margin-bottom:3px}.note.ahead>ul[data-v-663ff302]{max-height:248px}.note li[data-v-663ff302]{gap:1px;font-size:13.5px;display:grid}.note li b[data-v-663ff302]{color:var(--accent);font-size:12px}.words[data-v-663ff302]{background:linear-gradient(150deg, color-mix(in srgb, var(--orb-a) 55%, var(--surface-strong)), var(--surface))}.now-grid[data-v-663ff302]{gap:var(--gap);grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;display:grid}.today-scroll[data-v-663ff302]{max-height:620px;margin-right:-8px;padding-right:8px}.entry-head[data-v-663ff302]{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.entry-head time[data-v-663ff302]{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:12px}.entry-head b[data-v-663ff302]{font-size:14px}.entry-head+p[data-v-663ff302]{margin-top:3px;font-size:13.5px;line-height:1.65}.entry-head+p small[data-v-663ff302]{color:var(--ink-soft)}.ledger-note[data-v-663ff302]{margin-top:12px}.small-text[data-v-663ff302]{font-size:13px}.grow[data-v-663ff302]{flex:1;min-width:0}.counts[data-v-663ff302]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.counts button[data-v-663ff302]{text-align:left;border-radius:16px;justify-items:start;gap:0;padding:12px 14px;display:grid}.counts b[data-v-663ff302]{font:700 24px var(--font-display);color:var(--accent)}.counts span[data-v-663ff302]{color:var(--ink-soft);font-size:12px;font-weight:500}@media (width<=1100px){.now-grid[data-v-663ff302]{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.now-presentation[data-v-663ff302]{min-height:0}.now-hero[data-v-663ff302]{text-align:center;height:420px;min-height:420px}.notes[data-v-663ff302]{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.now-hero[data-v-663ff302]{border-radius:30px;height:370px;min-height:370px;padding:0}.today-scroll[data-v-663ff302]{max-height:520px}.wallpaper-controls[data-v-663ff302]{top:10px;right:10px}.wallpaper-controls .wallpaper-tip-inline[data-v-663ff302]{display:none}.wallpaper-controls button[data-v-663ff302]{min-height:32px;padding:6px 10px}.wallpaper-tip[data-v-663ff302]{text-align:center;max-width:calc(100% - 34px);padding:9px 12px;font-size:12px}}.access-gate[data-v-299ced1e]{background:radial-gradient(circle at 25% 20%,#dbe7ec 0,#0000 45%),radial-gradient(circle at 85% 70%,#efdfdd 0,#0000 45%),#f4f5ef;place-items:center;min-height:100dvh;padding:72px 24px;display:grid}.access-language[data-v-299ced1e]{position:absolute;top:22px;right:24px}.access-card[data-v-299ced1e]{background:#ffffffe0;border:1px solid #fff;border-radius:28px;width:min(100%,420px);padding:36px;box-shadow:0 24px 70px #69838618}.access-card h1[data-v-299ced1e]{margin:14px 0;font-size:26px}.access-card>p[data-v-299ced1e]{color:var(--muted);line-height:1.8}.access-orb[data-v-299ced1e]{color:#8b889c;background:radial-gradient(circle at 35% 30%,#fff,#e5dde8 60%,#cedfd8);border-radius:50%;place-items:center;width:70px;height:70px;margin-bottom:24px;font-size:32px;display:grid}.access-form[data-v-299ced1e],.access-form label[data-v-299ced1e]{gap:12px;display:grid}.access-form[data-v-299ced1e]{gap:20px;margin-top:28px}.access-form input[data-v-299ced1e]{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #d6deda;border-radius:12px;padding:12px 14px}.access-form small[data-v-299ced1e]{color:var(--muted);line-height:1.7}.access-form button[data-v-299ced1e]{min-height:44px}.access-error[data-v-299ced1e]{color:#b34e5b;font-size:13px}.spinning[data-v-0e622eac] svg{animation:.7s linear infinite refresh-turn-0e622eac}@keyframes refresh-turn-0e622eac{to{transform:rotate(360deg)}}.startup[data-v-0e622eac]{z-index:1;text-align:center;place-content:center;justify-items:center;gap:10px;min-height:100dvh;padding:24px;display:grid;position:relative}.startup h1[data-v-0e622eac]{font-size:26px}.startup p[data-v-0e622eac]{color:var(--ink-soft)}.shell[data-v-0e622eac]{z-index:1;grid-template-columns:var(--dock-w) minmax(0, 1fr);min-height:100dvh;display:grid;position:relative}.skip-link[data-v-0e622eac]{z-index:120;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:8px 14px;transition:transform .2s;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link[data-v-0e622eac]:focus{transform:none}.dock[data-v-0e622eac]{background:linear-gradient(180deg, #ffffffb8, #ffffff24 46%, transparent 78%), var(--surface);height:calc(100dvh - 28px);color:var(--ink);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:34px;flex-direction:column;gap:16px;margin:14px 0 14px 14px;padding:14px 12px;display:flex;position:sticky;top:14px;overflow:hidden auto;box-shadow:inset 1px 1px #ffffffe6,0 22px 60px -34px #455e9457}.dock-ta[data-v-0e622eac]{text-align:left;background:0 0;border:none;border-radius:22px;align-items:center;gap:10px;padding:6px 10px 6px 4px;display:flex}.dock-ta[data-v-0e622eac]:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 8%, transparent);box-shadow:none;transform:none}.dock-ta.active[data-v-0e622eac]{background:var(--accent-soft)}.dock-ta-text[data-v-0e622eac]{min-width:0;line-height:1.3;display:grid}.dock-ta-text b[data-v-0e622eac]{font:700 16px var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dock-ta-text small[data-v-0e622eac]{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.dock-groups[data-v-0e622eac]{gap:14px;display:grid}.dock-group[data-v-0e622eac]{gap:2px;display:grid}.dock-group h2[data-v-0e622eac]{font:700 10.5px/1.4 var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);padding:0 12px 4px}.dock-link[data-v-0e622eac],.dock-tool[data-v-0e622eac]{width:100%;color:var(--ink-soft);text-align:left;background:0 0;border:none;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.dock-tool[data-v-0e622eac]{padding:8px 12px;font-size:13px}.dock-link[data-v-0e622eac]:hover:not(:disabled),.dock-tool[data-v-0e622eac]:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 9%, transparent);color:var(--ink);box-shadow:none;transform:none}.dock-link.active[data-v-0e622eac]{background:linear-gradient(110deg, #ffffffeb, color-mix(in srgb, var(--glow-a) 44%, white));color:var(--accent);box-shadow:inset 0 1px 0 white, 0 9px 22px -14px var(--accent)}.dock-link.active[data-v-0e622eac]:after{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 10px var(--accent);border-radius:50%;margin-left:auto}.dock-foot[data-v-0e622eac]{border-top:1px solid var(--line);gap:2px;margin-top:auto;padding-top:10px;display:grid}main[data-v-0e622eac]{outline:none;min-width:0;padding-bottom:32px}.topbar[data-v-0e622eac]{background:linear-gradient(180deg, #ffffffb8, transparent 70%), var(--surface);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px)saturate(1.5);border-radius:30px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;width:min(1232px,100% - 36px);margin:16px auto 8px;padding:16px 22px;display:flex;box-shadow:inset 0 1px #fff,0 16px 38px -28px #455e944d}.topbar h1[data-v-0e622eac]{font-family:var(--font-display);letter-spacing:-.03em;font-size:29px;font-weight:700}.topbar p[data-v-0e622eac]{color:var(--ink-soft);margin-top:2px;font-size:13.5px}.topbar-actions[data-v-0e622eac]{align-items:center;gap:10px;margin-left:auto;display:flex}#connection[data-v-0e622eac]{padding:7px 14px}#connection.offline[data-v-0e622eac]{cursor:pointer}.draft-banner[data-v-0e622eac]{background:color-mix(in srgb, var(--warn) 12%, var(--surface-strong));border:1px solid color-mix(in srgb, var(--warn) 28%, transparent);border-radius:999px;align-items:center;gap:10px;width:min(1224px,100% - 56px);margin:0 auto 14px;padding:9px 16px;font-size:13px;font-weight:600;display:flex}.at-now .topbar-title p[data-v-0e622eac]{display:block}.at-chats main[data-v-0e622eac]{flex-direction:column;height:calc(100dvh - 104px);padding-bottom:16px;display:flex;overflow:hidden}.at-chats .view[data-v-0e622eac]{flex-direction:column;flex:1;min-height:0;display:flex}.tabbar[data-v-0e622eac]{display:none}.more-grid[data-v-0e622eac]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.more-grid button[data-v-0e622eac]{text-align:left;border-radius:18px;justify-items:start;gap:4px;padding:14px;display:grid}.more-grid button.active[data-v-0e622eac]{border-color:var(--accent);background:var(--accent-soft)}.more-grid small[data-v-0e622eac]{color:var(--ink-soft);font-size:11.5px;font-weight:500}.more-title[data-v-0e622eac]{margin:20px 0 8px;font-size:14px}.more-tools[data-v-0e622eac]{margin-top:14px}@media (width<=1100px) and (width>=761px){.shell[data-v-0e622eac]{grid-template-columns:92px minmax(0,1fr)}.dock[data-v-0e622eac]{align-items:center;padding:14px 8px}.dock-ta[data-v-0e622eac]{padding:4px}.dock-link[data-v-0e622eac],.dock-tool[data-v-0e622eac]{justify-content:center;width:52px;padding:12px 0}.dock-group[data-v-0e622eac],.dock-foot[data-v-0e622eac]{justify-items:center}.dock[data-v-0e622eac] .theme-toggle{justify-content:center;width:52px;padding:10px 0}.dock-link.active[data-v-0e622eac]:after{display:none}.rail-label[data-v-0e622eac],.dock[data-v-0e622eac] .rail-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}}@media (width<=760px){.shell[data-v-0e622eac]{grid-template-columns:minmax(0,1fr)}.dock[data-v-0e622eac]{display:none}main[data-v-0e622eac]{padding-bottom:calc(128px + env(safe-area-inset-bottom))}.topbar[data-v-0e622eac]{align-items:center;padding:16px 14px 12px}.topbar h1[data-v-0e622eac]{font-size:22px}.topbar p[data-v-0e622eac]{display:none}.draft-banner[data-v-0e622eac]{width:calc(100% - 28px)}.at-chats main[data-v-0e622eac]{height:auto;padding-bottom:calc(96px + env(safe-area-inset-bottom));display:block;overflow:visible}.tabbar[data-v-0e622eac]{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:65;background:linear-gradient(180deg, #ffffff57, transparent 70%), var(--surface);border:1px solid var(--glass-edge);box-shadow:var(--glass-sheen), var(--shadow);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:24px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px;display:grid;position:fixed}.tabbar button[data-v-0e622eac]{color:var(--ink-soft);background:0 0;border:none;border-radius:18px;justify-items:center;gap:2px;padding:7px 0 6px;font-size:11px;display:grid}.tabbar button[data-v-0e622eac]:hover:not(:disabled){box-shadow:none;transform:none}.tabbar button.active[data-v-0e622eac]{background:var(--accent-soft);color:var(--accent)}}@media (width>=761px){.shell[data-v-0e622eac]{padding-top:1px;display:block}.dock[data-v-0e622eac]{z-index:66;background:radial-gradient(ellipse at 12% -80%, #fffffff0, transparent 58%), linear-gradient(110deg, #ffffffc7, #f2f6ff9c 52%, #ffffffc7), color-mix(in srgb, var(--sky-mid) 82%, white);border:1.5px solid #ffffffd4;border-radius:999px;flex-direction:row;align-items:center;gap:14px;width:min(1460px,100% - 40px);height:auto;min-height:72px;margin:14px auto 0;padding:8px 12px;display:flex;position:sticky;top:14px;overflow:visible;box-shadow:inset 0 2px 1px #fff,inset 0 -2px 2px #708fd221,0 22px 44px -28px #34529561}.dock-ta[data-v-0e622eac]{border:1px solid #0000;border-radius:999px;flex:none;min-width:160px;padding:4px 12px 4px 4px}.dock-ta.active[data-v-0e622eac],.dock-ta[data-v-0e622eac]:hover:not(:disabled){box-shadow:inset 0 1px 0 white, 0 8px 17px -14px var(--accent);background:#ffffff6b;border-color:#ffffffc4;transform:translateY(-2px)scale(1.02)}.dock-groups[data-v-0e622eac]{flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;display:flex}.dock-group[data-v-0e622eac]{align-items:center;gap:2px;display:flex}.dock-group h2[data-v-0e622eac]{clip:rect(0 0 0 0);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.dock-link[data-v-0e622eac]{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;gap:7px;width:auto;min-height:45px;padding:9px 12px;position:relative}.dock-link[data-v-0e622eac]:hover:not(:disabled){box-shadow:0 12px 18px -14px var(--accent);background:#ffffff85;border-color:#ffffffbf;transform:translateY(-3px)scale(1.045)}.dock-link.active[data-v-0e622eac]{color:var(--ink);background:linear-gradient(120deg, #fffffffa, color-mix(in srgb, var(--glow-a) 40%, white) 64%, color-mix(in srgb, var(--glow-b) 28%, white));box-shadow:inset 0 1px 0 white, 0 8px 19px -13px var(--accent);animation:dock-bloom-0e622eac .56s var(--spring) both;border-color:#fffffff7}.dock-link.active[data-v-0e622eac]:after{display:none}.dock-foot[data-v-0e622eac]{border:0;flex:none;align-items:center;gap:3px;margin:0;padding:0;display:flex}.dock-tool[data-v-0e622eac],.dock[data-v-0e622eac] .theme-toggle{border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:flex}.dock-tool .rail-label[data-v-0e622eac],.dock[data-v-0e622eac] .theme-toggle .rail-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.dock-tool[data-v-0e622eac]:hover:not(:disabled),.dock[data-v-0e622eac] .theme-toggle:hover:not(:disabled){box-shadow:inset 0 1px white, 0 11px 17px -13px var(--accent);background:#ffffff9e;transform:translateY(-3px)scale(1.08)}main[data-v-0e622eac]{width:100%}.workspace[data-v-0e622eac]{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:22px;width:min(1480px,100% - 36px);margin:8px auto 0;display:grid}.workspace>main[data-v-0e622eac]{width:auto;min-width:0}.workspace .topbar[data-v-0e622eac]{width:calc(100% - 56px);box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;align-items:center;margin:14px 28px 6px;padding:4px 22px 8px}.topbar h1[data-v-0e622eac]{font-size:clamp(28px,2.8vw,38px);font-weight:760}}@keyframes dock-bloom-0e622eac{0%{filter:brightness(1.15);transform:scale(.88)translateY(4px)}to{filter:brightness();transform:scale(1)translateY(0)}}@media (width>=761px) and (width<=1100px){.dock[data-v-0e622eac]{gap:6px;padding-inline:9px}.dock-ta[data-v-0e622eac]{min-width:145px}.dock-ta-text.rail-label[data-v-0e622eac]{clip:auto;width:auto;height:auto;display:grid;position:static!important}.dock-ta-text small[data-v-0e622eac]{display:none}.dock-link[data-v-0e622eac]{width:42px;min-width:42px;padding:10px}.dock-tool[data-v-0e622eac],.dock[data-v-0e622eac] .theme-toggle{width:38px;height:38px}}@media (width<=760px){.workspace[data-v-0e622eac]{width:100%;margin:0;display:block}.topbar[data-v-0e622eac]{width:calc(100% - 28px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;gap:10px;margin-top:14px;padding:8px 5px 10px}.topbar-actions[data-v-0e622eac]{gap:6px}#connection[data-v-0e622eac]{padding:7px 10px;font-size:12px}.tabbar[data-v-0e622eac]{background:linear-gradient(130deg, #ffffffc4, #ffffff45 57%, #e6ecff8c), var(--glass-fill);border:1.5px solid #ffffffdb;box-shadow:inset 0 2px 1px #fff,0 20px 38px -24px #34529570}.tabbar button.active[data-v-0e622eac]{background:linear-gradient(130deg, white, color-mix(in srgb, var(--glow-a) 40%, white));box-shadow:0 6px 15px -10px var(--accent);animation:dock-bloom-0e622eac .48s var(--spring) both;border:1px solid #fff}}@property --sky-top{syntax:"<color>";inherits:true;initial-value:#c8f3e4}@property --sky-mid{syntax:"<color>";inherits:true;initial-value:#e7f7f1}@property --sky-bottom{syntax:"<color>";inherits:true;initial-value:#f6efe2}@property --glow-a{syntax:"<color>";inherits:true;initial-value:#5ddec0}@property --glow-b{syntax:"<color>";inherits:true;initial-value:#8eb6ff}@property --accent{syntax:"<color>";inherits:true;initial-value:#2c8465}@property --accent-soft{syntax:"<color>";inherits:true;initial-value:#dcf3e8}@property --ink{syntax:"<color>";inherits:true;initial-value:#14332d}@property --ink-soft{syntax:"<color>";inherits:true;initial-value:#466760}@property --surface{syntax:"<color>";inherits:true;initial-value:#ffffff94}@property --surface-strong{syntax:"<color>";inherits:true;initial-value:#ffffffe6}@property --line{syntax:"<color>";inherits:true;initial-value:#14332d1f}@property --orb-a{syntax:"<color>";inherits:true;initial-value:#c3f8e0}@property --orb-b{syntax:"<color>";inherits:true;initial-value:#7fdcbc}@property --orb-c{syntax:"<color>";inherits:true;initial-value:#4fa9c7}:root{--font-ui:"HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-display:"Segoe UI Variable Display", "Segoe UI", "SF Pro Rounded", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei UI", sans-serif;--font-editorial:"Palatino Linotype", "Noto Serif SC", "Songti SC", "SimSun", serif;--font-mono:ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;--r-xs:8px;--r-s:12px;--r-m:18px;--r-l:27px;--r-xl:40px;--gap:22px;--dock-w:224px;--topbar-h:76px;--ease:cubic-bezier(.2, .8, .2, 1);--spring:cubic-bezier(.22, 1.45, .42, 1);--jelly:cubic-bezier(.34, 1.56, .5, 1);--tempo:1;--intensity:.5;--glass-blur:12px;--glass-saturate:1.35;--glass-fill:#ffffffb8;--glass-highlight:#ffffffe0;--glass-shadow:0 24px 54px -28px #34529545;--shadow:0 28px 70px -36px color-mix(in srgb, var(--ink) 32%, transparent);--shadow-soft:0 12px 32px -20px color-mix(in srgb, var(--ink) 24%, transparent);--glass-edge:color-mix(in srgb, white 62%, var(--line));--glass-sheen:inset 0 1px 0 #ffffffbd}:root,[data-mood=calm]{--sky-top:#d9e9ff;--sky-mid:#f1f6ff;--sky-bottom:#fff5f2;--glow-a:#a6d8ff;--glow-b:#efd5fa;--accent:#466db8;--accent-ink:#fff;--accent-soft:#e5edff;--ink:#263e69;--ink-soft:#5c6f91;--ink-faint:#8798b1;--surface:#ffffff7a;--surface-strong:#ffffffd1;--line:#6082bf2e;--orb-a:#d8fff0;--orb-b:#5ed4ae;--orb-c:#3a9ec4;--orb-face:#143b34;--cheek:#ff9db1;--particle:#fff;--danger:#b03a3a;--warn:#9a6512;--ok:#478c82;--paper:#fffdf6;--paper-line:#78643c1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-mood=sweet]{--sky-top:#f9e3f3;--sky-mid:#fdf1f9;--sky-bottom:#eeeaff;--glow-a:#f7badb;--glow-b:#cbd2ff;--accent:#8a3356;--accent-ink:#fff;--accent-soft:#ffe3ef;--ink:#3a2430;--ink-soft:#6e4d5c;--ink-faint:#8d6c7a;--surface:#ffffff94;--surface-strong:#ffffffe6;--line:#5a1e3c1f;--orb-a:#ffe0f0;--orb-b:#ff8fbf;--orb-c:#c5a6ff;--orb-face:#4a1f38;--cheek:#ff6f9f;--particle:#ffd0e6;--danger:#b03a4a;--warn:#9a6512;--ok:#2c8465;--paper:#fff9fb;--paper-line:#aa50781f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-mood=bright]{--sky-top:#fff0ca;--sky-mid:#fff8eb;--sky-bottom:#ffebdf;--glow-a:#ffdc88;--glow-b:#ffc8b8;--accent:#b84312;--accent-ink:#fff;--accent-soft:#ffe4cc;--ink:#3d220c;--ink-soft:#7a4e28;--ink-faint:#9a6e48;--surface:#ffffff94;--surface-strong:#fffcf7eb;--line:#6e3c1424;--orb-a:#fff3ae;--orb-b:#ffc15f;--orb-c:#ff8a6b;--orb-face:#4a2a10;--cheek:#ff7b6b;--particle:#ffe08a;--danger:#b03a2a;--warn:#9a6512;--ok:#2c7a55;--paper:#fffbf0;--paper-line:#aa6e2824;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-mood=blue]{--sky-top:#b7d0f2;--sky-mid:#d5e4f6;--sky-bottom:#e7eef8;--glow-a:#6aa4ee;--glow-b:#b7c8ea;--accent:#245488;--accent-ink:#fff;--accent-soft:#dce8f8;--ink:#172433;--ink-soft:#3e536c;--ink-faint:#627890;--surface:#ffffff8f;--surface-strong:#f8fbffe6;--line:#17243321;--orb-a:#e4eefc;--orb-b:#8aafdc;--orb-c:#5d7eae;--orb-face:#1e2b3f;--cheek:#c8a0b5;--particle:#d5e4f6;--danger:#a23c3c;--warn:#8a5e18;--ok:#2c7560;--paper:#f8fafd;--paper-line:#3c5a821f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-mood=stormy]{--sky-top:#e3def4;--sky-mid:#eeebf7;--sky-bottom:#e8ecf6;--glow-a:#c8b8ed;--glow-b:#bcc9e5;--accent:#53368c;--accent-ink:#fff;--accent-soft:#ece4f8;--ink:#241c33;--ink-soft:#534866;--ink-faint:#746888;--surface:#ffffff8f;--surface-strong:#faf8ffe6;--line:#241c3324;--orb-a:#ece4f8;--orb-b:#a894d4;--orb-c:#6e5f9e;--orb-face:#231a36;--cheek:#c99ab8;--particle:#ddd2ee;--danger:#a53a48;--warn:#8a5e18;--ok:#2c7560;--paper:#faf9fd;--paper-line:#5a46821f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-mood=drowsy]{--sky-top:#e8e0fa;--sky-mid:#f5eef9;--sky-bottom:#fff1e9;--glow-a:#d2c4f5;--glow-b:#f5d3c9;--accent:#634678;--accent-ink:#fff;--accent-soft:#f3e6ff;--ink:#2c2140;--ink-soft:#5c5074;--ink-faint:#7e7296;--surface:#ffffff94;--surface-strong:#fffcffe6;--line:#2c21401f;--orb-a:#f4e9ff;--orb-b:#d0b4f8;--orb-c:#f0b8d4;--orb-face:#30264a;--cheek:#f3a3c0;--particle:#eadbff;--danger:#a53a48;--warn:#8a5e18;--ok:#2c7560;--paper:#fffaf6;--paper-line:#966ea021;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-mood=night]{--sky-top:#cbdafa;--sky-mid:#e5eafa;--sky-bottom:#f8edfa;--glow-a:#9db9f0;--glow-b:#cdbdf4;--accent:#5667ab;--accent-ink:#fff;--accent-soft:#e3e7fa;--ink:#29375e;--ink-soft:#606d96;--ink-faint:#8691b3;--surface:#ffffff75;--surface-strong:#ffffffd1;--line:#5d6ca530;--orb-a:#d0d8ff;--orb-b:#7d8ef0;--orb-c:#4d5cc0;--orb-face:#0f1433;--cheek:#c9a0e0;--particle:#fff;--danger:#b24c71;--warn:#936930;--ok:#478c82;--paper:#fbf9ff;--paper-line:#c8d2ff1a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{transition:--sky-top 1.4s var(--ease), --sky-mid 1.4s var(--ease), --sky-bottom 1.4s var(--ease), --glow-a 1.4s var(--ease), --glow-b 1.4s var(--ease), --accent 1.1s var(--ease), --accent-soft 1.1s var(--ease), --ink .9s var(--ease), --ink-soft .9s var(--ease), --surface .9s var(--ease), --surface-strong .9s var(--ease), --line .9s var(--ease), --orb-a 1.2s var(--ease), --orb-b 1.2s var(--ease), --orb-c 1.2s var(--ease)}[data-motion=quiet]{transition:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:15px;overflow-x:clip}body{min-height:100dvh;font-family:var(--font-ui);color:var(--ink);background:var(--sky-mid);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6;overflow-x:clip}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.01em;margin:0;line-height:1.25}p{margin:0}a{color:var(--accent);text-underline-offset:3px}img,svg,canvas{display:block}code,pre,kbd{font-family:var(--font-mono);font-size:.92em}pre{white-space:pre-wrap;word-break:break-word;margin:0}::selection{background:color-mix(in srgb, var(--accent) 26%, transparent)}:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ink) 22%, transparent) transparent}button{font:inherit;color:var(--ink);background:var(--surface-strong);border:1px solid var(--line);cursor:pointer;transition:transform .2s var(--spring), background-color .2s, border-color .2s, box-shadow .2s, color .2s;border-radius:15px;padding:10px 16px;font-size:13px;font-weight:600;line-height:1.3}button:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:var(--shadow-soft);transform:translateY(-1px)}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{color:var(--accent-ink);background:linear-gradient(125deg, color-mix(in srgb, var(--accent) 85%, #8cc8ff), var(--accent));box-shadow:inset 0 1px 0 #ffffff52, 0 12px 26px -15px var(--accent);border-color:#0000}button.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, var(--ink))}button.ghost{background:0 0}button.danger{color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, var(--surface-strong));border-color:color-mix(in srgb, var(--danger) 22%, transparent)}button.small{padding:5px 11px;font-size:12px}button.text-button{color:var(--accent);text-underline-offset:3px;background:0 0;border:none;border-radius:6px;padding:2px 4px;text-decoration:underline}button.text-button:hover:not(:disabled){box-shadow:none;transform:none}button.icon-button{place-items:center;width:38px;height:38px;padding:0;display:inline-grid}button.icon-button svg{width:18px;height:18px}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:color-mix(in srgb, var(--surface-strong) 86%, transparent);border:1px solid var(--glass-edge);border-radius:var(--r-s);box-shadow:var(--glass-sheen);padding:9px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}textarea{resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}input[type=range]{accent-color:var(--accent);background:0 0;border:none;padding:0}input[type=range]:focus{box-shadow:none}label{color:var(--ink-soft);gap:6px;font-size:12.5px;font-weight:600;display:grid}label>small,.hint{color:var(--ink-soft);font-size:12px;font-weight:400}.check{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.switch{color:var(--ink);cursor:pointer;align-items:center;gap:10px;font-size:13px;font-weight:600;display:inline-flex}.switch input{appearance:none;background:color-mix(in srgb, var(--ink) 18%, transparent);cursor:pointer;border-radius:999px;flex:none;width:42px;height:24px;margin:0;transition:background-color .25s;position:relative}.switch input:after{content:"";background:var(--surface-strong);width:18px;height:18px;transition:transform .3s var(--spring);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0003}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(18px)}.switch input:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}.page{width:min(1280px,100%);margin:0 auto;padding:0 28px 48px}.page>*,.stack>*,.card>*{min-width:0}.stack{gap:var(--gap);align-content:start;display:grid}.stack.tight{gap:10px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.grid-2{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:14px;display:grid}.form-grid>label{grid-template-rows:2.6em auto auto;align-content:start;gap:6px;display:grid}.form-grid>label.wide{grid-template-rows:auto auto auto}.form-grid .wide{grid-column:1/-1}.scroll-pane{overscroll-behavior:contain;overflow:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.card{background:linear-gradient(180deg, #ffffff9e, #ffffff0f 42%, transparent 72%), var(--surface);border:1px solid var(--glass-edge);border-radius:var(--r-l);padding:20px 22px;position:relative;box-shadow:inset 0 1px #ffffffed,0 20px 45px -32px #4962a14f}.card.flat{box-shadow:none}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;margin-bottom:14px;display:flex}.card-head h2{font-size:17px}.card-head p{color:var(--ink-soft);margin-top:3px;font-size:13px}.eyebrow{font:700 10.5px/1.4 var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);display:block}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint);font-size:12px}.lede{font-size:15px;line-height:1.8}.chip{background:var(--accent-soft);max-width:100%;color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip[data-tone=warn]{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.chip[data-tone=danger]{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.chip[data-tone=quiet]{background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink-soft)}.chip[data-tone=ok]{background:color-mix(in srgb, var(--ok) 16%, transparent);color:var(--ok)}.pill{background:var(--surface);border:1px solid var(--glass-edge);box-shadow:var(--glass-sheen);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.dot{background:var(--ok);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 18%, transparent);border-radius:50%;flex:none;display:inline-block}.dot.off{background:var(--ink-faint);box-shadow:0 0 0 4px color-mix(in srgb, var(--ink-faint) 16%, transparent)}.dot.warn{background:var(--warn);box-shadow:0 0 0 4px color-mix(in srgb, var(--warn) 18%, transparent)}.meter{background:color-mix(in srgb, var(--ink) 9%, transparent);border-radius:999px;height:8px;overflow:hidden}.meter>i{border-radius:inherit;background:linear-gradient(90deg, var(--orb-b), var(--accent));height:100%;transition:width .7s var(--ease);display:block}.meter.warn>i{background:linear-gradient(90deg, #ffc15f, var(--warn))}.seg{background:var(--surface);border:1px solid var(--line);border-radius:999px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.seg button{background:0 0;border:none;padding:7px 14px}.seg button:hover:not(:disabled){box-shadow:none;background:color-mix(in srgb, var(--accent) 10%, transparent);transform:none}.seg button.active,.seg button[aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.empty{text-align:center;color:var(--ink-soft);justify-items:center;gap:6px;padding:30px 16px;font-size:13px;display:grid}.empty b{color:var(--ink);font-size:15px}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;font-size:13px;display:grid}.kv dt{color:var(--ink-soft)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list-row{border-radius:var(--r-m);background:color-mix(in srgb, var(--surface-strong) 70%, transparent);border:1px solid var(--line);align-items:center;gap:12px;padding:10px 14px;display:flex}.pagination{color:var(--ink-soft);justify-content:center;align-items:center;gap:12px;padding-top:10px;font-size:12.5px;display:flex}.notice{border-radius:var(--r-m);background:color-mix(in srgb, var(--warn) 12%, var(--surface-strong));border:1px solid color-mix(in srgb, var(--warn) 26%, transparent);color:var(--ink);padding:12px 16px;font-size:13px}.error-text{color:var(--danger);font-size:13px}.bubble{overflow-wrap:anywhere;background:var(--surface-strong);border:1px solid var(--line);border-radius:18px;max-width:min(560px,86%);padding:10px 14px;font-size:14px;line-height:1.6;position:relative}.bubble.ta{background:linear-gradient(135deg, color-mix(in srgb, var(--orb-a) 80%, var(--surface-strong)), color-mix(in srgb, var(--orb-b) 55%, var(--surface-strong)));color:var(--ink);border-color:#0000}[data-mood=night] .bubble.ta{background:linear-gradient(135deg, color-mix(in srgb, var(--orb-b) 45%, var(--surface-strong)), color-mix(in srgb, var(--orb-c) 45%, var(--surface-strong)))}#toast{z-index:90;background:var(--surface-strong);border:1px solid var(--line);max-width:min(360px,100vw - 32px);box-shadow:var(--shadow);color:var(--ink);opacity:0;pointer-events:none;transition:opacity .25s var(--ease), transform .35s var(--spring);border-radius:20px 20px 6px;padding:12px 18px;font-size:13.5px;font-weight:600;position:fixed;bottom:34px;right:96px;transform:translateY(10px)scale(.96)}#toast.show{opacity:1;transform:none}#toast.error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.route-page{animation:page-arrive .32s var(--spring) both}[data-visibility=hidden] *,[data-visibility=hidden] :before,[data-visibility=hidden] :after{animation-play-state:paused!important}.route-page>:nth-child(-n+6){animation:section-arrive .4s var(--spring) both}.route-page>:nth-child(2){animation-delay:25ms}.route-page>:nth-child(3){animation-delay:45ms}.route-page>:nth-child(4){animation-delay:65ms}.route-page>:nth-child(5){animation-delay:85ms}.route-page>:nth-child(6){animation-delay:.105s}@keyframes section-arrive{0%{opacity:.45;transform:translateY(12px)scale(.99)}to{opacity:1;transform:none}}@keyframes page-arrive{0%{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}.rise-enter-active,.rise-move{transition:opacity .35s var(--ease), transform .45s var(--spring)}.rise-enter-from{opacity:0;transform:translateY(10px)}@keyframes float-y{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@keyframes pulse-soft{0%,to{opacity:.55}50%{opacity:1}}[data-motion=quiet] *,[data-motion=quiet] :before,[data-motion=quiet] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=900px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.page{padding:0 14px 28px}.card{border-radius:var(--r-m);padding:16px}#toast{right:16px;bottom:calc(86px + env(safe-area-inset-bottom))}}.page{overflow-wrap:anywhere}.page>*,.card,.card>*,.field,.row>*,.kv dd{min-width:0}.eyebrow{letter-spacing:.18em}.card{border-top-color:color-mix(in srgb, white 70%, var(--line))}.card-head{flex-wrap:wrap;gap:14px}.save-bar,form>.actions{z-index:4;border:1px solid var(--glass-edge);background:linear-gradient(180deg, #ffffff47, transparent 60%), var(--surface-strong);box-shadow:var(--glass-sheen), var(--shadow-soft);border-radius:18px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px;display:flex;position:sticky;bottom:12px}@media (width<=760px){.save-bar,form>.actions{bottom:84px}}.card,.list-row,.bubble,.pill,.seg,.save-bar,form>.actions{background:radial-gradient(ellipse at 4% 0%, #ffffffe6, transparent 43%), linear-gradient(145deg, #ffffff9e, #ffffff2b 58%, #e2e9ff52), var(--glass-fill);box-shadow:inset 0 1.5px 1px #fffffff5, inset 1px 0 1px #ffffffb3, inset -1px -2px 2px #708fd221, var(--glass-shadow);border-color:#ffffffc2}.card{border-radius:var(--r-l);transition:transform .56s var(--jelly)}.card:hover{border-color:#fffffff7;transform:translateY(-4px)scale(1.012)}button:where(:not(.text-button):not(.ghost)){transition:transform .52s var(--jelly);background-image:linear-gradient(145deg,#ffffffc7,#ffffff38);border-color:#ffffffb8;box-shadow:inset 0 1px #ffffffeb,0 7px 20px -14px #415b9b52}button:hover:where(:not(:disabled):not(.text-button)){transform:translateY(-3px)scale(1.035)}button:active:where(:not(:disabled):not(.text-button)){transition-duration:90ms;transform:translateY(2px)scale(.9,1.06)}button.primary:where(:not(.ghost)){color:#244676;background-color:color-mix(in srgb, var(--glow-a) 44%, white);background-image:radial-gradient(circle at 15% 0,#ffffffeb,#0000 45%),linear-gradient(115deg,#a7d8fb,#c0c6fb 55%,#f4cce8);border-color:#ffffffd1;box-shadow:inset 0 2px 1px #ffffffde,0 13px 24px -12px #5d7fcd6b}button.primary:hover:not(:disabled){background-color:color-mix(in srgb, var(--glow-a) 58%, white);background-image:radial-gradient(circle at 35% -10%,#fff,#0000 48%),linear-gradient(115deg,#9ed9ff,#b9c3fa 55%,#f4c5e1)}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{background:linear-gradient(150deg, #ffffffab, #ffffff47), var(--glass-fill);transition:transform .42s var(--jelly), border-color .26s ease;border-color:#ffffffd4;border-radius:17px;box-shadow:inset 0 2px 3px #5371b31a,inset 0 -1px 1px #fff}input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,select:focus,textarea:focus{border-color:color-mix(in srgb, var(--accent) 48%, white);box-shadow:inset 0 1px 2px #5371b314, 0 0 0 4px color-mix(in srgb, var(--glow-a) 42%, transparent), 0 12px 22px -17px var(--accent);transform:translateY(-1px)}.chip{background:color-mix(in srgb, var(--accent-soft) 44%, #ffffff85);box-shadow:inset 0 1px 0 #ffffffe6, 0 4px 12px -9px var(--accent);border:1px solid #ffffffb3}.seg{border-radius:999px;padding:5px}.seg button.active,.seg button[aria-selected=true]{color:var(--ink);background:linear-gradient(120deg, #fffffff2, color-mix(in srgb, var(--glow-a) 42%, white));box-shadow:0 5px 14px -9px var(--accent), inset 0 1px 0 white;animation:glass-settle .48s var(--spring) both;border:1px solid #fffffff5}.list-row{transition:transform .48s var(--jelly);border-radius:18px}.list-row:hover{transform:translate(4px)scale(1.01)}.meter{background:#ffffff70;border:1px solid #ffffffb8;height:10px;padding:2px;box-shadow:inset 0 2px 3px #425c9921,0 1px #fff}.meter>i{box-shadow:inset 0 1px 0 #ffffffe0, 0 0 13px color-mix(in srgb, var(--glow-a) 55%, transparent);transition:width .9s var(--spring)}.bubble{border-radius:22px}.bubble.ta{background:linear-gradient(125deg, color-mix(in srgb, var(--orb-a) 54%, white), color-mix(in srgb, var(--glow-a) 40%, #fff9));border-color:#ffffffd1}@keyframes glass-settle{0%{opacity:.5;transform:scale(.86,.78)translateY(6px)}70%{opacity:1;transform:scale(1.04,.98)translateY(-1px)}to{opacity:1;transform:none}}.card,.list-row,.bubble,.pill,.seg,.note,.chip,.message .text,.session-row,.feedback-item,.face-card,.entry,.facts,.fold,.preview-bubble,button,input,textarea,select{-webkit-backdrop-filter:none!important}
|
|
1
|
+
.sky[data-v-d7604463]{z-index:0;contain:paint;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sky-base[data-v-d7604463]{background:radial-gradient(ellipse at 13% 16%, #ffffffd4, transparent 38%), radial-gradient(ellipse at 82% 8%, color-mix(in srgb, var(--glow-b) 36%, transparent), transparent 46%), linear-gradient(168deg, var(--sky-top) 0%, var(--sky-mid) 48%, var(--sky-bottom) 100%);position:absolute;inset:0}.garden[data-v-d7604463]{opacity:.22;background:url(/app/assets/liquid-garden-IMoHBwzc.png) 50% 58%/cover no-repeat;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 8%,#000 42% 100%);mask-image:linear-gradient(#0000 8%,#000 42% 100%)}.garden.custom[data-v-d7604463]{background-position:50%;background-size:cover;-webkit-mask-image:none;mask-image:none}.glow[data-v-d7604463]{opacity:calc(.55 + var(--intensity,.5) * .2);border-radius:50%;position:absolute}.g1[data-v-d7604463]{background:radial-gradient(circle, var(--glow-a) 0%, transparent 64%);width:58vmax;height:58vmax;animation:sky-drift-a-d7604463 calc(34s / var(--tempo,1)) ease-in-out infinite alternate;top:-20vmax;left:-18vmax}.g2[data-v-d7604463]{background:radial-gradient(circle, var(--glow-b) 0%, transparent 66%);width:48vmax;height:48vmax;animation:sky-drift-b-d7604463 calc(41s / var(--tempo,1)) ease-in-out infinite alternate;top:8vh;right:-16vmax}.g3[data-v-d7604463]{background:radial-gradient(circle, color-mix(in srgb, var(--glow-a) 70%, var(--glow-b)) 0%, transparent 68%);width:46vmax;height:46vmax;animation:sky-drift-a-d7604463 calc(47s / var(--tempo,1)) ease-in-out infinite alternate-reverse;bottom:-24vmax;left:22vw}.g4[data-v-d7604463]{background:radial-gradient(circle, color-mix(in srgb, white 55%, var(--glow-b)) 0%, transparent 70%);opacity:.45;width:28vmax;height:28vmax;animation:sky-drift-b-d7604463 calc(28s / var(--tempo,1)) ease-in-out infinite alternate-reverse;top:18vh;left:48vw}.horizon[data-v-d7604463]{background:radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--glow-a) 62%, transparent), transparent 68%);height:46%;position:absolute;bottom:-6%;left:-12%;right:-12%}.sheen[data-v-d7604463]{pointer-events:none;background:linear-gradient(115deg,#0000 36%,#ffffff24 50%,#0000 64%);position:absolute;inset:0}.vignette[data-v-d7604463]{background:radial-gradient(ellipse at 50% 40%, transparent 42%, color-mix(in srgb, var(--ink) 14%, transparent) 100%);position:absolute;inset:0}.moon[data-v-d7604463]{filter:drop-shadow(0 0 26px #fff0be73);opacity:.92;border-radius:50%;width:78px;height:78px;position:absolute;top:3vh;right:24vw;transform:rotate(-20deg);box-shadow:inset -20px -7px #fff4c2}.particles[data-v-d7604463]{opacity:.55;width:100%;height:100%;position:absolute;inset:0}.particles.off[data-v-d7604463]{display:none}@keyframes sky-drift-a-d7604463{to{transform:translate(6vmax,4vmax)scale(1.08)}}@keyframes sky-drift-b-d7604463{to{transform:translate(-5vmax,6vmax)scale(.94)}}@media (width<=760px){.moon[data-v-d7604463]{width:52px;height:52px;top:1.5vh;right:36vw;box-shadow:inset -13px -5px #fff4c2}}.landscape[data-v-d7604463]{contain:paint;opacity:.55;pointer-events:none;position:absolute;inset:0;overflow:hidden}.landscape i[data-v-d7604463]{background:radial-gradient(ellipse at 34% 42%, #ffffffd9, color-mix(in srgb, var(--glow-b) 53%, transparent) 38%, transparent 72%);border-radius:61% 39% 45% 55%/47% 65% 35% 53%;width:77vw;height:48vw;position:absolute;top:6vh;right:-20vw;transform:rotate(-24deg)}.landscape i[data-v-d7604463]:nth-child(2){opacity:.66;background:radial-gradient(ellipse at 44% 48%, #ffffffc2, color-mix(in srgb, var(--glow-a) 48%, transparent) 46%, transparent 74%);width:61vw;height:35vw;top:38vh;right:-19vw}.landscape i[data-v-d7604463]:nth-child(3){opacity:.72;background:radial-gradient(ellipse at 52% 52%, #ffffffdb, color-mix(in srgb, var(--glow-a) 52%, transparent) 43%, transparent 71%);width:72vw;height:43vw;top:32vh;left:-34vw;right:auto}.landscape i[data-v-d7604463]:nth-child(4){opacity:.58;background:radial-gradient(ellipse at 49% 31%, #ffffffeb, color-mix(in srgb, var(--glow-b) 38%, transparent) 55%, transparent 80%);width:69vw;height:28vw;top:74vh;left:5vw;right:auto}.ta-orb[data-v-3fb60aa5]{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:50%;flex:none;position:relative}.ta-orb.interactive[data-v-3fb60aa5]{cursor:pointer}.ta-orb[data-v-3fb60aa5]:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:4px}svg[data-v-3fb60aa5]{width:100%;height:100%;transition:filter .6s var(--ease), transform .6s var(--spring);overflow:visible}.aura[data-v-3fb60aa5]{transform-box:fill-box;transform-origin:50%;animation:orb-aura-3fb60aa5 calc(4.8s / var(--tempo,1)) ease-in-out infinite}.shadow[data-v-3fb60aa5]{fill:var(--ink);opacity:.1}.body[data-v-3fb60aa5]{filter:drop-shadow(0 8px 14px color-mix(in srgb, var(--orb-c) 40%, transparent))}.shine[data-v-3fb60aa5]{fill:#fff;opacity:.5}.shine.dot[data-v-3fb60aa5]{opacity:.7}.ink[data-v-3fb60aa5]{fill:var(--orb-face)}.line[data-v-3fb60aa5]{fill:none;stroke:var(--orb-face);stroke-width:3.6px;stroke-linecap:round;stroke-linejoin:round}.line.thin[data-v-3fb60aa5]{stroke-width:2.6px}.line.hair[data-v-3fb60aa5]{stroke-width:1.6px;opacity:.5}.glint[data-v-3fb60aa5]{fill:#fff}.tongue[data-v-3fb60aa5],.cheeks ellipse[data-v-3fb60aa5]{fill:var(--cheek)}.cheeks[data-v-3fb60aa5]{transition:opacity .5s var(--ease)}.squish[data-v-3fb60aa5]{transform-box:view-box;transform-origin:100px 180px}.is-press .squish[data-v-3fb60aa5]{transition:transform .2s var(--ease);transform:scale(1.06,.93)}.is-poke .squish[data-v-3fb60aa5]{animation:orb-squish-3fb60aa5 .65s var(--spring)}.is-pet .squish[data-v-3fb60aa5]{animation:1.4s ease-in-out orb-wiggle-3fb60aa5}.eye[data-v-3fb60aa5]{transform-box:fill-box;transform-origin:50%}.eyes.blinks .eye[data-v-3fb60aa5]{animation:orb-blink-3fb60aa5 calc(5.6s / var(--tempo,1)) var(--blink-delay,0s) infinite}.eyes.blinks .eye.wink[data-v-3fb60aa5]{animation:6.5s 2s infinite orb-wink-3fb60aa5}.talk[data-v-3fb60aa5],.yawn[data-v-3fb60aa5]{transform-box:fill-box;transform-origin:50%}.talk[data-v-3fb60aa5]{animation:.42s ease-in-out infinite alternate orb-talk-3fb60aa5}.yawn[data-v-3fb60aa5]{animation:6s ease-in-out infinite orb-yawn-3fb60aa5}.page[data-v-3fb60aa5]{fill:var(--paper,#fffdf6);stroke:var(--orb-face);stroke-width:1.8px;stroke-linejoin:round}.pen rect[data-v-3fb60aa5],.pen path[data-v-3fb60aa5]{fill:var(--accent);stroke:var(--orb-face);stroke-width:1.4px}.halo circle[data-v-3fb60aa5]{fill:none;stroke:var(--orb-b);stroke-width:2px;stroke-dasharray:3 9;opacity:.85;transform-box:view-box;transform-origin:100px 112px;animation:26s linear infinite orb-spin-3fb60aa5}.halo .halo-soft[data-v-3fb60aa5]{stroke-dasharray:none;stroke-width:10px;opacity:.18;animation:5s ease-in-out infinite orb-breathe-3fb60aa5}.fx .sparkle[data-v-3fb60aa5]{fill:var(--particle);stroke:color-mix(in srgb, var(--accent) 50%, transparent);stroke-width:.8px;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite orb-twinkle-3fb60aa5}.fx .heart[data-v-3fb60aa5]{fill:var(--cheek);opacity:.85;transform-box:fill-box;transform-origin:50%;animation:3.6s ease-out infinite orb-rise-3fb60aa5}.fx .cloud[data-v-3fb60aa5]{fill:color-mix(in srgb, var(--orb-c) 55%, #fff);animation:3.5s ease-in-out infinite alternate orb-float-3fb60aa5}.storm .cloud[data-v-3fb60aa5]{fill:color-mix(in srgb, var(--orb-c) 75%, #444)}.drop[data-v-3fb60aa5]{stroke:var(--orb-c);stroke-width:2.2px;stroke-linecap:round;animation:1.35s linear infinite orb-drop-3fb60aa5}.scribble[data-v-3fb60aa5]{fill:none;stroke:var(--orb-c);stroke-width:2.4px;stroke-linecap:round;animation:.9s ease-in-out infinite alternate orb-float-3fb60aa5}.zz[data-v-3fb60aa5]{font:700 13px/1 var(--font-display);fill:var(--orb-face);opacity:.7;transform-box:fill-box;animation:3.2s ease-in-out infinite orb-z-3fb60aa5}[data-mood=night] .zz[data-v-3fb60aa5]{fill:var(--ink)}.moon[data-v-3fb60aa5]{fill:#fff4c2;filter:drop-shadow(0 0 6px #fff0b499)}.floating-page[data-v-3fb60aa5]{animation:3s ease-in-out infinite alternate orb-float-3fb60aa5}.think .puff[data-v-3fb60aa5]{fill:var(--surface-strong);stroke:var(--line);stroke-width:1.2px}.think .dot[data-v-3fb60aa5]{fill:var(--orb-face);transform-box:fill-box;animation:1.1s ease-in-out infinite orb-dots-3fb60aa5}.talkwaves path[data-v-3fb60aa5]{stroke:var(--accent);animation:1.2s ease-in-out infinite pulse-soft}.orb-say[data-v-3fb60aa5]{z-index:3;background:var(--surface-strong);border:1px solid var(--line);width:max-content;max-width:min(260px,70vw);box-shadow:var(--shadow-soft);color:var(--ink);text-align:left;pointer-events:none;border-radius:16px 16px 16px 4px;margin:0;padding:8px 14px;font-size:13px;font-weight:600;line-height:1.5;position:absolute;bottom:92%;left:50%}.orb-say.say-left[data-v-3fb60aa5]{border-radius:16px 16px 4px;bottom:56%;left:auto;right:88%}.orb-say-enter-active[data-v-3fb60aa5]{transition:opacity .25s var(--ease), transform .4s var(--spring)}.orb-say-leave-active[data-v-3fb60aa5]{transition:opacity .2s}.orb-say-enter-from[data-v-3fb60aa5]{opacity:0;transform:translateY(8px)scale(.9)}.orb-say-leave-to[data-v-3fb60aa5]{opacity:0}@keyframes orb-blink-3fb60aa5{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}@keyframes orb-wink-3fb60aa5{0%,86%,to{transform:scaleY(1)}90%,94%{transform:scaleY(.12)}}@keyframes orb-squish-3fb60aa5{0%{transform:scale(1)}18%{transform:scale(1.2,.76)}42%{transform:scale(.9,1.12)}66%{transform:scale(1.05,.96)}to{transform:scale(1)}}@keyframes orb-wiggle-3fb60aa5{0%,to{transform:rotate(0)}15%{transform:rotate(-6deg)}35%{transform:rotate(5deg)}55%{transform:rotate(-4deg)}75%{transform:rotate(2deg)}}@keyframes orb-aura-3fb60aa5{0%,to{opacity:.75;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}@keyframes orb-breathe-3fb60aa5{0%,to{opacity:.12}50%{opacity:.28}}@keyframes orb-talk-3fb60aa5{0%{transform:scaleY(.45)}to{transform:scaleY(1.1)}}@keyframes orb-yawn-3fb60aa5{0%,70%,to{transform:scale(.7)}80%,88%{transform:scale(1.35)}}@keyframes orb-spin-3fb60aa5{to{transform:rotate(360deg)}}@keyframes orb-twinkle-3fb60aa5{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.45)}}@keyframes orb-rise-3fb60aa5{0%{opacity:.85;transform:translateY(0)scale(1)}70%{opacity:.5}to{opacity:0;transform:translateY(-26px)scale(1.15)}}@keyframes orb-drop-3fb60aa5{0%{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}@keyframes orb-z-3fb60aa5{0%{opacity:.7;transform:translate(0)scale(1)}to{opacity:0;transform:translate(10px,-16px)scale(1.15)}}@keyframes orb-dots-3fb60aa5{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes orb-float-3fb60aa5{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.menu-select[data-v-fc4ee90c]{min-width:0;position:relative}.menu-face[data-v-fc4ee90c]{background:linear-gradient(180deg, #ffffffb8, #fff6), var(--surface-strong);border:1px solid var(--glass-edge);width:100%;min-height:42px;box-shadow:var(--glass-sheen);text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.menu-face span[data-v-fc4ee90c]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-face i[data-v-fc4ee90c]{border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);width:8px;height:8px;transform:translateY(-2px)rotate(45deg)}.menu-list[data-v-fc4ee90c]{z-index:200;background:var(--surface-strong);border:1px solid var(--glass-edge);max-height:280px;box-shadow:var(--glass-sheen), var(--shadow);transform-origin:top;animation:menu-pop-fc4ee90c .46s var(--jelly) both;border-radius:16px;margin:0;padding:6px;list-style:none;display:grid;position:fixed;overflow:auto}.menu-list.up[data-v-fc4ee90c]{transform-origin:bottom}@keyframes menu-pop-fc4ee90c{0%{opacity:0;transform:translateY(10px)scale(.92,.82)}70%{opacity:1;transform:translateY(-2px)scale(1.02,1.04)}to{transform:none}}.menu-list button[data-v-fc4ee90c]{text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:10px;width:100%;padding:8px 10px;font-weight:550}.menu-list button[aria-selected=true][data-v-fc4ee90c]{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--ink)}.empty[data-v-fc4ee90c]{color:var(--ink-soft);padding:8px 10px;font-size:13px}.menu-list button[data-v-fc4ee90c]:hover:not(:disabled){box-shadow:none;background:color-mix(in srgb, var(--accent) 10%, transparent);transform:none}.native[data-v-fc4ee90c]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ta-chat[data-v-235059b5]{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex}.preview-meta[data-v-235059b5]{color:var(--ink-soft);font-size:12px}.ta-chat-log[data-v-235059b5]{flex-direction:column;flex:1;gap:10px;min-height:64px;padding:4px 2px;display:flex}.preview-bubble[data-v-235059b5]{overflow-wrap:anywhere;max-width:88%;animation:bubble-in-235059b5 .35s var(--spring);border-radius:18px;padding:9px 13px;font-size:14px;line-height:1.6}.preview-bubble p+p[data-v-235059b5]{margin-top:4px}.preview-bubble.me[data-v-235059b5]{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:6px;align-self:flex-end}.preview-bubble.bot[data-v-235059b5]{background:linear-gradient(135deg, color-mix(in srgb, var(--orb-a) 80%, var(--surface-strong)), color-mix(in srgb, var(--orb-b) 50%, var(--surface-strong)));color:var(--ink);border-bottom-left-radius:6px;align-self:flex-start}[data-mood=night] .preview-bubble.bot[data-v-235059b5]{background:color-mix(in srgb, var(--orb-b) 40%, var(--surface-strong))}.why[data-v-235059b5]{margin-top:6px;font-size:12px}.why summary[data-v-235059b5]{color:var(--ink-soft);font-weight:600}.why summary[data-v-235059b5]:before{content:"▸ "}.why[open] summary[data-v-235059b5]:before{content:"▾ "}.why p[data-v-235059b5]{color:var(--ink-soft);margin-top:4px}.typing[data-v-235059b5]{background:color-mix(in srgb, var(--orb-a) 70%, var(--surface-strong));border-radius:18px 18px 18px 6px;align-self:flex-start;gap:5px;padding:12px 14px;display:inline-flex}.typing i[data-v-235059b5]{background:var(--orb-face);opacity:.5;border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite typing-235059b5}.typing i[data-v-235059b5]:nth-child(2){animation-delay:.15s}.typing i[data-v-235059b5]:nth-child(3){animation-delay:.3s}.ta-chat-form[data-v-235059b5]{flex-shrink:0;gap:8px;display:grid}.ta-chat-options[data-v-235059b5]{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.where[data-v-235059b5]{flex:1;align-items:center;gap:8px;min-width:180px;display:flex}.where[data-v-235059b5] .menu-select{flex:1;min-width:0}.where span[data-v-235059b5]{white-space:nowrap}.where select[data-v-235059b5]{padding:6px 10px;font-size:13px}.composer[data-v-235059b5]{gap:8px;display:flex}.composer input[data-v-235059b5]{border-radius:999px;padding-inline:16px}@keyframes bubble-in-235059b5{0%{opacity:0;transform:translateY(6px)scale(.97)}}@keyframes typing-235059b5{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.companion[data-v-038fa72e]{z-index:80;pointer-events:none;justify-items:end;gap:10px;display:grid;position:fixed;bottom:16px;right:18px}.companion[data-v-038fa72e]>*{pointer-events:auto}.companion-dock[data-v-038fa72e]{align-items:flex-end;gap:4px;display:flex}.companion-talk[data-v-038fa72e]{opacity:1;transition:opacity .25s var(--ease), transform .3s var(--spring);margin-bottom:14px;padding:6px 12px;font-size:12px;transform:none}.companion-dock:hover .companion-talk[data-v-038fa72e],.companion-talk[data-v-038fa72e]:focus-visible,.companion-talk[aria-expanded=true][data-v-038fa72e]{opacity:1;transform:none}@media (hover:none){.companion-talk[data-v-038fa72e]{opacity:1;transform:none}}.scrim[data-v-038fa72e]{z-index:1;background:color-mix(in srgb, var(--ink) 32%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100vw;height:100dvh;box-shadow:none;cursor:pointer;border:none;border-radius:0;margin:0;padding:0;position:fixed;inset:0}.scrim[data-v-038fa72e]:hover:not(:disabled),.scrim[data-v-038fa72e]:active:not(:disabled){box-shadow:none;border:none;transform:none}.scrim-enter-active[data-v-038fa72e],.scrim-leave-active[data-v-038fa72e]{transition:opacity .2s var(--ease)}.scrim-enter-from[data-v-038fa72e],.scrim-leave-to[data-v-038fa72e]{opacity:0}.ta-drawer[data-v-038fa72e]{z-index:2;background:radial-gradient(ellipse at 0% 0%, #ffffffeb, transparent 50%), linear-gradient(145deg, #ffffffb8, #ebf3ff6e 65%, #f8e8fb94), var(--glass-fill);-webkit-backdrop-filter:blur(34px)saturate(1.8);backdrop-filter:blur(34px)saturate(1.8);border:1.5px solid #ffffffde;border-radius:34px;flex-direction:column;gap:12px;width:min(460px,100vw - 28px);height:min(640px,100dvh - 140px);padding:16px 18px 18px;display:flex;position:relative;box-shadow:inset 0 2px 1px #fff,0 28px 64px -27px #3452956b}.drawer-head[data-v-038fa72e]{align-items:center;gap:10px;display:flex}.drawer-title[data-v-038fa72e]{flex:1;justify-items:start;gap:3px;display:grid}.drawer-head h2[data-v-038fa72e]{font-size:16px}.drawer-enter-active[data-v-038fa72e]{transition:opacity .28s var(--ease), transform .55s var(--spring)}.drawer-leave-active[data-v-038fa72e]{transition:opacity .18s,transform .2s}.drawer-enter-from[data-v-038fa72e],.drawer-leave-to[data-v-038fa72e]{opacity:0;transform-origin:100% 100%;transform:translateY(34px)scale(.88)rotate(2deg)}@media (width<=760px){.companion[data-v-038fa72e]{right:12px;bottom:calc(84px + env(safe-area-inset-bottom))}.companion-dock[data-v-038fa72e] .ta-orb{width:58px!important;height:58px!important}.companion-talk[data-v-038fa72e]{margin-bottom:10px;padding:5px 10px}.ta-drawer[data-v-038fa72e]{height:min(520px,100dvh - 190px)}}.drawer-head[data-v-038fa72e] .ta-orb{flex:0 0 42px}.drawer-head[data-v-038fa72e]{border-bottom:1px solid var(--line);flex-shrink:0;padding-bottom:12px}.ta-drawer[data-v-038fa72e] .ta-chat{min-height:0;overflow:hidden}.companion-dock[data-v-038fa72e]{background:linear-gradient(140deg, #ffffffd1, #e8f2ff6b), var(--glass-fill);-webkit-backdrop-filter:blur(22px)saturate(1.75);backdrop-filter:blur(22px)saturate(1.75);transition:transform .42s var(--spring), box-shadow .32s ease;border:1.5px solid #ffffffe0;border-radius:999px;align-items:center;padding:5px 10px;box-shadow:inset 0 2px 1px #fff,0 15px 28px -17px #34529561}.companion-dock[data-v-038fa72e]:hover{transform:translateY(-5px)scale(1.035);box-shadow:inset 0 2px 1px #fff,0 23px 32px -17px #34529573}.companion-talk[data-v-038fa72e]{background:0 0;border:0;margin:0}@media (width<=760px){.companion-dock[data-v-038fa72e] .ta-orb{width:36px!important;height:36px!important}.companion-talk[data-v-038fa72e]{margin:0}}.locale-switch[data-v-bc942b38]{flex-wrap:nowrap;gap:2px;padding:3px}.locale-switch button[data-v-bc942b38]{letter-spacing:.02em;min-width:36px;padding:5px 10px;font-size:12.5px;font-weight:700}@media (width<=760px){.locale-switch button[data-v-bc942b38]{min-width:30px;padding:5px 8px}}.theme-picker[data-v-4e5670d2]{position:relative}.theme-toggle[data-v-4e5670d2]{width:100%;color:var(--ink-soft);text-align:left;background:0 0;border:none;border-radius:14px;align-items:center;gap:10px;padding:8px 12px;display:flex}.theme-toggle[data-v-4e5670d2]:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--ink);box-shadow:none;transform:none}.swatch[data-v-4e5670d2]{background:radial-gradient(circle at 36% 30%, var(--orb-a), var(--orb-b) 58%, var(--orb-c));width:20px;height:20px;box-shadow:0 0 0 2px var(--surface-strong), 0 0 0 3px var(--line);border-radius:50%;flex:none}.swatch.auto[data-v-4e5670d2]{background:conic-gradient(#ffc15f,#ffa8cf,#7fdcbc,#99b2d8,#9a8cc4,#cdb6f7,#6f7ee6,#ffc15f)}.theme-menu[data-v-4e5670d2]{z-index:80;background:radial-gradient(ellipse at 0% 0%, #ffffffed, transparent 52%), linear-gradient(145deg, #ffffffb8, #edf3ff5e), var(--glass-fill);-webkit-backdrop-filter:blur(30px)saturate(1.8);backdrop-filter:blur(30px)saturate(1.8);border:1.5px solid #ffffffd9;border-radius:28px;gap:2px;width:250px;max-height:calc(100dvh - 64px);padding:8px;display:grid;position:fixed;top:96px;right:28px;overflow:auto;box-shadow:inset 0 2px 1px #fff,0 24px 58px -27px #34529566}.theme-menu.inline-menu[data-v-4e5670d2]{width:100%;box-shadow:none;position:static}@media (width>=761px) and (width<=1100px){.theme-menu[data-v-4e5670d2]{right:20px}}.theme-menu button[data-v-4e5670d2]{text-align:left;background:0 0;border:none;border-radius:14px;align-items:center;gap:12px;padding:8px 10px;font-weight:500;display:flex}.theme-menu button[data-v-4e5670d2]:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 9%, transparent);box-shadow:none;transform:none}.theme-menu button[aria-checked=true][data-v-4e5670d2]{background:linear-gradient(120deg, #ffffffde, color-mix(in srgb, var(--glow-a) 40%, white));box-shadow:inset 0 1px 0 white, 0 8px 18px -13px var(--accent)}.theme-menu button>span[data-v-4e5670d2]:last-child{line-height:1.35;display:grid}.theme-menu b[data-v-4e5670d2]{font-size:13px}.theme-menu small[data-v-4e5670d2]{color:var(--ink-soft);font-size:11.5px}.pop-enter-active[data-v-4e5670d2]{transition:opacity .2s var(--ease), transform .3s var(--spring)}.pop-leave-active[data-v-4e5670d2]{transition:opacity .15s}.pop-enter-from[data-v-4e5670d2],.pop-leave-to[data-v-4e5670d2]{opacity:0;transform:translateY(6px)scale(.98)}.presence-dock[data-v-4625711b]{z-index:4;width:100%;height:calc(100dvh - 112px);max-height:calc(100dvh - 112px);color:var(--ink);background:linear-gradient(145deg,#ffffffeb,#f8fbffe0);border:1px solid #ffffffe0;border-radius:28px;align-content:start;align-self:start;gap:12px;padding:22px;display:grid;position:sticky;top:96px;overflow:auto;box-shadow:inset 0 1px #fffffff5,0 24px 48px -34px #2745808f}.presence-detail[data-v-4625711b]{align-content:start;gap:12px;min-width:0;display:grid}.mood-word[data-v-4625711b]{font-family:var(--font-display);letter-spacing:-.055em;background:linear-gradient(105deg, var(--ink) 4%, #83bcf2 52%, #dd9dca 95%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(48px,3.5vw,70px);font-weight:750}.chips[data-v-4625711b]{gap:7px}.chips .chip[data-v-4625711b]{background:#ffffffa3;border-color:#ffffffd6}.activity-chip[data-v-4625711b]{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%;line-height:1.5}.actions[data-v-4625711b]{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.actions>button[data-v-4625711b]{background:#ffffff8a;border-color:#ffffffe0;justify-content:center;width:100%}.actions>button.primary[data-v-4625711b]{color:#213e73;background:linear-gradient(120deg,#84bdfb,#a5b5f0 56%,#dfb4e5);box-shadow:0 16px 32px -16px #7ca9ef}.aside-bit[data-v-4625711b]{border-top:1px solid #ffffffb3;gap:4px;padding-top:10px;display:grid}.aside-bit p[data-v-4625711b]{font-size:13.5px;line-height:1.55}.aside-bit small[data-v-4625711b]{color:var(--ink-soft);font-size:12px}@media (width<=760px){.presence-dock[data-v-4625711b]{width:calc(100% - 28px);height:auto;max-height:none;margin:0 auto 8px;position:relative;top:auto}}.dialog-layer[data-v-2339e49c]{z-index:100;background:color-mix(in srgb, var(--sky-top) 44%, #3c51893d);-webkit-backdrop-filter:blur(13px)saturate(1.25);backdrop-filter:blur(13px)saturate(1.25);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog[data-v-2339e49c]{background:radial-gradient(ellipse at 9% -10%, #fffffffa, transparent 53%), linear-gradient(148deg, #ffffffc2, #e5efff70 64%, #f8e7fb8c), var(--glass-fill);-webkit-backdrop-filter:blur(32px)saturate(1.7);backdrop-filter:blur(32px)saturate(1.7);border:1.5px solid #ffffffe3;border-radius:34px;gap:17px;width:min(420px,100%);padding:42px 30px 26px;display:grid;position:relative;box-shadow:inset 0 2px 1px #fff,0 30px 72px -28px #3452956e}.dialog h2[data-v-2339e49c]{font-size:18px}.dialog p[data-v-2339e49c]{color:var(--ink-soft);white-space:pre-line;font-size:14px;line-height:1.7}.dialog-orb[data-v-2339e49c]{background:radial-gradient(circle at 38% 30%, var(--orb-a), var(--orb-b) 60%, var(--orb-c));width:52px;height:50px;box-shadow:inset 0 3px 3px #ffffffe0, 0 13px 24px -9px var(--orb-c);border:2px solid #ffffffe3;border-radius:44% 56% 57% 43%/50% 43% 57% 50%;animation:4s ease-in-out infinite alternate dialog-orb-breathe-2339e49c;position:absolute;top:-24px;left:30px}.dialog-enter-active[data-v-2339e49c],.dialog-leave-active[data-v-2339e49c]{transition:opacity .2s var(--ease)}.dialog-enter-active .dialog[data-v-2339e49c]{transition:transform .52s var(--spring)}.dialog-enter-from[data-v-2339e49c],.dialog-leave-to[data-v-2339e49c]{opacity:0}.dialog-enter-from .dialog[data-v-2339e49c]{transform:translateY(22px)scale(.9)}@keyframes dialog-orb-breathe-2339e49c{to{transform:translateY(-5px)rotate(8deg)scale(1.07)}}.icon[data-v-69e2db74]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.sheet-layer[data-v-2c804a0d]{z-index:70;background:color-mix(in srgb, var(--sky-top) 42%, #3c518945);-webkit-backdrop-filter:blur(13px)saturate(1.3);backdrop-filter:blur(13px)saturate(1.3);justify-content:flex-end;padding:12px;display:flex;position:fixed;inset:0}.sheet[data-v-2c804a0d]{width:min(var(--sheet-w), calc(100vw - 24px));background:radial-gradient(ellipse at 0% 0%, #fffffff2, transparent 43%), linear-gradient(145deg, #ffffffba, #ecf4ff73 62%, #f6eafb99), var(--glass-fill);-webkit-backdrop-filter:blur(36px)saturate(1.8);backdrop-filter:blur(36px)saturate(1.8);border:1.5px solid #ffffffe0;border-radius:34px;outline:none;flex-direction:column;height:100%;display:flex;box-shadow:inset 0 2px 1px #fff,inset -1px -2px 2px #708fd221,0 32px 75px -28px #34529570}.sheet-head[data-v-2c804a0d]{border-bottom:1px solid #ffffffab;justify-content:space-between;align-items:flex-start;gap:12px;padding:26px 28px 18px;display:flex}.sheet-head h2[data-v-2c804a0d]{font-size:19px}.sheet-body[data-v-2c804a0d]{overscroll-behavior:contain;flex:1;padding:20px 28px 30px;overflow:auto}.sheet-enter-active[data-v-2c804a0d],.sheet-leave-active[data-v-2c804a0d]{transition:opacity .25s var(--ease)}.sheet-enter-active .sheet[data-v-2c804a0d],.sheet-leave-active .sheet[data-v-2c804a0d]{transition:transform .55s var(--spring)}.sheet-enter-from[data-v-2c804a0d],.sheet-leave-to[data-v-2c804a0d]{opacity:0}.sheet-enter-from .sheet[data-v-2c804a0d],.sheet-leave-to .sheet[data-v-2c804a0d]{transform:translate(74px)scale(.94)}@media (width<=760px){.sheet-layer[data-v-2c804a0d]{align-items:flex-end;padding:0}.sheet[data-v-2c804a0d]{border-radius:30px 30px 0 0;width:100vw;height:min(88dvh,100%)}.sheet-enter-from .sheet[data-v-2c804a0d],.sheet-leave-to .sheet[data-v-2c804a0d]{transform:translateY(40px)}}.card-head[data-v-2c88637b]{border-bottom:1px solid #ffffffb3;align-items:center;margin-bottom:19px;padding-bottom:13px;position:relative}.card-head h2[data-v-2c88637b]{letter-spacing:-.025em;margin-top:3px;font-size:clamp(18px,1.7vw,22px);font-weight:740}.card-head p[data-v-2c88637b]{margin-top:5px;line-height:1.55}.card-head .eyebrow[data-v-2c88637b]{color:var(--accent)}.meter-row[data-v-4f51518c]{grid-template-columns:minmax(64px,max-content) 1fr minmax(40px,max-content);align-items:center;gap:12px;font-size:12.5px;display:grid}.meter-label[data-v-4f51518c]{color:var(--ink-soft)}.meter-value[data-v-4f51518c]{text-align:right;font-variant-numeric:tabular-nums}.count[data-v-e8e03a3b]{opacity:.75;font-variant-numeric:tabular-nums;margin-left:6px;font-size:11px}.timeline[data-v-e79d18a9]{margin:0;padding:0;list-style:none;display:grid}.timeline li[data-v-e79d18a9]{content-visibility:auto;contain-intrinsic-size:auto 84px;grid-template-columns:24px minmax(0,1fr);gap:12px;display:grid}.stem[data-v-e79d18a9]{justify-items:center;display:grid;position:relative}.stem[data-v-e79d18a9]:before{content:"";background:linear-gradient(var(--glow-a), #ffffffd9, var(--glow-b));width:3px;box-shadow:0 0 10px color-mix(in srgb, var(--glow-a) 55%, transparent);border-radius:999px;position:absolute;top:0;bottom:0}.timeline li:first-child .stem[data-v-e79d18a9]:before{top:12px}.timeline li:last-child .stem[data-v-e79d18a9]:before{bottom:calc(100% - 14px)}.stem i[data-v-e79d18a9]{background:linear-gradient(145deg, white, var(--glow-a));width:13px;height:13px;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 33%, transparent), 0 0 13px var(--glow-a);border:2px solid #fff;border-radius:50%;margin-top:18px;position:relative}li[data-tone=warm] .stem i[data-v-e79d18a9]{border-color:var(--cheek);background:var(--cheek)}li[data-tone=quiet] .stem i[data-v-e79d18a9]{border-color:var(--ink-faint)}li[data-tone=glow] .stem i[data-v-e79d18a9]{background:var(--accent)}li[data-tone=night] .stem i[data-v-e79d18a9]{border-color:var(--orb-c);background:var(--orb-c)}.entry[data-v-e79d18a9]{background:linear-gradient(125deg, #ffffffa8, #fff3), var(--glass-fill);min-width:0;box-shadow:inset 0 1px 0 white, 0 8px 21px -18px var(--accent);transition:transform .48s var(--jelly);border:1px solid #ffffffc2;border-radius:18px;margin-bottom:10px;padding:11px 15px}.timeline li:hover .entry[data-v-e79d18a9]{transform:translate(4px)scale(1.01)}.wallpaper-picker[data-v-01d9dcb6]{z-index:6;-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);background:#ffffffd1;border:1px solid #ffffffdb;border-radius:22px;gap:12px;width:min(280px,100% - 32px);max-height:calc(100% - 78px);padding:14px;display:grid;position:absolute;top:62px;right:16px;overflow:auto;box-shadow:inset 0 1px #fff,0 18px 40px -24px #2745808c}header[data-v-01d9dcb6]{justify-content:space-between;align-items:center;display:flex}header b[data-v-01d9dcb6]{font-size:14px}.choice[data-v-01d9dcb6]{gap:8px;display:grid}.choice>span[data-v-01d9dcb6]{font-size:12.5px;font-weight:700}.row[data-v-01d9dcb6]{gap:8px;display:flex}.row button[data-v-01d9dcb6]{border-radius:999px;flex:1;min-height:32px;padding:6px 8px;font-size:12px}.opacity[data-v-01d9dcb6]{gap:4px;display:grid}.opacity span[data-v-01d9dcb6],.opacity small[data-v-01d9dcb6]{color:var(--ink-soft);font-size:12px}.opacity input[data-v-01d9dcb6]{width:100%;accent-color:var(--accent)}.now-presentation[data-v-663ff302]{min-height:450px;margin-bottom:26px;position:relative}.now-hero[data-v-663ff302]{isolation:isolate;background:linear-gradient(145deg, var(--sky-top), var(--sky-mid) 58%, var(--sky-bottom));height:450px;min-height:450px;color:var(--ink);border:2px solid #ffffffcf;border-radius:42px;margin:0;padding:0;display:block;position:relative;overflow:hidden;box-shadow:inset 0 2px #fffffff2,0 35px 90px -45px #5a7acc8c}.wallpaper-layer[data-v-663ff302]{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.wallpaper-layer img[data-v-663ff302]{object-fit:cover;object-position:50% 50%;width:100%;height:100%;transition:object-position .26s var(--ease-spring);-webkit-user-select:none;user-select:none;display:block}.wallpaper-layer[data-v-663ff302]:after{content:"";background:linear-gradient(100deg,#ffecf633 0%,#fff4fa14 42%,#0000 68%),linear-gradient(#301c4024,#0000 24% 72%,#3018282e);position:absolute;inset:0}.wallpaper-adjusting .wallpaper-layer img[data-v-663ff302]{transition:none}.wallpaper-drag-layer[data-v-663ff302]{z-index:2;cursor:grab;touch-action:none;background:radial-gradient(#0000 55%,#212f5214);position:absolute;inset:0}.wallpaper-drag-layer[data-v-663ff302]:active{cursor:grabbing}.wallpaper-tip[data-v-663ff302]{color:#29416d;-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);white-space:nowrap;pointer-events:none;background:#ffffffad;border:1px solid #ffffffd1;border-radius:999px;padding:10px 16px;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 32px #23375e29,inset 0 1px #fff}.wallpaper-controls[data-v-663ff302]{z-index:4;-webkit-backdrop-filter:blur(20px)saturate(1.45);backdrop-filter:blur(20px)saturate(1.45);background:#ffffff80;border:1px solid #ffffffc2;border-radius:999px;align-items:center;gap:8px;padding:6px;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 10px 28px #30456b1a,inset 0 1px #fff}.wallpaper-controls button[data-v-663ff302]{border-radius:999px;min-height:34px;padding:7px 13px;font-size:12px}.wallpaper-controls .wallpaper-tip-inline[data-v-663ff302]{color:var(--muted);white-space:nowrap;padding:0 4px 0 9px;font-size:12px}.now-hero button.primary[data-v-663ff302]{color:#213e73;background:linear-gradient(120deg,#84bdfb,#a5b5f0 56%,#dfb4e5);box-shadow:0 16px 32px -16px #7ca9ef}.now-hero button[data-v-663ff302]:not(.primary){background:#ffffff7a;border-color:#ffffffe0}.notes[data-v-663ff302]{align-items:start;gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));margin:8px 0 28px;display:grid}.note[data-v-663ff302]{background:linear-gradient(180deg, #ffffff52, transparent 55%), var(--surface);border:1px solid var(--glass-edge);box-shadow:var(--glass-sheen), var(--shadow-soft);transition:transform .52s var(--jelly);border-top:1px solid #fffffff2;border-radius:27px;align-content:start;gap:8px;padding:24px;display:grid;position:relative}.note[data-v-663ff302]:hover{transform:translateY(-4px)scale(1.012)}.note .quote[data-v-663ff302]{font-size:16px;font-weight:600;line-height:1.6}.note small[data-v-663ff302]{color:var(--ink-soft);font-size:12px}.note .text-button[data-v-663ff302]{justify-self:start;margin-top:2px}.note .eyebrow[data-v-663ff302]{margin-bottom:8px}.note>p[data-v-663ff302],.note>ul[data-v-663ff302]{max-height:248px;overflow:auto}.recent-list[data-v-663ff302]{gap:11px;margin:0;padding:0;list-style:none;display:grid}.recent-list li[data-v-663ff302]{border-bottom:1px solid color-mix(in srgb, var(--glass-edge) 70%, transparent);padding-bottom:10px}.recent-list li[data-v-663ff302]:last-child{border-bottom:0;padding-bottom:0}.recent-list .quote[data-v-663ff302]{margin-bottom:3px}.note.ahead>ul[data-v-663ff302]{max-height:248px}.note li[data-v-663ff302]{gap:1px;font-size:13.5px;display:grid}.note li b[data-v-663ff302]{color:var(--accent);font-size:12px}.words[data-v-663ff302]{background:linear-gradient(150deg, color-mix(in srgb, var(--orb-a) 55%, var(--surface-strong)), var(--surface))}.now-grid[data-v-663ff302]{gap:var(--gap);grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;display:grid}.today-scroll[data-v-663ff302]{max-height:620px;margin-right:-8px;padding-right:8px}.entry-head[data-v-663ff302]{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.entry-head time[data-v-663ff302]{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:12px}.entry-head b[data-v-663ff302]{font-size:14px}.entry-head+p[data-v-663ff302]{margin-top:3px;font-size:13.5px;line-height:1.65}.entry-head+p small[data-v-663ff302]{color:var(--ink-soft)}.ledger-note[data-v-663ff302]{margin-top:12px}.small-text[data-v-663ff302]{font-size:13px}.grow[data-v-663ff302]{flex:1;min-width:0}.counts[data-v-663ff302]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.counts button[data-v-663ff302]{text-align:left;border-radius:16px;justify-items:start;gap:0;padding:12px 14px;display:grid}.counts b[data-v-663ff302]{font:700 24px var(--font-display);color:var(--accent)}.counts span[data-v-663ff302]{color:var(--ink-soft);font-size:12px;font-weight:500}@media (width<=1100px){.now-grid[data-v-663ff302]{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.now-presentation[data-v-663ff302]{min-height:0}.now-hero[data-v-663ff302]{text-align:center;height:420px;min-height:420px}.notes[data-v-663ff302]{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.now-hero[data-v-663ff302]{border-radius:30px;height:370px;min-height:370px;padding:0}.today-scroll[data-v-663ff302]{max-height:520px}.wallpaper-controls[data-v-663ff302]{top:10px;right:10px}.wallpaper-controls .wallpaper-tip-inline[data-v-663ff302]{display:none}.wallpaper-controls button[data-v-663ff302]{min-height:32px;padding:6px 10px}.wallpaper-tip[data-v-663ff302]{text-align:center;max-width:calc(100% - 34px);padding:9px 12px;font-size:12px}}.access-gate[data-v-299ced1e]{background:radial-gradient(circle at 25% 20%,#dbe7ec 0,#0000 45%),radial-gradient(circle at 85% 70%,#efdfdd 0,#0000 45%),#f4f5ef;place-items:center;min-height:100dvh;padding:72px 24px;display:grid}.access-language[data-v-299ced1e]{position:absolute;top:22px;right:24px}.access-card[data-v-299ced1e]{background:#ffffffe0;border:1px solid #fff;border-radius:28px;width:min(100%,420px);padding:36px;box-shadow:0 24px 70px #69838618}.access-card h1[data-v-299ced1e]{margin:14px 0;font-size:26px}.access-card>p[data-v-299ced1e]{color:var(--muted);line-height:1.8}.access-orb[data-v-299ced1e]{color:#8b889c;background:radial-gradient(circle at 35% 30%,#fff,#e5dde8 60%,#cedfd8);border-radius:50%;place-items:center;width:70px;height:70px;margin-bottom:24px;font-size:32px;display:grid}.access-form[data-v-299ced1e],.access-form label[data-v-299ced1e]{gap:12px;display:grid}.access-form[data-v-299ced1e]{gap:20px;margin-top:28px}.access-form input[data-v-299ced1e]{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #d6deda;border-radius:12px;padding:12px 14px}.access-form small[data-v-299ced1e]{color:var(--muted);line-height:1.7}.access-form button[data-v-299ced1e]{min-height:44px}.access-error[data-v-299ced1e]{color:#b34e5b;font-size:13px}.spinning[data-v-0e622eac] svg{animation:.7s linear infinite refresh-turn-0e622eac}@keyframes refresh-turn-0e622eac{to{transform:rotate(360deg)}}.startup[data-v-0e622eac]{z-index:1;text-align:center;place-content:center;justify-items:center;gap:10px;min-height:100dvh;padding:24px;display:grid;position:relative}.startup h1[data-v-0e622eac]{font-size:26px}.startup p[data-v-0e622eac]{color:var(--ink-soft)}.shell[data-v-0e622eac]{z-index:1;grid-template-columns:var(--dock-w) minmax(0, 1fr);min-height:100dvh;display:grid;position:relative}.skip-link[data-v-0e622eac]{z-index:120;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:8px 14px;transition:transform .2s;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link[data-v-0e622eac]:focus{transform:none}.dock[data-v-0e622eac]{background:linear-gradient(180deg, #ffffffb8, #ffffff24 46%, transparent 78%), var(--surface);height:calc(100dvh - 28px);color:var(--ink);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:34px;flex-direction:column;gap:16px;margin:14px 0 14px 14px;padding:14px 12px;display:flex;position:sticky;top:14px;overflow:hidden auto;box-shadow:inset 1px 1px #ffffffe6,0 22px 60px -34px #455e9457}.dock-ta[data-v-0e622eac]{text-align:left;background:0 0;border:none;border-radius:22px;align-items:center;gap:10px;padding:6px 10px 6px 4px;display:flex}.dock-ta[data-v-0e622eac]:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 8%, transparent);box-shadow:none;transform:none}.dock-ta.active[data-v-0e622eac]{background:var(--accent-soft)}.dock-ta-text[data-v-0e622eac]{min-width:0;line-height:1.3;display:grid}.dock-ta-text b[data-v-0e622eac]{font:700 16px var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dock-ta-text small[data-v-0e622eac]{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.dock-groups[data-v-0e622eac]{gap:14px;display:grid}.dock-group[data-v-0e622eac]{gap:2px;display:grid}.dock-group h2[data-v-0e622eac]{font:700 10.5px/1.4 var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);padding:0 12px 4px}.dock-link[data-v-0e622eac],.dock-tool[data-v-0e622eac]{width:100%;color:var(--ink-soft);text-align:left;background:0 0;border:none;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.dock-tool[data-v-0e622eac]{padding:8px 12px;font-size:13px}.dock-link[data-v-0e622eac]:hover:not(:disabled),.dock-tool[data-v-0e622eac]:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 9%, transparent);color:var(--ink);box-shadow:none;transform:none}.dock-link.active[data-v-0e622eac]{background:linear-gradient(110deg, #ffffffeb, color-mix(in srgb, var(--glow-a) 44%, white));color:var(--accent);box-shadow:inset 0 1px 0 white, 0 9px 22px -14px var(--accent)}.dock-link.active[data-v-0e622eac]:after{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 10px var(--accent);border-radius:50%;margin-left:auto}.dock-foot[data-v-0e622eac]{border-top:1px solid var(--line);gap:2px;margin-top:auto;padding-top:10px;display:grid}main[data-v-0e622eac]{outline:none;min-width:0;padding-bottom:32px}.topbar[data-v-0e622eac]{background:linear-gradient(180deg, #ffffffb8, transparent 70%), var(--surface);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px)saturate(1.5);border-radius:30px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;width:min(1232px,100% - 36px);margin:16px auto 8px;padding:16px 22px;display:flex;box-shadow:inset 0 1px #fff,0 16px 38px -28px #455e944d}.topbar h1[data-v-0e622eac]{font-family:var(--font-display);letter-spacing:-.03em;font-size:29px;font-weight:700}.topbar p[data-v-0e622eac]{color:var(--ink-soft);margin-top:2px;font-size:13.5px}.topbar-actions[data-v-0e622eac]{align-items:center;gap:10px;margin-left:auto;display:flex}#connection[data-v-0e622eac]{padding:7px 14px}#connection.offline[data-v-0e622eac]{cursor:pointer}.draft-banner[data-v-0e622eac]{background:color-mix(in srgb, var(--warn) 12%, var(--surface-strong));border:1px solid color-mix(in srgb, var(--warn) 28%, transparent);border-radius:999px;align-items:center;gap:10px;width:min(1224px,100% - 56px);margin:0 auto 14px;padding:9px 16px;font-size:13px;font-weight:600;display:flex}.at-now .topbar-title p[data-v-0e622eac]{display:block}.at-chats main[data-v-0e622eac]{flex-direction:column;height:calc(100dvh - 104px);padding-bottom:16px;display:flex;overflow:hidden}.at-chats .view[data-v-0e622eac]{flex-direction:column;flex:1;min-height:0;display:flex}.tabbar[data-v-0e622eac]{display:none}.more-grid[data-v-0e622eac]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.more-grid button[data-v-0e622eac]{text-align:left;border-radius:18px;justify-items:start;gap:4px;padding:14px;display:grid}.more-grid button.active[data-v-0e622eac]{border-color:var(--accent);background:var(--accent-soft)}.more-grid small[data-v-0e622eac]{color:var(--ink-soft);font-size:11.5px;font-weight:500}.more-title[data-v-0e622eac]{margin:20px 0 8px;font-size:14px}.more-tools[data-v-0e622eac]{margin-top:14px}@media (width<=1100px) and (width>=761px){.shell[data-v-0e622eac]{grid-template-columns:92px minmax(0,1fr)}.dock[data-v-0e622eac]{align-items:center;padding:14px 8px}.dock-ta[data-v-0e622eac]{padding:4px}.dock-link[data-v-0e622eac],.dock-tool[data-v-0e622eac]{justify-content:center;width:52px;padding:12px 0}.dock-group[data-v-0e622eac],.dock-foot[data-v-0e622eac]{justify-items:center}.dock[data-v-0e622eac] .theme-toggle{justify-content:center;width:52px;padding:10px 0}.dock-link.active[data-v-0e622eac]:after{display:none}.rail-label[data-v-0e622eac],.dock[data-v-0e622eac] .rail-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}}@media (width<=760px){.shell[data-v-0e622eac]{grid-template-columns:minmax(0,1fr)}.dock[data-v-0e622eac]{display:none}main[data-v-0e622eac]{padding-bottom:calc(128px + env(safe-area-inset-bottom))}.topbar[data-v-0e622eac]{align-items:center;padding:16px 14px 12px}.topbar h1[data-v-0e622eac]{font-size:22px}.topbar p[data-v-0e622eac]{display:none}.draft-banner[data-v-0e622eac]{width:calc(100% - 28px)}.at-chats main[data-v-0e622eac]{height:auto;padding-bottom:calc(96px + env(safe-area-inset-bottom));display:block;overflow:visible}.tabbar[data-v-0e622eac]{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:65;background:linear-gradient(180deg, #ffffff57, transparent 70%), var(--surface);border:1px solid var(--glass-edge);box-shadow:var(--glass-sheen), var(--shadow);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:24px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px;display:grid;position:fixed}.tabbar button[data-v-0e622eac]{color:var(--ink-soft);background:0 0;border:none;border-radius:18px;justify-items:center;gap:2px;padding:7px 0 6px;font-size:11px;display:grid}.tabbar button[data-v-0e622eac]:hover:not(:disabled){box-shadow:none;transform:none}.tabbar button.active[data-v-0e622eac]{background:var(--accent-soft);color:var(--accent)}}@media (width>=761px){.shell[data-v-0e622eac]{padding-top:1px;display:block}.dock[data-v-0e622eac]{z-index:66;background:radial-gradient(ellipse at 12% -80%, #fffffff0, transparent 58%), linear-gradient(110deg, #ffffffc7, #f2f6ff9c 52%, #ffffffc7), color-mix(in srgb, var(--sky-mid) 82%, white);border:1.5px solid #ffffffd4;border-radius:999px;flex-direction:row;align-items:center;gap:14px;width:min(1460px,100% - 40px);height:auto;min-height:72px;margin:14px auto 0;padding:8px 12px;display:flex;position:sticky;top:14px;overflow:visible;box-shadow:inset 0 2px 1px #fff,inset 0 -2px 2px #708fd221,0 22px 44px -28px #34529561}.dock-ta[data-v-0e622eac]{border:1px solid #0000;border-radius:999px;flex:none;min-width:160px;padding:4px 12px 4px 4px}.dock-ta.active[data-v-0e622eac],.dock-ta[data-v-0e622eac]:hover:not(:disabled){box-shadow:inset 0 1px 0 white, 0 8px 17px -14px var(--accent);background:#ffffff6b;border-color:#ffffffc4;transform:translateY(-2px)scale(1.02)}.dock-groups[data-v-0e622eac]{flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;display:flex}.dock-group[data-v-0e622eac]{align-items:center;gap:2px;display:flex}.dock-group h2[data-v-0e622eac]{clip:rect(0 0 0 0);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.dock-link[data-v-0e622eac]{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;gap:7px;width:auto;min-height:45px;padding:9px 12px;position:relative}.dock-link[data-v-0e622eac]:hover:not(:disabled){box-shadow:0 12px 18px -14px var(--accent);background:#ffffff85;border-color:#ffffffbf;transform:translateY(-3px)scale(1.045)}.dock-link.active[data-v-0e622eac]{color:var(--ink);background:linear-gradient(120deg, #fffffffa, color-mix(in srgb, var(--glow-a) 40%, white) 64%, color-mix(in srgb, var(--glow-b) 28%, white));box-shadow:inset 0 1px 0 white, 0 8px 19px -13px var(--accent);animation:dock-bloom-0e622eac .56s var(--spring) both;border-color:#fffffff7}.dock-link.active[data-v-0e622eac]:after{display:none}.dock-foot[data-v-0e622eac]{border:0;flex:none;align-items:center;gap:3px;margin:0;padding:0;display:flex}.dock-tool[data-v-0e622eac],.dock[data-v-0e622eac] .theme-toggle{border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:flex}.dock-tool .rail-label[data-v-0e622eac],.dock[data-v-0e622eac] .theme-toggle .rail-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.dock-tool[data-v-0e622eac]:hover:not(:disabled),.dock[data-v-0e622eac] .theme-toggle:hover:not(:disabled){box-shadow:inset 0 1px white, 0 11px 17px -13px var(--accent);background:#ffffff9e;transform:translateY(-3px)scale(1.08)}main[data-v-0e622eac]{width:100%}.workspace[data-v-0e622eac]{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:22px;width:min(1480px,100% - 36px);margin:8px auto 0;display:grid}.workspace>main[data-v-0e622eac]{width:auto;min-width:0}.workspace .topbar[data-v-0e622eac]{width:calc(100% - 56px);box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;align-items:center;margin:14px 28px 6px;padding:4px 22px 8px}.topbar h1[data-v-0e622eac]{font-size:clamp(28px,2.8vw,38px);font-weight:760}}@keyframes dock-bloom-0e622eac{0%{filter:brightness(1.15);transform:scale(.88)translateY(4px)}to{filter:brightness();transform:scale(1)translateY(0)}}@media (width>=761px) and (width<=1100px){.dock[data-v-0e622eac]{gap:6px;padding-inline:9px}.dock-ta[data-v-0e622eac]{min-width:145px}.dock-ta-text.rail-label[data-v-0e622eac]{clip:auto;width:auto;height:auto;display:grid;position:static!important}.dock-ta-text small[data-v-0e622eac]{display:none}.dock-link[data-v-0e622eac]{width:42px;min-width:42px;padding:10px}.dock-tool[data-v-0e622eac],.dock[data-v-0e622eac] .theme-toggle{width:38px;height:38px}}@media (width<=760px){.workspace[data-v-0e622eac]{width:100%;margin:0;display:block}.topbar[data-v-0e622eac]{width:calc(100% - 28px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;gap:10px;margin-top:14px;padding:8px 5px 10px}.topbar-actions[data-v-0e622eac]{gap:6px}#connection[data-v-0e622eac]{padding:7px 10px;font-size:12px}.tabbar[data-v-0e622eac]{background:linear-gradient(130deg, #ffffffc4, #ffffff45 57%, #e6ecff8c), var(--glass-fill);border:1.5px solid #ffffffdb;box-shadow:inset 0 2px 1px #fff,0 20px 38px -24px #34529570}.tabbar button.active[data-v-0e622eac]{background:linear-gradient(130deg, white, color-mix(in srgb, var(--glow-a) 40%, white));box-shadow:0 6px 15px -10px var(--accent);animation:dock-bloom-0e622eac .48s var(--spring) both;border:1px solid #fff}}@property --sky-top{syntax:"<color>";inherits:true;initial-value:#c8f3e4}@property --sky-mid{syntax:"<color>";inherits:true;initial-value:#e7f7f1}@property --sky-bottom{syntax:"<color>";inherits:true;initial-value:#f6efe2}@property --glow-a{syntax:"<color>";inherits:true;initial-value:#5ddec0}@property --glow-b{syntax:"<color>";inherits:true;initial-value:#8eb6ff}@property --accent{syntax:"<color>";inherits:true;initial-value:#2c8465}@property --accent-soft{syntax:"<color>";inherits:true;initial-value:#dcf3e8}@property --ink{syntax:"<color>";inherits:true;initial-value:#14332d}@property --ink-soft{syntax:"<color>";inherits:true;initial-value:#466760}@property --surface{syntax:"<color>";inherits:true;initial-value:#ffffff94}@property --surface-strong{syntax:"<color>";inherits:true;initial-value:#ffffffe6}@property --line{syntax:"<color>";inherits:true;initial-value:#14332d1f}@property --orb-a{syntax:"<color>";inherits:true;initial-value:#c3f8e0}@property --orb-b{syntax:"<color>";inherits:true;initial-value:#7fdcbc}@property --orb-c{syntax:"<color>";inherits:true;initial-value:#4fa9c7}:root{--font-ui:"HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-display:"Segoe UI Variable Display", "Segoe UI", "SF Pro Rounded", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei UI", sans-serif;--font-editorial:"Palatino Linotype", "Noto Serif SC", "Songti SC", "SimSun", serif;--font-mono:ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;--r-xs:8px;--r-s:12px;--r-m:18px;--r-l:27px;--r-xl:40px;--gap:22px;--dock-w:224px;--topbar-h:76px;--ease:cubic-bezier(.2, .8, .2, 1);--spring:cubic-bezier(.22, 1.45, .42, 1);--jelly:cubic-bezier(.34, 1.56, .5, 1);--tempo:1;--intensity:.5;--glass-blur:12px;--glass-saturate:1.35;--glass-fill:#ffffffb8;--glass-highlight:#ffffffe0;--glass-shadow:0 24px 54px -28px #34529545;--shadow:0 28px 70px -36px color-mix(in srgb, var(--ink) 32%, transparent);--shadow-soft:0 12px 32px -20px color-mix(in srgb, var(--ink) 24%, transparent);--glass-edge:color-mix(in srgb, white 62%, var(--line));--glass-sheen:inset 0 1px 0 #ffffffbd}:root,[data-mood=calm]{--sky-top:#d9e9ff;--sky-mid:#f1f6ff;--sky-bottom:#fff5f2;--glow-a:#a6d8ff;--glow-b:#efd5fa;--accent:#466db8;--accent-ink:#fff;--accent-soft:#e5edff;--ink:#263e69;--ink-soft:#5c6f91;--ink-faint:#8798b1;--surface:#ffffff7a;--surface-strong:#ffffffd1;--line:#6082bf2e;--orb-a:#d8fff0;--orb-b:#5ed4ae;--orb-c:#3a9ec4;--orb-face:#143b34;--cheek:#ff9db1;--particle:#fff;--danger:#b03a3a;--warn:#9a6512;--ok:#478c82;--paper:#fffdf6;--paper-line:#78643c1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-mood=sweet]{--sky-top:#f9e3f3;--sky-mid:#fdf1f9;--sky-bottom:#eeeaff;--glow-a:#f7badb;--glow-b:#cbd2ff;--accent:#8a3356;--accent-ink:#fff;--accent-soft:#ffe3ef;--ink:#3a2430;--ink-soft:#6e4d5c;--ink-faint:#8d6c7a;--surface:#ffffff94;--surface-strong:#ffffffe6;--line:#5a1e3c1f;--orb-a:#ffe0f0;--orb-b:#ff8fbf;--orb-c:#c5a6ff;--orb-face:#4a1f38;--cheek:#ff6f9f;--particle:#ffd0e6;--danger:#b03a4a;--warn:#9a6512;--ok:#2c8465;--paper:#fff9fb;--paper-line:#aa50781f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-mood=bright]{--sky-top:#fff0ca;--sky-mid:#fff8eb;--sky-bottom:#ffebdf;--glow-a:#ffdc88;--glow-b:#ffc8b8;--accent:#b84312;--accent-ink:#fff;--accent-soft:#ffe4cc;--ink:#3d220c;--ink-soft:#7a4e28;--ink-faint:#9a6e48;--surface:#ffffff94;--surface-strong:#fffcf7eb;--line:#6e3c1424;--orb-a:#fff3ae;--orb-b:#ffc15f;--orb-c:#ff8a6b;--orb-face:#4a2a10;--cheek:#ff7b6b;--particle:#ffe08a;--danger:#b03a2a;--warn:#9a6512;--ok:#2c7a55;--paper:#fffbf0;--paper-line:#aa6e2824;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-mood=blue]{--sky-top:#b7d0f2;--sky-mid:#d5e4f6;--sky-bottom:#e7eef8;--glow-a:#6aa4ee;--glow-b:#b7c8ea;--accent:#245488;--accent-ink:#fff;--accent-soft:#dce8f8;--ink:#172433;--ink-soft:#3e536c;--ink-faint:#627890;--surface:#ffffff8f;--surface-strong:#f8fbffe6;--line:#17243321;--orb-a:#e4eefc;--orb-b:#8aafdc;--orb-c:#5d7eae;--orb-face:#1e2b3f;--cheek:#c8a0b5;--particle:#d5e4f6;--danger:#a23c3c;--warn:#8a5e18;--ok:#2c7560;--paper:#f8fafd;--paper-line:#3c5a821f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-mood=stormy]{--sky-top:#e3def4;--sky-mid:#eeebf7;--sky-bottom:#e8ecf6;--glow-a:#c8b8ed;--glow-b:#bcc9e5;--accent:#53368c;--accent-ink:#fff;--accent-soft:#ece4f8;--ink:#241c33;--ink-soft:#534866;--ink-faint:#746888;--surface:#ffffff8f;--surface-strong:#faf8ffe6;--line:#241c3324;--orb-a:#ece4f8;--orb-b:#a894d4;--orb-c:#6e5f9e;--orb-face:#231a36;--cheek:#c99ab8;--particle:#ddd2ee;--danger:#a53a48;--warn:#8a5e18;--ok:#2c7560;--paper:#faf9fd;--paper-line:#5a46821f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-mood=drowsy]{--sky-top:#e8e0fa;--sky-mid:#f5eef9;--sky-bottom:#fff1e9;--glow-a:#d2c4f5;--glow-b:#f5d3c9;--accent:#634678;--accent-ink:#fff;--accent-soft:#f3e6ff;--ink:#2c2140;--ink-soft:#5c5074;--ink-faint:#7e7296;--surface:#ffffff94;--surface-strong:#fffcffe6;--line:#2c21401f;--orb-a:#f4e9ff;--orb-b:#d0b4f8;--orb-c:#f0b8d4;--orb-face:#30264a;--cheek:#f3a3c0;--particle:#eadbff;--danger:#a53a48;--warn:#8a5e18;--ok:#2c7560;--paper:#fffaf6;--paper-line:#966ea021;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-mood=night]{--sky-top:#cbdafa;--sky-mid:#e5eafa;--sky-bottom:#f8edfa;--glow-a:#9db9f0;--glow-b:#cdbdf4;--accent:#5667ab;--accent-ink:#fff;--accent-soft:#e3e7fa;--ink:#29375e;--ink-soft:#606d96;--ink-faint:#8691b3;--surface:#ffffff75;--surface-strong:#ffffffd1;--line:#5d6ca530;--orb-a:#d0d8ff;--orb-b:#7d8ef0;--orb-c:#4d5cc0;--orb-face:#0f1433;--cheek:#c9a0e0;--particle:#fff;--danger:#b24c71;--warn:#936930;--ok:#478c82;--paper:#fbf9ff;--paper-line:#c8d2ff1a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{transition:--sky-top 1.4s var(--ease), --sky-mid 1.4s var(--ease), --sky-bottom 1.4s var(--ease), --glow-a 1.4s var(--ease), --glow-b 1.4s var(--ease), --accent 1.1s var(--ease), --accent-soft 1.1s var(--ease), --ink .9s var(--ease), --ink-soft .9s var(--ease), --surface .9s var(--ease), --surface-strong .9s var(--ease), --line .9s var(--ease), --orb-a 1.2s var(--ease), --orb-b 1.2s var(--ease), --orb-c 1.2s var(--ease)}[data-motion=quiet]{transition:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:15px;overflow-x:clip}body{min-height:100dvh;font-family:var(--font-ui);color:var(--ink);background:var(--sky-mid);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6;overflow-x:clip}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.01em;margin:0;line-height:1.25}p{margin:0}a{color:var(--accent);text-underline-offset:3px}img,svg,canvas{display:block}code,pre,kbd{font-family:var(--font-mono);font-size:.92em}pre{white-space:pre-wrap;word-break:break-word;margin:0}::selection{background:color-mix(in srgb, var(--accent) 26%, transparent)}:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ink) 22%, transparent) transparent}button{font:inherit;color:var(--ink);background:var(--surface-strong);border:1px solid var(--line);cursor:pointer;transition:transform .2s var(--spring), background-color .2s, border-color .2s, box-shadow .2s, color .2s;border-radius:15px;padding:10px 16px;font-size:13px;font-weight:600;line-height:1.3}button:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:var(--shadow-soft);transform:translateY(-1px)}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{color:var(--accent-ink);background:linear-gradient(125deg, color-mix(in srgb, var(--accent) 85%, #8cc8ff), var(--accent));box-shadow:inset 0 1px 0 #ffffff52, 0 12px 26px -15px var(--accent);border-color:#0000}button.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, var(--ink))}button.ghost{background:0 0}button.danger{color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, var(--surface-strong));border-color:color-mix(in srgb, var(--danger) 22%, transparent)}button.small{padding:5px 11px;font-size:12px}button.text-button{color:var(--accent);text-underline-offset:3px;background:0 0;border:none;border-radius:6px;padding:2px 4px;text-decoration:underline}button.text-button:hover:not(:disabled){box-shadow:none;transform:none}button.icon-button{place-items:center;width:38px;height:38px;padding:0;display:inline-grid}button.icon-button svg{width:18px;height:18px}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:color-mix(in srgb, var(--surface-strong) 86%, transparent);border:1px solid var(--glass-edge);border-radius:var(--r-s);box-shadow:var(--glass-sheen);padding:9px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}textarea{resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}input[type=range]{accent-color:var(--accent);background:0 0;border:none;padding:0}input[type=range]:focus{box-shadow:none}label{color:var(--ink-soft);gap:6px;font-size:12.5px;font-weight:600;display:grid}label>small,.hint{color:var(--ink-soft);font-size:12px;font-weight:400}.check{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.switch{color:var(--ink);cursor:pointer;align-items:center;gap:10px;font-size:13px;font-weight:600;display:inline-flex}.switch input{appearance:none;background:color-mix(in srgb, var(--ink) 18%, transparent);cursor:pointer;border-radius:999px;flex:none;width:42px;height:24px;margin:0;transition:background-color .25s;position:relative}.switch input:after{content:"";background:var(--surface-strong);width:18px;height:18px;transition:transform .3s var(--spring);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0003}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(18px)}.switch input:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}.page{width:min(1280px,100%);margin:0 auto;padding:0 28px 48px}.page>*,.stack>*,.card>*{min-width:0}.stack{gap:var(--gap);align-content:start;display:grid}.stack.tight{gap:10px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.grid-2{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:14px;display:grid}.form-grid>label{grid-template-rows:2.6em auto auto;align-content:start;gap:6px;display:grid}.form-grid>label.wide{grid-template-rows:auto auto auto}.form-grid .wide{grid-column:1/-1}.scroll-pane{overscroll-behavior:contain;overflow:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.card{background:linear-gradient(180deg, #ffffff9e, #ffffff0f 42%, transparent 72%), var(--surface);border:1px solid var(--glass-edge);border-radius:var(--r-l);padding:20px 22px;position:relative;box-shadow:inset 0 1px #ffffffed,0 20px 45px -32px #4962a14f}.card.flat{box-shadow:none}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;margin-bottom:14px;display:flex}.card-head h2{font-size:17px}.card-head p{color:var(--ink-soft);margin-top:3px;font-size:13px}.eyebrow{font:700 10.5px/1.4 var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);display:block}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint);font-size:12px}.lede{font-size:15px;line-height:1.8}.chip{background:var(--accent-soft);max-width:100%;color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip[data-tone=warn]{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.chip[data-tone=danger]{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.chip[data-tone=quiet]{background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink-soft)}.chip[data-tone=ok]{background:color-mix(in srgb, var(--ok) 16%, transparent);color:var(--ok)}.pill{background:var(--surface);border:1px solid var(--glass-edge);box-shadow:var(--glass-sheen);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.dot{background:var(--ok);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 18%, transparent);border-radius:50%;flex:none;display:inline-block}.dot.off{background:var(--ink-faint);box-shadow:0 0 0 4px color-mix(in srgb, var(--ink-faint) 16%, transparent)}.dot.warn{background:var(--warn);box-shadow:0 0 0 4px color-mix(in srgb, var(--warn) 18%, transparent)}.meter{background:color-mix(in srgb, var(--ink) 9%, transparent);border-radius:999px;height:8px;overflow:hidden}.meter>i{border-radius:inherit;background:linear-gradient(90deg, var(--orb-b), var(--accent));height:100%;transition:width .7s var(--ease);display:block}.meter.warn>i{background:linear-gradient(90deg, #ffc15f, var(--warn))}.seg{background:var(--surface);border:1px solid var(--line);border-radius:999px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.seg button{background:0 0;border:none;padding:7px 14px}.seg button:hover:not(:disabled){box-shadow:none;background:color-mix(in srgb, var(--accent) 10%, transparent);transform:none}.seg button.active,.seg button[aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.empty{text-align:center;color:var(--ink-soft);justify-items:center;gap:6px;padding:30px 16px;font-size:13px;display:grid}.empty b{color:var(--ink);font-size:15px}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;font-size:13px;display:grid}.kv dt{color:var(--ink-soft)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list-row{border-radius:var(--r-m);background:color-mix(in srgb, var(--surface-strong) 70%, transparent);border:1px solid var(--line);align-items:center;gap:12px;padding:10px 14px;display:flex}.pagination{color:var(--ink-soft);justify-content:center;align-items:center;gap:12px;padding-top:10px;font-size:12.5px;display:flex}.notice{border-radius:var(--r-m);background:color-mix(in srgb, var(--warn) 12%, var(--surface-strong));border:1px solid color-mix(in srgb, var(--warn) 26%, transparent);color:var(--ink);padding:12px 16px;font-size:13px}.error-text{color:var(--danger);font-size:13px}.bubble{overflow-wrap:anywhere;background:var(--surface-strong);border:1px solid var(--line);border-radius:18px;max-width:min(560px,86%);padding:10px 14px;font-size:14px;line-height:1.6;position:relative}.bubble.ta{background:linear-gradient(135deg, color-mix(in srgb, var(--orb-a) 80%, var(--surface-strong)), color-mix(in srgb, var(--orb-b) 55%, var(--surface-strong)));color:var(--ink);border-color:#0000}[data-mood=night] .bubble.ta{background:linear-gradient(135deg, color-mix(in srgb, var(--orb-b) 45%, var(--surface-strong)), color-mix(in srgb, var(--orb-c) 45%, var(--surface-strong)))}#toast{z-index:90;background:var(--surface-strong);border:1px solid var(--line);max-width:min(360px,100vw - 32px);box-shadow:var(--shadow);color:var(--ink);opacity:0;pointer-events:none;transition:opacity .25s var(--ease), transform .35s var(--spring);border-radius:20px 20px 6px;padding:12px 18px;font-size:13.5px;font-weight:600;position:fixed;bottom:34px;right:96px;transform:translateY(10px)scale(.96)}#toast.show{opacity:1;transform:none}#toast.error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.route-page{animation:page-arrive .32s var(--spring) both}[data-visibility=hidden] *,[data-visibility=hidden] :before,[data-visibility=hidden] :after{animation-play-state:paused!important}.route-page>:nth-child(-n+6){animation:section-arrive .4s var(--spring) both}.route-page>:nth-child(2){animation-delay:25ms}.route-page>:nth-child(3){animation-delay:45ms}.route-page>:nth-child(4){animation-delay:65ms}.route-page>:nth-child(5){animation-delay:85ms}.route-page>:nth-child(6){animation-delay:.105s}@keyframes section-arrive{0%{opacity:.45;transform:translateY(12px)scale(.99)}to{opacity:1;transform:none}}@keyframes page-arrive{0%{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}.rise-enter-active,.rise-move{transition:opacity .35s var(--ease), transform .45s var(--spring)}.rise-enter-from{opacity:0;transform:translateY(10px)}@keyframes float-y{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@keyframes pulse-soft{0%,to{opacity:.55}50%{opacity:1}}[data-motion=quiet] *,[data-motion=quiet] :before,[data-motion=quiet] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=900px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.page{padding:0 14px 28px}.card{border-radius:var(--r-m);padding:16px}#toast{right:16px;bottom:calc(86px + env(safe-area-inset-bottom))}}.page{overflow-wrap:anywhere}.page>*,.card,.card>*,.field,.row>*,.kv dd{min-width:0}.eyebrow{letter-spacing:.18em}.card{border-top-color:color-mix(in srgb, white 70%, var(--line))}.card-head{flex-wrap:wrap;gap:14px}.save-bar,form>.actions{z-index:4;border:1px solid var(--glass-edge);background:linear-gradient(180deg, #ffffff47, transparent 60%), var(--surface-strong);box-shadow:var(--glass-sheen), var(--shadow-soft);border-radius:18px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px;display:flex;position:sticky;bottom:12px}@media (width<=760px){.save-bar,form>.actions{bottom:84px}}.card,.list-row,.bubble,.pill,.seg,.save-bar,form>.actions{background:radial-gradient(ellipse at 4% 0%, #ffffffe6, transparent 43%), linear-gradient(145deg, #ffffff9e, #ffffff2b 58%, #e2e9ff52), var(--glass-fill);box-shadow:inset 0 1.5px 1px #fffffff5, inset 1px 0 1px #ffffffb3, inset -1px -2px 2px #708fd221, var(--glass-shadow);border-color:#ffffffc2}.card{border-radius:var(--r-l);transition:transform .56s var(--jelly)}.card:hover{border-color:#fffffff7;transform:translateY(-4px)scale(1.012)}button:where(:not(.text-button):not(.ghost)){transition:transform .52s var(--jelly);background-image:linear-gradient(145deg,#ffffffc7,#ffffff38);border-color:#ffffffb8;box-shadow:inset 0 1px #ffffffeb,0 7px 20px -14px #415b9b52}button:hover:where(:not(:disabled):not(.text-button)){transform:translateY(-3px)scale(1.035)}button:active:where(:not(:disabled):not(.text-button)){transition-duration:90ms;transform:translateY(2px)scale(.9,1.06)}button.primary:where(:not(.ghost)){color:#244676;background-color:color-mix(in srgb, var(--glow-a) 44%, white);background-image:radial-gradient(circle at 15% 0,#ffffffeb,#0000 45%),linear-gradient(115deg,#a7d8fb,#c0c6fb 55%,#f4cce8);border-color:#ffffffd1;box-shadow:inset 0 2px 1px #ffffffde,0 13px 24px -12px #5d7fcd6b}button.primary:hover:not(:disabled){background-color:color-mix(in srgb, var(--glow-a) 58%, white);background-image:radial-gradient(circle at 35% -10%,#fff,#0000 48%),linear-gradient(115deg,#9ed9ff,#b9c3fa 55%,#f4c5e1)}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{background:linear-gradient(150deg, #ffffffab, #ffffff47), var(--glass-fill);transition:transform .42s var(--jelly), border-color .26s ease;border-color:#ffffffd4;border-radius:17px;box-shadow:inset 0 2px 3px #5371b31a,inset 0 -1px 1px #fff}input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,select:focus,textarea:focus{border-color:color-mix(in srgb, var(--accent) 48%, white);box-shadow:inset 0 1px 2px #5371b314, 0 0 0 4px color-mix(in srgb, var(--glow-a) 42%, transparent), 0 12px 22px -17px var(--accent);transform:translateY(-1px)}.chip{background:color-mix(in srgb, var(--accent-soft) 44%, #ffffff85);box-shadow:inset 0 1px 0 #ffffffe6, 0 4px 12px -9px var(--accent);border:1px solid #ffffffb3}.seg{border-radius:999px;padding:5px}.seg button.active,.seg button[aria-selected=true]{color:var(--ink);background:linear-gradient(120deg, #fffffff2, color-mix(in srgb, var(--glow-a) 42%, white));box-shadow:0 5px 14px -9px var(--accent), inset 0 1px 0 white;animation:glass-settle .48s var(--spring) both;border:1px solid #fffffff5}.list-row{transition:transform .48s var(--jelly);border-radius:18px}.list-row:hover{transform:translate(4px)scale(1.01)}.meter{background:#ffffff70;border:1px solid #ffffffb8;height:10px;padding:2px;box-shadow:inset 0 2px 3px #425c9921,0 1px #fff}.meter>i{box-shadow:inset 0 1px 0 #ffffffe0, 0 0 13px color-mix(in srgb, var(--glow-a) 55%, transparent);transition:width .9s var(--spring)}.bubble{border-radius:22px}.bubble.ta{background:linear-gradient(125deg, color-mix(in srgb, var(--orb-a) 54%, white), color-mix(in srgb, var(--glow-a) 40%, #fff9));border-color:#ffffffd1}@keyframes glass-settle{0%{opacity:.5;transform:scale(.86,.78)translateY(6px)}70%{opacity:1;transform:scale(1.04,.98)translateY(-1px)}to{opacity:1;transform:none}}.card,.list-row,.bubble,.pill,.seg,.note,.chip,.message .text,.session-row,.feedback-item,.face-card,.entry,.facts,.fold,.preview-bubble,button,input,textarea,select{-webkit-backdrop-filter:none!important}.switches{gap:12px;margin-bottom:20px;display:grid}.switches .switch{box-shadow:inset 0 1px 0 white, 0 10px 22px -23px var(--accent);-webkit-backdrop-filter:blur(18px)saturate(1.5);backdrop-filter:blur(18px)saturate(1.5);transition:transform .35s var(--spring), background-color .2s;background:#ffffff69;border:1px solid #ffffffc7;border-radius:22px;align-items:flex-start;padding:18px}.switches .switch:hover{background:#ffffffa3;transform:translateY(-3px)scale(1.008)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./Empty-
|
|
1
|
+
import{m as e}from"./Empty-uSyRBXOT.js";async function t(t){return e(`/core/memories?session=`+encodeURIComponent(t))}async function n(t){return e(`/core/memories`,`POST`,t)}async function r(t,n){return e(`/core/memories/`+t,`PATCH`,n)}async function i(t){return e(`/core/memories/batch-delete`,`POST`,t)}async function a(t){return e(`/core/memory-summary?session=`+encodeURIComponent(t))}async function o(t){return e(`/core/memory/consolidate`,`POST`,{session:t})}async function s(t){return e(`/core/knowledge/collections?session=`+encodeURIComponent(t))}async function c(t){return e(`/core/knowledge/documents?collection=`+encodeURIComponent(t))}async function l(t){return e(`/core/knowledge/documents`,`POST`,t)}async function u(t,n){return e(`/core/knowledge/search`,`POST`,{session:t,text:n})}export{s as a,a as c,l as i,r as l,o as n,c as o,i as r,t as s,n as t,u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{St as e,st as t}from"./Empty-
|
|
1
|
+
import{St as e,st as t}from"./Empty-uSyRBXOT.js";function n(n){let r=matchMedia(n),i=e(r.matches),a=e=>i.value=e.matches;return r.addEventListener(`change`,a),t(()=>r.removeEventListener(`change`,a)),i}export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{I as e,M as t,P as n,j as r,m as i}from"./Empty-
|
|
1
|
+
import{I as e,M as t,P as n,j as r,m as i}from"./Empty-uSyRBXOT.js";var a=new Map;function o(e,t){let n=JSON.stringify([e,t]),r=a.get(n);return r||(r=new Intl.DateTimeFormat(e,t),a.set(n,r),a.size>64&&a.delete(a.keys().next().value)),r}var s={overview:()=>i(`/mind`),mood:()=>i(`/mind/mood`),notes:(e=``)=>i(`/mind/thoughts?q=`+encodeURIComponent(e)),presence:()=>i(`/mind/presence`),today:()=>i(`/mind/today`),person:e=>i(`/mind/people/`+encodeURIComponent(e)),self:()=>i(`/mind/self`),thread:e=>i(`/mind/self/`+encodeURIComponent(e)),bonds:()=>i(`/mind/bonds`),relationships:()=>i(`/mind/relationships`),saveRelationship:e=>i(`/mind/relationships`,`PUT`,e),endRelationship:(e,t)=>i(`/mind/relationships/`+encodeURIComponent(e),`DELETE`,t),bondChanges:(e,t)=>i(`/mind/bonds/${e}/`+encodeURIComponent(t)),faces:e=>i(`/mind/faces/`+encodeURIComponent(e)),life:(e=``,t)=>i(`/mind/life?q=`+encodeURIComponent(e)+(t?`&before=`+t:``)),day:e=>i(`/mind/day/`+e),chapter:e=>i(`/mind/chapters/`+e),story:()=>i(`/mind/story`),nature:()=>i(`/mind/nature`),saveNature:e=>i(`/mind/nature`,`PUT`,e),saveSettings:e=>i(`/mind/settings`,`PUT`,e),reflect:()=>i(`/mind/reflect`,`POST`,{}),review:()=>i(`/mind/review`,`POST`,{}),revoke:(e,t,n=``)=>i(`/mind/revoke`,`POST`,{kind:e,id:t,reason:n}),thought:(e,t)=>i(`/mind/thoughts/`+encodeURIComponent(e),`PATCH`,t),removeThought:e=>i(`/mind/thoughts/`+encodeURIComponent(e),`DELETE`,{}),preview:e=>i(`/mind/preview`,`POST`,e),savePrompts:e=>i(`/core/prompts`,`PUT`,e)},c=n({promise:r(`答应的事`),plan:r(`想做的事`),event:r(`别人的安排`),date:r(`每年的日子`)}),l=n({pending:r(`还在等`),lapsed:r(`悄悄错过了`),done:r(`做到了`),missed:r(`错过了`),let_go:r(`不再惦记`),revoked:r(`已撤销`)}),u=n({turn:r(`聊天时`),direct:r(`聊天时`),group:r(`聊天时`),solitude:r(`独处时`),daily:r(`写日记时`),weekly:r(`回顾时`),memory:r(`从 TA 说过的话里`),migration:r(`旧版本`)}),d=n({activity:r(`做自己的事`),solitude:r(`独处`),expression:r(`自己的念头`),daily:r(`写日记`),weekly:r(`回顾这段日子`),night:r(`夜里整理`)}),f=n({running:r(`进行中`),written:r(`留下了东西`),state:r(`心情变了`),empty:r(`没什么新的`),error:r(`出了点问题`),skipped:r(`跳过了`),cancelled:r(`作废了`),interrupted:r(`重启中断`)}),p=n({active:r(`已经是 TA 的一部分`),emerging:r(`刚开始有这种感觉`),closed:r(`已经放下`)}),m={interest:`#ffc15f`,view:`#7fc8ff`,trait:`#ff9a8b`,habit:`#b9a4ff`,intention:`#6fe0b8`,care:`#ff8fbf`,curiosity:`#9ef0ff`},h=n({warmer:r(`更亲近了一点`),closer:r(`走近了`),trust_up:r(`更信任了`),trust_down:r(`有点失望`),friction:r(`有了别扭`),repair:r(`和好了`),distance:r(`疏远了一点`),impression:r(`印象`)}),g=new Set([`friction`,`trust_down`,`distance`]),_=n([[`familiarity`,r(`熟悉`)],[`closeness`,r(`亲近`)],[`trust`,r(`信任`)],[`tension`,r(`别扭`)]]),v=n({open:r(`公开`),private:r(`私下知道`),secret:r(`要 TA 保密`)}),y=n({妹妹:r(`妹妹`),姐姐:r(`姐姐`),弟弟:r(`弟弟`),哥哥:r(`哥哥`),朋友:r(`朋友`),伙伴:r(`伙伴`),年长手足:r(`年长手足`),年幼手足:r(`年幼手足`)}),b=n({confirmed:r(`TA 这样认为`),superseded:r(`已被新的取代`),candidate:r(`旧版待确认`),disputed:r(`有争议`),expired:r(`已过期`),deleted:r(`已撤销`)}),x=n({planned:r(`等合适的时候`),sending:r(`正在发`),sent:r(`说出口了`),declined:r(`TA 后来决定不说`),skipped:r(`时机不合适`),cancelled:r(`没有发`),uncertain:r(`投递未确认`)}),S=n({speak:r(`开口`),react:r(`简短反应`),decline:r(`说不想聊`),silent:r(`没出声`)});function C(n,r=`Asia/Shanghai`){return n?o(t(),{timeZone:r,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}).format(n):e(`还没有`)}function w(e){return`${Math.round(Math.max(0,Math.min(1,Number(e)||0))*100)}%`}export{w as _,g as a,m as c,x as d,y as f,s as g,p as h,S as i,b as l,f as m,l as n,_ as o,d as p,h as r,v as s,c as t,u,C as v,o as y};
|
package/public/app/index.html
CHANGED
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
if (pinned) document.documentElement.dataset.mood = pinned;
|
|
15
15
|
} catch (e) {}
|
|
16
16
|
</script>
|
|
17
|
-
<script type="module" crossorigin src="/app/assets/index-
|
|
18
|
-
<link rel="modulepreload" crossorigin href="/app/assets/Empty-
|
|
19
|
-
<link rel="modulepreload" crossorigin href="/app/assets/mind-
|
|
17
|
+
<script type="module" crossorigin src="/app/assets/index-5FMs9YYQ.js"></script>
|
|
18
|
+
<link rel="modulepreload" crossorigin href="/app/assets/Empty-uSyRBXOT.js">
|
|
19
|
+
<link rel="modulepreload" crossorigin href="/app/assets/mind-D3mdwFW3.js">
|
|
20
20
|
<link rel="stylesheet" crossorigin href="/app/assets/Empty-DmUB2-Bk.css">
|
|
21
|
-
<link rel="stylesheet" crossorigin href="/app/assets/index-
|
|
21
|
+
<link rel="stylesheet" crossorigin href="/app/assets/index-cDDC-1dI.css">
|
|
22
22
|
</head>
|
|
23
23
|
<body>
|
|
24
24
|
<div id="app"></div>
|
package/public/guide.en.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
|
6
|
-
<title>LuckyTri v1.2.
|
|
6
|
+
<title>LuckyTri v1.2.3 · Getting Started</title>
|
|
7
7
|
<style>
|
|
8
8
|
* {
|
|
9
9
|
box-sizing: border-box;
|
|
@@ -269,7 +269,7 @@
|
|
|
269
269
|
<body>
|
|
270
270
|
<header>
|
|
271
271
|
<div>
|
|
272
|
-
<b>LuckyTri · Handbook</b><small>TIME · MEMORY · CHOICE / v1.2.
|
|
272
|
+
<b>LuckyTri · Handbook</b><small>TIME · MEMORY · CHOICE / v1.2.3</small>
|
|
273
273
|
</div>
|
|
274
274
|
<nav>
|
|
275
275
|
<a href="/#setup">Back to the studio</a
|
|
@@ -1076,7 +1076,7 @@ npm start
|
|
|
1076
1076
|
</div>
|
|
1077
1077
|
<footer>
|
|
1078
1078
|
LuckyTri · so that experience and choice stay coherent. This guide matches
|
|
1079
|
-
the v1.2.
|
|
1079
|
+
the v1.2.3 interface.
|
|
1080
1080
|
</footer>
|
|
1081
1081
|
</body>
|
|
1082
1082
|
</html>
|
package/public/guide.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
|
6
|
-
<title>LuckyTri v1.2.
|
|
6
|
+
<title>LuckyTri v1.2.3 · 使用教程</title>
|
|
7
7
|
<style>
|
|
8
8
|
* {
|
|
9
9
|
box-sizing: border-box;
|
|
@@ -269,7 +269,7 @@
|
|
|
269
269
|
<body>
|
|
270
270
|
<header>
|
|
271
271
|
<div>
|
|
272
|
-
<b>LuckyTri · 上手手册</b><small>TIME · MEMORY · CHOICE / v1.2.
|
|
272
|
+
<b>LuckyTri · 上手手册</b><small>TIME · MEMORY · CHOICE / v1.2.3</small>
|
|
273
273
|
</div>
|
|
274
274
|
<nav>
|
|
275
275
|
<a href="/#setup">返回管理台</a
|
|
@@ -883,6 +883,6 @@ npm start
|
|
|
883
883
|
</p>
|
|
884
884
|
</article>
|
|
885
885
|
</div>
|
|
886
|
-
<footer>LuckyTri · 让经历和选择彼此连贯。教程与 v1.2.
|
|
886
|
+
<footer>LuckyTri · 让经历和选择彼此连贯。教程与 v1.2.3 界面同步。</footer>
|
|
887
887
|
</body>
|
|
888
888
|
</html>
|
package/server/app.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { mountStickerUpload, mountStickers } from "./stickers/api.js";
|
|
1
2
|
import express from "express";
|
|
2
3
|
import { existsSync } from "node:fs";
|
|
3
4
|
import { join } from "node:path";
|
|
@@ -42,7 +43,11 @@ export function createApp({
|
|
|
42
43
|
if (
|
|
43
44
|
["POST", "PATCH", "PUT"].includes(req.method) &&
|
|
44
45
|
(!req.body || typeof req.body !== "object" || Array.isArray(req.body)) &&
|
|
45
|
-
![
|
|
46
|
+
![
|
|
47
|
+
"/plugins/import/upload",
|
|
48
|
+
"/storage/transfer/upload",
|
|
49
|
+
"/core/stickers/upload",
|
|
50
|
+
].includes(req.path)
|
|
46
51
|
)
|
|
47
52
|
return res.status(400).json({ error: "请提交 JSON 对象" });
|
|
48
53
|
next();
|
|
@@ -61,6 +66,7 @@ export function createApp({
|
|
|
61
66
|
app.use("/api", objectBody);
|
|
62
67
|
mountUpdates(app, updates, runtime.updater);
|
|
63
68
|
mountDataTransfer(app, runtime.transfer);
|
|
69
|
+
if (chatSystem?.stickers) mountStickerUpload(app, chatSystem);
|
|
64
70
|
if (plugins) {
|
|
65
71
|
app.post(
|
|
66
72
|
"/api/plugins/import/upload",
|
|
@@ -74,6 +80,7 @@ export function createApp({
|
|
|
74
80
|
},
|
|
75
81
|
);
|
|
76
82
|
}
|
|
83
|
+
if (chatSystem?.stickers) mountStickers(app, chatSystem);
|
|
77
84
|
mountStudio(app, store, runtime, chatSystem);
|
|
78
85
|
mountManagement(app, store, chatSystem);
|
|
79
86
|
mountCore(app, chatSystem);
|
|
@@ -131,8 +131,32 @@ export const onebot = {
|
|
|
131
131
|
const reply = /^\d+$/.test(String(options?.replyTo || ""))
|
|
132
132
|
? [{ type: "reply", data: { id: String(options.replyTo) } }]
|
|
133
133
|
: [];
|
|
134
|
+
// A sticker goes as an image of its own, its bytes inline so the QQ client
|
|
135
|
+
// needs no path or URL on this machine.
|
|
136
|
+
const body = options?.image
|
|
137
|
+
? [
|
|
138
|
+
{
|
|
139
|
+
type: "image",
|
|
140
|
+
data: {
|
|
141
|
+
file: `base64://${options.image.base64}`,
|
|
142
|
+
sub_type: options.image.sticker ? 1 : 0,
|
|
143
|
+
...(options.image.summary
|
|
144
|
+
? { summary: options.image.summary }
|
|
145
|
+
: {}),
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
]
|
|
149
|
+
: [
|
|
150
|
+
...(Array.isArray(options?.at) ? options.at : [])
|
|
151
|
+
.filter((id) => /^\d{5,12}$/.test(String(id)))
|
|
152
|
+
.flatMap((id) => [{ type: "at", data: { qq: String(id) } }]),
|
|
153
|
+
{
|
|
154
|
+
type: "text",
|
|
155
|
+
data: { text: options?.at?.length ? ` ${text}` : text },
|
|
156
|
+
},
|
|
157
|
+
];
|
|
134
158
|
return {
|
|
135
|
-
message: [...reply,
|
|
159
|
+
message: [...reply, ...body],
|
|
136
160
|
[parsed.kind === "group" ? "group_id" : "user_id"]:
|
|
137
161
|
parsed.kind === "group"
|
|
138
162
|
? Number(message.raw?.group_id ?? parsed.nativeId)
|
|
@@ -6,7 +6,8 @@ import { defineChannel } from "../contract.js";
|
|
|
6
6
|
import { parseSessionKey } from "../session-key.js";
|
|
7
7
|
import { applyDirectoryNames } from "../../core/sessions.js";
|
|
8
8
|
import { saveAccountNames } from "../../studio/display-names.js";
|
|
9
|
-
import {
|
|
9
|
+
import { ownerImageLimits } from "../../core/image-preprocessor.js";
|
|
10
|
+
import { mediaSettings } from "../../stickers/api.js";
|
|
10
11
|
|
|
11
12
|
const EVENT_MAX_BYTES = 1024 * 1024;
|
|
12
13
|
const IMAGE_TIMEOUT_MS = 30000;
|
|
@@ -168,7 +169,9 @@ export function createOneBotChannel(
|
|
|
168
169
|
// Only authenticated OneBot clients reach this server. get_image may carry
|
|
169
170
|
// base64 rather than a URL, so its frame must fit the source-image budget.
|
|
170
171
|
// Ordinary events still have the smaller independent limit below.
|
|
171
|
-
const imageBytes =
|
|
172
|
+
const imageBytes = ownerImageLimits(
|
|
173
|
+
chatSystem?.repo ? mediaSettings(chatSystem.repo) : {},
|
|
174
|
+
).maxSourceBytes;
|
|
172
175
|
wss = new WebSocketServer({
|
|
173
176
|
noServer: true,
|
|
174
177
|
maxPayload: Math.ceil(imageBytes / 3) * 4 + EVENT_MAX_BYTES,
|
|
@@ -20,7 +20,7 @@ export const DIALOGUE_TASK = `读懂眼前这轮聊天,再用自己的话回
|
|
|
20
20
|
长短和口吻来自你自己:inner.ownVoice 是你自己一直以来打字的样子,inner.state 是此刻的心情和精力,再加上你和眼前这个人的关系、刚发生的事;别人怎么打字只是在场的情况,不去模仿。像在 QQ 里随手打一句,不写组织好的书面段落;答案不省,意思说够就停,不为活跃气氛加问题。问过的细节对方没接,就回应他继续说的内容,不立刻换词再问。如果这段对话里的人明确要求一段发完,同一话题后续都收进一条消息。列点也可以放在一条消息里换行。被明确要求停止就停止,新的实际问题仍可回应。
|
|
21
21
|
若一轮里同时有人提出表达偏好、另一人分享新内容,先简短确认偏好,再回应新内容;不能让确认格式代替对内容的回应。
|
|
22
22
|
停止的范围按对方原话理解:不要方案,就停止给方案;不要纠结某个细节,就放下那个细节,不把整个话题或交流关掉。对方明确说一条旁枝不是他问的,简短承认后回到主线;不要说“我没理清楚”或“先不乱说”,除非那条信息确实是回答主问题所必需的。
|
|
23
|
-
输出 JSON:{"understanding":{"kind":"question|proposal|feeling|sharing|correction|greeting|closing|other","messageIds":[本轮回应的序号],"point":"对方此刻的具体意思","tone":"serious|joking|teasing|ironic|venting","stance":"fact|guess|opinion|joke|hearsay"},"contribution":{"kind":"answer|reaction|question|idea|correction|none","point":"自己这次实际说出的意思,不是收住/接住之类动作"},"choice":"speak|react|decline|silent","targetMessageIds":[batchIds中的序号],"topic":"当前话题","say":"实际说的话","appraisal":"这件事对自己的实际影响,没有则空","reason":"为何这样选择,用名字不用QQ号","feelings":[{"feeling":"两三个字","intensity":0到1,"valence":-1到1,"arousal":0到1,"cause":[消息序号]}],"bonds":[{"userId":"speaker","change":"warmer|closer|trust_up|trust_down|friction|repair|distance","why":"具体变化","evidence":[消息序号]}],"crisis":{"clear":false,"messageIds":[]}}。silent 时 say 为空;react 是一句很短的话;say 是你在输入框里打的字,换行就是按了发送、另起一条消息,说多少、发几次由你此刻想说什么决定;若对方已要求同一段发完,则把连贯补充收在一条消息里,列点也可在同一条里换行。真实自伤危机认真回应眼前安全,crisis.clear=true。understanding 里的 tone 和 stance 可选:所回应的话是认真、玩笑、调侃、反话还是发泄,说的是事实、猜测、观点、玩笑还是转述;拿不准就不写这两项。working.reading 只是字面提示,以前后文为准。choice、targetMessageIds 等其余字段仍在最外层。`;
|
|
23
|
+
输出 JSON:{"understanding":{"kind":"question|proposal|feeling|sharing|correction|greeting|closing|other","messageIds":[本轮回应的序号],"point":"对方此刻的具体意思","tone":"serious|joking|teasing|ironic|venting","stance":"fact|guess|opinion|joke|hearsay"},"contribution":{"kind":"answer|reaction|question|idea|correction|none","point":"自己这次实际说出的意思,不是收住/接住之类动作"},"choice":"speak|react|decline|silent","targetMessageIds":[batchIds中的序号],"topic":"当前话题","say":"实际说的话","at":["可选,只从 expression.canAt 选 userId"],"sticker":"可选,expression.stickers 里的 ref","appraisal":"这件事对自己的实际影响,没有则空","reason":"为何这样选择,用名字不用QQ号","feelings":[{"feeling":"两三个字","intensity":0到1,"valence":-1到1,"arousal":0到1,"cause":[消息序号]}],"bonds":[{"userId":"speaker","change":"warmer|closer|trust_up|trust_down|friction|repair|distance","why":"具体变化","evidence":[消息序号]}],"crisis":{"clear":false,"messageIds":[]}}。silent 时 say 为空;react 是一句很短的话;say 是你在输入框里打的字,换行就是按了发送、另起一条消息,说多少、发几次由你此刻想说什么决定;若对方已要求同一段发完,则把连贯补充收在一条消息里,列点也可在同一条里换行。真实自伤危机认真回应眼前安全,crisis.clear=true。understanding 里的 tone 和 stance 可选:所回应的话是认真、玩笑、调侃、反话还是发泄,说的是事实、猜测、观点、玩笑还是转述;拿不准就不写这两项。working.reading 只是字面提示,以前后文为准。choice、targetMessageIds 等其余字段仍在最外层。`;
|
|
24
24
|
|
|
25
25
|
export const DIALOGUE_REWRITE = `重新核对 exchange.current 和引用,修改 draft 中被指出的具体问题。decision.understanding 可能也有误,以原话为准。保留成立的内容,直接说这轮真正想说的话;不要把修改写成新的认错套话或内部状态报告。self.livingFor 只作背景,不必提起。输出 {"bubbles":["实际内容"],"reason":"为何这样说"}。`;
|
|
26
26
|
|