@inkandswitch/patchwork-pkg-base 0.0.131 → 0.0.132
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/module-settings-url +1 -1
- package/package.json +1 -1
- package/packages/account/dist/index.css +19 -0
- package/packages/account/dist/index.css.map +2 -2
- package/packages/add-doc-to-sidebar-button/button.js +6 -0
- package/packages/add-doc-to-sidebar-button/styles.css +8 -1
- package/packages/chat/dist/index.js +1 -1
- package/packages/codemirror-base/dist/tool.js +75 -59
- package/packages/codemirror-base/dist/tool.js.map +2 -2
- package/packages/codemirror-markdown/dist/extensions/markdown.js +25 -0
- package/packages/codemirror-markdown/dist/extensions/markdown.js.map +2 -2
- package/packages/comments-view/dist/assets/{main-DXYeEDFB.js → main-EQKeEvzx.js} +50 -3
- package/packages/comments-view/dist/assets/main-EQKeEvzx.js.map +1 -0
- package/packages/comments-view/dist/index.js +3 -3
- package/packages/doc-openwith/doc-openwith.js +15 -1
- package/packages/doc-presence/doc-presence.js +66 -23
- package/packages/drafts/dist/assets/{main-CG9HOCai.js → main-wz7oton3.js} +134 -80
- package/packages/drafts/dist/assets/main-wz7oton3.js.map +1 -0
- package/packages/drafts/dist/index.js +3 -3
- package/packages/file/dist/index.js +1 -1
- package/packages/file/dist/{tool-Bucjz6Ay.js → tool-CSiyzu4S.js} +51 -41
- package/packages/file/dist/tool-CSiyzu4S.js.map +1 -0
- package/packages/file/dist/{typescript-language-server-BId-R8tz.js → typescript-language-server-T-bVgxs5.js} +2 -2
- package/packages/file/dist/{typescript-language-server-BId-R8tz.js.map → typescript-language-server-T-bVgxs5.js.map} +1 -1
- package/packages/packages/dist/index.js +6 -1
- package/packages/patternwitch/tool.js +30 -3
- package/packages/providers/dist/assets/FocusProvider-CsJzhQWV.js +2 -0
- package/packages/providers/dist/assets/FocusProvider-CsJzhQWV.js.map +1 -0
- package/packages/providers/dist/index.js +1 -1
- package/packages/theming/dist/{active-theme-WA6XMDTP.js → active-theme-HEMDARRS.js} +3 -3
- package/packages/theming/dist/{chunk-4GOF67HA.js → chunk-2LCY4PP2.js} +2 -2
- package/packages/theming/dist/{chunk-L7WQSSFT.js → chunk-MJMDS3V5.js} +2 -2
- package/packages/theming/dist/{lychee-BMLMUNP6.css → lychee-BADZHTMJ.css} +1 -1
- package/packages/theming/dist/main.js +4 -4
- package/packages/theming/dist/{theme-titlebar-LG6PFBKR.js → theme-titlebar-JLYY4TZR.js} +3 -3
- package/packages/theming/dist/{theme-tray-R3PJDYCL.js → theme-tray-OZPNTCHA.js} +3 -3
- package/packages/theming/dist/tool.js +2 -2
- package/packages/threepane/dist/IsolatedDocumentArea-PIXYOA25.js +2 -0
- package/packages/threepane/dist/PatchworkFrame-O76GWRUL.js +2 -0
- package/packages/threepane/dist/{PatchworkFrame-HMA5KZLY.js.map → PatchworkFrame-O76GWRUL.js.map} +3 -3
- package/packages/threepane/dist/{chunk-UOTRB26X.js → chunk-Y2SEQB3F.js} +24 -8
- package/packages/threepane/dist/{chunk-UOTRB26X.js.map → chunk-Y2SEQB3F.js.map} +3 -3
- package/packages/threepane/dist/index.js +1 -1
- package/plugin-registry-url +1 -1
- package/packages/comments-view/dist/assets/main-DXYeEDFB.js.map +0 -1
- package/packages/drafts/dist/assets/main-CG9HOCai.js.map +0 -1
- package/packages/file/dist/tool-Bucjz6Ay.js.map +0 -1
- package/packages/providers/dist/assets/FocusProvider-AfpGH4B_.js +0 -2
- package/packages/providers/dist/assets/FocusProvider-AfpGH4B_.js.map +0 -1
- package/packages/threepane/dist/IsolatedDocumentArea-JJMLEL4O.js +0 -2
- package/packages/threepane/dist/PatchworkFrame-HMA5KZLY.js +0 -2
- /package/packages/theming/dist/{active-theme-WA6XMDTP.js.map → active-theme-HEMDARRS.js.map} +0 -0
- /package/packages/theming/dist/{chunk-4GOF67HA.js.map → chunk-2LCY4PP2.js.map} +0 -0
- /package/packages/theming/dist/{chunk-L7WQSSFT.js.map → chunk-MJMDS3V5.js.map} +0 -0
- /package/packages/theming/dist/{theme-titlebar-LG6PFBKR.js.map → theme-titlebar-JLYY4TZR.js.map} +0 -0
- /package/packages/theming/dist/{theme-tray-R3PJDYCL.js.map → theme-tray-OZPNTCHA.js.map} +0 -0
- /package/packages/threepane/dist/{IsolatedDocumentArea-JJMLEL4O.js.map → IsolatedDocumentArea-PIXYOA25.js.map} +0 -0
package/module-settings-url
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
automerge:
|
|
1
|
+
automerge:4SBa3QfWyD4zCAQ7ZyRT7rSs9i3j
|
package/package.json
CHANGED
|
@@ -407,6 +407,12 @@
|
|
|
407
407
|
border-radius: 8px;
|
|
408
408
|
box-shadow: 0 4px 16px rgb(0 0 0 / 12%);
|
|
409
409
|
z-index: var(--studio-layer-dropdown, 30);
|
|
410
|
+
transform-origin: top left;
|
|
411
|
+
transition: opacity max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)), scale max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));
|
|
412
|
+
@starting-style {
|
|
413
|
+
opacity: 0;
|
|
414
|
+
scale: 0.97;
|
|
415
|
+
}
|
|
410
416
|
}
|
|
411
417
|
& .color-grid {
|
|
412
418
|
display: grid;
|
|
@@ -517,6 +523,10 @@
|
|
|
517
523
|
background: var(--studio-backdrop, rgb(0 0 0 / 20%));
|
|
518
524
|
backdrop-filter: var(--studio-backdrop-blur, blur(2px));
|
|
519
525
|
z-index: var(--studio-layer-overlay, 100);
|
|
526
|
+
transition: opacity max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));
|
|
527
|
+
@starting-style {
|
|
528
|
+
opacity: 0;
|
|
529
|
+
}
|
|
520
530
|
}
|
|
521
531
|
& .modal {
|
|
522
532
|
position: fixed;
|
|
@@ -534,6 +544,15 @@
|
|
|
534
544
|
width: 20rem;
|
|
535
545
|
max-width: 90vw;
|
|
536
546
|
box-shadow: 0 8px 30px rgb(0 0 0 / 10%);
|
|
547
|
+
transition:
|
|
548
|
+
opacity max(1ms, calc(200ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),
|
|
549
|
+
translate max(1ms, calc(200ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),
|
|
550
|
+
scale max(1ms, calc(200ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));
|
|
551
|
+
@starting-style {
|
|
552
|
+
opacity: 0;
|
|
553
|
+
translate: 0 8px;
|
|
554
|
+
scale: 0.98;
|
|
555
|
+
}
|
|
537
556
|
}
|
|
538
557
|
& .cropper-modal {
|
|
539
558
|
width: auto;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/contact/styles.css", "../src/picker/styles.css"],
|
|
4
|
-
"sourcesContent": ["@layer package {\n:root,\n:host,\n[theme] {\n --contact-fg: var(--editor-line, black);\n --contact-muted-fg: var(--editor-line-offset-50, #999);\n --contact-border: var(--editor-fill-offset-10, #e5e5e5);\n --contact-fallback-bg: var(--editor-fill-offset-20, #ccc);\n --contact-fallback-fg: var(--editor-line-offset-30, #4d4d4d);\n --contact-family: var(--editor-family-sans, system-ui, sans-serif);\n}\n}\n\n/* Avatar */\n\n.contact-avatar {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n overflow: hidden;\n border-radius: 9999px;\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--contact-border);\n min-width: 2rem;\n min-height: 2rem;\n max-width: 2rem;\n max-height: 2rem;\n height: 100%;\n width: 100%;\n}\n\n.contact-avatar--sm {\n min-width: initial;\n min-height: initial;\n max-width: initial;\n max-height: initial;\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.contact-avatar--lg {\n min-width: initial;\n min-height: initial;\n max-width: initial;\n max-height: initial;\n width: 64px;\n height: 64px;\n}\n\n.contact-avatar--present {\n box-shadow: 0 0 0 2px var(--contact-presence-color, #888);\n}\n\n.contact-avatar-image {\n position: absolute;\n inset: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.contact-avatar-fallback {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 9999px;\n background: var(--contact-fallback-bg);\n color: var(--contact-fallback-fg);\n}\n\n/* Contact Viewer */\n\n.contact-viewer {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.5rem;\n color: var(--contact-fg);\n}\n\n.contact-viewer-name {\n margin: 0;\n font-size: 1.25rem;\n font-weight: 600;\n}\n\n.contact-viewer-label {\n margin: 0;\n font-size: 0.875rem;\n color: var(--contact-muted-fg);\n}\n\n/* Cursor token (tool id \"contact-cursor\") \u2014 the contact's name on a pill in\n their presence color. Hosts overlay it next to their own cursor primitive,\n so it must not intercept pointer events. The pill background is the user's\n presence color (not a theme surface), so the label uses white ink, which is\n legible across the whole USER_COLOR_PALETTE. */\n\n.contact-cursor-token {\n display: inline-block;\n max-width: 160px;\n padding: 2px 6px;\n border-radius: 4px;\n background: var(--contact-cursor-color, #888);\n color: white;\n font-family: var(--contact-family, system-ui, sans-serif);\n font-size: 11px;\n font-weight: 500;\n line-height: 1.3;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: none;\n pointer-events: none;\n}\n", "@layer package {\n:root,\n:host,\n[theme] {\n --account-picker-fg: var(--studio-line, black);\n --account-picker-muted: var(--studio-line-offset-50, #999);\n --account-picker-bg: var(--studio-fill, white);\n --account-picker-border: var(--studio-fill-offset-10, #e5e5e5);\n --account-picker-hover: var(--studio-fill-offset-10, #e5e5e5);\n --account-picker-tooltip-bg: var(--studio-line, black);\n --account-picker-tooltip-fg: var(--studio-fill, white);\n --account-picker-quick: max(1ms, calc(120ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));\n --account-picker-ease-out: cubic-bezier(0.23, 1, 0.32, 1);\n}\n}\n\n.account-picker {\n width: 100%;\n height: 100%;\n overflow: auto;\n /* narrow containers get a narrower gutter */\n padding: 1.5rem clamp(1rem, 6%, 2rem);\n color: var(--account-picker-fg);\n\n /* width: 100% plus padding must stay inside the container */\n &,\n & *,\n & *::before,\n & *::after {\n box-sizing: border-box;\n }\n\n /* sign up / log in: one readable column, centred when there's room */\n & .auth {\n width: 100%;\n max-width: 22rem;\n margin-inline: auto;\n }\n\n & .profile-header {\n position: relative;\n display: flex;\n align-items: flex-start;\n gap: 0.75rem;\n margin-bottom: 1.5rem;\n }\n\n & .identity {\n position: relative;\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 0.125rem;\n }\n\n & .presence-slot {\n width: 0;\n overflow: visible;\n }\n\n\n & .avatar-button {\n position: relative;\n background: none;\n border: none;\n padding: 0;\n margin-inline-start: 5px;\n border-radius: 50%;\n flex-shrink: 0;\n overflow: hidden;\n width: 56px;\n height: 56px;\n display: block;\n cursor: var(--studio-cursor-pointer, pointer);\n\n &::after {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: 50%;\n background: rgb(0 0 0 / 30%);\n opacity: 0;\n transition: opacity max(1ms, calc(100ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));\n }\n\n &:hover::after,\n &:focus-visible::after {\n opacity: 1;\n }\n\n & patchwork-view {\n display: block;\n width: 56px;\n height: 56px;\n overflow: hidden;\n }\n\n & img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n border: none;\n outline: none;\n }\n }\n\n & .input.profile-name-input {\n margin-top: 12px;\n font-size: 1.125rem;\n font-weight: 600;\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) transparent;\n background: transparent;\n padding: 0.25rem 0.375rem;\n border-radius: 4px;\n height: auto;\n\n &:focus-visible {\n outline: var(--studio-focus-ring, 2px solid var(--account-picker-fg));\n outline-offset: var(--studio-focus-ring-offset, 1px);\n }\n }\n\n & .actions {\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem;\n margin-bottom: 1rem;\n }\n\n & .section {\n margin-bottom: 0.25rem;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 0.25rem;\n }\n\n & .field-group {\n display: grid;\n width: 100%;\n gap: 0.5rem;\n padding-block: 0.5rem;\n }\n\n & .input-row {\n display: flex;\n gap: 0.25rem;\n\n /* inputs have an intrinsic width; let them shrink beside the eye button */\n & .input {\n flex: 1;\n min-width: 0;\n }\n\n & .btn {\n flex-shrink: 0;\n }\n }\n\n & .tabs-list {\n display: grid;\n grid-template-columns: 1fr 1fr;\n height: 2rem;\n align-items: center;\n border-radius: 6px;\n background: var(--account-picker-border);\n padding: 2px;\n color: var(--account-picker-muted);\n }\n\n & .tabs-trigger {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n padding: 0.25rem 0.5rem;\n font-size: 0.8125rem;\n font-weight: 500;\n cursor: var(--studio-cursor-pointer, pointer);\n border: none;\n background: transparent;\n color: inherit;\n transition-property: background-color, color, box-shadow;\n transition-duration: var(--account-picker-quick);\n transition-timing-function: ease;\n\n &[data-selected] {\n background: var(--account-picker-bg);\n color: var(--account-picker-fg);\n box-shadow: 0 1px 2px rgb(0 0 0 / 6%);\n }\n }\n\n & .tabs-content {\n margin-top: 0.5rem;\n }\n\n & .btn {\n cursor: var(--studio-cursor-pointer, pointer);\n display: inline-flex;\n align-items: center;\n border-radius: 4px;\n font-size: 0.8125rem;\n font-weight: 500;\n border: none;\n height: 2rem;\n justify-content: center;\n padding: 0 0.75rem;\n transition:\n background-color var(--account-picker-quick) ease,\n box-shadow var(--account-picker-quick) ease,\n opacity var(--account-picker-quick) ease,\n transform var(--account-picker-quick) var(--account-picker-ease-out);\n color: var(--account-picker-fg);\n\n /* a small press, so the button feels heard */\n &:active {\n transform: scale(0.97);\n }\n\n &:disabled {\n pointer-events: none;\n opacity: 0.3;\n }\n\n &.default {\n background: var(--account-picker-fg);\n color: var(--account-picker-bg);\n\n &:hover {\n opacity: 0.85;\n }\n }\n\n &.outline,\n &.secondary,\n &.ghost {\n background: var(--account-picker-bg);\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--account-picker-border);\n box-shadow: 0 1px 2px rgb(0 0 0 / 5%);\n\n &:hover {\n background: var(--studio-chrome-hover-fill, var(--account-picker-hover));\n box-shadow: none;\n }\n }\n }\n\n & .input {\n display: flex;\n height: 2rem;\n width: 100%;\n border-radius: 4px;\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--account-picker-border);\n background: var(--account-picker-bg);\n padding: 0.375rem 0.5rem;\n font-size: 0.8125rem;\n color: var(--account-picker-fg);\n\n &::placeholder {\n color: var(--account-picker-muted);\n }\n\n &:focus-visible {\n outline: var(--studio-focus-ring, 2px solid var(--account-picker-fg));\n outline-offset: var(--studio-focus-ring-offset, 1px);\n }\n\n &:disabled {\n opacity: var(--studio-disabled-opacity, 0.5);\n }\n\n &.valid {\n border-color: hsl(140 40% 60%);\n }\n }\n\n & .label {\n font-size: 0.75rem;\n font-weight: 500;\n color: var(--account-picker-muted);\n }\n\n & .tooltip-trigger {\n cursor: var(--studio-cursor-pointer, pointer);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n height: 2rem;\n width: 2rem;\n border: none;\n background: transparent;\n color: inherit;\n\n &:hover {\n background: var(--studio-chrome-hover-fill, var(--account-picker-hover));\n }\n }\n\n & .tooltip-content {\n z-index: var(--studio-layer-tooltip, 50);\n border-radius: 4px;\n background: var(--account-picker-tooltip-bg);\n padding: 0.25rem 0.5rem;\n font-size: 0.75rem;\n color: var(--account-picker-tooltip-fg);\n }\n\n /* ---- Color picker ---- */\n\n & .presence-cursor {\n display: inline-flex;\n align-items: flex-start;\n background: none;\n border: none;\n padding: 0;\n cursor: var(--studio-cursor-pointer, pointer);\n\n &:hover .presence-nametag {\n opacity: 0.85;\n }\n }\n\n & .presence-cursor-arrow {\n width: 16px;\n height: 24px;\n flex-shrink: 0;\n filter: drop-shadow(0 1px 1px rgb(0 0 0 / 25%));\n }\n\n & .presence-nametag {\n margin-top: 12px;\n margin-inline-start: -3px;\n padding: 2px 6px;\n border-radius: 4px;\n font-size: 0.75rem;\n font-weight: 500;\n line-height: 1.3;\n color: white;\n max-width: 12rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & .color-popup {\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n padding: 6px;\n background: var(--account-picker-bg);\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--account-picker-border);\n border-radius: 8px;\n box-shadow: 0 4px 16px rgb(0 0 0 / 12%);\n z-index: var(--studio-layer-dropdown, 30);\n }\n\n & .color-grid {\n display: grid;\n grid-template-columns: repeat(7, 24px);\n gap: 2px;\n }\n\n & .color-swatch {\n width: 24px;\n height: 24px;\n cursor: var(--studio-cursor-pointer, pointer);\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: 3px;\n\n &:hover {\n opacity: 0.75;\n }\n\n &.selected {\n box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.5);\n }\n }\n\n & .color-swatch-custom {\n position: relative;\n overflow: hidden;\n cursor: var(--studio-cursor-pointer, pointer);\n background: conic-gradient(\n hsl(0 70% 55%),\n hsl(60 70% 55%),\n hsl(120 70% 55%),\n hsl(180 70% 55%),\n hsl(240 70% 55%),\n hsl(300 70% 55%),\n hsl(360 70% 55%)\n );\n\n & input {\n position: absolute;\n inset: 0;\n opacity: 0;\n cursor: var(--studio-cursor-pointer, pointer);\n width: 100%;\n height: 100%;\n border: none;\n padding: 0;\n }\n }\n\n & .icon {\n width: 14px;\n height: 14px;\n }\n\n & .icon-inline {\n width: 14px;\n height: 14px;\n margin-inline-end: 0.25rem;\n }\n\n & .icon-check {\n width: 14px;\n height: 14px;\n margin: auto;\n color: white;\n filter: drop-shadow(0 0.5px 1px rgb(0 0 0 / 25%));\n }\n\n & .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n & .hint {\n margin: 0;\n font-size: 0.75rem;\n color: var(--account-picker-muted);\n line-height: 1.4;\n text-wrap: pretty;\n }\n\n & .error-text {\n font-size: 0.75rem;\n color: var(--studio-danger-text, var(--studio-danger, hsl(0 70% 50%)));\n min-height: 1rem;\n overflow-wrap: anywhere;\n }\n\n & .loading-text {\n color: var(--account-picker-muted);\n }\n\n & .btn.sign-out {\n color: var(--account-picker-muted);\n\n &:hover {\n color: white;\n background: hsl(0 65% 52%);\n }\n }\n\n & .btn.sign-out-confirm {\n background: hsl(0 65% 52%);\n color: white;\n\n &:hover {\n opacity: 0.9;\n }\n }\n\n & .modal-backdrop {\n position: fixed;\n inset: 0;\n background: var(--studio-backdrop, rgb(0 0 0 / 20%));\n backdrop-filter: var(--studio-backdrop-blur, blur(2px));\n z-index: var(--studio-layer-overlay, 100);\n }\n\n & .modal {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: var(--studio-layer-modal, 101);\n background: var(--account-picker-bg);\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--account-picker-border);\n border-radius: 8px;\n padding: 1.25rem;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n width: 20rem;\n max-width: 90vw;\n box-shadow: 0 8px 30px rgb(0 0 0 / 10%);\n }\n\n & .cropper-modal {\n width: auto;\n align-items: center;\n }\n\n & .cropper-viewport {\n position: relative;\n width: 260px;\n height: 260px;\n overflow: hidden;\n border-radius: 6px;\n background: var(--account-picker-border);\n cursor: var(--studio-cursor-grab, grab);\n touch-action: none;\n\n &:active {\n cursor: var(--studio-cursor-grabbing, grabbing);\n }\n }\n\n & .cropper-image {\n position: absolute;\n top: 0;\n left: 0;\n transform-origin: 0 0;\n max-width: none;\n user-select: none;\n -webkit-user-drag: none;\n }\n\n & .cropper-mask {\n position: absolute;\n inset: 0;\n border-radius: 50%;\n box-shadow: 0 0 0 9999px rgb(0 0 0 / 45%);\n pointer-events: none;\n }\n\n & .cropper-zoom {\n width: 260px;\n accent-color: var(--account-picker-fg);\n }\n\n & .modal-title {\n font-size: 0.875rem;\n font-weight: 600;\n margin: 0;\n }\n\n & .modal-actions {\n display: flex;\n gap: 0.375rem;\n justify-content: flex-end;\n margin-top: 0.25rem;\n }\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["@layer package {\n:root,\n:host,\n[theme] {\n --contact-fg: var(--editor-line, black);\n --contact-muted-fg: var(--editor-line-offset-50, #999);\n --contact-border: var(--editor-fill-offset-10, #e5e5e5);\n --contact-fallback-bg: var(--editor-fill-offset-20, #ccc);\n --contact-fallback-fg: var(--editor-line-offset-30, #4d4d4d);\n --contact-family: var(--editor-family-sans, system-ui, sans-serif);\n}\n}\n\n/* Avatar */\n\n.contact-avatar {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n overflow: hidden;\n border-radius: 9999px;\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--contact-border);\n min-width: 2rem;\n min-height: 2rem;\n max-width: 2rem;\n max-height: 2rem;\n height: 100%;\n width: 100%;\n}\n\n.contact-avatar--sm {\n min-width: initial;\n min-height: initial;\n max-width: initial;\n max-height: initial;\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.contact-avatar--lg {\n min-width: initial;\n min-height: initial;\n max-width: initial;\n max-height: initial;\n width: 64px;\n height: 64px;\n}\n\n.contact-avatar--present {\n box-shadow: 0 0 0 2px var(--contact-presence-color, #888);\n}\n\n.contact-avatar-image {\n position: absolute;\n inset: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.contact-avatar-fallback {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 9999px;\n background: var(--contact-fallback-bg);\n color: var(--contact-fallback-fg);\n}\n\n/* Contact Viewer */\n\n.contact-viewer {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.5rem;\n color: var(--contact-fg);\n}\n\n.contact-viewer-name {\n margin: 0;\n font-size: 1.25rem;\n font-weight: 600;\n}\n\n.contact-viewer-label {\n margin: 0;\n font-size: 0.875rem;\n color: var(--contact-muted-fg);\n}\n\n/* Cursor token (tool id \"contact-cursor\") \u2014 the contact's name on a pill in\n their presence color. Hosts overlay it next to their own cursor primitive,\n so it must not intercept pointer events. The pill background is the user's\n presence color (not a theme surface), so the label uses white ink, which is\n legible across the whole USER_COLOR_PALETTE. */\n\n.contact-cursor-token {\n display: inline-block;\n max-width: 160px;\n padding: 2px 6px;\n border-radius: 4px;\n background: var(--contact-cursor-color, #888);\n color: white;\n font-family: var(--contact-family, system-ui, sans-serif);\n font-size: 11px;\n font-weight: 500;\n line-height: 1.3;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: none;\n pointer-events: none;\n}\n", "@layer package {\n:root,\n:host,\n[theme] {\n --account-picker-fg: var(--studio-line, black);\n --account-picker-muted: var(--studio-line-offset-50, #999);\n --account-picker-bg: var(--studio-fill, white);\n --account-picker-border: var(--studio-fill-offset-10, #e5e5e5);\n --account-picker-hover: var(--studio-fill-offset-10, #e5e5e5);\n --account-picker-tooltip-bg: var(--studio-line, black);\n --account-picker-tooltip-fg: var(--studio-fill, white);\n --account-picker-quick: max(1ms, calc(120ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));\n --account-picker-ease-out: cubic-bezier(0.23, 1, 0.32, 1);\n}\n}\n\n.account-picker {\n width: 100%;\n height: 100%;\n overflow: auto;\n /* narrow containers get a narrower gutter */\n padding: 1.5rem clamp(1rem, 6%, 2rem);\n color: var(--account-picker-fg);\n\n /* width: 100% plus padding must stay inside the container */\n &,\n & *,\n & *::before,\n & *::after {\n box-sizing: border-box;\n }\n\n /* sign up / log in: one readable column, centred when there's room */\n & .auth {\n width: 100%;\n max-width: 22rem;\n margin-inline: auto;\n }\n\n & .profile-header {\n position: relative;\n display: flex;\n align-items: flex-start;\n gap: 0.75rem;\n margin-bottom: 1.5rem;\n }\n\n & .identity {\n position: relative;\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 0.125rem;\n }\n\n & .presence-slot {\n width: 0;\n overflow: visible;\n }\n\n\n & .avatar-button {\n position: relative;\n background: none;\n border: none;\n padding: 0;\n margin-inline-start: 5px;\n border-radius: 50%;\n flex-shrink: 0;\n overflow: hidden;\n width: 56px;\n height: 56px;\n display: block;\n cursor: var(--studio-cursor-pointer, pointer);\n\n &::after {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: 50%;\n background: rgb(0 0 0 / 30%);\n opacity: 0;\n transition: opacity max(1ms, calc(100ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));\n }\n\n &:hover::after,\n &:focus-visible::after {\n opacity: 1;\n }\n\n & patchwork-view {\n display: block;\n width: 56px;\n height: 56px;\n overflow: hidden;\n }\n\n & img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n border: none;\n outline: none;\n }\n }\n\n & .input.profile-name-input {\n margin-top: 12px;\n font-size: 1.125rem;\n font-weight: 600;\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) transparent;\n background: transparent;\n padding: 0.25rem 0.375rem;\n border-radius: 4px;\n height: auto;\n\n &:focus-visible {\n outline: var(--studio-focus-ring, 2px solid var(--account-picker-fg));\n outline-offset: var(--studio-focus-ring-offset, 1px);\n }\n }\n\n & .actions {\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem;\n margin-bottom: 1rem;\n }\n\n & .section {\n margin-bottom: 0.25rem;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 0.25rem;\n }\n\n & .field-group {\n display: grid;\n width: 100%;\n gap: 0.5rem;\n padding-block: 0.5rem;\n }\n\n & .input-row {\n display: flex;\n gap: 0.25rem;\n\n /* inputs have an intrinsic width; let them shrink beside the eye button */\n & .input {\n flex: 1;\n min-width: 0;\n }\n\n & .btn {\n flex-shrink: 0;\n }\n }\n\n & .tabs-list {\n display: grid;\n grid-template-columns: 1fr 1fr;\n height: 2rem;\n align-items: center;\n border-radius: 6px;\n background: var(--account-picker-border);\n padding: 2px;\n color: var(--account-picker-muted);\n }\n\n & .tabs-trigger {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n padding: 0.25rem 0.5rem;\n font-size: 0.8125rem;\n font-weight: 500;\n cursor: var(--studio-cursor-pointer, pointer);\n border: none;\n background: transparent;\n color: inherit;\n transition-property: background-color, color, box-shadow;\n transition-duration: var(--account-picker-quick);\n transition-timing-function: ease;\n\n &[data-selected] {\n background: var(--account-picker-bg);\n color: var(--account-picker-fg);\n box-shadow: 0 1px 2px rgb(0 0 0 / 6%);\n }\n }\n\n & .tabs-content {\n margin-top: 0.5rem;\n }\n\n & .btn {\n cursor: var(--studio-cursor-pointer, pointer);\n display: inline-flex;\n align-items: center;\n border-radius: 4px;\n font-size: 0.8125rem;\n font-weight: 500;\n border: none;\n height: 2rem;\n justify-content: center;\n padding: 0 0.75rem;\n transition:\n background-color var(--account-picker-quick) ease,\n box-shadow var(--account-picker-quick) ease,\n opacity var(--account-picker-quick) ease,\n transform var(--account-picker-quick) var(--account-picker-ease-out);\n color: var(--account-picker-fg);\n\n /* a small press, so the button feels heard */\n &:active {\n transform: scale(0.97);\n }\n\n &:disabled {\n pointer-events: none;\n opacity: 0.3;\n }\n\n &.default {\n background: var(--account-picker-fg);\n color: var(--account-picker-bg);\n\n &:hover {\n opacity: 0.85;\n }\n }\n\n &.outline,\n &.secondary,\n &.ghost {\n background: var(--account-picker-bg);\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--account-picker-border);\n box-shadow: 0 1px 2px rgb(0 0 0 / 5%);\n\n &:hover {\n background: var(--studio-chrome-hover-fill, var(--account-picker-hover));\n box-shadow: none;\n }\n }\n }\n\n & .input {\n display: flex;\n height: 2rem;\n width: 100%;\n border-radius: 4px;\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--account-picker-border);\n background: var(--account-picker-bg);\n padding: 0.375rem 0.5rem;\n font-size: 0.8125rem;\n color: var(--account-picker-fg);\n\n &::placeholder {\n color: var(--account-picker-muted);\n }\n\n &:focus-visible {\n outline: var(--studio-focus-ring, 2px solid var(--account-picker-fg));\n outline-offset: var(--studio-focus-ring-offset, 1px);\n }\n\n &:disabled {\n opacity: var(--studio-disabled-opacity, 0.5);\n }\n\n &.valid {\n border-color: hsl(140 40% 60%);\n }\n }\n\n & .label {\n font-size: 0.75rem;\n font-weight: 500;\n color: var(--account-picker-muted);\n }\n\n & .tooltip-trigger {\n cursor: var(--studio-cursor-pointer, pointer);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n height: 2rem;\n width: 2rem;\n border: none;\n background: transparent;\n color: inherit;\n\n &:hover {\n background: var(--studio-chrome-hover-fill, var(--account-picker-hover));\n }\n }\n\n & .tooltip-content {\n z-index: var(--studio-layer-tooltip, 50);\n border-radius: 4px;\n background: var(--account-picker-tooltip-bg);\n padding: 0.25rem 0.5rem;\n font-size: 0.75rem;\n color: var(--account-picker-tooltip-fg);\n }\n\n /* ---- Color picker ---- */\n\n & .presence-cursor {\n display: inline-flex;\n align-items: flex-start;\n background: none;\n border: none;\n padding: 0;\n cursor: var(--studio-cursor-pointer, pointer);\n\n &:hover .presence-nametag {\n opacity: 0.85;\n }\n }\n\n & .presence-cursor-arrow {\n width: 16px;\n height: 24px;\n flex-shrink: 0;\n filter: drop-shadow(0 1px 1px rgb(0 0 0 / 25%));\n }\n\n & .presence-nametag {\n margin-top: 12px;\n margin-inline-start: -3px;\n padding: 2px 6px;\n border-radius: 4px;\n font-size: 0.75rem;\n font-weight: 500;\n line-height: 1.3;\n color: white;\n max-width: 12rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & .color-popup {\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n padding: 6px;\n background: var(--account-picker-bg);\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--account-picker-border);\n border-radius: 8px;\n box-shadow: 0 4px 16px rgb(0 0 0 / 12%);\n z-index: var(--studio-layer-dropdown, 30);\n /* Grows out of the cursor chip above it. Closing is instant. */\n transform-origin: top left;\n transition:\n opacity max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),\n scale max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));\n\n @starting-style {\n opacity: 0;\n scale: 0.97;\n }\n }\n\n & .color-grid {\n display: grid;\n grid-template-columns: repeat(7, 24px);\n gap: 2px;\n }\n\n & .color-swatch {\n width: 24px;\n height: 24px;\n cursor: var(--studio-cursor-pointer, pointer);\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: 3px;\n\n &:hover {\n opacity: 0.75;\n }\n\n &.selected {\n box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.5);\n }\n }\n\n & .color-swatch-custom {\n position: relative;\n overflow: hidden;\n cursor: var(--studio-cursor-pointer, pointer);\n background: conic-gradient(\n hsl(0 70% 55%),\n hsl(60 70% 55%),\n hsl(120 70% 55%),\n hsl(180 70% 55%),\n hsl(240 70% 55%),\n hsl(300 70% 55%),\n hsl(360 70% 55%)\n );\n\n & input {\n position: absolute;\n inset: 0;\n opacity: 0;\n cursor: var(--studio-cursor-pointer, pointer);\n width: 100%;\n height: 100%;\n border: none;\n padding: 0;\n }\n }\n\n & .icon {\n width: 14px;\n height: 14px;\n }\n\n & .icon-inline {\n width: 14px;\n height: 14px;\n margin-inline-end: 0.25rem;\n }\n\n & .icon-check {\n width: 14px;\n height: 14px;\n margin: auto;\n color: white;\n filter: drop-shadow(0 0.5px 1px rgb(0 0 0 / 25%));\n }\n\n & .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n & .hint {\n margin: 0;\n font-size: 0.75rem;\n color: var(--account-picker-muted);\n line-height: 1.4;\n text-wrap: pretty;\n }\n\n & .error-text {\n font-size: 0.75rem;\n color: var(--studio-danger-text, var(--studio-danger, hsl(0 70% 50%)));\n min-height: 1rem;\n overflow-wrap: anywhere;\n }\n\n & .loading-text {\n color: var(--account-picker-muted);\n }\n\n & .btn.sign-out {\n color: var(--account-picker-muted);\n\n &:hover {\n color: white;\n background: hsl(0 65% 52%);\n }\n }\n\n & .btn.sign-out-confirm {\n background: hsl(0 65% 52%);\n color: white;\n\n &:hover {\n opacity: 0.9;\n }\n }\n\n & .modal-backdrop {\n position: fixed;\n inset: 0;\n background: var(--studio-backdrop, rgb(0 0 0 / 20%));\n backdrop-filter: var(--studio-backdrop-blur, blur(2px));\n z-index: var(--studio-layer-overlay, 100);\n /* Same enter as the other modals: the wash fades, the card lifts in.\n Closing is instant. */\n transition: opacity max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));\n\n @starting-style {\n opacity: 0;\n }\n }\n\n & .modal {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: var(--studio-layer-modal, 101);\n background: var(--account-picker-bg);\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--account-picker-border);\n border-radius: 8px;\n padding: 1.25rem;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n width: 20rem;\n max-width: 90vw;\n box-shadow: 0 8px 30px rgb(0 0 0 / 10%);\n /* `transform` is the centring, so the lift uses translate and scale. */\n transition:\n opacity max(1ms, calc(200ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),\n translate max(1ms, calc(200ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),\n scale max(1ms, calc(200ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));\n\n @starting-style {\n opacity: 0;\n translate: 0 8px;\n scale: 0.98;\n }\n }\n\n & .cropper-modal {\n width: auto;\n align-items: center;\n }\n\n & .cropper-viewport {\n position: relative;\n width: 260px;\n height: 260px;\n overflow: hidden;\n border-radius: 6px;\n background: var(--account-picker-border);\n cursor: var(--studio-cursor-grab, grab);\n touch-action: none;\n\n &:active {\n cursor: var(--studio-cursor-grabbing, grabbing);\n }\n }\n\n & .cropper-image {\n position: absolute;\n top: 0;\n left: 0;\n transform-origin: 0 0;\n max-width: none;\n user-select: none;\n -webkit-user-drag: none;\n }\n\n & .cropper-mask {\n position: absolute;\n inset: 0;\n border-radius: 50%;\n box-shadow: 0 0 0 9999px rgb(0 0 0 / 45%);\n pointer-events: none;\n }\n\n & .cropper-zoom {\n width: 260px;\n accent-color: var(--account-picker-fg);\n }\n\n & .modal-title {\n font-size: 0.875rem;\n font-weight: 600;\n margin: 0;\n }\n\n & .modal-actions {\n display: flex;\n gap: 0.375rem;\n justify-content: flex-end;\n margin-top: 0.25rem;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -127,9 +127,15 @@ export default function renderAddDocToSidebarButton(handle, element) {
|
|
|
127
127
|
|
|
128
128
|
function flash(text) {
|
|
129
129
|
clearTimeout(resetTimer);
|
|
130
|
+
// Hold the button at the width it has now: the message is shorter than the
|
|
131
|
+
// label, and a button that shrank would drag the rest of the title bar
|
|
132
|
+
// along with it, there and back.
|
|
133
|
+
const width = button.offsetWidth;
|
|
134
|
+
if (width) button.style.minWidth = width + "px";
|
|
130
135
|
button.textContent = text;
|
|
131
136
|
resetTimer = setTimeout(() => {
|
|
132
137
|
button.textContent = LABEL;
|
|
138
|
+
button.style.minWidth = "";
|
|
133
139
|
button.disabled = false;
|
|
134
140
|
}, 1500);
|
|
135
141
|
}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
.add-doc-to-sidebar button {
|
|
20
20
|
display: flex;
|
|
21
21
|
align-items: center;
|
|
22
|
+
justify-content: center;
|
|
22
23
|
height: 22px;
|
|
23
24
|
padding: 0 var(--studio-space-sm, 0.5rem);
|
|
24
25
|
border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--add-doc-to-sidebar-border);
|
|
@@ -30,11 +31,17 @@
|
|
|
30
31
|
font-weight: 500;
|
|
31
32
|
cursor: var(--studio-cursor-pointer, pointer);
|
|
32
33
|
transition: border-color var(--studio-transition-fast, 0.1s ease),
|
|
33
|
-
background var(--studio-transition-fast, 0.1s ease)
|
|
34
|
+
background var(--studio-transition-fast, 0.1s ease),
|
|
35
|
+
scale max(1ms, calc(100ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));
|
|
34
36
|
white-space: nowrap;
|
|
35
37
|
user-select: none;
|
|
36
38
|
}
|
|
37
39
|
|
|
40
|
+
/* a small press, so the button feels heard: what it does happens over in the sidebar */
|
|
41
|
+
.add-doc-to-sidebar button:active:not(:disabled) {
|
|
42
|
+
scale: 0.97;
|
|
43
|
+
}
|
|
44
|
+
|
|
38
45
|
.add-doc-to-sidebar button:hover {
|
|
39
46
|
border-color: var(--add-doc-to-sidebar-border-hover);
|
|
40
47
|
background: var(--add-doc-to-sidebar-hover);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode('.chat-root{--bg-dark: var(--editor-fill, var(--studio-fill, oklch(.15 .03 270)));--bg-darkest: var(--editor-fill-offset-20, var(--studio-fill-offset-20, oklch(.12 .02 270)));--bg-mid: var(--editor-fill-offset-10, var(--studio-fill-offset-10, oklch(.19 .03 270)));--bg-input: var(--editor-fill, var(--studio-fill, oklch(.17 .03 270)));--bg-hover: var(--editor-fill-offset-20, var(--studio-fill-offset-20, oklch(.22 .04 270)));--border: var(--editor-fill-offset-20, var(--studio-fill-offset-20, oklch(.28 .05 270)));--accent: var(--studio-primary-fill, var(--studio-primary, oklch(.55 .18 270)));--accent-line: var(--studio-primary-line, var(--editor-fill, var(--studio-fill, oklch(1 0 0))));--accent-text: var(--studio-primary-text, var(--accent));--accent-hover: color-mix(in oklch, var(--accent), var(--studio-line, black) 18%);--accent-soft: color-mix(in oklch, var(--accent), transparent 85%);--accent-fg: var(--accent-line);--theme: var(--accent);--text-primary: var(--studio-line, oklch(1 0 0));--text-secondary: var(--studio-line-offset-30, oklch(1 0 0 / .6));--text-muted: var(--studio-line-offset-50, oklch(1 0 0 / .4));--link: var(--studio-link-text, var(--studio-link, oklch(.75 .15 250)))}.chat-root{display:flex;flex-direction:row;position:absolute;inset:0;font-family:var(--studio-family-sans, system-ui,-apple-system,sans-serif);background:var(--bg-dark);color:var(--text-primary);box-sizing:border-box;font-size:var(--studio-font-size, 15px);overflow:hidden;user-select:text;-webkit-user-select:text;height:100%}.chat-context-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--text-secondary, #888);font-family:var(--studio-family-sans, system-ui,-apple-system,sans-serif);font-size:var(--studio-font-size, 15px)}.chat-root *,.chat-root *:before,.chat-root *:after{box-sizing:border-box}.chat-root a{color:var(--link);text-decoration:underline}.chat-root a:hover{text-decoration:none}.chat-theme-btn{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:16px;padding:2px 6px;border-radius:4px;position:relative}.chat-theme-btn:hover,.chat-notify-btn:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-notify-btn{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);padding:2px 4px;border-radius:4px;display:flex;align-items:center;position:relative}.chat-notify-menu{display:none;position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;padding:8px;min-width:180px;z-index:var(--studio-layer-dropdown, 200)}.chat-notify-menu.show{display:block;transform-origin:top right;transition:opacity max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1)),transform max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1))}@starting-style{.chat-notify-menu.show{opacity:0;transform:scale(.97)}}.chat-notify-menu-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 4px;font-size:13px;color:var(--text-secondary);cursor:var(--studio-cursor-pointer, pointer);border-radius:4px}.chat-notify-menu-row:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-notify-toggle{width:32px;height:18px;border-radius:9px;border:none;cursor:var(--studio-cursor-pointer, pointer);background:var(--bg-hover);position:relative;transition:background max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));flex-shrink:0}.chat-notify-toggle.on{background:var(--accent)}.chat-notify-toggle:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.chat-notify-toggle.on:after{transform:translate(14px)}.chat-presence-bar{padding:4px 16px;background:var(--bg-darkest);border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);display:flex;gap:8px;align-items:center;flex-shrink:0;min-height:24px;position:relative;z-index:50;overflow:visible}.chat-presence-user{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);transition:opacity max(1ms,calc(.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.chat-presence-user.away{opacity:.9}.chat-presence-avatar{width:18px;height:18px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-muted)}.chat-presence-avatar img{width:100%;height:100%;object-fit:cover}.chat-messages{flex:1;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column;min-height:0;height:100%;overflow:scroll}.chat-msg-group{padding:2px 16px;display:flex;gap:12px;position:relative}.chat-msg-group:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-avatar-col{width:40px;flex-shrink:0;padding-top:2px}.chat-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--accent-fg);overflow:hidden;cursor:var(--studio-cursor-pointer, pointer);position:relative;user-select:none}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-avatar-view{display:block;width:100%;height:100%}.chat-avatar-view img{width:100%;height:100%;object-fit:cover}.chat-avatar.gif-selfie,.chat-avatar.gif-selfie img{border-radius:4px}.chat-avatar.cat-ears:before{content:"";position:absolute;top:-6px;left:2px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid var(--accent);z-index:2}.chat-avatar.cat-ears:after{content:"";position:absolute;top:-6px;right:2px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid var(--accent);z-index:2}.chat-msg-body{flex:1;min-width:0}.chat-msg-header{display:flex;align-items:baseline;gap:8px}.chat-msg-name{font-weight:600;font-size:15px;color:var(--text-primary);cursor:var(--studio-cursor-pointer, pointer)}.chat-msg-name:hover{text-decoration:underline}.chat-msg-time{font-size:11px;color:var(--text-muted)}.chat-msg-text{color:var(--text-primary);line-height:1.45;margin-top:2px;white-space:pre-wrap;word-wrap:break-word}.chat-msg-text.emoji-only{font-size:2em;line-height:1.2}.chat-quick-replies{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chat-quick-reply{font:inherit;font-size:.9em;cursor:var(--studio-cursor-pointer, pointer);padding:4px 10px;border-radius:var(--studio-radius-round, 999px);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--accent-line, currentColor);background:transparent;color:var(--accent-text, var(--text-primary))}.chat-quick-reply:hover:not(:disabled){background:var(--accent);color:var(--accent-fg)}.chat-quick-reply:disabled{opacity:var(--studio-disabled-opacity, .5);cursor:var(--studio-cursor-default, default)}.chat-msg-text.emoji-only .chat-emoticon-inline{height:2em}.chat-msg-text code:not(.shiki code):not(.chat-code-block code){background:var(--bg-hover);padding:1px 4px;border-radius:3px;font-family:ui-monospace,monospace;font-size:.9em}.chat-msg-text a{color:var(--link);text-decoration:underline}.chat-msg-text a:hover{text-decoration:none}.chat-msg-text.streaming:after{content:"";display:inline-block;width:6px;height:1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;border-radius:1px;animation:blink-cursor .8s step-end infinite}.chat-msg-text.streaming:empty:after{content:"";width:auto;height:auto;background:none;animation:none}.chat-msg-text.streaming:empty:before{content:"• • •";letter-spacing:2px;color:var(--text-muted);font-size:18px;animation:thinking-dots 1.4s ease-in-out infinite}@keyframes thinking-dots{0%,to{opacity:.3}50%{opacity:1}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.chat-streaming-cancel{margin-top:4px;padding:2px 10px;border-radius:4px;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);background:var(--bg-hover);color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:11px}.chat-streaming-cancel:hover{color:var(--text-primary);background:var(--bg-mid)}.chat-spoiler{background:var(--text-primary);color:transparent;border-radius:3px;padding:0 3px;cursor:var(--studio-cursor-pointer, pointer);transition:all max(1ms,calc(.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.chat-spoiler.revealed{background:var(--bg-hover);color:var(--text-primary)}.chat-inverted{background:var(--text-primary);color:var(--bg-dark);padding:0 3px;border-radius:3px}.chat-underline-em{text-decoration:underline;font-style:italic}.chat-msg-action{padding:4px 16px;font-style:italic;color:var(--text-secondary);font-size:14px;position:relative}.chat-msg-action:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-msg-action .chat-msg-action-name{font-weight:600;color:var(--text-primary)}.chat-time-gap{margin-top:16px}.chat-input-wrap{position:relative;flex:1;min-width:0}.chat-input-wrap .cm-editor{background:transparent}.chat-input-wrap .cm-editor .cm-content,.chat-input-wrap .cm-editor .cm-scroller{max-height:120px}.chat-msg-continuation{padding:0 16px 0 68px;position:relative}.chat-msg-continuation.has-gif{padding-left:16px;display:flex;gap:12px;align-items:flex-start}.chat-msg-continuation:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-msg-inline-time{font-size:10px;color:var(--text-muted);position:absolute;top:100%;right:0;white-space:nowrap;margin-top:2px;pointer-events:none}.chat-msg-gif-inline{width:40px;height:40px;border-radius:4px;object-fit:cover;border:none;display:block;margin-right:6px;flex-shrink:0}.chat-msg-reply-ref{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);margin-bottom:2px;padding-left:36px;cursor:var(--studio-cursor-pointer, pointer);position:relative}.chat-msg-reply-ref:before{content:"";position:absolute;left:20px;top:50%;width:12px;height:12px;border-left:2px solid var(--border);border-top:2px solid var(--border);border-radius:6px 0 0;transform:translateY(-20%)}.chat-msg-reply-ref:hover{color:var(--text-primary)}.chat-msg-reply-ref-avatar{width:16px;height:16px;border-radius:50%;overflow:hidden;flex-shrink:0}.chat-msg-reply-ref-avatar img{width:100%;height:100%;object-fit:cover}.chat-msg-reply-ref-name{font-weight:600;color:var(--text-primary)}.chat-msg-reply-ref-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.chat-msg-image-wrap{position:relative;display:inline-block;margin-top:4px;max-width:100%}.chat-msg-image{display:block;border-radius:8px;cursor:var(--studio-cursor-pointer, pointer);width:100%;height:100%;object-fit:cover}.chat-msg-embed{margin-top:6px;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;width:100%;height:300px;position:relative;background:var(--bg-surface);display:flex;flex-direction:column}.chat-msg-embed patchwork-view{width:100%;flex:1;min-height:0;display:block;overflow:hidden}.chat-msg-embed-title{padding:0 8px 0 0;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.chat-embed-infobar{display:flex;align-items:center;gap:4px;padding:3px 6px;background:var(--bg-darkest);border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);font-size:11px;overflow:hidden;flex-wrap:wrap}.chat-embed-pill{display:inline-flex;align-items:center;gap:3px;background:var(--bg-hover);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:10px;padding:1px 8px;font-size:10px;color:var(--text-secondary);white-space:nowrap;cursor:var(--studio-cursor-default, default);max-width:200px;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.chat-embed-pill.clickable{cursor:var(--studio-cursor-pointer, pointer)}.chat-embed-pill.clickable:hover{color:var(--text-primary);border-color:var(--accent-line);background:var(--bg-input)}.chat-embed-pill-label{opacity:.6;font-size:9px;text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .3px)}.chat-embed-tool-input{background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--accent-line);border-radius:10px;color:var(--text-primary);font-size:10px;padding:1px 8px;outline:none;width:120px}.chat-embed-tool-menu{position:absolute;top:100%;left:0;z-index:20;background:var(--bg-surface);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:6px;padding:2px;box-shadow:0 2px 8px #0000004d;white-space:nowrap;min-width:140px;max-height:200px;overflow-y:auto}.chat-embed-tool-menu button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text-secondary);font-size:11px;padding:4px 8px;cursor:var(--studio-cursor-pointer, pointer);border-radius:4px}.chat-embed-tool-menu button:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-embed-tool-menu button.active{color:var(--accent-text);font-weight:600}.chat-embed-tool-menu .tool-menu-input-row{display:flex;gap:4px;padding:4px;border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);margin-top:2px}.chat-embed-tool-menu .tool-menu-input-row input{flex:1;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);font-size:10px;padding:2px 6px;outline:none;min-width:0}.chat-embed-tool-menu .tool-menu-input-row input:focus{border-color:var(--accent-line)}.chat-embed-url-menu{position:absolute;top:100%;left:0;z-index:20;background:var(--bg-surface);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:6px;padding:2px;box-shadow:0 2px 8px #0000004d;white-space:nowrap}.chat-embed-url-menu button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text-secondary);font-size:11px;padding:4px 10px;cursor:var(--studio-cursor-pointer, pointer);border-radius:4px}.chat-embed-url-menu button:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-resize-handle{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));z-index:5}.chat-msg-image-wrap:hover .chat-resize-handle,.chat-msg-embed:hover .chat-resize-handle{opacity:.6}.chat-resize-handle:hover{opacity:1!important}.chat-resize-handle svg{width:10px;height:10px;color:var(--text-muted)}.chat-rich-blocks{display:flex;flex-direction:column;gap:4px;margin-top:6px}.chat-rich-block{border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:6px;overflow:hidden;background:var(--bg-darkest);font-size:13px}.chat-rich-block-header{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:var(--studio-cursor-pointer, pointer);border:none;background:transparent;color:var(--text-secondary);width:100%;text-align:left;font-size:12px;font-family:monospace}.chat-rich-block-header:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-rich-block-chevron{transition:transform max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));flex-shrink:0}.chat-rich-block.open .chat-rich-block-chevron{transform:rotate(90deg)}.chat-rich-block-label{opacity:.8}.chat-rich-block-body{border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);max-height:400px;overflow:auto}.chat-rich-block-code{margin:0;font-size:12px;line-height:1.5}.chat-rich-block-code pre{margin:0;padding:10px;overflow-x:auto}.chat-rich-block-code code{font-family:monospace;white-space:pre}.chat-rich-block-result-label{font-size:11px;color:var(--text-muted);padding:6px 10px 2px;text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .5px);border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border)}.shiki{margin:0!important;padding:10px 12px!important;font-size:13px!important;line-height:1.5!important;overflow-x:auto;border-radius:6px}.shiki code{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace!important}.chat-code-block{background:var(--bg-darkest);border:none;border-radius:6px;padding:0;margin:6px 0;overflow-x:auto;font-size:13px;line-height:1.5}.chat-code-block code{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;white-space:pre;display:block;padding:10px 12px}.chat-msg-text .shiki{border-radius:6px;border:none;margin:6px 0}.chat-msg-text .shiki code{white-space:pre;display:block}.chat-rich-block-code .shiki{margin:0;border-radius:0}.chat-think-block{background:var(--bg-darkest);border-radius:6px;margin:6px 0;font-size:13px;overflow:hidden}.chat-think-block summary{cursor:var(--studio-cursor-pointer, pointer);padding:5px 10px;color:var(--text-secondary);font-family:ui-monospace,monospace;font-size:12px;user-select:none;list-style:none}.chat-think-block summary:before{content:"▶ ";display:inline;font-size:10px}.chat-think-block[open] summary:before{content:"▼ "}.chat-think-block summary:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-think-content{padding:8px 12px;white-space:pre-wrap;color:var(--text-secondary);font-family:ui-monospace,monospace;border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--bg-hover);max-height:300px;overflow-y:auto}.chat-voice-note{display:flex;align-items:center;gap:8px;margin-top:4px;padding:8px 12px;background:var(--bg-darkest);border-radius:8px;max-width:300px;flex-wrap:wrap}.chat-voice-transcription{width:100%;font-size:13px;color:var(--text-secondary);font-style:italic;padding-left:2px;margin-top:2px}.chat-voice-transcribing{opacity:.5;animation:chat-pulse 1.5s ease-in-out infinite}@keyframes chat-pulse{0%,to{opacity:.5}50%{opacity:.3}}.chat-voice-transcribe-btn{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:var(--studio-cursor-pointer, pointer);padding:2px 4px;opacity:.6;font-style:italic}.chat-voice-transcribe-btn:hover{opacity:1;text-decoration:underline}.chat-voice-play-btn{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-fg);border:none;font-size:14px;cursor:var(--studio-cursor-pointer, pointer);display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-voice-play-btn:hover{background:var(--accent-hover)}.chat-voice-waveform{flex:1;height:24px;display:flex;align-items:center;gap:2px}.chat-voice-bar{width:3px;background:var(--accent);border-radius:2px;min-height:3px}.chat-voice-duration{font-size:12px;color:var(--text-muted);flex-shrink:0}.chat-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.chat-reaction{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:8px;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);background:var(--bg-dark);font-size:15px;cursor:var(--studio-cursor-pointer, pointer);user-select:none;transition:all max(1ms,calc(.1s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.chat-reaction:hover{border-color:var(--accent-line);background:var(--studio-hover-fill, var(--bg-hover))}.chat-reaction.mine{border-color:var(--accent-line);background:var(--accent-soft)}.chat-reaction-count{font-size:12px;color:var(--text-secondary);font-weight:500}.chat-reaction-add{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:1px dashed var(--border);background:transparent;font-size:16px;cursor:var(--studio-cursor-pointer, pointer);color:var(--text-muted);transition:all max(1ms,calc(.1s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.chat-reaction-add:hover{border-color:var(--accent-line);color:var(--text-primary);background:var(--studio-hover-fill, var(--bg-hover))}.chat-emoticon-tooltip{position:absolute;z-index:200;pointer-events:none;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;padding:8px 12px;box-shadow:0 4px 16px #0000004d;display:none;flex-direction:column;align-items:center;gap:4px;max-width:200px}.chat-emoticon-tooltip.show{display:flex;pointer-events:auto}.chat-emoticon-tooltip-preview{font-size:48px;line-height:1}.chat-emoticon-tooltip-preview img{width:48px;height:48px;object-fit:contain}.chat-emoticon-tooltip-name{font-size:12px;color:var(--text-muted)}.chat-emoticon-tooltip-names{font-size:11px;color:var(--text-secondary);text-align:center}.chat-emoticon-tooltip-adopt{background:var(--accent);color:var(--accent-fg);border:none;cursor:var(--studio-cursor-pointer, pointer);font-size:11px;padding:2px 10px;border-radius:4px;font-weight:600}.chat-emoticon-tooltip-adopt:hover{opacity:.85}.chat-msg-actions{position:absolute;top:-14px;right:16px;display:none;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;z-index:10}.chat-msg-group:hover .chat-msg-actions,.chat-msg-continuation:hover .chat-msg-actions,.chat-msg-action:hover .chat-msg-actions{display:flex}.chat-msg-action-btn{background:none;border:none;color:var(--text-secondary);padding:6px 8px;cursor:var(--studio-cursor-pointer, pointer);font-size:16px}.chat-msg-action-btn:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-emoji-picker-overlay{position:fixed;inset:0;z-index:100;display:none}.chat-emoji-picker-overlay.show{display:block}.chat-emoji-picker{position:absolute;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;padding:8px;box-shadow:0 4px 20px #0000004d;z-index:101;max-width:280px;width:280px;display:flex;flex-direction:column;max-height:320px}.chat-emoji-picker-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1}.chat-emoji-grid{display:flex;flex-wrap:wrap;gap:2px}.chat-emoji-grid button{background:none;border:none;font-size:22px;cursor:var(--studio-cursor-pointer, pointer);padding:4px;border-radius:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.chat-emoji-grid button:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-emoji-active{background:var(--accent)!important;outline:2px solid var(--accent-line);outline-offset:-2px;opacity:.8}.chat-emoji-picker-search{width:100%;padding:6px 10px;background:var(--bg-input);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;margin-bottom:6px;outline:none;flex-shrink:0}.chat-emoji-picker-search:focus{border-color:var(--accent-line)}.chat-emoticon-section{border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);padding-bottom:6px;margin-bottom:6px}.chat-emoticon-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .5px)}.chat-emoticon-section-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .5px);margin:6px 0 4px;padding:0 2px}.chat-emoticon-btn{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:4px;cursor:var(--studio-cursor-pointer, pointer);padding:2px}.chat-emoticon-btn:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-emoticon-img{width:28px;height:28px;object-fit:contain}.chat-emoticon-add-btn{background:none;border:1px dashed var(--border);color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:11px;padding:2px 8px;border-radius:4px}.chat-emoticon-add-btn:hover{border-color:var(--accent-line);color:var(--text-primary)}.chat-emoticon-grid{display:flex;flex-wrap:wrap;gap:2px}.chat-emoticon-grid button{background:none;border:none;cursor:var(--studio-cursor-pointer, pointer);padding:2px;border-radius:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;position:relative}.chat-emoticon-grid button:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-emoticon-grid button img{width:28px;height:28px;object-fit:contain}.chat-emoticon-adopt{position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--accent);color:var(--accent-fg);border:none;cursor:var(--studio-cursor-pointer, pointer);font-size:10px;display:none;align-items:center;justify-content:center;line-height:1}.chat-emoticon-grid button:hover .chat-emoticon-adopt{display:flex}.chat-emoticon-remove{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:var(--bg-hover);color:var(--text-muted);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);cursor:var(--studio-cursor-pointer, pointer);font-size:10px;display:none;align-items:center;justify-content:center;line-height:1}.chat-emoticon-grid button:hover .chat-emoticon-remove{display:flex}.chat-emoticon-remove:hover{background:#ed4245!important;color:#fff!important;border-color:#ed4245!important}.chat-emoticon-remove.confirm{background:#ed4245;color:#fff;border-color:#ed4245;display:flex}.chat-emoticon-inline{height:1.5em;vertical-align:middle;display:inline}.chat-emoticon-dialog{padding:8px;display:flex;flex-direction:column;gap:8px}.chat-emoticon-dialog input[type=text]{width:100%;padding:6px 10px;background:var(--bg-input);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;outline:none}.chat-emoticon-dialog input[type=text]:focus{border-color:var(--accent-line)}.chat-emoticon-dialog-preview{width:80px;height:80px;border-radius:4px;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;overflow:hidden;align-self:center;color:var(--text-muted);font-size:24px}.chat-emoticon-dialog-preview:hover{background:var(--bg-input);border:1px dashed var(--border)}.chat-emoticon-dialog-preview img{width:100%;height:100%;object-fit:contain}.chat-emoticon-dialog-counter{font-size:11px;color:var(--text-muted);text-align:center}.chat-emoticon-dialog-btns{display:flex;gap:6px;justify-content:flex-end}.chat-emoticon-dialog-btns button{padding:4px 12px;border-radius:4px;font-size:13px;cursor:var(--studio-cursor-pointer, pointer);border:none}.chat-emoticon-dialog .cancel-btn{background:var(--bg-hover);color:var(--text-primary)}.chat-emoticon-dialog .save-btn{background:var(--accent);color:var(--accent-fg);font-weight:600}.chat-emoticon-dialog .save-btn:disabled{opacity:var(--studio-disabled-opacity, .5);cursor:var(--studio-cursor-default, default)}.chat-font-dialog{padding:8px;display:flex;flex-direction:column;gap:8px}.chat-font-dialog input[type=text]{width:100%;padding:6px 10px;background:var(--bg-input);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;outline:none}.chat-font-dialog input[type=text]:focus{border-color:var(--accent-line)}.chat-font-dialog-preview{padding:10px;border-radius:4px;background:var(--bg-hover);text-align:center;font-size:18px;color:var(--text-primary);min-height:48px;display:flex;align-items:center;justify-content:center}.chat-font-dialog-filebtn{background:none;border:1px dashed var(--border);color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:13px;padding:6px 12px;border-radius:4px;text-align:center}.chat-font-dialog-filebtn:hover{border-color:var(--accent-line);color:var(--text-primary)}.chat-font-dialog-btns{display:flex;gap:6px;justify-content:flex-end}.chat-font-dialog-btns button{padding:4px 12px;border-radius:4px;font-size:13px;cursor:var(--studio-cursor-pointer, pointer);border:none}.chat-font-dialog .cancel-btn{background:var(--bg-hover);color:var(--text-primary)}.chat-font-dialog .save-btn{background:var(--accent);color:var(--accent-fg);font-weight:600}.chat-font-dialog .save-btn:disabled{opacity:var(--studio-disabled-opacity, .5);cursor:var(--studio-cursor-default, default)}.chat-font-list{display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto;overscroll-behavior:contain}.chat-font-list-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:4px;font-size:13px;color:var(--text-primary)}.chat-font-list-item:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-font-list-item .font-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-font-list-remove{width:18px;height:18px;border-radius:50%;background:var(--bg-hover);color:var(--text-muted);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);cursor:var(--studio-cursor-pointer, pointer);font-size:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-font-list-remove:hover,.chat-font-list-remove.confirm{background:#ed4245;color:#fff;border-color:#ed4245}.chat-msg-menu-wrap{position:relative}.chat-msg-menu{display:none;position:absolute;top:100%;right:0;margin-top:2px;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:6px;padding:4px 0;min-width:120px;z-index:20;box-shadow:0 4px 12px #0000004d}.chat-msg-menu.show{display:block}.chat-msg-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;background:none;border:none;color:var(--text-primary);font-size:13px;cursor:var(--studio-cursor-pointer, pointer);text-align:left}.chat-msg-menu-item:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-msg-menu-item.danger{color:#ed4245}.chat-msg-menu-item.danger:hover{background:#ed42451a}.chat-typing-bar{padding:0 16px;min-height:22px;font-size:12px;color:var(--text-muted);font-style:italic;flex-shrink:0}.chat-llm-status{padding:0 16px;min-height:22px;font-size:12px;color:var(--text-muted);font-style:italic;flex-shrink:0;font-family:monospace}.chat-stop-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;background:var(--bg-mid);color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:var(--studio-cursor-pointer, pointer);font-style:normal}.chat-stop-btn:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-input-wrapper{flex-shrink:0;padding:0 16px 16px;position:relative}.chat-autocomplete{display:none;position:absolute;bottom:100%;left:0;right:0;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;max-height:200px;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -4px 16px #0000004d;z-index:50;margin-bottom:4px}.chat-autocomplete.show{display:block}.chat-autocomplete-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:var(--studio-cursor-pointer, pointer);font-size:14px;color:var(--text-primary)}.chat-autocomplete-item:hover,.chat-autocomplete-item.active{background:var(--bg-hover)}.chat-autocomplete-item-emoji{font-size:20px;width:28px;text-align:center;flex-shrink:0}.chat-autocomplete-item-emoji img{width:24px;height:24px;object-fit:contain}.chat-autocomplete-item-name{color:var(--text-secondary);font-size:12px}.chat-autocomplete-item-desc{color:var(--text-muted);font-size:11px;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}.chat-autocomplete-item-cmd{font-weight:600;font-size:14px;color:var(--text-primary);min-width:0}.chat-autocomplete-pop{position:fixed;z-index:50;min-width:200px;max-width:340px;max-height:200px;overflow-y:auto;overscroll-behavior:contain;background:var(--editor-fill, Canvas);color:var(--editor-line, currentColor);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;box-shadow:0 4px 16px #0000004d}.chat-autocomplete-item-icon{width:20px;height:20px;flex-shrink:0;color:var(--text-muted)}.chat-reply-bar{display:none;padding:8px 12px;background:var(--bg-mid);border-radius:8px 8px 0 0;border-left:3px solid var(--accent-line);align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.chat-reply-bar.show{display:flex}.chat-reply-bar-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-reply-bar-close{background:none;border:none;font-size:16px;cursor:var(--studio-cursor-pointer, pointer);color:var(--text-secondary)}.chat-reply-bar-close:hover{color:var(--text-primary)}.chat-paste-preview{display:none;padding:8px 12px;background:var(--bg-mid);align-items:center;gap:8px;flex-wrap:wrap}.chat-paste-preview.show{display:flex}.chat-paste-preview img{max-height:50px;border-radius:4px}.chat-paste-preview video{max-height:50px;border-radius:4px}.chat-paste-preview-close{background:none;border:none;font-size:16px;cursor:var(--studio-cursor-pointer, pointer);color:var(--text-secondary);margin-left:auto}.chat-paste-file{display:flex;align-items:center;gap:6px;background:var(--bg-hover);border-radius:6px;padding:4px 8px;font-size:12px;color:var(--text-secondary);max-width:200px}.chat-paste-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-paste-file-remove{background:none;border:none;cursor:var(--studio-cursor-pointer, pointer);color:var(--text-secondary);padding:0;display:flex;align-items:center}.chat-paste-file-remove:hover{color:var(--text-primary)}.chat-paste-embed{display:flex;align-items:center;gap:6px;background:var(--bg-hover);border-radius:6px;padding:4px 8px;font-size:12px;color:var(--text-secondary);max-width:200px}.chat-paste-embed-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-selection-chip{display:inline-flex;align-items:center;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--bg-hover);color:var(--text-secondary);border-radius:6px;padding:2px 8px;margin:0 4px;font-size:12px}.chat-paste-embed-remove{background:none;border:none;cursor:var(--studio-cursor-pointer, pointer);color:var(--text-secondary);padding:0;display:flex;align-items:center}.chat-paste-embed-remove:hover{color:var(--text-primary)}.chat-sidebar-pinned-wrap{position:relative}.chat-sidebar-pinned-wrap[data-drop-position=above]:before{content:"";position:absolute;top:-2px;left:4px;right:4px;height:2px;background:var(--accent);border-radius:1px;z-index:10}.chat-sidebar-pinned-wrap[data-drop-position=below]:after{content:"";position:absolute;bottom:-2px;left:4px;right:4px;height:2px;background:var(--accent);border-radius:1px;z-index:10}.chat-sidebar-pinned-wrap.dragging{opacity:.4}.chat-drop-overlay{display:none;position:absolute;inset:0;z-index:100;background:color-mix(in oklch,var(--theme) 20%,black 60%);align-items:center;justify-content:center;font-size:18px;color:var(--text-primary);font-weight:600;border:3px dashed var(--accent-line);border-radius:12px;pointer-events:none}.chat-drop-overlay.show{display:flex}.chat-msg-video-wrap{max-width:350px;border-radius:8px;overflow:hidden;margin-top:4px;position:relative}.chat-msg-video{width:100%;display:block;border-radius:8px;cursor:var(--studio-cursor-pointer, pointer)}.chat-lightbox{display:none;position:absolute;inset:0;z-index:200;background:#000000d9;align-items:center;justify-content:center;cursor:zoom-out}.chat-lightbox.show{display:flex}.chat-lightbox img,.chat-lightbox video{max-width:95%;max-height:95%;object-fit:contain;border-radius:4px;cursor:var(--studio-cursor-default, default)}.chat-lightbox video{background:#000}.chat-msg-file{display:inline-flex;align-items:center;gap:6px;background:var(--bg-hover);border-radius:6px;padding:6px 10px;margin-top:4px;font-size:13px;color:var(--text-secondary);cursor:var(--studio-cursor-pointer, pointer);text-decoration:none}.chat-msg-file:hover{background:var(--bg-input);color:var(--text-primary)}.chat-msg-file-icon{flex-shrink:0}.chat-input-row{display:flex;gap:0;background:var(--bg-mid);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;padding:3px;align-items:flex-end}.chat-input{width:100%;padding:8px 12px;border:none;font-size:15px;outline:none;background:transparent;color:var(--text-primary);font-family:inherit;resize:none;max-height:120px;min-height:24px;line-height:1.4;position:relative;z-index:1}.chat-input::placeholder{color:var(--text-muted)}.chat-input-btn{width:36px;height:36px;background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-input-btn:hover{color:var(--text-primary)}.chat-input-btn.recording{color:#ed4245;animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.chat-recording-bar{display:flex;align-items:center;gap:10px;background:var(--bg-input);border-radius:8px;padding:8px 12px;animation:fadeIn max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease}.chat-recording-overlay{position:absolute;inset:0;z-index:3}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.chat-recording-dot{width:10px;height:10px;border-radius:50%;background:#ed4245;flex-shrink:0;animation:recPulse 1s ease-in-out infinite}@keyframes recPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.chat-recording-time{font-size:14px;color:var(--text-primary);font-variant-numeric:tabular-nums;min-width:40px}.chat-recording-viz{flex:1;height:24px;display:flex;align-items:center;gap:2px;overflow:hidden}.chat-recording-viz-bar{width:3px;border-radius:2px;background:var(--accent);min-height:3px;transition:height var(--studio-transition-fast, .1s ease)}.chat-recording-cancel{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:13px;padding:4px 10px;border-radius:4px}.chat-recording-cancel:hover{color:var(--text-primary);background:var(--studio-hover-fill, var(--bg-hover))}.chat-recording-send{background:var(--accent);color:var(--accent-fg);border:none;cursor:var(--studio-cursor-pointer, pointer);padding:6px 14px;border-radius:6px;font-size:13px;font-weight:600}.chat-recording-send:hover{background:var(--accent-hover)}.chat-gif-toggle{width:36px;height:36px;border:none;cursor:var(--studio-cursor-pointer, pointer);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:none;color:var(--text-muted);font-size:20px;position:relative;overflow:hidden}.chat-gif-toggle:hover{color:var(--text-primary)}.chat-gif-toggle.active{color:var(--accent-text)}.chat-gif-toggle video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:4px;display:none}.chat-gif-toggle.active video{display:block}.chat-gif-toggle.active .chat-gif-icon{display:none}.chat-gif-toggle.recording{pointer-events:none;position:relative;overflow:visible}.chat-gif-progress{position:absolute;top:-10px;left:-10px;width:calc(100% + 20px);height:calc(100% + 20px);z-index:20;pointer-events:none}.chat-gif-progress circle.chat-gif-progress-bg{fill:none;stroke:#00000026;stroke-width:2}.chat-gif-progress circle.chat-gif-progress-fg{fill:none;stroke:var(--accent-line);stroke-width:2;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset max(1ms,calc(.1s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) linear}.chat-input-row.processing .chat-input,.chat-input-row.processing .chat-input-wrap,.chat-input-row.processing .chat-input-btn{opacity:.5;pointer-events:none}.chat-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:16px}@keyframes chat-skeleton-pulse{0%,to{opacity:.3}50%{opacity:.6}}.chat-msg-loading{opacity:.5}.chat-skeleton{background:var(--bg-hover);animation:chat-skeleton-pulse 1.5s ease-in-out infinite}.chat-skeleton-line{height:14px;background:var(--bg-hover);border-radius:4px;margin:4px 0;animation:chat-skeleton-pulse 1.5s ease-in-out infinite;width:60%}.chat-skeleton-line.short{width:30%}.chat-main{display:flex;flex-direction:column;flex:1;min-width:0;position:relative;height:100%}.chat-sidebar{display:none;flex-direction:column;width:40%;min-width:15%;border-left:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);background:var(--bg-darkest);overflow:hidden;position:relative}.chat-sidebar.visible{display:flex}.chat-sidebar.drop-target{display:flex;min-width:60px;width:60px;align-items:center;justify-content:center;border:2px dashed var(--accent-line);background:color-mix(in oklch,var(--accent) 10%,var(--bg-darkest))}.chat-sidebar.drop-target:after{content:"Pin";font-size:11px;color:var(--accent-text);font-weight:600;pointer-events:none}.chat-sidebar.visible.drop-target{width:40%;min-width:15%}.chat-sidebar.visible.drop-target:after{display:none}.chat-sidebar.collapsed{width:0!important;min-width:0!important;border-left:none;overflow:hidden}.chat-root.sidebar-left{flex-direction:row-reverse}.chat-root.sidebar-left .chat-sidebar{border-left:none;border-right:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border)}.chat-root.sidebar-left .chat-sidebar-resize{left:auto;right:-3px}.chat-sidebar-resize{position:absolute;left:-3px;top:0;bottom:0;width:6px;cursor:var(--studio-cursor-resize-col, col-resize);z-index:10}.chat-sidebar-resize:hover,.chat-sidebar-resize.dragging{background:var(--accent);opacity:.3}.chat-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);flex-shrink:0}.chat-sidebar-header-title{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .5px)}.chat-sidebar-collapse-btn{background:none;border:none;cursor:var(--studio-cursor-pointer, pointer);padding:2px 4px;color:var(--text-muted);display:flex;align-items:center}.chat-sidebar-collapse-btn:hover{color:var(--text-primary)}.chat-sidebar-pinned{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:0;padding:4px}.chat-sidebar-pinned:empty{display:none}.chat-sidebar-pinned-wrap{position:relative;display:flex;flex-direction:column;flex:1;min-height:200px;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:6px;overflow:hidden;margin-bottom:4px;background:var(--bg-mid)}.chat-sidebar-pinned-toolbar{position:absolute;top:4px;right:4px;z-index:10;display:flex;gap:2px;opacity:0;transition:opacity max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));pointer-events:auto}.chat-sidebar-pinned-wrap:hover .chat-sidebar-pinned-toolbar{opacity:1}.chat-sidebar-pinned-toolbar button{background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);padding:2px 4px;font-size:10px;display:flex;align-items:center;gap:2px;line-height:1}.chat-sidebar-pinned-toolbar button:hover{color:var(--text-primary);background:var(--bg-mid)}.chat-sidebar-pinned-toolbar button svg{width:12px;height:12px}.chat-sidebar-pinned iframe{width:100%;flex:1;border:none;border-radius:4px;min-height:200px;background:var(--bg-mid)}.chat-sidebar-pinned-info{background:var(--bg-darkest);border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);font-size:11px;color:var(--text-secondary)}.chat-sidebar-pinned-info-main{display:flex;align-items:center;gap:4px;padding:3px 8px;cursor:var(--studio-cursor-pointer, pointer)}.chat-sidebar-pinned-info-main:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-sidebar-pinned-info-title{flex:1;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.chat-sidebar-pinned-info-chevron{font-size:10px;transition:transform max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));flex-shrink:0}.chat-sidebar-pinned-info-chevron.open{transform:rotate(90deg)}.chat-sidebar-pinned-info-details{padding:2px 8px 4px}.chat-sidebar-pinned-info-row{display:flex;align-items:center;gap:4px;padding:1px 0}.chat-sidebar-pinned-info-label{color:var(--text-muted);font-size:10px;min-width:24px;flex-shrink:0}.chat-sidebar-pinned-info-value{font-family:monospace;font-size:10px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-sidebar-pinned-info-url{cursor:var(--studio-cursor-pointer, pointer)}.chat-sidebar-pinned-info-url:hover{color:var(--text-primary);text-decoration:underline}.chat-sidebar-pinned-info-editable{cursor:var(--studio-cursor-pointer, pointer);border-bottom:1px dashed var(--text-muted)}.chat-sidebar-pinned-info-editable:hover{color:var(--text-primary)}.chat-sidebar-pinned-info-input{font-family:monospace;font-size:10px;background:var(--bg-input);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:3px;color:var(--text-primary);padding:1px 4px;flex:1;min-width:0}.chat-sidebar-pinned-resize-handle{height:6px;cursor:var(--studio-cursor-resize-row, row-resize);flex-shrink:0;background:transparent;position:relative}.chat-sidebar-pinned-resize-handle:after{content:"";position:absolute;left:20%;right:20%;top:2px;height:2px;border-radius:1px;background:var(--border);opacity:0;transition:opacity max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.chat-sidebar-pinned-resize-handle:hover:after,.chat-sidebar-pinned-resize-handle.active:after{opacity:1}.chat-sidebar-pinned-resize-handle.active:after{background:var(--accent)}.chat-sidebar-status{padding:4px 8px;font-size:11px;color:var(--text-muted);text-align:center}.chat-sidebar-toggle-btn{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);padding:2px 4px;border-radius:4px;display:flex;align-items:center}.chat-sidebar-toggle-btn:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-embed-pin{cursor:var(--studio-cursor-pointer, pointer)}.chat-embed-pin.pinned{color:var(--accent-text)}.chat-msg-name-computer{color:var(--accent-text);font-style:italic}.chat-avatar.computer{background:var(--accent-soft);overflow:hidden}.chat-avatar.computer img{width:100%;height:100%;object-fit:cover;display:block}.computer-presence img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.chat-dialog-overlay{position:fixed;inset:0;z-index:var(--studio-layer-overlay, 100);background:#00000080;display:flex;align-items:center;justify-content:center;animation:fadeIn max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease}.chat-emoticon-dialog,.chat-font-dialog{background:var(--bg-dark);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;min-width:300px;max-width:400px;box-shadow:0 8px 32px #0006}.chat-plugin-panel{background:var(--bg-dark);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;min-width:300px;max-width:420px;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.chat-plugin-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);font-size:14px;font-weight:600}.chat-plugin-panel-close{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:18px;line-height:1}.chat-plugin-panel-close:hover{color:var(--text-primary)}.chat-plugin-panel-body{padding:6px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.chat-plugin-section{font-size:11px;text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .04em);color:var(--text-muted);padding:10px 6px 4px}.chat-plugin-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:4px;cursor:var(--studio-cursor-pointer, pointer);font-size:13px;color:var(--text-primary)}.chat-plugin-item:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-plugin-item input{cursor:var(--studio-cursor-pointer, pointer)}.chat-plugin-item-locked,.chat-plugin-item-locked input{cursor:var(--studio-cursor-default, default)}.chat-plugin-item-locked{opacity:.55}.chat-plugin-item-locked:hover{background:none}.chat-plugin-id{margin-left:auto;font-family:ui-monospace,monospace;font-size:11px;color:var(--text-muted)}.chat-emoticon-dialog-header,.chat-font-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);font-size:14px;font-weight:600}.chat-emoticon-dialog-close,.chat-font-dialog-close{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:18px;line-height:1}.chat-emoticon-dialog-close:hover,.chat-font-dialog-close:hover{color:var(--text-primary)}.chat-emoticon-dialog-body,.chat-font-dialog-body{padding:12px;display:flex;flex-direction:column;gap:8px}.chat-emoticon-dialog-footer,.chat-font-dialog-footer{display:flex;gap:6px;justify-content:flex-end;padding:8px 12px;border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border)}.chat-emoticon-dialog-footer button,.chat-font-dialog-footer button{padding:6px 14px;border-radius:6px;font-size:13px;cursor:var(--studio-cursor-pointer, pointer);border:none}.chat-emoticon-dialog-save,.chat-font-dialog-save{background:var(--accent);color:var(--accent-fg);font-weight:600}.chat-emoticon-dialog-save:disabled,.chat-font-dialog-save:disabled{opacity:var(--studio-disabled-opacity, .5);cursor:var(--studio-cursor-default, default)}.chat-emoticon-dialog-save:not(:disabled):hover,.chat-font-dialog-save:not(:disabled):hover{background:var(--accent-hover)}.chat-emoticon-dialog-nav{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--text-muted)}.chat-emoticon-dialog-nav button{background:none;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);color:var(--text-secondary);cursor:var(--studio-cursor-pointer, pointer);padding:2px 8px;border-radius:4px;font-size:12px}.chat-emoticon-dialog-nav button:disabled{opacity:.4;cursor:var(--studio-cursor-default, default)}.chat-emoticon-dialog-nav button:not(:disabled):hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-emoticon-dialog-name,.chat-font-dialog-name{width:100%;padding:6px 10px;background:var(--bg-input);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;outline:none}.chat-emoticon-dialog-name:focus,.chat-font-dialog-name:focus{border-color:var(--accent-line)}.chat-font-dialog-list{display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto}.chat-font-dialog-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:4px;font-size:13px}.chat-font-dialog-item:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-font-dialog-remove{width:20px;height:20px;border-radius:50%;background:var(--bg-hover);color:var(--text-muted);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);cursor:var(--studio-cursor-pointer, pointer);font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-font-dialog-remove:hover{background:#ed4245;color:#fff;border-color:#ed4245}.chat-font-dialog-choose{background:none;border:1px dashed var(--border);color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:13px;padding:8px 12px;border-radius:4px;text-align:center;width:100%}.chat-font-dialog-choose:hover{border-color:var(--accent-line);color:var(--text-primary)}.chat-font-dialog-preview{padding:10px;border-radius:4px;background:var(--bg-hover);text-align:center;font-size:16px;color:var(--text-primary)}.chat-gif-toggle .chat-gif-progress{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);z-index:20;pointer-events:none}.chat-time-gap{text-align:center;color:var(--text-muted);font-size:11px;padding:8px 0 4px;position:relative}.chat-time-gap:before{content:"";position:absolute;left:20%;right:20%;top:50%;border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);z-index:0}.chat-time-gap span{position:relative;z-index:1;background:var(--bg-dark);padding:0 8px}.chat-model-dialog{background:var(--bg-mid);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;width:420px;max-width:90vw;padding:0;overflow:hidden}.chat-model-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);font-weight:600;font-size:14px}.chat-model-dialog-close{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:20px;padding:0 4px}.chat-model-dialog-close:hover{color:var(--text-primary)}.chat-model-dialog-tabs{display:flex;border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border)}.chat-model-dialog-tabs button{flex:1;background:none;border:none;color:var(--text-secondary);padding:8px 12px;cursor:var(--studio-cursor-pointer, pointer);font-size:13px;border-bottom:2px solid transparent}.chat-model-dialog-tabs button:hover{color:var(--text-primary)}.chat-model-dialog-tabs button.active{color:var(--accent-text);border-bottom-color:var(--accent-line)}.chat-model-dialog-body{padding:12px 16px;min-height:120px}.chat-model-dialog-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:10px}.chat-model-dialog-input{display:block;width:100%;margin-top:4px;padding:6px 8px;background:var(--bg-input);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);font-size:13px;outline:none}.chat-model-dialog-input:focus{border-color:var(--accent-line)}select.chat-model-dialog-input{flex:1}.chat-model-dialog-btn{background:var(--bg-hover);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);padding:6px 12px;cursor:var(--studio-cursor-pointer, pointer);font-size:13px}.chat-model-dialog-btn:hover{background:var(--accent-soft)}.chat-model-dialog-btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent-line)}.chat-model-dialog-btn.primary:hover{opacity:.9}.chat-model-dialog-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border)}@media (max-width: 600px){.chat-root,.chat-root.sidebar-left{flex-direction:column-reverse!important}.chat-sidebar{width:100%!important;min-width:0!important;border-left:none!important;border-right:none!important;border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);max-height:50%}.chat-sidebar.visible{max-height:50%}.chat-sidebar.drop-target{width:100%!important;min-width:0!important;height:60px}.chat-sidebar.visible.drop-target{width:100%!important}.chat-sidebar-resize{display:none}.chat-msg-group{padding:2px 10px;gap:8px}.chat-msg-continuation{padding:0 10px 0 48px}.chat-msg-continuation.has-gif{padding-left:10px}.chat-msg-action{padding:4px 10px}.chat-avatar-col{width:30px}.chat-avatar{width:30px;height:30px;font-size:14px}.chat-msg-gif-inline{width:30px;height:30px}.chat-presence-bar{padding:4px 10px;gap:6px;flex-wrap:wrap}.chat-input-wrapper{padding:0 8px 8px}.chat-input{padding:6px 8px;font-size:14px}.chat-input-btn,.chat-gif-toggle{width:32px;height:32px;font-size:18px}.chat-reply-bar{padding:6px 8px;font-size:12px}.chat-msg-reply-ref{padding-left:24px;font-size:12px}.chat-msg-reply-ref:before{left:12px}.chat-msg-reply-ref-text{max-width:180px}.chat-voice-note{max-width:100%}.chat-msg-embed{height:200px}.chat-msg-video-wrap,.chat-msg-image-wrap{max-width:100%}.chat-code-block code{font-size:12px}.shiki{font-size:12px!important}.chat-emoji-picker{max-width:260px;width:260px}.chat-emoticon-dialog,.chat-font-dialog{min-width:0;max-width:calc(100vw - 24px);width:calc(100vw - 24px)}.chat-model-dialog{width:calc(100vw - 24px)}.chat-autocomplete-item{padding:6px 8px;font-size:13px}.chat-typing-bar,.chat-llm-status{padding:0 10px}.chat-recording-bar{padding:6px 8px}.chat-sidebar-pinned-wrap{min-height:120px}.chat-sidebar-toggle-btn svg,.chat-sidebar-collapse-btn svg{transform:rotate(90deg)}.chat-time-gap:before{left:10%;right:10%}}')),document.head.appendChild(r)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('.chat-root{--bg-dark: var(--editor-fill, var(--studio-fill, oklch(.15 .03 270)));--bg-darkest: var(--editor-fill-offset-20, var(--studio-fill-offset-20, oklch(.12 .02 270)));--bg-mid: var(--editor-fill-offset-10, var(--studio-fill-offset-10, oklch(.19 .03 270)));--bg-input: var(--editor-fill, var(--studio-fill, oklch(.17 .03 270)));--bg-hover: var(--editor-fill-offset-20, var(--studio-fill-offset-20, oklch(.22 .04 270)));--border: var(--editor-fill-offset-20, var(--studio-fill-offset-20, oklch(.28 .05 270)));--accent: var(--studio-primary-fill, var(--studio-primary, oklch(.55 .18 270)));--accent-line: var(--studio-primary-line, var(--editor-fill, var(--studio-fill, oklch(1 0 0))));--accent-text: var(--studio-primary-text, var(--accent));--accent-hover: color-mix(in oklch, var(--accent), var(--studio-line, black) 18%);--accent-soft: color-mix(in oklch, var(--accent), transparent 85%);--accent-fg: var(--accent-line);--theme: var(--accent);--text-primary: var(--studio-line, oklch(1 0 0));--text-secondary: var(--studio-line-offset-30, oklch(1 0 0 / .6));--text-muted: var(--studio-line-offset-50, oklch(1 0 0 / .4));--link: var(--studio-link-text, var(--studio-link, oklch(.75 .15 250)))}.chat-root{display:flex;flex-direction:row;position:absolute;inset:0;font-family:var(--studio-family-sans, system-ui,-apple-system,sans-serif);background:var(--bg-dark);color:var(--text-primary);box-sizing:border-box;font-size:var(--studio-font-size, 15px);overflow:hidden;user-select:text;-webkit-user-select:text;height:100%}.chat-context-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--text-secondary, #888);font-family:var(--studio-family-sans, system-ui,-apple-system,sans-serif);font-size:var(--studio-font-size, 15px)}.chat-root *,.chat-root *:before,.chat-root *:after{box-sizing:border-box}.chat-root a{color:var(--link);text-decoration:underline}.chat-root a:hover{text-decoration:none}.chat-theme-btn{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:16px;padding:2px 6px;border-radius:4px;position:relative}.chat-theme-btn:hover,.chat-notify-btn:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-notify-btn{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);padding:2px 4px;border-radius:4px;display:flex;align-items:center;position:relative}.chat-notify-menu{display:none;position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;padding:8px;min-width:180px;z-index:var(--studio-layer-dropdown, 200)}.chat-notify-menu.show{display:block;transform-origin:top right;transition:opacity max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1)),transform max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1))}@starting-style{.chat-notify-menu.show{opacity:0;transform:scale(.97)}}.chat-notify-menu-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 4px;font-size:13px;color:var(--text-secondary);cursor:var(--studio-cursor-pointer, pointer);border-radius:4px}.chat-notify-menu-row:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-notify-toggle{width:32px;height:18px;border-radius:9px;border:none;cursor:var(--studio-cursor-pointer, pointer);background:var(--bg-hover);position:relative;transition:background max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));flex-shrink:0}.chat-notify-toggle.on{background:var(--accent)}.chat-notify-toggle:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.chat-notify-toggle.on:after{transform:translate(14px)}.chat-presence-bar{padding:4px 16px;background:var(--bg-darkest);border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);display:flex;gap:8px;align-items:center;flex-shrink:0;min-height:24px;position:relative;z-index:50;overflow:visible}.chat-presence-user{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);transition:opacity max(1ms,calc(.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.chat-presence-user.away{opacity:.9}.chat-presence-avatar{width:18px;height:18px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-muted)}.chat-presence-avatar img{width:100%;height:100%;object-fit:cover}.chat-messages{flex:1;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column;min-height:0;height:100%;overflow:scroll}.chat-msg-group{padding:2px 16px;display:flex;gap:12px;position:relative}.chat-msg-group:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-avatar-col{width:40px;flex-shrink:0;padding-top:2px}.chat-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--accent-fg);overflow:hidden;cursor:var(--studio-cursor-pointer, pointer);position:relative;user-select:none}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-avatar-view{display:block;width:100%;height:100%}.chat-avatar-view img{width:100%;height:100%;object-fit:cover}.chat-avatar.gif-selfie,.chat-avatar.gif-selfie img{border-radius:4px}.chat-avatar.cat-ears:before{content:"";position:absolute;top:-6px;left:2px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid var(--accent);z-index:2}.chat-avatar.cat-ears:after{content:"";position:absolute;top:-6px;right:2px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid var(--accent);z-index:2}.chat-msg-body{flex:1;min-width:0}.chat-msg-header{display:flex;align-items:baseline;gap:8px}.chat-msg-name{font-weight:600;font-size:15px;color:var(--text-primary);cursor:var(--studio-cursor-pointer, pointer)}.chat-msg-name:hover{text-decoration:underline}.chat-msg-time{font-size:11px;color:var(--text-muted)}.chat-msg-text{color:var(--text-primary);line-height:1.45;margin-top:2px;white-space:pre-wrap;word-wrap:break-word}.chat-msg-text.emoji-only{font-size:2em;line-height:1.2}.chat-quick-replies{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chat-quick-reply{font:inherit;font-size:.9em;cursor:var(--studio-cursor-pointer, pointer);padding:4px 10px;border-radius:var(--studio-radius-round, 999px);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--accent-line, currentColor);background:transparent;color:var(--accent-text, var(--text-primary))}.chat-quick-reply:hover:not(:disabled){background:var(--accent);color:var(--accent-fg)}.chat-quick-reply:disabled{opacity:var(--studio-disabled-opacity, .5);cursor:var(--studio-cursor-default, default)}.chat-msg-text.emoji-only .chat-emoticon-inline{height:2em}.chat-msg-text code:not(.shiki code):not(.chat-code-block code){background:var(--bg-hover);padding:1px 4px;border-radius:3px;font-family:ui-monospace,monospace;font-size:.9em}.chat-msg-text a{color:var(--link);text-decoration:underline}.chat-msg-text a:hover{text-decoration:none}.chat-msg-text.streaming:after{content:"";display:inline-block;width:6px;height:1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;border-radius:1px;animation:blink-cursor .8s step-end infinite}.chat-msg-text.streaming:empty:after{content:"";width:auto;height:auto;background:none;animation:none}.chat-msg-text.streaming:empty:before{content:"• • •";letter-spacing:2px;color:var(--text-muted);font-size:18px;animation:thinking-dots 1.4s ease-in-out infinite}@keyframes thinking-dots{0%,to{opacity:.3}50%{opacity:1}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.chat-streaming-cancel{margin-top:4px;padding:2px 10px;border-radius:4px;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);background:var(--bg-hover);color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:11px}.chat-streaming-cancel:hover{color:var(--text-primary);background:var(--bg-mid)}.chat-spoiler{background:var(--text-primary);color:transparent;border-radius:3px;padding:0 3px;cursor:var(--studio-cursor-pointer, pointer);transition:all max(1ms,calc(.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.chat-spoiler.revealed{background:var(--bg-hover);color:var(--text-primary)}.chat-inverted{background:var(--text-primary);color:var(--bg-dark);padding:0 3px;border-radius:3px}.chat-underline-em{text-decoration:underline;font-style:italic}.chat-msg-action{padding:4px 16px;font-style:italic;color:var(--text-secondary);font-size:14px;position:relative}.chat-msg-action:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-msg-action .chat-msg-action-name{font-weight:600;color:var(--text-primary)}.chat-time-gap{margin-top:16px}.chat-input-wrap{position:relative;flex:1;min-width:0}.chat-input-wrap .cm-editor{background:transparent}.chat-input-wrap .cm-editor .cm-content,.chat-input-wrap .cm-editor .cm-scroller{max-height:120px}.chat-msg-continuation{padding:0 16px 0 68px;position:relative}.chat-msg-continuation.has-gif{padding-left:16px;display:flex;gap:12px;align-items:flex-start}.chat-msg-continuation:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-msg-inline-time{font-size:10px;color:var(--text-muted);position:absolute;top:100%;right:0;white-space:nowrap;margin-top:2px;pointer-events:none}.chat-msg-gif-inline{width:40px;height:40px;border-radius:4px;object-fit:cover;border:none;display:block;margin-right:6px;flex-shrink:0}.chat-msg-reply-ref{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);margin-bottom:2px;padding-left:36px;cursor:var(--studio-cursor-pointer, pointer);position:relative}.chat-msg-reply-ref:before{content:"";position:absolute;left:20px;top:50%;width:12px;height:12px;border-left:2px solid var(--border);border-top:2px solid var(--border);border-radius:6px 0 0;transform:translateY(-20%)}.chat-msg-reply-ref:hover{color:var(--text-primary)}.chat-msg-reply-ref-avatar{width:16px;height:16px;border-radius:50%;overflow:hidden;flex-shrink:0}.chat-msg-reply-ref-avatar img{width:100%;height:100%;object-fit:cover}.chat-msg-reply-ref-name{font-weight:600;color:var(--text-primary)}.chat-msg-reply-ref-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.chat-msg-image-wrap{position:relative;display:inline-block;margin-top:4px;max-width:100%}.chat-msg-image{display:block;border-radius:8px;cursor:var(--studio-cursor-pointer, pointer);width:100%;height:100%;object-fit:cover}.chat-msg-embed{margin-top:6px;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;width:100%;height:300px;position:relative;background:var(--bg-surface);display:flex;flex-direction:column}.chat-msg-embed patchwork-view{width:100%;flex:1;min-height:0;display:block;overflow:hidden}.chat-msg-embed-title{padding:0 8px 0 0;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.chat-embed-infobar{display:flex;align-items:center;gap:4px;padding:3px 6px;background:var(--bg-darkest);border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);font-size:11px;overflow:hidden;flex-wrap:wrap}.chat-embed-pill{display:inline-flex;align-items:center;gap:3px;background:var(--bg-hover);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:10px;padding:1px 8px;font-size:10px;color:var(--text-secondary);white-space:nowrap;cursor:var(--studio-cursor-default, default);max-width:200px;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.chat-embed-pill.clickable{cursor:var(--studio-cursor-pointer, pointer)}.chat-embed-pill.clickable:hover{color:var(--text-primary);border-color:var(--accent-line);background:var(--bg-input)}.chat-embed-pill-label{opacity:.6;font-size:9px;text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .3px)}.chat-embed-tool-input{background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--accent-line);border-radius:10px;color:var(--text-primary);font-size:10px;padding:1px 8px;outline:none;width:120px}.chat-embed-tool-menu{position:absolute;top:100%;left:0;z-index:20;background:var(--bg-surface);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:6px;padding:2px;box-shadow:0 2px 8px #0000004d;white-space:nowrap;min-width:140px;max-height:200px;overflow-y:auto}.chat-embed-tool-menu button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text-secondary);font-size:11px;padding:4px 8px;cursor:var(--studio-cursor-pointer, pointer);border-radius:4px}.chat-embed-tool-menu button:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-embed-tool-menu button.active{color:var(--accent-text);font-weight:600}.chat-embed-tool-menu .tool-menu-input-row{display:flex;gap:4px;padding:4px;border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);margin-top:2px}.chat-embed-tool-menu .tool-menu-input-row input{flex:1;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);font-size:10px;padding:2px 6px;outline:none;min-width:0}.chat-embed-tool-menu .tool-menu-input-row input:focus{border-color:var(--accent-line)}.chat-embed-url-menu{position:absolute;top:100%;left:0;z-index:20;background:var(--bg-surface);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:6px;padding:2px;box-shadow:0 2px 8px #0000004d;white-space:nowrap}.chat-embed-url-menu button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text-secondary);font-size:11px;padding:4px 10px;cursor:var(--studio-cursor-pointer, pointer);border-radius:4px}.chat-embed-url-menu button:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-resize-handle{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));z-index:5}.chat-msg-image-wrap:hover .chat-resize-handle,.chat-msg-embed:hover .chat-resize-handle{opacity:.6}.chat-resize-handle:hover{opacity:1!important}.chat-resize-handle svg{width:10px;height:10px;color:var(--text-muted)}.chat-rich-blocks{display:flex;flex-direction:column;gap:4px;margin-top:6px}.chat-rich-block{border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:6px;overflow:hidden;background:var(--bg-darkest);font-size:13px}.chat-rich-block-header{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:var(--studio-cursor-pointer, pointer);border:none;background:transparent;color:var(--text-secondary);width:100%;text-align:left;font-size:12px;font-family:monospace}.chat-rich-block-header:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-rich-block-chevron{transition:transform max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));flex-shrink:0}.chat-rich-block.open .chat-rich-block-chevron{transform:rotate(90deg)}.chat-rich-block-label{opacity:.8}.chat-rich-block-body{border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);max-height:400px;overflow:auto}.chat-rich-block-code{margin:0;font-size:12px;line-height:1.5}.chat-rich-block-code pre{margin:0;padding:10px;overflow-x:auto}.chat-rich-block-code code{font-family:monospace;white-space:pre}.chat-rich-block-result-label{font-size:11px;color:var(--text-muted);padding:6px 10px 2px;text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .5px);border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border)}.shiki{margin:0!important;padding:10px 12px!important;font-size:13px!important;line-height:1.5!important;overflow-x:auto;border-radius:6px}.shiki code{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace!important}.chat-code-block{background:var(--bg-darkest);border:none;border-radius:6px;padding:0;margin:6px 0;overflow-x:auto;font-size:13px;line-height:1.5}.chat-code-block code{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;white-space:pre;display:block;padding:10px 12px}.chat-msg-text .shiki{border-radius:6px;border:none;margin:6px 0}.chat-msg-text .shiki code{white-space:pre;display:block}.chat-rich-block-code .shiki{margin:0;border-radius:0}.chat-think-block{background:var(--bg-darkest);border-radius:6px;margin:6px 0;font-size:13px;overflow:hidden}.chat-think-block summary{cursor:var(--studio-cursor-pointer, pointer);padding:5px 10px;color:var(--text-secondary);font-family:ui-monospace,monospace;font-size:12px;user-select:none;list-style:none}.chat-think-block summary:before{content:"▶ ";display:inline;font-size:10px}.chat-think-block[open] summary:before{content:"▼ "}.chat-think-block summary:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-think-content{padding:8px 12px;white-space:pre-wrap;color:var(--text-secondary);font-family:ui-monospace,monospace;border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--bg-hover);max-height:300px;overflow-y:auto}.chat-voice-note{display:flex;align-items:center;gap:8px;margin-top:4px;padding:8px 12px;background:var(--bg-darkest);border-radius:8px;max-width:300px;flex-wrap:wrap}.chat-voice-transcription{width:100%;font-size:13px;color:var(--text-secondary);font-style:italic;padding-left:2px;margin-top:2px}.chat-voice-transcribing{opacity:.5;animation:chat-pulse 1.5s ease-in-out infinite}@keyframes chat-pulse{0%,to{opacity:.5}50%{opacity:.3}}.chat-voice-transcribe-btn{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:var(--studio-cursor-pointer, pointer);padding:2px 4px;opacity:.6;font-style:italic}.chat-voice-transcribe-btn:hover{opacity:1;text-decoration:underline}.chat-voice-play-btn{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-fg);border:none;font-size:14px;cursor:var(--studio-cursor-pointer, pointer);display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-voice-play-btn:hover{background:var(--accent-hover)}.chat-voice-waveform{flex:1;height:24px;display:flex;align-items:center;gap:2px}.chat-voice-bar{width:3px;background:var(--accent);border-radius:2px;min-height:3px}.chat-voice-duration{font-size:12px;color:var(--text-muted);flex-shrink:0}.chat-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.chat-reaction{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:8px;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);background:var(--bg-dark);font-size:15px;cursor:var(--studio-cursor-pointer, pointer);user-select:none;transition:all max(1ms,calc(.1s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.chat-reaction:hover{border-color:var(--accent-line);background:var(--studio-hover-fill, var(--bg-hover))}.chat-reaction.mine{border-color:var(--accent-line);background:var(--accent-soft)}.chat-reaction-count{font-size:12px;color:var(--text-secondary);font-weight:500}.chat-reaction-add{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:1px dashed var(--border);background:transparent;font-size:16px;cursor:var(--studio-cursor-pointer, pointer);color:var(--text-muted);transition:all max(1ms,calc(.1s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.chat-reaction-add:hover{border-color:var(--accent-line);color:var(--text-primary);background:var(--studio-hover-fill, var(--bg-hover))}.chat-emoticon-tooltip{position:absolute;z-index:200;pointer-events:none;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;padding:8px 12px;box-shadow:0 4px 16px #0000004d;display:none;flex-direction:column;align-items:center;gap:4px;max-width:200px}.chat-emoticon-tooltip.show{display:flex;pointer-events:auto}.chat-emoticon-tooltip-preview{font-size:48px;line-height:1}.chat-emoticon-tooltip-preview img{width:48px;height:48px;object-fit:contain}.chat-emoticon-tooltip-name{font-size:12px;color:var(--text-muted)}.chat-emoticon-tooltip-names{font-size:11px;color:var(--text-secondary);text-align:center}.chat-emoticon-tooltip-adopt{background:var(--accent);color:var(--accent-fg);border:none;cursor:var(--studio-cursor-pointer, pointer);font-size:11px;padding:2px 10px;border-radius:4px;font-weight:600}.chat-emoticon-tooltip-adopt:hover{opacity:.85}.chat-msg-actions{position:absolute;top:-14px;right:16px;display:none;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;z-index:10}.chat-msg-group:hover .chat-msg-actions,.chat-msg-continuation:hover .chat-msg-actions,.chat-msg-action:hover .chat-msg-actions{display:flex}.chat-msg-action-btn{background:none;border:none;color:var(--text-secondary);padding:6px 8px;cursor:var(--studio-cursor-pointer, pointer);font-size:16px}.chat-msg-action-btn:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-emoji-picker-overlay{position:fixed;inset:0;z-index:100;display:none}.chat-emoji-picker-overlay.show{display:block}.chat-emoji-picker{position:absolute;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;padding:8px;box-shadow:0 4px 20px #0000004d;z-index:101;max-width:280px;width:280px;display:flex;flex-direction:column;max-height:320px}.chat-emoji-picker-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1}.chat-emoji-grid{display:flex;flex-wrap:wrap;gap:2px}.chat-emoji-grid button{background:none;border:none;font-size:22px;cursor:var(--studio-cursor-pointer, pointer);padding:4px;border-radius:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.chat-emoji-grid button:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-emoji-active{background:var(--accent)!important;outline:2px solid var(--accent-line);outline-offset:-2px;opacity:.8}.chat-emoji-picker-search{width:100%;padding:6px 10px;background:var(--bg-input);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;margin-bottom:6px;outline:none;flex-shrink:0}.chat-emoji-picker-search:focus{border-color:var(--accent-line)}.chat-emoticon-section{border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);padding-bottom:6px;margin-bottom:6px}.chat-emoticon-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .5px)}.chat-emoticon-section-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .5px);margin:6px 0 4px;padding:0 2px}.chat-emoticon-btn{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:4px;cursor:var(--studio-cursor-pointer, pointer);padding:2px}.chat-emoticon-btn:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-emoticon-img{width:28px;height:28px;object-fit:contain}.chat-emoticon-add-btn{background:none;border:1px dashed var(--border);color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:11px;padding:2px 8px;border-radius:4px}.chat-emoticon-add-btn:hover{border-color:var(--accent-line);color:var(--text-primary)}.chat-emoticon-grid{display:flex;flex-wrap:wrap;gap:2px}.chat-emoticon-grid button{background:none;border:none;cursor:var(--studio-cursor-pointer, pointer);padding:2px;border-radius:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;position:relative}.chat-emoticon-grid button:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-emoticon-grid button img{width:28px;height:28px;object-fit:contain}.chat-emoticon-adopt{position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--accent);color:var(--accent-fg);border:none;cursor:var(--studio-cursor-pointer, pointer);font-size:10px;display:none;align-items:center;justify-content:center;line-height:1}.chat-emoticon-grid button:hover .chat-emoticon-adopt{display:flex}.chat-emoticon-remove{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:var(--bg-hover);color:var(--text-muted);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);cursor:var(--studio-cursor-pointer, pointer);font-size:10px;display:none;align-items:center;justify-content:center;line-height:1}.chat-emoticon-grid button:hover .chat-emoticon-remove{display:flex}.chat-emoticon-remove:hover{background:#ed4245!important;color:#fff!important;border-color:#ed4245!important}.chat-emoticon-remove.confirm{background:#ed4245;color:#fff;border-color:#ed4245;display:flex}.chat-emoticon-inline{height:1.5em;vertical-align:middle;display:inline}.chat-emoticon-dialog{padding:8px;display:flex;flex-direction:column;gap:8px}.chat-emoticon-dialog input[type=text]{width:100%;padding:6px 10px;background:var(--bg-input);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;outline:none}.chat-emoticon-dialog input[type=text]:focus{border-color:var(--accent-line)}.chat-emoticon-dialog-preview{width:80px;height:80px;border-radius:4px;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;overflow:hidden;align-self:center;color:var(--text-muted);font-size:24px}.chat-emoticon-dialog-preview:hover{background:var(--bg-input);border:1px dashed var(--border)}.chat-emoticon-dialog-preview img{width:100%;height:100%;object-fit:contain}.chat-emoticon-dialog-counter{font-size:11px;color:var(--text-muted);text-align:center}.chat-emoticon-dialog-btns{display:flex;gap:6px;justify-content:flex-end}.chat-emoticon-dialog-btns button{padding:4px 12px;border-radius:4px;font-size:13px;cursor:var(--studio-cursor-pointer, pointer);border:none}.chat-emoticon-dialog .cancel-btn{background:var(--bg-hover);color:var(--text-primary)}.chat-emoticon-dialog .save-btn{background:var(--accent);color:var(--accent-fg);font-weight:600}.chat-emoticon-dialog .save-btn:disabled{opacity:var(--studio-disabled-opacity, .5);cursor:var(--studio-cursor-default, default)}.chat-font-dialog{padding:8px;display:flex;flex-direction:column;gap:8px}.chat-font-dialog input[type=text]{width:100%;padding:6px 10px;background:var(--bg-input);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;outline:none}.chat-font-dialog input[type=text]:focus{border-color:var(--accent-line)}.chat-font-dialog-preview{padding:10px;border-radius:4px;background:var(--bg-hover);text-align:center;font-size:18px;color:var(--text-primary);min-height:48px;display:flex;align-items:center;justify-content:center}.chat-font-dialog-filebtn{background:none;border:1px dashed var(--border);color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:13px;padding:6px 12px;border-radius:4px;text-align:center}.chat-font-dialog-filebtn:hover{border-color:var(--accent-line);color:var(--text-primary)}.chat-font-dialog-btns{display:flex;gap:6px;justify-content:flex-end}.chat-font-dialog-btns button{padding:4px 12px;border-radius:4px;font-size:13px;cursor:var(--studio-cursor-pointer, pointer);border:none}.chat-font-dialog .cancel-btn{background:var(--bg-hover);color:var(--text-primary)}.chat-font-dialog .save-btn{background:var(--accent);color:var(--accent-fg);font-weight:600}.chat-font-dialog .save-btn:disabled{opacity:var(--studio-disabled-opacity, .5);cursor:var(--studio-cursor-default, default)}.chat-font-list{display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto;overscroll-behavior:contain}.chat-font-list-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:4px;font-size:13px;color:var(--text-primary)}.chat-font-list-item:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-font-list-item .font-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-font-list-remove{width:18px;height:18px;border-radius:50%;background:var(--bg-hover);color:var(--text-muted);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);cursor:var(--studio-cursor-pointer, pointer);font-size:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-font-list-remove:hover,.chat-font-list-remove.confirm{background:#ed4245;color:#fff;border-color:#ed4245}.chat-msg-menu-wrap{position:relative}.chat-msg-menu{display:none;position:absolute;top:100%;right:0;margin-top:2px;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:6px;padding:4px 0;min-width:120px;z-index:20;box-shadow:0 4px 12px #0000004d}.chat-msg-menu.show{display:block}.chat-msg-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;background:none;border:none;color:var(--text-primary);font-size:13px;cursor:var(--studio-cursor-pointer, pointer);text-align:left}.chat-msg-menu-item:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-msg-menu-item.danger{color:#ed4245}.chat-msg-menu-item.danger:hover{background:#ed42451a}.chat-typing-bar{padding:0 16px;min-height:22px;font-size:12px;color:var(--text-muted);font-style:italic;flex-shrink:0}.chat-llm-status{padding:0 16px;min-height:22px;font-size:12px;color:var(--text-muted);font-style:italic;flex-shrink:0;font-family:monospace}.chat-stop-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;background:var(--bg-mid);color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:var(--studio-cursor-pointer, pointer);font-style:normal}.chat-stop-btn:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-input-wrapper{flex-shrink:0;padding:0 16px 16px;position:relative}.chat-autocomplete{display:none;position:absolute;bottom:100%;left:0;right:0;background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;max-height:200px;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -4px 16px #0000004d;z-index:50;margin-bottom:4px}.chat-autocomplete.show{display:block}.chat-autocomplete-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:var(--studio-cursor-pointer, pointer);font-size:14px;color:var(--text-primary)}.chat-autocomplete-item:hover,.chat-autocomplete-item.active{background:var(--bg-hover)}.chat-autocomplete-item-emoji{font-size:20px;width:28px;text-align:center;flex-shrink:0}.chat-autocomplete-item-emoji img{width:24px;height:24px;object-fit:contain}.chat-autocomplete-item-name{color:var(--text-secondary);font-size:12px}.chat-autocomplete-item-desc{color:var(--text-muted);font-size:11px;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}.chat-autocomplete-item-cmd{font-weight:600;font-size:14px;color:var(--text-primary);min-width:0}.chat-autocomplete-pop{position:fixed;z-index:50;min-width:200px;max-width:340px;max-height:200px;overflow-y:auto;overscroll-behavior:contain;background:var(--editor-fill, Canvas);color:var(--editor-line, currentColor);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;box-shadow:0 4px 16px #0000004d}.chat-autocomplete-item-icon{width:20px;height:20px;flex-shrink:0;color:var(--text-muted)}.chat-reply-bar{display:none;padding:8px 12px;background:var(--bg-mid);border-radius:8px 8px 0 0;border-left:3px solid var(--accent-line);align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.chat-reply-bar.show{display:flex}.chat-reply-bar-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-reply-bar-close{background:none;border:none;font-size:16px;cursor:var(--studio-cursor-pointer, pointer);color:var(--text-secondary)}.chat-reply-bar-close:hover{color:var(--text-primary)}.chat-paste-preview{display:none;padding:8px 12px;background:var(--bg-mid);align-items:center;gap:8px;flex-wrap:wrap}.chat-paste-preview.show{display:flex}.chat-paste-preview img{max-height:50px;border-radius:4px}.chat-paste-preview video{max-height:50px;border-radius:4px}.chat-paste-preview-close{background:none;border:none;font-size:16px;cursor:var(--studio-cursor-pointer, pointer);color:var(--text-secondary);margin-left:auto}.chat-paste-file{display:flex;align-items:center;gap:6px;background:var(--bg-hover);border-radius:6px;padding:4px 8px;font-size:12px;color:var(--text-secondary);max-width:200px}.chat-paste-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-paste-file-remove{background:none;border:none;cursor:var(--studio-cursor-pointer, pointer);color:var(--text-secondary);padding:0;display:flex;align-items:center}.chat-paste-file-remove:hover{color:var(--text-primary)}.chat-paste-embed{display:flex;align-items:center;gap:6px;background:var(--bg-hover);border-radius:6px;padding:4px 8px;font-size:12px;color:var(--text-secondary);max-width:200px}.chat-paste-embed-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-selection-chip{display:inline-flex;align-items:center;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--bg-hover);color:var(--text-secondary);border-radius:6px;padding:2px 8px;margin:0 4px;font-size:12px}.chat-paste-embed-remove{background:none;border:none;cursor:var(--studio-cursor-pointer, pointer);color:var(--text-secondary);padding:0;display:flex;align-items:center}.chat-paste-embed-remove:hover{color:var(--text-primary)}.chat-sidebar-pinned-wrap{position:relative}.chat-sidebar-pinned-wrap[data-drop-position=above]:before{content:"";position:absolute;top:-2px;left:4px;right:4px;height:2px;background:var(--accent);border-radius:1px;z-index:10}.chat-sidebar-pinned-wrap[data-drop-position=below]:after{content:"";position:absolute;bottom:-2px;left:4px;right:4px;height:2px;background:var(--accent);border-radius:1px;z-index:10}.chat-sidebar-pinned-wrap.dragging{opacity:.4}.chat-drop-overlay{display:none;position:absolute;inset:0;z-index:100;background:color-mix(in oklch,var(--theme) 20%,black 60%);align-items:center;justify-content:center;font-size:18px;color:var(--text-primary);font-weight:600;border:3px dashed var(--accent-line);border-radius:12px;pointer-events:none}.chat-drop-overlay.show{display:flex;transition:opacity max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1))}@starting-style{.chat-drop-overlay.show{opacity:0}}.chat-msg-video-wrap{max-width:350px;border-radius:8px;overflow:hidden;margin-top:4px;position:relative}.chat-msg-video{width:100%;display:block;border-radius:8px;cursor:var(--studio-cursor-pointer, pointer)}[data-msg-id]{position:relative}.chat-msg-highlight:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:4px;background:var(--accent-soft);animation:chat-msg-flash 1.5s var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1)) both}@keyframes chat-msg-flash{0%,40%{opacity:1}to{opacity:0}}.chat-lightbox{display:none;position:absolute;inset:0;z-index:200;background:#000000d9;align-items:center;justify-content:center;cursor:zoom-out}.chat-lightbox.show{display:flex;transition:opacity max(1ms,calc(.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1))}.chat-lightbox.show img,.chat-lightbox.show video{transition:opacity max(1ms,calc(.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1)),scale max(1ms,calc(.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1))}@starting-style{.chat-lightbox.show{opacity:0}.chat-lightbox.show img,.chat-lightbox.show video{opacity:0;scale:.96}}.chat-lightbox img,.chat-lightbox video{max-width:95%;max-height:95%;object-fit:contain;border-radius:4px;cursor:var(--studio-cursor-default, default)}.chat-lightbox video{background:#000}.chat-msg-file{display:inline-flex;align-items:center;gap:6px;background:var(--bg-hover);border-radius:6px;padding:6px 10px;margin-top:4px;font-size:13px;color:var(--text-secondary);cursor:var(--studio-cursor-pointer, pointer);text-decoration:none}.chat-msg-file:hover{background:var(--bg-input);color:var(--text-primary)}.chat-msg-file-icon{flex-shrink:0}.chat-input-row{display:flex;gap:0;background:var(--bg-mid);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;padding:3px;align-items:flex-end}.chat-input{width:100%;padding:8px 12px;border:none;font-size:15px;outline:none;background:transparent;color:var(--text-primary);font-family:inherit;resize:none;max-height:120px;min-height:24px;line-height:1.4;position:relative;z-index:1}.chat-input::placeholder{color:var(--text-muted)}.chat-input-btn{width:36px;height:36px;background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-input-btn:hover{color:var(--text-primary)}.chat-input-btn.recording{color:#ed4245;animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.chat-recording-bar{display:flex;align-items:center;gap:10px;background:var(--bg-input);border-radius:8px;padding:8px 12px;animation:fadeIn max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease}.chat-recording-overlay{position:absolute;inset:0;z-index:3}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.chat-recording-dot{width:10px;height:10px;border-radius:50%;background:#ed4245;flex-shrink:0;animation:recPulse 1s ease-in-out infinite}@keyframes recPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.chat-recording-time{font-size:14px;color:var(--text-primary);font-variant-numeric:tabular-nums;min-width:40px}.chat-recording-viz{flex:1;height:24px;display:flex;align-items:center;gap:2px;overflow:hidden}.chat-recording-viz-bar{width:3px;border-radius:2px;background:var(--accent);min-height:3px;transition:height var(--studio-transition-fast, .1s ease)}.chat-recording-cancel{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:13px;padding:4px 10px;border-radius:4px}.chat-recording-cancel:hover{color:var(--text-primary);background:var(--studio-hover-fill, var(--bg-hover))}.chat-recording-send{background:var(--accent);color:var(--accent-fg);border:none;cursor:var(--studio-cursor-pointer, pointer);padding:6px 14px;border-radius:6px;font-size:13px;font-weight:600}.chat-recording-send:hover{background:var(--accent-hover)}.chat-gif-toggle{width:36px;height:36px;border:none;cursor:var(--studio-cursor-pointer, pointer);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:none;color:var(--text-muted);font-size:20px;position:relative;overflow:hidden}.chat-gif-toggle:hover{color:var(--text-primary)}.chat-gif-toggle.active{color:var(--accent-text)}.chat-gif-toggle video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:4px;display:none}.chat-gif-toggle.active video{display:block}.chat-gif-toggle.active .chat-gif-icon{display:none}.chat-gif-toggle.recording{pointer-events:none;position:relative;overflow:visible}.chat-gif-progress{position:absolute;top:-10px;left:-10px;width:calc(100% + 20px);height:calc(100% + 20px);z-index:20;pointer-events:none}.chat-gif-progress circle.chat-gif-progress-bg{fill:none;stroke:#00000026;stroke-width:2}.chat-gif-progress circle.chat-gif-progress-fg{fill:none;stroke:var(--accent-line);stroke-width:2;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset max(1ms,calc(.1s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) linear}.chat-input-row.processing .chat-input,.chat-input-row.processing .chat-input-wrap,.chat-input-row.processing .chat-input-btn{opacity:.5;pointer-events:none}.chat-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:16px}@keyframes chat-skeleton-pulse{0%,to{opacity:.3}50%{opacity:.6}}.chat-msg-loading{opacity:.5}.chat-skeleton{background:var(--bg-hover);animation:chat-skeleton-pulse 1.5s ease-in-out infinite}.chat-skeleton-line{height:14px;background:var(--bg-hover);border-radius:4px;margin:4px 0;animation:chat-skeleton-pulse 1.5s ease-in-out infinite;width:60%}.chat-skeleton-line.short{width:30%}.chat-main{display:flex;flex-direction:column;flex:1;min-width:0;position:relative;height:100%}.chat-sidebar{display:none;flex-direction:column;width:40%;min-width:15%;border-left:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);background:var(--bg-darkest);overflow:hidden;position:relative}.chat-sidebar.visible{display:flex}.chat-sidebar.drop-target{display:flex;min-width:60px;width:60px;align-items:center;justify-content:center;border:2px dashed var(--accent-line);background:color-mix(in oklch,var(--accent) 10%,var(--bg-darkest))}.chat-sidebar.drop-target:after{content:"Pin";font-size:11px;color:var(--accent-text);font-weight:600;pointer-events:none}.chat-sidebar.visible.drop-target{width:40%;min-width:15%}.chat-sidebar.visible.drop-target:after{display:none}.chat-sidebar.collapsed{width:0!important;min-width:0!important;border-left:none;overflow:hidden}.chat-root.sidebar-left{flex-direction:row-reverse}.chat-root.sidebar-left .chat-sidebar{border-left:none;border-right:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border)}.chat-root.sidebar-left .chat-sidebar-resize{left:auto;right:-3px}.chat-sidebar-resize{position:absolute;left:-3px;top:0;bottom:0;width:6px;cursor:var(--studio-cursor-resize-col, col-resize);z-index:10}.chat-sidebar-resize:hover,.chat-sidebar-resize.dragging{background:var(--accent);opacity:.3}.chat-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);flex-shrink:0}.chat-sidebar-header-title{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .5px)}.chat-sidebar-collapse-btn{background:none;border:none;cursor:var(--studio-cursor-pointer, pointer);padding:2px 4px;color:var(--text-muted);display:flex;align-items:center}.chat-sidebar-collapse-btn:hover{color:var(--text-primary)}.chat-sidebar-pinned{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:0;padding:4px}.chat-sidebar-pinned:empty{display:none}.chat-sidebar-pinned-wrap{position:relative;display:flex;flex-direction:column;flex:1;min-height:200px;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:6px;overflow:hidden;margin-bottom:4px;background:var(--bg-mid)}.chat-sidebar-pinned-toolbar{position:absolute;top:4px;right:4px;z-index:10;display:flex;gap:2px;opacity:0;transition:opacity max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));pointer-events:auto}.chat-sidebar-pinned-wrap:hover .chat-sidebar-pinned-toolbar{opacity:1}.chat-sidebar-pinned-toolbar button{background:var(--bg-darkest);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);padding:2px 4px;font-size:10px;display:flex;align-items:center;gap:2px;line-height:1}.chat-sidebar-pinned-toolbar button:hover{color:var(--text-primary);background:var(--bg-mid)}.chat-sidebar-pinned-toolbar button svg{width:12px;height:12px}.chat-sidebar-pinned iframe{width:100%;flex:1;border:none;border-radius:4px;min-height:200px;background:var(--bg-mid)}.chat-sidebar-pinned-info{background:var(--bg-darkest);border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);font-size:11px;color:var(--text-secondary)}.chat-sidebar-pinned-info-main{display:flex;align-items:center;gap:4px;padding:3px 8px;cursor:var(--studio-cursor-pointer, pointer)}.chat-sidebar-pinned-info-main:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-sidebar-pinned-info-title{flex:1;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.chat-sidebar-pinned-info-chevron{font-size:10px;transition:transform max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));flex-shrink:0}.chat-sidebar-pinned-info-chevron.open{transform:rotate(90deg)}.chat-sidebar-pinned-info-details{padding:2px 8px 4px}.chat-sidebar-pinned-info-row{display:flex;align-items:center;gap:4px;padding:1px 0}.chat-sidebar-pinned-info-label{color:var(--text-muted);font-size:10px;min-width:24px;flex-shrink:0}.chat-sidebar-pinned-info-value{font-family:monospace;font-size:10px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-sidebar-pinned-info-url{cursor:var(--studio-cursor-pointer, pointer)}.chat-sidebar-pinned-info-url:hover{color:var(--text-primary);text-decoration:underline}.chat-sidebar-pinned-info-editable{cursor:var(--studio-cursor-pointer, pointer);border-bottom:1px dashed var(--text-muted)}.chat-sidebar-pinned-info-editable:hover{color:var(--text-primary)}.chat-sidebar-pinned-info-input{font-family:monospace;font-size:10px;background:var(--bg-input);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:3px;color:var(--text-primary);padding:1px 4px;flex:1;min-width:0}.chat-sidebar-pinned-resize-handle{height:6px;cursor:var(--studio-cursor-resize-row, row-resize);flex-shrink:0;background:transparent;position:relative}.chat-sidebar-pinned-resize-handle:after{content:"";position:absolute;left:20%;right:20%;top:2px;height:2px;border-radius:1px;background:var(--border);opacity:0;transition:opacity max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.chat-sidebar-pinned-resize-handle:hover:after,.chat-sidebar-pinned-resize-handle.active:after{opacity:1}.chat-sidebar-pinned-resize-handle.active:after{background:var(--accent)}.chat-sidebar-status{padding:4px 8px;font-size:11px;color:var(--text-muted);text-align:center}.chat-sidebar-toggle-btn{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);padding:2px 4px;border-radius:4px;display:flex;align-items:center}.chat-sidebar-toggle-btn:hover{background:var(--studio-hover-fill, var(--bg-hover));color:var(--text-primary)}.chat-embed-pin{cursor:var(--studio-cursor-pointer, pointer)}.chat-embed-pin.pinned{color:var(--accent-text)}.chat-msg-name-computer{color:var(--accent-text);font-style:italic}.chat-avatar.computer{background:var(--accent-soft);overflow:hidden}.chat-avatar.computer img{width:100%;height:100%;object-fit:cover;display:block}.computer-presence img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.chat-dialog-overlay{position:fixed;inset:0;z-index:var(--studio-layer-overlay, 100);background:#00000080;display:flex;align-items:center;justify-content:center;animation:fadeIn max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease}.chat-emoticon-dialog,.chat-font-dialog{background:var(--bg-dark);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;min-width:300px;max-width:400px;box-shadow:0 8px 32px #0006}.chat-plugin-panel{background:var(--bg-dark);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;min-width:300px;max-width:420px;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.chat-plugin-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);font-size:14px;font-weight:600}.chat-plugin-panel-close{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:18px;line-height:1}.chat-plugin-panel-close:hover{color:var(--text-primary)}.chat-plugin-panel-body{padding:6px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.chat-plugin-section{font-size:11px;text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .04em);color:var(--text-muted);padding:10px 6px 4px}.chat-plugin-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:4px;cursor:var(--studio-cursor-pointer, pointer);font-size:13px;color:var(--text-primary)}.chat-plugin-item:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-plugin-item input{cursor:var(--studio-cursor-pointer, pointer)}.chat-plugin-item-locked,.chat-plugin-item-locked input{cursor:var(--studio-cursor-default, default)}.chat-plugin-item-locked{opacity:.55}.chat-plugin-item-locked:hover{background:none}.chat-plugin-id{margin-left:auto;font-family:ui-monospace,monospace;font-size:11px;color:var(--text-muted)}.chat-emoticon-dialog-header,.chat-font-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);font-size:14px;font-weight:600}.chat-emoticon-dialog-close,.chat-font-dialog-close{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:18px;line-height:1}.chat-emoticon-dialog-close:hover,.chat-font-dialog-close:hover{color:var(--text-primary)}.chat-emoticon-dialog-body,.chat-font-dialog-body{padding:12px;display:flex;flex-direction:column;gap:8px}.chat-emoticon-dialog-footer,.chat-font-dialog-footer{display:flex;gap:6px;justify-content:flex-end;padding:8px 12px;border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border)}.chat-emoticon-dialog-footer button,.chat-font-dialog-footer button{padding:6px 14px;border-radius:6px;font-size:13px;cursor:var(--studio-cursor-pointer, pointer);border:none}.chat-emoticon-dialog-save,.chat-font-dialog-save{background:var(--accent);color:var(--accent-fg);font-weight:600}.chat-emoticon-dialog-save:disabled,.chat-font-dialog-save:disabled{opacity:var(--studio-disabled-opacity, .5);cursor:var(--studio-cursor-default, default)}.chat-emoticon-dialog-save:not(:disabled):hover,.chat-font-dialog-save:not(:disabled):hover{background:var(--accent-hover)}.chat-emoticon-dialog-nav{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--text-muted)}.chat-emoticon-dialog-nav button{background:none;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);color:var(--text-secondary);cursor:var(--studio-cursor-pointer, pointer);padding:2px 8px;border-radius:4px;font-size:12px}.chat-emoticon-dialog-nav button:disabled{opacity:.4;cursor:var(--studio-cursor-default, default)}.chat-emoticon-dialog-nav button:not(:disabled):hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-emoticon-dialog-name,.chat-font-dialog-name{width:100%;padding:6px 10px;background:var(--bg-input);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;outline:none}.chat-emoticon-dialog-name:focus,.chat-font-dialog-name:focus{border-color:var(--accent-line)}.chat-font-dialog-list{display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto}.chat-font-dialog-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:4px;font-size:13px}.chat-font-dialog-item:hover{background:var(--studio-hover-fill, var(--bg-hover))}.chat-font-dialog-remove{width:20px;height:20px;border-radius:50%;background:var(--bg-hover);color:var(--text-muted);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);cursor:var(--studio-cursor-pointer, pointer);font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-font-dialog-remove:hover{background:#ed4245;color:#fff;border-color:#ed4245}.chat-font-dialog-choose{background:none;border:1px dashed var(--border);color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:13px;padding:8px 12px;border-radius:4px;text-align:center;width:100%}.chat-font-dialog-choose:hover{border-color:var(--accent-line);color:var(--text-primary)}.chat-font-dialog-preview{padding:10px;border-radius:4px;background:var(--bg-hover);text-align:center;font-size:16px;color:var(--text-primary)}.chat-gif-toggle .chat-gif-progress{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);z-index:20;pointer-events:none}.chat-time-gap{text-align:center;color:var(--text-muted);font-size:11px;padding:8px 0 4px;position:relative}.chat-time-gap:before{content:"";position:absolute;left:20%;right:20%;top:50%;border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);z-index:0}.chat-time-gap span{position:relative;z-index:1;background:var(--bg-dark);padding:0 8px}.chat-model-dialog{background:var(--bg-mid);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:8px;width:420px;max-width:90vw;padding:0;overflow:hidden}.chat-model-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);font-weight:600;font-size:14px}.chat-model-dialog-close{background:none;border:none;color:var(--text-muted);cursor:var(--studio-cursor-pointer, pointer);font-size:20px;padding:0 4px}.chat-model-dialog-close:hover{color:var(--text-primary)}.chat-model-dialog-tabs{display:flex;border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border)}.chat-model-dialog-tabs button{flex:1;background:none;border:none;color:var(--text-secondary);padding:8px 12px;cursor:var(--studio-cursor-pointer, pointer);font-size:13px;border-bottom:2px solid transparent}.chat-model-dialog-tabs button:hover{color:var(--text-primary)}.chat-model-dialog-tabs button.active{color:var(--accent-text);border-bottom-color:var(--accent-line)}.chat-model-dialog-body{padding:12px 16px;min-height:120px}.chat-model-dialog-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:10px}.chat-model-dialog-input{display:block;width:100%;margin-top:4px;padding:6px 8px;background:var(--bg-input);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);font-size:13px;outline:none}.chat-model-dialog-input:focus{border-color:var(--accent-line)}select.chat-model-dialog-input{flex:1}.chat-model-dialog-btn{background:var(--bg-hover);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);border-radius:4px;color:var(--text-primary);padding:6px 12px;cursor:var(--studio-cursor-pointer, pointer);font-size:13px}.chat-model-dialog-btn:hover{background:var(--accent-soft)}.chat-model-dialog-btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent-line)}.chat-model-dialog-btn.primary:hover{opacity:.9}.chat-model-dialog-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border)}@media (max-width: 600px){.chat-root,.chat-root.sidebar-left{flex-direction:column-reverse!important}.chat-sidebar{width:100%!important;min-width:0!important;border-left:none!important;border-right:none!important;border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--border);max-height:50%}.chat-sidebar.visible{max-height:50%}.chat-sidebar.drop-target{width:100%!important;min-width:0!important;height:60px}.chat-sidebar.visible.drop-target{width:100%!important}.chat-sidebar-resize{display:none}.chat-msg-group{padding:2px 10px;gap:8px}.chat-msg-continuation{padding:0 10px 0 48px}.chat-msg-continuation.has-gif{padding-left:10px}.chat-msg-action{padding:4px 10px}.chat-avatar-col{width:30px}.chat-avatar{width:30px;height:30px;font-size:14px}.chat-msg-gif-inline{width:30px;height:30px}.chat-presence-bar{padding:4px 10px;gap:6px;flex-wrap:wrap}.chat-input-wrapper{padding:0 8px 8px}.chat-input{padding:6px 8px;font-size:14px}.chat-input-btn,.chat-gif-toggle{width:32px;height:32px;font-size:18px}.chat-reply-bar{padding:6px 8px;font-size:12px}.chat-msg-reply-ref{padding-left:24px;font-size:12px}.chat-msg-reply-ref:before{left:12px}.chat-msg-reply-ref-text{max-width:180px}.chat-voice-note{max-width:100%}.chat-msg-embed{height:200px}.chat-msg-video-wrap,.chat-msg-image-wrap{max-width:100%}.chat-code-block code{font-size:12px}.shiki{font-size:12px!important}.chat-emoji-picker{max-width:260px;width:260px}.chat-emoticon-dialog,.chat-font-dialog{min-width:0;max-width:calc(100vw - 24px);width:calc(100vw - 24px)}.chat-model-dialog{width:calc(100vw - 24px)}.chat-autocomplete-item{padding:6px 8px;font-size:13px}.chat-typing-bar,.chat-llm-status{padding:0 10px}.chat-recording-bar{padding:6px 8px}.chat-sidebar-pinned-wrap{min-height:120px}.chat-sidebar-toggle-btn svg,.chat-sidebar-collapse-btn svg{transform:rotate(90deg)}.chat-time-gap:before{left:10%;right:10%}}')),document.head.appendChild(e)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
|
|
2
2
|
import { p as r } from "./index-CQ0mHlc4.js";
|
|
3
3
|
export {
|
|
4
4
|
r as plugins
|