@jacshuo/onyx 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- 'use strict';var react=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),marked=require('marked'),jsxRuntime=require('react/jsx-runtime');function u(...r){return tailwindMerge.twMerge(clsx.clsx(r))}var j='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="2" y1="2" x2="22" y2="22"/><path d="M10.41 10.41a2 2 0 1 1-2.83-2.83"/><line x1="13.5" y1="6" x2="18" y2="6"/><line x1="6" y1="2" x2="14" y2="10"/><path d="M4 6h1.5"/><path d="M2 18.5C2 19.9 3.1 21 4.5 21H16"/><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/></svg>';function x(r){return r.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function J(r){return r.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi,"").replace(/\s+on[a-z][a-z0-9]*\s*=\s*(?:"[^"]*"|'[^']*'|[^\s/>]*)/gi,"").replace(/\b(href|src|action)\s*=\s*["']\s*(?:javascript|vbscript)\s*:[^"'>]*/gi,'$1="#"').replace(/\bhref\s*=\s*["']\s*data\s*:[^"'>]*/gi,'href="#"')}var F=new marked.Marked;F.use({renderer:{image({href:r,title:e,text:c}){let I=/^https?:\/\//i.test(r??"")?r:"",f=c?` alt="${x(c)}"`:' alt=""',p=e?` title="${x(e)}"`:"",i=x(c||"Image failed to load");return `<figure class="tw-rich-img-wrap"><img class="tw-rich-img" src="${x(I)}" loading="lazy"${f}${p} /><div class="tw-rich-img-error">`+j+`<span>${i}</span></div></figure>`}}});function B(r){let e=F.parse(r,{async:false});return J(e)}function K({text:r="",mode:e="typewriter",speed:c=40,cursor:I=true,cursorChar:f="\u258B",thinking:p=false,streaming:i=false,delay:C=0,onComplete:S,as:_="span",className:H,rich:E=false}){let[y,m]=react.useState(e==="instant"?r:""),[v,a]=react.useState(false),[L,s]=react.useState(e==="instant"),[A,h]=react.useState(false),z=react.useRef(null),k=react.useRef(0),R=react.useRef(S);R.current=S;let b=react.useRef(r);b.current=r,react.useEffect(()=>{if(e!=="typewriter")return;if(m(""),s(false),h(false),a(false),!r){s(true);return}let l=Math.max(10,1e3/c),t=0,o,n=()=>{a(true),o=setInterval(()=>{let D=b.current;t++,m(D.slice(0,t)),t>=D.length&&(clearInterval(o),a(false),s(true),R.current?.());},l);},d;return C>0?d=setTimeout(n,C):n(),()=>{clearTimeout(d),clearInterval(o);}},[r,e]),react.useEffect(()=>{if(e!=="stream")return;if(r.length===0){k.current=0,m(""),a(false),s(false),h(false);return}if(r.length<=k.current)return;let l=Math.max(10,1e3/c),t=k.current;a(true),s(false),h(false);let o=setInterval(()=>{t++,k.current=t,m(b.current.slice(0,t)),t>=b.current.length&&(clearInterval(o),a(false),R.current?.());},l);return ()=>clearInterval(o)},[r,e]),react.useEffect(()=>{e==="instant"&&(m(r),a(false),s(true));},[r,e]);let P=react.useRef(i);react.useEffect(()=>{let l=P.current;if(P.current=i,l&&!i&&!v&&e==="stream"){h(true);let t=setTimeout(()=>{h(false),s(true);},650);return ()=>clearTimeout(t)}},[i,v,e]),react.useEffect(()=>{if(!E||!z.current)return;let t=Array.from(z.current.querySelectorAll(".tw-rich-img")).map(o=>{let n=()=>{let d=o.closest(".tw-rich-img-wrap");d&&d.classList.add("tw-rich-img-wrap--error");};return o.addEventListener("error",n,{once:true}),{img:o,onError:n}});return ()=>{t.forEach(({img:o,onError:n})=>o.removeEventListener("error",n));}},[y,E]);let $=I&&(p||v||A||e==="stream"&&i&&!L||e==="typewriter"&&!L),q=p?"tw-cursor--blink":v?"tw-cursor--solid":A?"tw-cursor--out":"tw-cursor--blink",G=_;return E?jsxRuntime.jsxs("div",{role:"region",className:u(H),children:[jsxRuntime.jsx("div",{ref:z,className:"tw-rich-prose",dangerouslySetInnerHTML:{__html:B(y)}}),$&&jsxRuntime.jsx("span",{className:u("tw-cursor",q),"aria-hidden":"true",children:f})]}):jsxRuntime.jsxs(G,{className:u(H),children:[p&&!y&&jsxRuntime.jsx("span",{"aria-hidden":"true",children:"\u200B"}),y,$&&jsxRuntime.jsx("span",{className:u("tw-cursor",q),"aria-hidden":"true",children:f})]})}
1
+ 'use strict';var react=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),marked=require('marked'),jsxRuntime=require('react/jsx-runtime');function u(...r){return tailwindMerge.twMerge(clsx.clsx(r))}var j='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="2" y1="2" x2="22" y2="22"/><path d="M10.41 10.41a2 2 0 1 1-2.83-2.83"/><line x1="13.5" y1="6" x2="18" y2="6"/><line x1="6" y1="2" x2="14" y2="10"/><path d="M4 6h1.5"/><path d="M2 18.5C2 19.9 3.1 21 4.5 21H16"/><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/></svg>';function x(r){return r.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function J(r){return r.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi,"").replace(/\s+on[a-z][a-z0-9]*\s*=\s*(?:"[^"]*"|'[^']*'|[^\s/>]*)/gi,"").replace(/\b(href|src|action)\s*=\s*["']\s*(?:javascript|vbscript)\s*:[^"'>]*/gi,'$1="#"').replace(/\bhref\s*=\s*["']\s*data\s*:[^"'>]*/gi,'href="#"')}var F=new marked.Marked;F.use({renderer:{image({href:r,title:e,text:c}){let M=/^https?:\/\//i.test(r??"")?r:"",f=c?` alt="${x(c)}"`:' alt=""',p=e?` title="${x(e)}"`:"",i=x(c||"Image failed to load");return `<figure class="tw-rich-img-wrap"><img class="tw-rich-img" src="${x(M)}" loading="lazy"${f}${p} /><div class="tw-rich-img-error">`+j+`<span>${i}</span></div></figure>`}}});function B(r){let e=F.parse(r,{async:false});return J(e)}function K({text:r="",mode:e="typewriter",speed:c=40,cursor:M=true,cursorChar:f="\u258B",thinking:p=false,streaming:i=false,delay:C=0,onComplete:A,as:_="span",className:S,rich:E=false}){let[y,m]=react.useState(e==="instant"?r:""),[b,a]=react.useState(false),[H,s]=react.useState(e==="instant"),[L,h]=react.useState(false),z=react.useRef(null),v=react.useRef(0),R=react.useRef(A);R.current=A;let k=react.useRef(r);k.current=r,react.useEffect(()=>{if(e!=="typewriter")return;if(m(""),s(false),h(false),a(false),!r){s(true);return}let l=Math.max(10,1e3/c),o=0,t,n=()=>{a(true),t=setInterval(()=>{let D=k.current;o++,m(D.slice(0,o)),o>=D.length&&(clearInterval(t),a(false),s(true),R.current?.());},l);},d;return C>0?d=setTimeout(n,C):n(),()=>{clearTimeout(d),clearInterval(t);}},[r,e]),react.useEffect(()=>{if(e!=="stream")return;if(r.length===0){v.current=0,m(""),a(false),s(false),h(false);return}if(r.length<=v.current)return;let l=Math.max(10,1e3/c),o=v.current;a(true),s(false),h(false);let t=setInterval(()=>{o++,v.current=o,m(k.current.slice(0,o)),o>=k.current.length&&(clearInterval(t),a(false),R.current?.());},l);return ()=>clearInterval(t)},[r,e]),react.useEffect(()=>{e==="instant"&&(m(r),a(false),s(true));},[r,e]);let P=react.useRef(i);react.useEffect(()=>{let l=P.current;if(P.current=i,l&&!i&&!b&&e==="stream"){h(true);let o=setTimeout(()=>{h(false),s(true);},650);return ()=>clearTimeout(o)}},[i,b,e]),react.useEffect(()=>{if(!E||!z.current)return;let o=Array.from(z.current.querySelectorAll(".tw-rich-img")).map(t=>{let n=()=>{let d=t.closest(".tw-rich-img-wrap");d&&d.classList.add("tw-rich-img-wrap--error");};return t.addEventListener("error",n,{once:true}),{img:t,onError:n}});return ()=>{o.forEach(({img:t,onError:n})=>t.removeEventListener("error",n));}},[y,E]);let $=M&&(p||b||L||e==="stream"&&i&&!H||e==="typewriter"&&!H),q=p?"tw-cursor--blink":b?"tw-cursor--solid":L?"tw-cursor--out":"tw-cursor--blink",G=_;return E?jsxRuntime.jsxs("div",{role:"region",className:u(S),children:[jsxRuntime.jsx("div",{ref:z,className:"tw-rich-prose",dangerouslySetInnerHTML:{__html:B(y)}}),$&&jsxRuntime.jsx("span",{className:u("tw-cursor",q),"aria-hidden":"true",children:f})]}):jsxRuntime.jsxs(G,{className:u(S),children:[p&&!y&&jsxRuntime.jsx("span",{"aria-hidden":"true",children:"\u200B"}),y,$&&jsxRuntime.jsx("span",{className:u("tw-cursor",q),"aria-hidden":"true",children:f})]})}
2
2
  exports.TypewriterText=K;
@@ -1 +1 @@
1
- @keyframes tw-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes tw-cursor-out{0%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes tw-img-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tw-cursor{display:inline-block;line-height:1;vertical-align:baseline;user-select:none;transform:scaleY(.88);transform-origin:50% 90%;color:currentColor}.tw-cursor--blink{animation:tw-blink 1s step-end infinite}.tw-cursor--solid{opacity:1;animation:none}.tw-cursor--out{animation:tw-cursor-out .6s ease-out forwards;pointer-events:none}.tw-rich-prose{font-size:.875rem;line-height:1.75;color:var(--color-primary-900);word-break:break-word;overflow-wrap:break-word}.dark .tw-rich-prose{color:var(--color-primary-100)}.tw-rich-prose h1,.tw-rich-prose h2,.tw-rich-prose h3,.tw-rich-prose h4,.tw-rich-prose h5,.tw-rich-prose h6{font-weight:700;line-height:1.3;margin-top:1.25rem;margin-bottom:.375rem;color:var(--color-primary-950)}.dark .tw-rich-prose h1,.dark .tw-rich-prose h2,.dark .tw-rich-prose h3,.dark .tw-rich-prose h4,.dark .tw-rich-prose h5,.dark .tw-rich-prose h6{color:var(--color-primary-50)}.tw-rich-prose h1{font-size:1.5rem}.tw-rich-prose h2{font-size:1.25rem}.tw-rich-prose h3{font-size:1.125rem}.tw-rich-prose h4{font-size:1rem}.tw-rich-prose h5,.tw-rich-prose h6{font-size:.875rem}.tw-rich-prose p{margin-top:.625rem;margin-bottom:.625rem}.tw-rich-prose p:first-child{margin-top:0}.tw-rich-prose p:last-child{margin-bottom:0}.tw-rich-prose :not(pre)>code{background-color:var(--color-primary-100);color:var(--color-primary-700);padding:.1em .35em;border-radius:.25rem;font-size:.8125em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.dark .tw-rich-prose :not(pre)>code{background-color:var(--color-primary-800);color:var(--color-primary-200)}.tw-rich-prose pre{background-color:var(--color-primary-100);border-radius:.5rem;padding:.875rem 1rem;overflow-x:auto;margin:.75rem 0;font-size:.8125rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.6}.dark .tw-rich-prose pre{background-color:var(--color-primary-800)}.tw-rich-prose pre>code{background:none;padding:0;font-size:inherit;color:inherit;border-radius:0}.tw-rich-prose blockquote{border-left:3px solid var(--color-primary-400);padding:.375rem 0 .375rem 1rem;margin:.75rem 0;color:var(--color-primary-600);font-style:italic}.dark .tw-rich-prose blockquote{border-left-color:var(--color-primary-500);color:var(--color-primary-400)}.tw-rich-prose ul,.tw-rich-prose ol{padding-left:1.5rem;margin:.5rem 0}.tw-rich-prose ul{list-style:disc}.tw-rich-prose ol{list-style:decimal}.tw-rich-prose li{margin:.25rem 0}.tw-rich-prose li>ul,.tw-rich-prose li>ol{margin:.125rem 0 .125rem .25rem}.tw-rich-prose hr{border:none;border-top:1px solid var(--color-primary-200);margin:1.25rem 0}.dark .tw-rich-prose hr{border-top-color:var(--color-primary-700)}.tw-rich-prose a{color:var(--color-primary-600);text-decoration:underline;text-underline-offset:2px}.tw-rich-prose a:hover{color:var(--color-primary-800)}.dark .tw-rich-prose a{color:var(--color-primary-400)}.dark .tw-rich-prose a:hover{color:var(--color-primary-200)}.tw-rich-prose strong{font-weight:700}.tw-rich-prose em{font-style:italic}.tw-rich-img-wrap{display:block;margin:.875rem 0}.tw-rich-img{display:block;max-width:100%;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;animation:tw-img-fade-in .4s ease-out both}.dark .tw-rich-img{box-shadow:0 2px 8px #0000004d}.tw-rich-img-error{display:none;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border-radius:.5rem;background-color:var(--color-primary-100);color:var(--color-primary-400);font-size:.75rem;font-style:normal;text-align:center;min-height:80px;max-width:100%}.dark .tw-rich-img-error{background-color:var(--color-primary-800);color:var(--color-primary-500)}.tw-rich-img-wrap--error .tw-rich-img{display:none}.tw-rich-img-wrap--error .tw-rich-img-error{display:flex}
1
+ @keyframes tw-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes tw-cursor-out{0%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes tw-img-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tw-cursor{display:inline-block;line-height:1;vertical-align:baseline;user-select:none;transform:scaleY(.88);transform-origin:50% 90%;color:currentColor}.tw-cursor--blink{animation:tw-blink 1s step-end infinite}.tw-cursor--solid{opacity:1;animation:none}.tw-cursor--out{animation:tw-cursor-out .6s ease-out forwards;pointer-events:none}.tw-rich-prose{font-size:.875rem;line-height:1.75;color:var(--color-primary-900);word-break:break-word;overflow-wrap:break-word}.dark .tw-rich-prose{color:var(--color-primary-100)}.tw-rich-prose h1,.tw-rich-prose h2,.tw-rich-prose h3,.tw-rich-prose h4,.tw-rich-prose h5,.tw-rich-prose h6{font-weight:700;line-height:1.3;margin-top:1.25rem;margin-bottom:.375rem;color:var(--color-primary-950)}.dark .tw-rich-prose h1,.dark .tw-rich-prose h2,.dark .tw-rich-prose h3,.dark .tw-rich-prose h4,.dark .tw-rich-prose h5,.dark .tw-rich-prose h6{color:var(--color-primary-50)}.tw-rich-prose h1{font-size:1.5rem}.tw-rich-prose h2{font-size:1.25rem}.tw-rich-prose h3{font-size:1.125rem}.tw-rich-prose h4{font-size:1rem}.tw-rich-prose h5,.tw-rich-prose h6{font-size:.875rem}.tw-rich-prose p{margin-top:.625rem;margin-bottom:.625rem}.tw-rich-prose p:first-child{margin-top:0}.tw-rich-prose p:last-child{margin-bottom:0}.tw-rich-prose :not(pre)>code{background-color:var(--color-primary-100);color:var(--color-primary-700);padding:.1em .35em;border-radius:.25rem;font-size:.8125em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border:1px solid var(--color-primary-200)}.dark .tw-rich-prose :not(pre)>code{background-color:var(--color-primary-900);color:var(--color-primary-200);border-color:var(--color-primary-700)}.tw-rich-prose pre{background-color:var(--color-primary-100);border:1px solid var(--color-primary-200);border-radius:.5rem;padding:.875rem 1rem;overflow-x:auto;margin:.75rem 0;font-size:.8125rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.6}.dark .tw-rich-prose pre{background-color:var(--color-primary-900);border-color:var(--color-primary-700)}.tw-rich-prose pre>code{background:none;padding:0;font-size:inherit;color:inherit;border-radius:0}.tw-rich-prose blockquote{border-left:3px solid var(--color-primary-400);padding:.375rem 0 .375rem 1rem;margin:.75rem 0;color:var(--color-primary-600);font-style:italic}.dark .tw-rich-prose blockquote{border-left-color:var(--color-primary-500);color:var(--color-primary-400)}.tw-rich-prose ul,.tw-rich-prose ol{padding-left:1.5rem;margin:.5rem 0}.tw-rich-prose ul{list-style:disc}.tw-rich-prose ol{list-style:decimal}.tw-rich-prose li{margin:.25rem 0}.tw-rich-prose li>ul,.tw-rich-prose li>ol{margin:.125rem 0 .125rem .25rem}.tw-rich-prose hr{border:none;border-top:1px solid var(--color-primary-200);margin:1.25rem 0}.dark .tw-rich-prose hr{border-top-color:var(--color-primary-700)}.tw-rich-prose a{color:var(--color-primary-600);text-decoration:underline;text-underline-offset:2px}.tw-rich-prose a:hover{color:var(--color-primary-800)}.dark .tw-rich-prose a{color:var(--color-primary-400)}.dark .tw-rich-prose a:hover{color:var(--color-primary-200)}.tw-rich-prose strong{font-weight:700}.tw-rich-prose em{font-style:italic}.tw-rich-img-wrap{display:block;margin:.875rem 0}.tw-rich-img{display:block;max-width:100%;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;animation:tw-img-fade-in .4s ease-out both}.dark .tw-rich-img{box-shadow:0 2px 8px #0000004d}.tw-rich-img-error{display:none;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border-radius:.5rem;background-color:var(--color-primary-100);color:var(--color-primary-400);font-size:.75rem;font-style:normal;text-align:center;min-height:80px;max-width:100%}.dark .tw-rich-img-error{background-color:var(--color-primary-800);color:var(--color-primary-500)}.tw-rich-img-wrap--error .tw-rich-img{display:none}.tw-rich-img-wrap--error .tw-rich-img-error{display:flex}
@@ -1,2 +1,2 @@
1
- import {useState,useRef,useEffect}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {Marked}from'marked';import {jsxs,jsx}from'react/jsx-runtime';function u(...r){return twMerge(clsx(r))}var j='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="2" y1="2" x2="22" y2="22"/><path d="M10.41 10.41a2 2 0 1 1-2.83-2.83"/><line x1="13.5" y1="6" x2="18" y2="6"/><line x1="6" y1="2" x2="14" y2="10"/><path d="M4 6h1.5"/><path d="M2 18.5C2 19.9 3.1 21 4.5 21H16"/><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/></svg>';function x(r){return r.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function J(r){return r.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi,"").replace(/\s+on[a-z][a-z0-9]*\s*=\s*(?:"[^"]*"|'[^']*'|[^\s/>]*)/gi,"").replace(/\b(href|src|action)\s*=\s*["']\s*(?:javascript|vbscript)\s*:[^"'>]*/gi,'$1="#"').replace(/\bhref\s*=\s*["']\s*data\s*:[^"'>]*/gi,'href="#"')}var F=new Marked;F.use({renderer:{image({href:r,title:e,text:c}){let I=/^https?:\/\//i.test(r??"")?r:"",f=c?` alt="${x(c)}"`:' alt=""',p=e?` title="${x(e)}"`:"",i=x(c||"Image failed to load");return `<figure class="tw-rich-img-wrap"><img class="tw-rich-img" src="${x(I)}" loading="lazy"${f}${p} /><div class="tw-rich-img-error">`+j+`<span>${i}</span></div></figure>`}}});function B(r){let e=F.parse(r,{async:false});return J(e)}function K({text:r="",mode:e="typewriter",speed:c=40,cursor:I=true,cursorChar:f="\u258B",thinking:p=false,streaming:i=false,delay:C=0,onComplete:S,as:_="span",className:H,rich:E=false}){let[y,m]=useState(e==="instant"?r:""),[v,a]=useState(false),[L,s]=useState(e==="instant"),[A,h]=useState(false),z=useRef(null),k=useRef(0),R=useRef(S);R.current=S;let b=useRef(r);b.current=r,useEffect(()=>{if(e!=="typewriter")return;if(m(""),s(false),h(false),a(false),!r){s(true);return}let l=Math.max(10,1e3/c),t=0,o,n=()=>{a(true),o=setInterval(()=>{let D=b.current;t++,m(D.slice(0,t)),t>=D.length&&(clearInterval(o),a(false),s(true),R.current?.());},l);},d;return C>0?d=setTimeout(n,C):n(),()=>{clearTimeout(d),clearInterval(o);}},[r,e]),useEffect(()=>{if(e!=="stream")return;if(r.length===0){k.current=0,m(""),a(false),s(false),h(false);return}if(r.length<=k.current)return;let l=Math.max(10,1e3/c),t=k.current;a(true),s(false),h(false);let o=setInterval(()=>{t++,k.current=t,m(b.current.slice(0,t)),t>=b.current.length&&(clearInterval(o),a(false),R.current?.());},l);return ()=>clearInterval(o)},[r,e]),useEffect(()=>{e==="instant"&&(m(r),a(false),s(true));},[r,e]);let P=useRef(i);useEffect(()=>{let l=P.current;if(P.current=i,l&&!i&&!v&&e==="stream"){h(true);let t=setTimeout(()=>{h(false),s(true);},650);return ()=>clearTimeout(t)}},[i,v,e]),useEffect(()=>{if(!E||!z.current)return;let t=Array.from(z.current.querySelectorAll(".tw-rich-img")).map(o=>{let n=()=>{let d=o.closest(".tw-rich-img-wrap");d&&d.classList.add("tw-rich-img-wrap--error");};return o.addEventListener("error",n,{once:true}),{img:o,onError:n}});return ()=>{t.forEach(({img:o,onError:n})=>o.removeEventListener("error",n));}},[y,E]);let $=I&&(p||v||A||e==="stream"&&i&&!L||e==="typewriter"&&!L),q=p?"tw-cursor--blink":v?"tw-cursor--solid":A?"tw-cursor--out":"tw-cursor--blink",G=_;return E?jsxs("div",{role:"region",className:u(H),children:[jsx("div",{ref:z,className:"tw-rich-prose",dangerouslySetInnerHTML:{__html:B(y)}}),$&&jsx("span",{className:u("tw-cursor",q),"aria-hidden":"true",children:f})]}):jsxs(G,{className:u(H),children:[p&&!y&&jsx("span",{"aria-hidden":"true",children:"\u200B"}),y,$&&jsx("span",{className:u("tw-cursor",q),"aria-hidden":"true",children:f})]})}
1
+ import {useState,useRef,useEffect}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {Marked}from'marked';import {jsxs,jsx}from'react/jsx-runtime';function u(...r){return twMerge(clsx(r))}var j='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="2" y1="2" x2="22" y2="22"/><path d="M10.41 10.41a2 2 0 1 1-2.83-2.83"/><line x1="13.5" y1="6" x2="18" y2="6"/><line x1="6" y1="2" x2="14" y2="10"/><path d="M4 6h1.5"/><path d="M2 18.5C2 19.9 3.1 21 4.5 21H16"/><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/></svg>';function x(r){return r.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function J(r){return r.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi,"").replace(/\s+on[a-z][a-z0-9]*\s*=\s*(?:"[^"]*"|'[^']*'|[^\s/>]*)/gi,"").replace(/\b(href|src|action)\s*=\s*["']\s*(?:javascript|vbscript)\s*:[^"'>]*/gi,'$1="#"').replace(/\bhref\s*=\s*["']\s*data\s*:[^"'>]*/gi,'href="#"')}var F=new Marked;F.use({renderer:{image({href:r,title:e,text:c}){let M=/^https?:\/\//i.test(r??"")?r:"",f=c?` alt="${x(c)}"`:' alt=""',p=e?` title="${x(e)}"`:"",i=x(c||"Image failed to load");return `<figure class="tw-rich-img-wrap"><img class="tw-rich-img" src="${x(M)}" loading="lazy"${f}${p} /><div class="tw-rich-img-error">`+j+`<span>${i}</span></div></figure>`}}});function B(r){let e=F.parse(r,{async:false});return J(e)}function K({text:r="",mode:e="typewriter",speed:c=40,cursor:M=true,cursorChar:f="\u258B",thinking:p=false,streaming:i=false,delay:C=0,onComplete:A,as:_="span",className:S,rich:E=false}){let[y,m]=useState(e==="instant"?r:""),[b,a]=useState(false),[H,s]=useState(e==="instant"),[L,h]=useState(false),z=useRef(null),v=useRef(0),R=useRef(A);R.current=A;let k=useRef(r);k.current=r,useEffect(()=>{if(e!=="typewriter")return;if(m(""),s(false),h(false),a(false),!r){s(true);return}let l=Math.max(10,1e3/c),o=0,t,n=()=>{a(true),t=setInterval(()=>{let D=k.current;o++,m(D.slice(0,o)),o>=D.length&&(clearInterval(t),a(false),s(true),R.current?.());},l);},d;return C>0?d=setTimeout(n,C):n(),()=>{clearTimeout(d),clearInterval(t);}},[r,e]),useEffect(()=>{if(e!=="stream")return;if(r.length===0){v.current=0,m(""),a(false),s(false),h(false);return}if(r.length<=v.current)return;let l=Math.max(10,1e3/c),o=v.current;a(true),s(false),h(false);let t=setInterval(()=>{o++,v.current=o,m(k.current.slice(0,o)),o>=k.current.length&&(clearInterval(t),a(false),R.current?.());},l);return ()=>clearInterval(t)},[r,e]),useEffect(()=>{e==="instant"&&(m(r),a(false),s(true));},[r,e]);let P=useRef(i);useEffect(()=>{let l=P.current;if(P.current=i,l&&!i&&!b&&e==="stream"){h(true);let o=setTimeout(()=>{h(false),s(true);},650);return ()=>clearTimeout(o)}},[i,b,e]),useEffect(()=>{if(!E||!z.current)return;let o=Array.from(z.current.querySelectorAll(".tw-rich-img")).map(t=>{let n=()=>{let d=t.closest(".tw-rich-img-wrap");d&&d.classList.add("tw-rich-img-wrap--error");};return t.addEventListener("error",n,{once:true}),{img:t,onError:n}});return ()=>{o.forEach(({img:t,onError:n})=>t.removeEventListener("error",n));}},[y,E]);let $=M&&(p||b||L||e==="stream"&&i&&!H||e==="typewriter"&&!H),q=p?"tw-cursor--blink":b?"tw-cursor--solid":L?"tw-cursor--out":"tw-cursor--blink",G=_;return E?jsxs("div",{role:"region",className:u(S),children:[jsx("div",{ref:z,className:"tw-rich-prose",dangerouslySetInnerHTML:{__html:B(y)}}),$&&jsx("span",{className:u("tw-cursor",q),"aria-hidden":"true",children:f})]}):jsxs(G,{className:u(S),children:[p&&!y&&jsx("span",{"aria-hidden":"true",children:"\u200B"}),y,$&&jsx("span",{className:u("tw-cursor",q),"aria-hidden":"true",children:f})]})}
2
2
  export{K as TypewriterText};
@@ -1 +1 @@
1
- @keyframes tw-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes tw-cursor-out{0%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes tw-img-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tw-cursor{display:inline-block;line-height:1;vertical-align:baseline;user-select:none;transform:scaleY(.88);transform-origin:50% 90%;color:currentColor}.tw-cursor--blink{animation:tw-blink 1s step-end infinite}.tw-cursor--solid{opacity:1;animation:none}.tw-cursor--out{animation:tw-cursor-out .6s ease-out forwards;pointer-events:none}.tw-rich-prose{font-size:.875rem;line-height:1.75;color:var(--color-primary-900);word-break:break-word;overflow-wrap:break-word}.dark .tw-rich-prose{color:var(--color-primary-100)}.tw-rich-prose h1,.tw-rich-prose h2,.tw-rich-prose h3,.tw-rich-prose h4,.tw-rich-prose h5,.tw-rich-prose h6{font-weight:700;line-height:1.3;margin-top:1.25rem;margin-bottom:.375rem;color:var(--color-primary-950)}.dark .tw-rich-prose h1,.dark .tw-rich-prose h2,.dark .tw-rich-prose h3,.dark .tw-rich-prose h4,.dark .tw-rich-prose h5,.dark .tw-rich-prose h6{color:var(--color-primary-50)}.tw-rich-prose h1{font-size:1.5rem}.tw-rich-prose h2{font-size:1.25rem}.tw-rich-prose h3{font-size:1.125rem}.tw-rich-prose h4{font-size:1rem}.tw-rich-prose h5,.tw-rich-prose h6{font-size:.875rem}.tw-rich-prose p{margin-top:.625rem;margin-bottom:.625rem}.tw-rich-prose p:first-child{margin-top:0}.tw-rich-prose p:last-child{margin-bottom:0}.tw-rich-prose :not(pre)>code{background-color:var(--color-primary-100);color:var(--color-primary-700);padding:.1em .35em;border-radius:.25rem;font-size:.8125em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.dark .tw-rich-prose :not(pre)>code{background-color:var(--color-primary-800);color:var(--color-primary-200)}.tw-rich-prose pre{background-color:var(--color-primary-100);border-radius:.5rem;padding:.875rem 1rem;overflow-x:auto;margin:.75rem 0;font-size:.8125rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.6}.dark .tw-rich-prose pre{background-color:var(--color-primary-800)}.tw-rich-prose pre>code{background:none;padding:0;font-size:inherit;color:inherit;border-radius:0}.tw-rich-prose blockquote{border-left:3px solid var(--color-primary-400);padding:.375rem 0 .375rem 1rem;margin:.75rem 0;color:var(--color-primary-600);font-style:italic}.dark .tw-rich-prose blockquote{border-left-color:var(--color-primary-500);color:var(--color-primary-400)}.tw-rich-prose ul,.tw-rich-prose ol{padding-left:1.5rem;margin:.5rem 0}.tw-rich-prose ul{list-style:disc}.tw-rich-prose ol{list-style:decimal}.tw-rich-prose li{margin:.25rem 0}.tw-rich-prose li>ul,.tw-rich-prose li>ol{margin:.125rem 0 .125rem .25rem}.tw-rich-prose hr{border:none;border-top:1px solid var(--color-primary-200);margin:1.25rem 0}.dark .tw-rich-prose hr{border-top-color:var(--color-primary-700)}.tw-rich-prose a{color:var(--color-primary-600);text-decoration:underline;text-underline-offset:2px}.tw-rich-prose a:hover{color:var(--color-primary-800)}.dark .tw-rich-prose a{color:var(--color-primary-400)}.dark .tw-rich-prose a:hover{color:var(--color-primary-200)}.tw-rich-prose strong{font-weight:700}.tw-rich-prose em{font-style:italic}.tw-rich-img-wrap{display:block;margin:.875rem 0}.tw-rich-img{display:block;max-width:100%;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;animation:tw-img-fade-in .4s ease-out both}.dark .tw-rich-img{box-shadow:0 2px 8px #0000004d}.tw-rich-img-error{display:none;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border-radius:.5rem;background-color:var(--color-primary-100);color:var(--color-primary-400);font-size:.75rem;font-style:normal;text-align:center;min-height:80px;max-width:100%}.dark .tw-rich-img-error{background-color:var(--color-primary-800);color:var(--color-primary-500)}.tw-rich-img-wrap--error .tw-rich-img{display:none}.tw-rich-img-wrap--error .tw-rich-img-error{display:flex}.cmd-backdrop{background:#0006;backdrop-filter:blur(2px);animation:cmd-backdrop-in .12s ease-out both}@keyframes cmd-backdrop-in{0%{opacity:0}to{opacity:1}}.cmd-panel{animation:cmd-panel-in .18s cubic-bezier(.16,1,.3,1) both}@keyframes cmd-panel-in{0%{opacity:0;transform:scale(.96) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.cmd-item{cursor:default;user-select:none;transition:background-color 80ms ease,color 80ms ease}#cmd-results{scrollbar-width:thin;scrollbar-color:var(--color-primary-300) transparent}#cmd-results::-webkit-scrollbar{width:4px}#cmd-results::-webkit-scrollbar-track{background:transparent}#cmd-results::-webkit-scrollbar-thumb{background:var(--color-primary-300);border-radius:2px}.dark #cmd-results::-webkit-scrollbar-thumb{background:var(--color-primary-700)}:root{--tl-holo-base: var(--color-primary-600);--tl-holo-mid: var(--color-primary-400);--tl-holo-indigo: var(--color-indigo-400);--tl-holo-violet: var(--color-violet-300);--tl-holo-cyan: var(--color-cyan-400);--tl-glow-complete-1: var(--color-success-600);--tl-glow-complete-2: var(--color-success-400);--tl-glow-error-1: var(--color-danger-600);--tl-glow-error-2: var(--color-danger-400);--tl-glow-error-3: var(--color-danger-300)}@property --tl-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes tl-holo-spin{to{--tl-angle: 360deg}}@keyframes tl-breathe{0%,to{opacity:.42}50%{opacity:.9}}@keyframes tl-glow-pulse{0%,to{opacity:.12}50%{opacity:.24}}:root{--dtp-panel-bg: rgba(255, 255, 255, .9);--dtp-panel-border: var(--color-primary-200);--dtp-blur: 16px;--dtp-accent: var(--color-primary-500);--dtp-accent-bg: var(--color-primary-100);--dtp-text-selected: var(--color-primary-800);--dtp-text-muted: var(--color-secondary-400);--dtp-text-primary: var(--color-primary-700);--dtp-item-h: 40px;--dtp-radius: 16px;--dtp-shadow: 0 20px 60px rgba(0, 0, 0, .12), 0 4px 16px rgba(0, 0, 0, .06)}:root:where(.dark,.dark *),.dark{--dtp-panel-bg: rgba(15, 23, 42, .9);--dtp-panel-border: var(--color-primary-700);--dtp-accent-bg: rgba(100, 116, 139, .25);--dtp-text-selected: var(--color-primary-100);--dtp-text-muted: var(--color-secondary-500);--dtp-text-primary: var(--color-primary-300);--dtp-shadow: 0 20px 60px rgba(0, 0, 0, .45), 0 4px 16px rgba(0, 0, 0, .2)}.dtp-root{display:inline-flex;align-items:center}.dtp-trigger-wrap{position:relative;display:inline-flex;align-items:center}.dtp-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--color-primary-300);background:var(--color-primary-50);color:var(--color-primary-700);font-size:.875rem;line-height:1.5;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;min-width:180px;text-align:left}.dtp-trigger--has-clear{padding-right:2rem}:where(.dark,.dark *) .dtp-trigger{border-color:var(--color-primary-600);background:var(--color-primary-800);color:var(--color-primary-200)}.dtp-trigger:hover:not(:disabled){border-color:var(--color-primary-400);box-shadow:0 0 0 3px var(--color-primary-100)}:where(.dark,.dark *) .dtp-trigger:hover:not(:disabled){box-shadow:0 0 0 3px #64748b33}.dtp-trigger--disabled{opacity:.5;cursor:not-allowed}.dtp-trigger-icon{width:1rem;height:1rem;color:var(--color-primary-400);flex-shrink:0}.dtp-trigger-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtp-trigger-placeholder{color:var(--color-secondary-400)}.dtp-trigger-clear{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;padding:.125rem;border-radius:9999px;border:none;background:transparent;color:var(--color-secondary-400);cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-trigger-clear:hover{background:var(--color-primary-200);color:var(--color-primary-600)}.dtp-panel{position:fixed;z-index:9999;width:340px;max-width:calc(100vw - 32px);border-radius:var(--dtp-radius);border:1px solid var(--dtp-panel-border);background:var(--dtp-panel-bg);-webkit-backdrop-filter:blur(var(--dtp-blur));backdrop-filter:blur(var(--dtp-blur));box-shadow:var(--dtp-shadow);overflow:hidden;animation:dtp-panel-in .2s cubic-bezier(.16,1,.3,1) both;top:60px;left:0}@keyframes dtp-panel-in{0%{opacity:0;transform:scale(.97) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:640px){.dtp-panel{position:fixed!important;top:auto!important;left:0!important;bottom:0;width:100vw;max-width:100vw;border-radius:var(--dtp-radius) var(--dtp-radius) 0 0;animation:dtp-panel-slide-up .28s cubic-bezier(.16,1,.3,1) both}@keyframes dtp-panel-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.dtp-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem .625rem;border-bottom:1px solid var(--dtp-panel-border)}.dtp-panel-preview{font-size:.9375rem;font-weight:600;color:var(--dtp-text-primary);letter-spacing:-.01em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dtp-panel-actions{display:flex;gap:.375rem;margin-left:.5rem}.dtp-view-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:1px solid transparent;background:transparent;color:var(--dtp-text-muted);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.dtp-view-btn:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-selected)}.dtp-view-btn--active{background:var(--dtp-accent-bg);color:var(--dtp-accent);border-color:var(--dtp-panel-border)}.dtp-panel-body{padding:.625rem .5rem}.dtp-drum{display:flex;align-items:stretch}.dtp-drum-date,.dtp-drum-time{display:flex;flex:1;min-width:0}.dtp-drum-sep{width:1px;background:var(--dtp-panel-border);margin:.5rem .25rem}.dtp-column{position:relative;flex:1;height:calc(var(--dtp-item-h) * 5);min-width:0;overflow:hidden}.dtp-column-highlight{position:absolute;left:4px;right:4px;top:50%;transform:translateY(-50%);height:var(--dtp-item-h);background:var(--dtp-accent-bg);border-radius:8px;pointer-events:none;z-index:0}.dtp-column-list{height:100%;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding-top:calc(var(--dtp-item-h) * 2);padding-bottom:calc(var(--dtp-item-h) * 2)}.dtp-column-list::-webkit-scrollbar{display:none}.dtp-item{position:relative;z-index:1;height:var(--dtp-item-h);display:flex;align-items:center;justify-content:center;font-size:.875rem;cursor:pointer;color:var(--dtp-text-muted);transition:color .1s ease;-webkit-user-select:none;user-select:none}.dtp-item:hover{color:var(--dtp-text-primary)}.dtp-item--selected{color:var(--dtp-text-selected);font-weight:600;font-size:1rem}.dtp-fade-top,.dtp-fade-bottom{position:absolute;left:0;right:0;height:calc(var(--dtp-item-h) * 2);pointer-events:none;z-index:2}.dtp-fade-top{top:0;background:linear-gradient(to bottom,var(--dtp-panel-bg) 10%,transparent 100%)}.dtp-fade-bottom{bottom:0;background:linear-gradient(to top,var(--dtp-panel-bg) 10%,transparent 100%)}.dtp-calendar{padding:0 .25rem;min-height:230px}.dtp-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.dtp-cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:none;background:transparent;color:var(--dtp-text-muted);cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-cal-nav-btn:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-selected)}.dtp-cal-title{font-size:.875rem;font-weight:600;color:var(--dtp-text-primary)}.dtp-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.125rem}.dtp-cal-weekday{text-align:center;font-size:.6875rem;font-weight:500;color:var(--dtp-text-muted);padding:.25rem 0}.dtp-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dtp-cal-day{display:flex;align-items:center;justify-content:center;height:2rem;border-radius:.375rem;border:none;background:transparent;font-size:.8125rem;color:var(--dtp-text-primary);cursor:pointer;transition:background 80ms ease,color 80ms ease;width:100%}.dtp-cal-day:hover:not(:disabled):not(.dtp-cal-day--selected){background:var(--dtp-accent-bg)}.dtp-cal-day--other{color:var(--dtp-text-muted);opacity:.45}.dtp-cal-day--selected{background:var(--dtp-accent)!important;color:#fff!important;font-weight:600}.dtp-cal-day--today:not(.dtp-cal-day--selected){font-weight:600;color:var(--dtp-accent);box-shadow:inset 0 0 0 1px var(--dtp-accent)}.dtp-cal-day--disabled{opacity:.28;cursor:not-allowed;pointer-events:none}.dtp-panel-offset{padding:.375rem .75rem .5rem;border-top:1px solid var(--dtp-panel-border)}.dtp-quick-offset{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;padding:.25rem 0}.dtp-offset-input{width:3.25rem;padding:.25rem .4rem;border-radius:.375rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-primary);font-size:.8125rem;text-align:center;outline:none;transition:border-color .1s ease}.dtp-offset-input:focus{border-color:var(--dtp-accent)}.dtp-offset-select{padding:.25rem .3rem;border-radius:.375rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-primary);font-size:.8125rem;outline:none;cursor:pointer;transition:border-color .1s ease}.dtp-offset-select:focus{border-color:var(--dtp-accent)}.dtp-offset-apply{padding:.25rem .65rem;border-radius:.375rem;border:none;background:var(--dtp-accent);color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;transition:opacity .12s ease}.dtp-offset-apply:hover{opacity:.85}.dtp-panel-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.625rem .75rem;border-top:1px solid var(--dtp-panel-border)}.dtp-btn-cancel{padding:.4375rem 1rem;border-radius:.5rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-muted);font-size:.875rem;cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-btn-cancel:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-primary)}.dtp-btn-confirm{padding:.4375rem 1.25rem;border-radius:.5rem;border:none;background:var(--dtp-accent);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .12s ease,transform .1s ease}.dtp-btn-confirm:hover{opacity:.9;transform:translateY(-1px)}.dtp-btn-confirm:active{transform:translateY(0)}@keyframes otp-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.otp-pop{animation:otp-pop .18s ease-out forwards}.login-panel-slide-enter{animation:login-slide-in .22s ease-out forwards}@keyframes login-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rte-root{display:flex;flex-direction:column;border:1px solid var(--color-primary-200);border-radius:.5rem;overflow:hidden;background:var(--color-white, #fff)}.dark .rte-root{border-color:var(--color-primary-700);background:var(--color-primary-900)}.rte-ribbon{border-bottom:1px solid var(--color-primary-200);flex-shrink:0}.dark .rte-ribbon{border-bottom-color:var(--color-primary-700)}.rte-body{display:flex;flex-direction:row;flex:1 1 0;overflow:hidden;min-height:0}.rte-editor-pane{flex:1 1 auto;overflow-y:auto;overscroll-behavior-y:contain;position:relative}.rte-preview-pane{flex:0 0 50%;max-width:50%;border-left:1px solid var(--color-primary-200);overflow-y:auto;overscroll-behavior-y:contain;padding:1rem 1.25rem}.dark .rte-preview-pane{border-left-color:var(--color-primary-700)}@media(max-width:640px){.rte-body{flex-direction:column}.rte-preview-pane{flex:0 0 auto;max-width:100%;border-left:none;border-top:1px solid var(--color-primary-200)}.dark .rte-preview-pane{border-top-color:var(--color-primary-700)}}.rte-preview-pane .prose{font-size:.9rem;line-height:1.7;color:var(--color-primary-800)}.dark .rte-preview-pane .prose{color:var(--color-primary-100)}.rte-preview-pane .prose h1{font-size:1.75rem;font-weight:700;margin:.75rem 0}.rte-preview-pane .prose h2{font-size:1.4rem;font-weight:600;margin:.65rem 0}.rte-preview-pane .prose h3{font-size:1.15rem;font-weight:600;margin:.5rem 0}.rte-preview-pane .prose h4{font-size:1rem;font-weight:600;margin:.4rem 0}.rte-preview-pane .prose p{margin:.5rem 0}.rte-preview-pane .prose ul{list-style:disc;padding-left:1.5rem;margin:.5rem 0}.rte-preview-pane .prose ol{list-style:decimal;padding-left:1.5rem;margin:.5rem 0}.rte-preview-pane .prose li{margin:.2rem 0}.rte-preview-pane .prose a{color:var(--color-primary-500);text-decoration:underline}.rte-preview-pane .prose code{background:var(--color-primary-100);border-radius:.25rem;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.85em}.dark .rte-preview-pane .prose code{background:var(--color-primary-800)}.rte-preview-pane .prose pre{background:var(--color-primary-900);color:var(--color-primary-100);border-radius:.5rem;padding:1rem;overflow-x:auto;font-family:ui-monospace,monospace;font-size:.85em;margin:.75rem 0}.dark .rte-preview-pane .prose pre{background:var(--color-primary-800)}.rte-preview-pane .prose blockquote{border-left:4px solid var(--color-primary-300);padding-left:1rem;color:var(--color-primary-500);margin:.75rem 0;font-style:italic}.dark .rte-preview-pane .prose blockquote{border-left-color:var(--color-primary-600);color:var(--color-primary-400)}.rte-preview-pane .prose table{width:100%;border-collapse:collapse;margin:.75rem 0}.rte-preview-pane .prose th,.rte-preview-pane .prose td{border:1px solid var(--color-primary-200);padding:.4rem .75rem;text-align:left}.dark .rte-preview-pane .prose th,.dark .rte-preview-pane .prose td{border-color:var(--color-primary-700)}.rte-preview-pane .prose th{background:var(--color-primary-50);font-weight:600}.dark .rte-preview-pane .prose th{background:var(--color-primary-800)}.rte-preview-pane .prose img{max-width:100%;border-radius:.375rem}.rte-preview-pane .prose hr{border:none;border-top:1px solid var(--color-primary-200);margin:1rem 0}.dark .rte-preview-pane .prose hr{border-top-color:var(--color-primary-700)}.rte-markdown-source{width:100%;height:100%;resize:none;border:none;outline:none;padding:1rem 1.25rem;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.875rem;line-height:1.65;background:transparent;color:var(--color-primary-900);box-sizing:border-box}.dark .rte-markdown-source{color:var(--color-primary-100)}.rte-markdown-source::placeholder{color:var(--color-primary-400)}.rte-statusbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.2rem .75rem;font-size:.7rem;color:var(--color-primary-400);border-top:1px solid var(--color-primary-100);flex-shrink:0}.dark .rte-statusbar{border-top-color:var(--color-primary-800);color:var(--color-primary-500)}.rte-statusbar-left{display:flex;align-items:center;gap:.4rem}.rte-statusbar-right{display:flex;align-items:center;gap:.75rem}.rte-statusbar-divider{width:1px;height:1rem;background:var(--color-primary-200);flex-shrink:0}.dark .rte-statusbar-divider{background:var(--color-primary-700)}.rte-statusbar-label{font-size:.68rem;font-weight:500;color:var(--color-primary-500);user-select:none}.dark .rte-statusbar-label{color:var(--color-primary-400)}.ProseMirror{outline:none;padding:.875rem 1.25rem;min-height:180px;caret-color:var(--color-primary-600);color:var(--color-primary-900);font-size:.9rem;line-height:1.7}.dark .ProseMirror{color:var(--color-primary-100)}.ProseMirror p{margin:.4rem 0}.ProseMirror h1{font-size:1.75rem;font-weight:700;margin:.6rem 0}.ProseMirror h2{font-size:1.4rem;font-weight:600;margin:.5rem 0}.ProseMirror h3{font-size:1.15rem;font-weight:600;margin:.4rem 0}.ProseMirror h4{font-size:1rem;font-weight:600;margin:.35rem 0}.ProseMirror ul{list-style:disc;padding-left:1.5rem;margin:.4rem 0}.ProseMirror ol{list-style:decimal;padding-left:1.5rem;margin:.4rem 0}.ProseMirror a{color:var(--color-primary-500);text-decoration:underline;cursor:pointer}.ProseMirror code{background:var(--color-primary-100);border-radius:.25rem;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.85em}.dark .ProseMirror code{background:var(--color-primary-800)}.ProseMirror pre{background:var(--color-primary-900);color:var(--color-primary-100);border-radius:.5rem;padding:.875rem 1rem;overflow-x:auto;font-family:ui-monospace,monospace;font-size:.85em;margin:.5rem 0}.dark .ProseMirror pre{background:var(--color-primary-800)}.ProseMirror blockquote{border-left:4px solid var(--color-primary-300);padding-left:1rem;color:var(--color-primary-500);margin:.5rem 0;font-style:italic}.dark .ProseMirror blockquote{border-left-color:var(--color-primary-600);color:var(--color-primary-400)}.ProseMirror table{border-collapse:collapse;margin:.5rem 0;width:100%}.ProseMirror th,.ProseMirror td{border:1px solid var(--color-primary-200);padding:.35rem .6rem;text-align:left;vertical-align:top}.dark .ProseMirror th,.dark .ProseMirror td{border-color:var(--color-primary-700)}.ProseMirror th{background:var(--color-primary-50);font-weight:600}.dark .ProseMirror th{background:var(--color-primary-800)}.ProseMirror img{max-width:100%;border-radius:.375rem;display:inline-block}.ProseMirror hr{border:none;border-top:1px solid var(--color-primary-200);margin:.75rem 0}.dark .ProseMirror hr{border-top-color:var(--color-primary-700)}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--color-primary-400);pointer-events:none;height:0}.ProseMirror .selectedCell{background:var(--color-primary-100)}.dark .ProseMirror .selectedCell{background:var(--color-primary-800)}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:var(--color-primary-400);pointer-events:none;opacity:0;transition:opacity .15s}.ProseMirror th:hover .column-resize-handle,.ProseMirror td:hover .column-resize-handle{opacity:1}.column-resize-dragging .column-resize-handle{opacity:1;background:var(--color-primary-500)}.ProseMirror.resize-cursor,.column-resize-dragging{cursor:col-resize}.ProseMirror th,.ProseMirror td{position:relative}.rte-inline-dialog{position:absolute;z-index:40;top:2.5rem;left:0;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-white, #fff);border:1px solid var(--color-primary-200);border-radius:.5rem;box-shadow:0 4px 12px #0000001f;min-width:18rem}.dark .rte-inline-dialog{background:var(--color-primary-900);border-color:var(--color-primary-700);box-shadow:0 4px 12px #0006}.rte-inline-dialog input[type=text],.rte-inline-dialog input[type=url]{flex:1;border:1px solid var(--color-primary-200);border-radius:.375rem;padding:.3rem .5rem;font-size:.8rem;outline:none;background:transparent;color:inherit}.dark .rte-inline-dialog input[type=text],.dark .rte-inline-dialog input[type=url]{border-color:var(--color-primary-700)}.rte-inline-dialog input[type=text]:focus,.rte-inline-dialog input[type=url]:focus{border-color:var(--color-primary-400)}.rte-inline-dialog button{font-size:.75rem;padding:.3rem .6rem;border-radius:.375rem;cursor:pointer;border:none;background:var(--color-primary-600);color:#fff;font-weight:500}.rte-inline-dialog button:hover{background:var(--color-primary-700)}.rte-inline-dialog button.rte-cancel-btn{background:var(--color-secondary-200);color:var(--color-primary-800)}.dark .rte-inline-dialog button.rte-cancel-btn{background:var(--color-primary-700);color:var(--color-primary-100)}.ProseMirror div[data-youtube-video]{max-width:100%;margin:.5rem 0}.ProseMirror div[data-youtube-video] iframe{max-width:100%;border-radius:.375rem}.rte-image-wrapper{display:inline-block;position:relative;line-height:0;user-select:none;vertical-align:middle}.rte-image-wrapper img{display:block;max-width:100%;border-radius:.25rem}.rte-image-wrapper--selected img{outline:2px solid var(--color-primary-500);outline-offset:2px}.rte-rh{position:absolute;width:9px;height:9px;background:var(--color-primary-500);border:1.5px solid #fff;border-radius:2px;z-index:10;box-shadow:0 1px 3px #00000040}.rte-rh--nw{top:-4px;left:-4px;cursor:nw-resize}.rte-rh--ne{top:-4px;right:-4px;cursor:ne-resize}.rte-rh--sw{bottom:-4px;left:-4px;cursor:sw-resize}.rte-rh--se{bottom:-4px;right:-4px;cursor:se-resize}.rte-rh--e{top:50%;right:-4px;transform:translateY(-50%);cursor:ew-resize}.rte-rh--nw,.rte-rh--ne,.rte-rh--sw{pointer-events:none}.rte-rh--se,.rte-rh--e{pointer-events:auto}.rte-image-size-label{position:absolute;bottom:6px;left:50%;transform:translate(-50%);background:#0000009e;color:#fff;font-size:.62rem;font-weight:500;padding:1px 5px;border-radius:3px;white-space:nowrap;pointer-events:none;user-select:none}.rte-video-wrapper{display:block;margin:.5em 0;line-height:0}.rte-video-wrapper video{border-radius:.375rem;box-shadow:0 1px 4px #0000001a}.rte-video-wrapper--selected video{outline:2px solid var(--color-primary-500);outline-offset:2px}.rte-embed-wrapper{display:block;margin:.5em 0}.rte-embed-wrapper iframe{border-radius:.375rem;box-shadow:0 1px 4px #0000001a}.rte-embed-wrapper--selected iframe{outline:2px solid var(--color-primary-500);outline-offset:2px}.rte-tablebar{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.1rem .25rem;padding:.3rem .75rem;background:var(--color-primary-50);border-bottom:1px solid var(--color-primary-200);flex-shrink:0;animation:rte-tbar-in .15s ease}@keyframes rte-tbar-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dark .rte-tablebar{background:var(--color-primary-900);border-bottom-color:var(--color-primary-700)}.rte-tbar-group-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary-400);user-select:none;padding:0 .1rem}.dark .rte-tbar-group-label{color:var(--color-primary-500)}.rte-tbar-sep{width:1px;height:1.25rem;background:var(--color-primary-200);flex-shrink:0;margin:0 .2rem}.dark .rte-tbar-sep{background:var(--color-primary-700)}.rte-tbar-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .4rem;border:none;border-radius:.3rem;background:transparent;color:var(--color-primary-700);cursor:pointer;font-size:.7rem;font-weight:500;line-height:1;transition:background .12s,color .12s;white-space:nowrap}.rte-tbar-btn:hover:not(:disabled){background:var(--color-primary-100);color:var(--color-primary-900)}.rte-tbar-btn:disabled,.rte-tbar-btn--disabled{opacity:.38;cursor:not-allowed}.dark .rte-tbar-btn{color:var(--color-primary-300)}.dark .rte-tbar-btn:hover:not(:disabled){background:var(--color-primary-800);color:var(--color-primary-100)}.rte-tbar-label{font-size:.68rem}.rte-tbar-split-wrap{position:relative;display:inline-flex}.rte-tbar-split-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:50;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--color-white, #fff);border:1px solid var(--color-primary-200);border-radius:.4rem;box-shadow:0 4px 12px #0000001f;min-width:9rem;animation:rte-tbar-in .12s ease}.dark .rte-tbar-split-picker{background:var(--color-primary-900);border-color:var(--color-primary-700);box-shadow:0 4px 12px #0006}.rte-tbar-split-pick-btn{display:flex;align-items:center;gap:.4rem;width:100%;padding:.3rem .5rem;font-size:.72rem;font-weight:500;background:transparent;border:none;border-radius:.3rem;color:var(--color-primary-700);cursor:pointer;text-align:left;transition:background .1s}.rte-tbar-split-pick-btn:hover{background:var(--color-primary-100);color:var(--color-primary-900)}.dark .rte-tbar-split-pick-btn{color:var(--color-primary-300)}.dark .rte-tbar-split-pick-btn:hover{background:var(--color-primary-800);color:var(--color-primary-100)}.rte-findbar{display:flex;flex-direction:column;gap:.35rem;padding:.45rem .75rem;background:var(--color-primary-50);border-bottom:1px solid var(--color-primary-200);flex-shrink:0;animation:rte-findbar-in .15s ease}@keyframes rte-findbar-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dark .rte-findbar{background:var(--color-primary-950, #0a0a0f);border-bottom-color:var(--color-primary-700)}.rte-findbar-row{display:flex;align-items:center;gap:.35rem}.rte-findbar-icon{color:var(--color-primary-400);flex-shrink:0}.rte-findbar-input{flex:1;height:1.75rem;padding:0 .5rem;font-size:.8rem;border:1px solid var(--color-primary-200);border-radius:.375rem;outline:none;background:var(--color-white, #fff);color:var(--color-primary-900);transition:border-color .15s}.rte-findbar-input:focus{border-color:var(--color-primary-400)}.dark .rte-findbar-input{background:var(--color-primary-900);border-color:var(--color-primary-700);color:var(--color-primary-100)}.dark .rte-findbar-input:focus{border-color:var(--color-primary-500)}.rte-findbar-count{font-size:.72rem;color:var(--color-primary-400);white-space:nowrap;min-width:3.5rem;text-align:center}.rte-findbar-btn{display:inline-flex;align-items:center;justify-content:center;height:1.75rem;min-width:1.75rem;padding:0 .4rem;font-size:.72rem;font-weight:600;border:1px solid var(--color-primary-200);border-radius:.375rem;background:transparent;color:var(--color-primary-600);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.rte-findbar-btn:hover:not(:disabled){background:var(--color-primary-100);border-color:var(--color-primary-300)}.rte-findbar-btn:disabled{opacity:.4;cursor:not-allowed}.rte-findbar-btn--active{background:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600)}.rte-findbar-btn--active:hover:not(:disabled){background:var(--color-primary-700)}.rte-findbar-btn--close{color:var(--color-primary-400);border-color:transparent;margin-left:.15rem}.rte-findbar-btn--close:hover:not(:disabled){background:var(--color-danger-100);color:var(--color-danger-600);border-color:transparent}.rte-findbar-btn--action{min-width:auto;padding:0 .6rem;font-size:.72rem}.dark .rte-findbar-btn{border-color:var(--color-primary-700);color:var(--color-primary-300)}.dark .rte-findbar-btn:hover:not(:disabled){background:var(--color-primary-800);border-color:var(--color-primary-600)}.rte-search-match{background:color-mix(in srgb,var(--color-warning-400) 40%,transparent);border-radius:2px}.rte-search-current{background:color-mix(in srgb,var(--color-warning-500) 70%,transparent);border-radius:2px;outline:1px solid var(--color-warning-500)}.dark .rte-search-match{background:color-mix(in srgb,var(--color-warning-600) 40%,transparent)}.dark .rte-search-current{background:color-mix(in srgb,var(--color-warning-500) 60%,transparent);outline-color:var(--color-warning-400)}
1
+ @keyframes tw-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes tw-cursor-out{0%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes tw-img-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tw-cursor{display:inline-block;line-height:1;vertical-align:baseline;user-select:none;transform:scaleY(.88);transform-origin:50% 90%;color:currentColor}.tw-cursor--blink{animation:tw-blink 1s step-end infinite}.tw-cursor--solid{opacity:1;animation:none}.tw-cursor--out{animation:tw-cursor-out .6s ease-out forwards;pointer-events:none}.tw-rich-prose{font-size:.875rem;line-height:1.75;color:var(--color-primary-900);word-break:break-word;overflow-wrap:break-word}.dark .tw-rich-prose{color:var(--color-primary-100)}.tw-rich-prose h1,.tw-rich-prose h2,.tw-rich-prose h3,.tw-rich-prose h4,.tw-rich-prose h5,.tw-rich-prose h6{font-weight:700;line-height:1.3;margin-top:1.25rem;margin-bottom:.375rem;color:var(--color-primary-950)}.dark .tw-rich-prose h1,.dark .tw-rich-prose h2,.dark .tw-rich-prose h3,.dark .tw-rich-prose h4,.dark .tw-rich-prose h5,.dark .tw-rich-prose h6{color:var(--color-primary-50)}.tw-rich-prose h1{font-size:1.5rem}.tw-rich-prose h2{font-size:1.25rem}.tw-rich-prose h3{font-size:1.125rem}.tw-rich-prose h4{font-size:1rem}.tw-rich-prose h5,.tw-rich-prose h6{font-size:.875rem}.tw-rich-prose p{margin-top:.625rem;margin-bottom:.625rem}.tw-rich-prose p:first-child{margin-top:0}.tw-rich-prose p:last-child{margin-bottom:0}.tw-rich-prose :not(pre)>code{background-color:var(--color-primary-100);color:var(--color-primary-700);padding:.1em .35em;border-radius:.25rem;font-size:.8125em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border:1px solid var(--color-primary-200)}.dark .tw-rich-prose :not(pre)>code{background-color:var(--color-primary-900);color:var(--color-primary-200);border-color:var(--color-primary-700)}.tw-rich-prose pre{background-color:var(--color-primary-100);border:1px solid var(--color-primary-200);border-radius:.5rem;padding:.875rem 1rem;overflow-x:auto;margin:.75rem 0;font-size:.8125rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.6}.dark .tw-rich-prose pre{background-color:var(--color-primary-900);border-color:var(--color-primary-700)}.tw-rich-prose pre>code{background:none;padding:0;font-size:inherit;color:inherit;border-radius:0}.tw-rich-prose blockquote{border-left:3px solid var(--color-primary-400);padding:.375rem 0 .375rem 1rem;margin:.75rem 0;color:var(--color-primary-600);font-style:italic}.dark .tw-rich-prose blockquote{border-left-color:var(--color-primary-500);color:var(--color-primary-400)}.tw-rich-prose ul,.tw-rich-prose ol{padding-left:1.5rem;margin:.5rem 0}.tw-rich-prose ul{list-style:disc}.tw-rich-prose ol{list-style:decimal}.tw-rich-prose li{margin:.25rem 0}.tw-rich-prose li>ul,.tw-rich-prose li>ol{margin:.125rem 0 .125rem .25rem}.tw-rich-prose hr{border:none;border-top:1px solid var(--color-primary-200);margin:1.25rem 0}.dark .tw-rich-prose hr{border-top-color:var(--color-primary-700)}.tw-rich-prose a{color:var(--color-primary-600);text-decoration:underline;text-underline-offset:2px}.tw-rich-prose a:hover{color:var(--color-primary-800)}.dark .tw-rich-prose a{color:var(--color-primary-400)}.dark .tw-rich-prose a:hover{color:var(--color-primary-200)}.tw-rich-prose strong{font-weight:700}.tw-rich-prose em{font-style:italic}.tw-rich-img-wrap{display:block;margin:.875rem 0}.tw-rich-img{display:block;max-width:100%;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;animation:tw-img-fade-in .4s ease-out both}.dark .tw-rich-img{box-shadow:0 2px 8px #0000004d}.tw-rich-img-error{display:none;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border-radius:.5rem;background-color:var(--color-primary-100);color:var(--color-primary-400);font-size:.75rem;font-style:normal;text-align:center;min-height:80px;max-width:100%}.dark .tw-rich-img-error{background-color:var(--color-primary-800);color:var(--color-primary-500)}.tw-rich-img-wrap--error .tw-rich-img{display:none}.tw-rich-img-wrap--error .tw-rich-img-error{display:flex}.cmd-backdrop{background:#0006;backdrop-filter:blur(2px);animation:cmd-backdrop-in .12s ease-out both}@keyframes cmd-backdrop-in{0%{opacity:0}to{opacity:1}}.cmd-panel{animation:cmd-panel-in .18s cubic-bezier(.16,1,.3,1) both}@keyframes cmd-panel-in{0%{opacity:0;transform:scale(.96) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.cmd-item{cursor:default;user-select:none;transition:background-color 80ms ease,color 80ms ease}#cmd-results{scrollbar-width:thin;scrollbar-color:var(--color-primary-300) transparent}#cmd-results::-webkit-scrollbar{width:4px}#cmd-results::-webkit-scrollbar-track{background:transparent}#cmd-results::-webkit-scrollbar-thumb{background:var(--color-primary-300);border-radius:2px}.dark #cmd-results::-webkit-scrollbar-thumb{background:var(--color-primary-700)}:root{--tl-holo-base: var(--color-primary-600);--tl-holo-mid: var(--color-primary-400);--tl-holo-indigo: var(--color-indigo-400);--tl-holo-violet: var(--color-violet-300);--tl-holo-cyan: var(--color-cyan-400);--tl-glow-complete-1: var(--color-success-600);--tl-glow-complete-2: var(--color-success-400);--tl-glow-error-1: var(--color-danger-600);--tl-glow-error-2: var(--color-danger-400);--tl-glow-error-3: var(--color-danger-300)}@property --tl-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes tl-holo-spin{to{--tl-angle: 360deg}}@keyframes tl-breathe{0%,to{opacity:.42}50%{opacity:.9}}@keyframes tl-glow-pulse{0%,to{opacity:.12}50%{opacity:.24}}:root{--dtp-panel-bg: rgba(255, 255, 255, .9);--dtp-panel-border: var(--color-primary-200);--dtp-blur: 16px;--dtp-accent: var(--color-primary-500);--dtp-accent-bg: var(--color-primary-100);--dtp-text-selected: var(--color-primary-800);--dtp-text-muted: var(--color-secondary-400);--dtp-text-primary: var(--color-primary-700);--dtp-item-h: 40px;--dtp-radius: 16px;--dtp-shadow: 0 20px 60px rgba(0, 0, 0, .12), 0 4px 16px rgba(0, 0, 0, .06)}:root:where(.dark,.dark *),.dark{--dtp-panel-bg: rgba(15, 23, 42, .9);--dtp-panel-border: var(--color-primary-700);--dtp-accent-bg: rgba(100, 116, 139, .25);--dtp-text-selected: var(--color-primary-100);--dtp-text-muted: var(--color-secondary-500);--dtp-text-primary: var(--color-primary-300);--dtp-shadow: 0 20px 60px rgba(0, 0, 0, .45), 0 4px 16px rgba(0, 0, 0, .2)}.dtp-root{display:inline-flex;align-items:center}.dtp-trigger-wrap{position:relative;display:inline-flex;align-items:center}.dtp-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--color-primary-300);background:var(--color-primary-50);color:var(--color-primary-700);font-size:.875rem;line-height:1.5;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;min-width:180px;text-align:left}.dtp-trigger--has-clear{padding-right:2rem}:where(.dark,.dark *) .dtp-trigger{border-color:var(--color-primary-600);background:var(--color-primary-800);color:var(--color-primary-200)}.dtp-trigger:hover:not(:disabled){border-color:var(--color-primary-400);box-shadow:0 0 0 3px var(--color-primary-100)}:where(.dark,.dark *) .dtp-trigger:hover:not(:disabled){box-shadow:0 0 0 3px #64748b33}.dtp-trigger--disabled{opacity:.5;cursor:not-allowed}.dtp-trigger-icon{width:1rem;height:1rem;color:var(--color-primary-400);flex-shrink:0}.dtp-trigger-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtp-trigger-placeholder{color:var(--color-secondary-400)}.dtp-trigger-clear{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;padding:.125rem;border-radius:9999px;border:none;background:transparent;color:var(--color-secondary-400);cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-trigger-clear:hover{background:var(--color-primary-200);color:var(--color-primary-600)}.dtp-panel{position:fixed;z-index:9999;width:340px;max-width:calc(100vw - 32px);border-radius:var(--dtp-radius);border:1px solid var(--dtp-panel-border);background:var(--dtp-panel-bg);-webkit-backdrop-filter:blur(var(--dtp-blur));backdrop-filter:blur(var(--dtp-blur));box-shadow:var(--dtp-shadow);overflow:hidden;animation:dtp-panel-in .2s cubic-bezier(.16,1,.3,1) both;top:60px;left:0}@keyframes dtp-panel-in{0%{opacity:0;transform:scale(.97) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:640px){.dtp-panel{position:fixed!important;top:auto!important;left:0!important;bottom:0;width:100vw;max-width:100vw;border-radius:var(--dtp-radius) var(--dtp-radius) 0 0;animation:dtp-panel-slide-up .28s cubic-bezier(.16,1,.3,1) both}@keyframes dtp-panel-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.dtp-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem .625rem;border-bottom:1px solid var(--dtp-panel-border)}.dtp-panel-preview{font-size:.9375rem;font-weight:600;color:var(--dtp-text-primary);letter-spacing:-.01em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dtp-panel-actions{display:flex;gap:.375rem;margin-left:.5rem}.dtp-view-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:1px solid transparent;background:transparent;color:var(--dtp-text-muted);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.dtp-view-btn:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-selected)}.dtp-view-btn--active{background:var(--dtp-accent-bg);color:var(--dtp-accent);border-color:var(--dtp-panel-border)}.dtp-panel-body{padding:.625rem .5rem}.dtp-drum{display:flex;align-items:stretch}.dtp-drum-date,.dtp-drum-time{display:flex;flex:1;min-width:0}.dtp-drum-sep{width:1px;background:var(--dtp-panel-border);margin:.5rem .25rem}.dtp-column{position:relative;flex:1;height:calc(var(--dtp-item-h) * 5);min-width:0;overflow:hidden}.dtp-column-highlight{position:absolute;left:4px;right:4px;top:50%;transform:translateY(-50%);height:var(--dtp-item-h);background:var(--dtp-accent-bg);border-radius:8px;pointer-events:none;z-index:0}.dtp-column-list{height:100%;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding-top:calc(var(--dtp-item-h) * 2);padding-bottom:calc(var(--dtp-item-h) * 2)}.dtp-column-list::-webkit-scrollbar{display:none}.dtp-item{position:relative;z-index:1;height:var(--dtp-item-h);display:flex;align-items:center;justify-content:center;font-size:.875rem;cursor:pointer;color:var(--dtp-text-muted);transition:color .1s ease;-webkit-user-select:none;user-select:none}.dtp-item:hover{color:var(--dtp-text-primary)}.dtp-item--selected{color:var(--dtp-text-selected);font-weight:600;font-size:1rem}.dtp-fade-top,.dtp-fade-bottom{position:absolute;left:0;right:0;height:calc(var(--dtp-item-h) * 2);pointer-events:none;z-index:2}.dtp-fade-top{top:0;background:linear-gradient(to bottom,var(--dtp-panel-bg) 10%,transparent 100%)}.dtp-fade-bottom{bottom:0;background:linear-gradient(to top,var(--dtp-panel-bg) 10%,transparent 100%)}.dtp-calendar{padding:0 .25rem;min-height:230px}.dtp-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.dtp-cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:none;background:transparent;color:var(--dtp-text-muted);cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-cal-nav-btn:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-selected)}.dtp-cal-title{font-size:.875rem;font-weight:600;color:var(--dtp-text-primary)}.dtp-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.125rem}.dtp-cal-weekday{text-align:center;font-size:.6875rem;font-weight:500;color:var(--dtp-text-muted);padding:.25rem 0}.dtp-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dtp-cal-day{display:flex;align-items:center;justify-content:center;height:2rem;border-radius:.375rem;border:none;background:transparent;font-size:.8125rem;color:var(--dtp-text-primary);cursor:pointer;transition:background 80ms ease,color 80ms ease;width:100%}.dtp-cal-day:hover:not(:disabled):not(.dtp-cal-day--selected){background:var(--dtp-accent-bg)}.dtp-cal-day--other{color:var(--dtp-text-muted);opacity:.45}.dtp-cal-day--selected{background:var(--dtp-accent)!important;color:#fff!important;font-weight:600}.dtp-cal-day--today:not(.dtp-cal-day--selected){font-weight:600;color:var(--dtp-accent);box-shadow:inset 0 0 0 1px var(--dtp-accent)}.dtp-cal-day--disabled{opacity:.28;cursor:not-allowed;pointer-events:none}.dtp-panel-offset{padding:.375rem .75rem .5rem;border-top:1px solid var(--dtp-panel-border)}.dtp-quick-offset{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;padding:.25rem 0}.dtp-offset-input{width:3.25rem;padding:.25rem .4rem;border-radius:.375rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-primary);font-size:.8125rem;text-align:center;outline:none;transition:border-color .1s ease}.dtp-offset-input:focus{border-color:var(--dtp-accent)}.dtp-offset-select{padding:.25rem .3rem;border-radius:.375rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-primary);font-size:.8125rem;outline:none;cursor:pointer;transition:border-color .1s ease}.dtp-offset-select:focus{border-color:var(--dtp-accent)}.dtp-offset-apply{padding:.25rem .65rem;border-radius:.375rem;border:none;background:var(--dtp-accent);color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;transition:opacity .12s ease}.dtp-offset-apply:hover{opacity:.85}.dtp-panel-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.625rem .75rem;border-top:1px solid var(--dtp-panel-border)}.dtp-btn-cancel{padding:.4375rem 1rem;border-radius:.5rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-muted);font-size:.875rem;cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-btn-cancel:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-primary)}.dtp-btn-confirm{padding:.4375rem 1.25rem;border-radius:.5rem;border:none;background:var(--dtp-accent);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .12s ease,transform .1s ease}.dtp-btn-confirm:hover{opacity:.9;transform:translateY(-1px)}.dtp-btn-confirm:active{transform:translateY(0)}@keyframes otp-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.otp-pop{animation:otp-pop .18s ease-out forwards}.login-panel-slide-enter{animation:login-slide-in .22s ease-out forwards}@keyframes login-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rte-root{display:flex;flex-direction:column;border:1px solid var(--color-primary-200);border-radius:.5rem;overflow:hidden;background:var(--color-white, #fff)}.dark .rte-root{border-color:var(--color-primary-700);background:var(--color-primary-900)}.rte-ribbon{border-bottom:1px solid var(--color-primary-200);flex-shrink:0}.dark .rte-ribbon{border-bottom-color:var(--color-primary-700)}.rte-body{display:flex;flex-direction:row;flex:1 1 0;overflow:hidden;min-height:0}.rte-editor-pane{flex:1 1 auto;overflow-y:auto;overscroll-behavior-y:contain;position:relative}.rte-preview-pane{flex:0 0 50%;max-width:50%;border-left:1px solid var(--color-primary-200);overflow-y:auto;overscroll-behavior-y:contain;padding:1rem 1.25rem}.dark .rte-preview-pane{border-left-color:var(--color-primary-700)}@media(max-width:640px){.rte-body{flex-direction:column}.rte-preview-pane{flex:0 0 auto;max-width:100%;border-left:none;border-top:1px solid var(--color-primary-200)}.dark .rte-preview-pane{border-top-color:var(--color-primary-700)}}.rte-preview-pane .prose{font-size:.9rem;line-height:1.7;color:var(--color-primary-800)}.dark .rte-preview-pane .prose{color:var(--color-primary-100)}.rte-preview-pane .prose h1{font-size:1.75rem;font-weight:700;margin:.75rem 0}.rte-preview-pane .prose h2{font-size:1.4rem;font-weight:600;margin:.65rem 0}.rte-preview-pane .prose h3{font-size:1.15rem;font-weight:600;margin:.5rem 0}.rte-preview-pane .prose h4{font-size:1rem;font-weight:600;margin:.4rem 0}.rte-preview-pane .prose p{margin:.5rem 0}.rte-preview-pane .prose ul{list-style:disc;padding-left:1.5rem;margin:.5rem 0}.rte-preview-pane .prose ol{list-style:decimal;padding-left:1.5rem;margin:.5rem 0}.rte-preview-pane .prose li{margin:.2rem 0}.rte-preview-pane .prose a{color:var(--color-primary-500);text-decoration:underline}.rte-preview-pane .prose code{background:var(--color-primary-100);border-radius:.25rem;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.85em}.dark .rte-preview-pane .prose code{background:var(--color-primary-800)}.rte-preview-pane .prose pre{background:var(--color-primary-900);color:var(--color-primary-100);border-radius:.5rem;padding:1rem;overflow-x:auto;font-family:ui-monospace,monospace;font-size:.85em;margin:.75rem 0}.dark .rte-preview-pane .prose pre{background:var(--color-primary-800)}.rte-preview-pane .prose blockquote{border-left:4px solid var(--color-primary-300);padding-left:1rem;color:var(--color-primary-500);margin:.75rem 0;font-style:italic}.dark .rte-preview-pane .prose blockquote{border-left-color:var(--color-primary-600);color:var(--color-primary-400)}.rte-preview-pane .prose table{width:100%;border-collapse:collapse;margin:.75rem 0}.rte-preview-pane .prose th,.rte-preview-pane .prose td{border:1px solid var(--color-primary-200);padding:.4rem .75rem;text-align:left}.dark .rte-preview-pane .prose th,.dark .rte-preview-pane .prose td{border-color:var(--color-primary-700)}.rte-preview-pane .prose th{background:var(--color-primary-50);font-weight:600}.dark .rte-preview-pane .prose th{background:var(--color-primary-800)}.rte-preview-pane .prose img{max-width:100%;border-radius:.375rem}.rte-preview-pane .prose hr{border:none;border-top:1px solid var(--color-primary-200);margin:1rem 0}.dark .rte-preview-pane .prose hr{border-top-color:var(--color-primary-700)}.rte-markdown-source{width:100%;height:100%;resize:none;border:none;outline:none;padding:1rem 1.25rem;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.875rem;line-height:1.65;background:transparent;color:var(--color-primary-900);box-sizing:border-box}.dark .rte-markdown-source{color:var(--color-primary-100)}.rte-markdown-source::placeholder{color:var(--color-primary-400)}.rte-statusbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.2rem .75rem;font-size:.7rem;color:var(--color-primary-400);border-top:1px solid var(--color-primary-100);flex-shrink:0}.dark .rte-statusbar{border-top-color:var(--color-primary-800);color:var(--color-primary-500)}.rte-statusbar-left{display:flex;align-items:center;gap:.4rem}.rte-statusbar-right{display:flex;align-items:center;gap:.75rem}.rte-statusbar-divider{width:1px;height:1rem;background:var(--color-primary-200);flex-shrink:0}.dark .rte-statusbar-divider{background:var(--color-primary-700)}.rte-statusbar-label{font-size:.68rem;font-weight:500;color:var(--color-primary-500);user-select:none}.dark .rte-statusbar-label{color:var(--color-primary-400)}.ProseMirror{outline:none;padding:.875rem 1.25rem;min-height:180px;caret-color:var(--color-primary-600);color:var(--color-primary-900);font-size:.9rem;line-height:1.7}.dark .ProseMirror{color:var(--color-primary-100)}.ProseMirror p{margin:.4rem 0}.ProseMirror h1{font-size:1.75rem;font-weight:700;margin:.6rem 0}.ProseMirror h2{font-size:1.4rem;font-weight:600;margin:.5rem 0}.ProseMirror h3{font-size:1.15rem;font-weight:600;margin:.4rem 0}.ProseMirror h4{font-size:1rem;font-weight:600;margin:.35rem 0}.ProseMirror ul{list-style:disc;padding-left:1.5rem;margin:.4rem 0}.ProseMirror ol{list-style:decimal;padding-left:1.5rem;margin:.4rem 0}.ProseMirror a{color:var(--color-primary-500);text-decoration:underline;cursor:pointer}.ProseMirror code{background:var(--color-primary-100);border-radius:.25rem;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.85em}.dark .ProseMirror code{background:var(--color-primary-800)}.ProseMirror pre{background:var(--color-primary-900);color:var(--color-primary-100);border-radius:.5rem;padding:.875rem 1rem;overflow-x:auto;font-family:ui-monospace,monospace;font-size:.85em;margin:.5rem 0}.dark .ProseMirror pre{background:var(--color-primary-800)}.ProseMirror blockquote{border-left:4px solid var(--color-primary-300);padding-left:1rem;color:var(--color-primary-500);margin:.5rem 0;font-style:italic}.dark .ProseMirror blockquote{border-left-color:var(--color-primary-600);color:var(--color-primary-400)}.ProseMirror table{border-collapse:collapse;margin:.5rem 0;width:100%}.ProseMirror th,.ProseMirror td{border:1px solid var(--color-primary-200);padding:.35rem .6rem;text-align:left;vertical-align:top}.dark .ProseMirror th,.dark .ProseMirror td{border-color:var(--color-primary-700)}.ProseMirror th{background:var(--color-primary-50);font-weight:600}.dark .ProseMirror th{background:var(--color-primary-800)}.ProseMirror img{max-width:100%;border-radius:.375rem;display:inline-block}.ProseMirror hr{border:none;border-top:1px solid var(--color-primary-200);margin:.75rem 0}.dark .ProseMirror hr{border-top-color:var(--color-primary-700)}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--color-primary-400);pointer-events:none;height:0}.ProseMirror .selectedCell{background:var(--color-primary-100)}.dark .ProseMirror .selectedCell{background:var(--color-primary-800)}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:var(--color-primary-400);pointer-events:none;opacity:0;transition:opacity .15s}.ProseMirror th:hover .column-resize-handle,.ProseMirror td:hover .column-resize-handle{opacity:1}.column-resize-dragging .column-resize-handle{opacity:1;background:var(--color-primary-500)}.ProseMirror.resize-cursor,.column-resize-dragging{cursor:col-resize}.ProseMirror th,.ProseMirror td{position:relative}.rte-inline-dialog{position:absolute;z-index:40;top:2.5rem;left:0;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-white, #fff);border:1px solid var(--color-primary-200);border-radius:.5rem;box-shadow:0 4px 12px #0000001f;min-width:18rem}.dark .rte-inline-dialog{background:var(--color-primary-900);border-color:var(--color-primary-700);box-shadow:0 4px 12px #0006}.rte-inline-dialog input[type=text],.rte-inline-dialog input[type=url]{flex:1;border:1px solid var(--color-primary-200);border-radius:.375rem;padding:.3rem .5rem;font-size:.8rem;outline:none;background:transparent;color:inherit}.dark .rte-inline-dialog input[type=text],.dark .rte-inline-dialog input[type=url]{border-color:var(--color-primary-700)}.rte-inline-dialog input[type=text]:focus,.rte-inline-dialog input[type=url]:focus{border-color:var(--color-primary-400)}.rte-inline-dialog button{font-size:.75rem;padding:.3rem .6rem;border-radius:.375rem;cursor:pointer;border:none;background:var(--color-primary-600);color:#fff;font-weight:500}.rte-inline-dialog button:hover{background:var(--color-primary-700)}.rte-inline-dialog button.rte-cancel-btn{background:var(--color-secondary-200);color:var(--color-primary-800)}.dark .rte-inline-dialog button.rte-cancel-btn{background:var(--color-primary-700);color:var(--color-primary-100)}.ProseMirror div[data-youtube-video]{max-width:100%;margin:.5rem 0}.ProseMirror div[data-youtube-video] iframe{max-width:100%;border-radius:.375rem}.rte-image-wrapper{display:inline-block;position:relative;line-height:0;user-select:none;vertical-align:middle}.rte-image-wrapper img{display:block;max-width:100%;border-radius:.25rem}.rte-image-wrapper--selected img{outline:2px solid var(--color-primary-500);outline-offset:2px}.rte-rh{position:absolute;width:9px;height:9px;background:var(--color-primary-500);border:1.5px solid #fff;border-radius:2px;z-index:10;box-shadow:0 1px 3px #00000040}.rte-rh--nw{top:-4px;left:-4px;cursor:nw-resize}.rte-rh--ne{top:-4px;right:-4px;cursor:ne-resize}.rte-rh--sw{bottom:-4px;left:-4px;cursor:sw-resize}.rte-rh--se{bottom:-4px;right:-4px;cursor:se-resize}.rte-rh--e{top:50%;right:-4px;transform:translateY(-50%);cursor:ew-resize}.rte-rh--nw,.rte-rh--ne,.rte-rh--sw{pointer-events:none}.rte-rh--se,.rte-rh--e{pointer-events:auto}.rte-image-size-label{position:absolute;bottom:6px;left:50%;transform:translate(-50%);background:#0000009e;color:#fff;font-size:.62rem;font-weight:500;padding:1px 5px;border-radius:3px;white-space:nowrap;pointer-events:none;user-select:none}.rte-video-wrapper{display:block;margin:.5em 0;line-height:0}.rte-video-wrapper video{border-radius:.375rem;box-shadow:0 1px 4px #0000001a}.rte-video-wrapper--selected video{outline:2px solid var(--color-primary-500);outline-offset:2px}.rte-embed-wrapper{display:block;margin:.5em 0}.rte-embed-wrapper iframe{border-radius:.375rem;box-shadow:0 1px 4px #0000001a}.rte-embed-wrapper--selected iframe{outline:2px solid var(--color-primary-500);outline-offset:2px}.rte-tablebar{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.1rem .25rem;padding:.3rem .75rem;background:var(--color-primary-50);border-bottom:1px solid var(--color-primary-200);flex-shrink:0;animation:rte-tbar-in .15s ease}@keyframes rte-tbar-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dark .rte-tablebar{background:var(--color-primary-900);border-bottom-color:var(--color-primary-700)}.rte-tbar-group-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary-400);user-select:none;padding:0 .1rem}.dark .rte-tbar-group-label{color:var(--color-primary-500)}.rte-tbar-sep{width:1px;height:1.25rem;background:var(--color-primary-200);flex-shrink:0;margin:0 .2rem}.dark .rte-tbar-sep{background:var(--color-primary-700)}.rte-tbar-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .4rem;border:none;border-radius:.3rem;background:transparent;color:var(--color-primary-700);cursor:pointer;font-size:.7rem;font-weight:500;line-height:1;transition:background .12s,color .12s;white-space:nowrap}.rte-tbar-btn:hover:not(:disabled){background:var(--color-primary-100);color:var(--color-primary-900)}.rte-tbar-btn:disabled,.rte-tbar-btn--disabled{opacity:.38;cursor:not-allowed}.dark .rte-tbar-btn{color:var(--color-primary-300)}.dark .rte-tbar-btn:hover:not(:disabled){background:var(--color-primary-800);color:var(--color-primary-100)}.rte-tbar-label{font-size:.68rem}.rte-tbar-split-wrap{position:relative;display:inline-flex}.rte-tbar-split-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:50;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--color-white, #fff);border:1px solid var(--color-primary-200);border-radius:.4rem;box-shadow:0 4px 12px #0000001f;min-width:9rem;animation:rte-tbar-in .12s ease}.dark .rte-tbar-split-picker{background:var(--color-primary-900);border-color:var(--color-primary-700);box-shadow:0 4px 12px #0006}.rte-tbar-split-pick-btn{display:flex;align-items:center;gap:.4rem;width:100%;padding:.3rem .5rem;font-size:.72rem;font-weight:500;background:transparent;border:none;border-radius:.3rem;color:var(--color-primary-700);cursor:pointer;text-align:left;transition:background .1s}.rte-tbar-split-pick-btn:hover{background:var(--color-primary-100);color:var(--color-primary-900)}.dark .rte-tbar-split-pick-btn{color:var(--color-primary-300)}.dark .rte-tbar-split-pick-btn:hover{background:var(--color-primary-800);color:var(--color-primary-100)}.rte-findbar{display:flex;flex-direction:column;gap:.35rem;padding:.45rem .75rem;background:var(--color-primary-50);border-bottom:1px solid var(--color-primary-200);flex-shrink:0;animation:rte-findbar-in .15s ease}@keyframes rte-findbar-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dark .rte-findbar{background:var(--color-primary-950, #0a0a0f);border-bottom-color:var(--color-primary-700)}.rte-findbar-row{display:flex;align-items:center;gap:.35rem}.rte-findbar-icon{color:var(--color-primary-400);flex-shrink:0}.rte-findbar-input{flex:1;height:1.75rem;padding:0 .5rem;font-size:.8rem;border:1px solid var(--color-primary-200);border-radius:.375rem;outline:none;background:var(--color-white, #fff);color:var(--color-primary-900);transition:border-color .15s}.rte-findbar-input:focus{border-color:var(--color-primary-400)}.dark .rte-findbar-input{background:var(--color-primary-900);border-color:var(--color-primary-700);color:var(--color-primary-100)}.dark .rte-findbar-input:focus{border-color:var(--color-primary-500)}.rte-findbar-count{font-size:.72rem;color:var(--color-primary-400);white-space:nowrap;min-width:3.5rem;text-align:center}.rte-findbar-btn{display:inline-flex;align-items:center;justify-content:center;height:1.75rem;min-width:1.75rem;padding:0 .4rem;font-size:.72rem;font-weight:600;border:1px solid var(--color-primary-200);border-radius:.375rem;background:transparent;color:var(--color-primary-600);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.rte-findbar-btn:hover:not(:disabled){background:var(--color-primary-100);border-color:var(--color-primary-300)}.rte-findbar-btn:disabled{opacity:.4;cursor:not-allowed}.rte-findbar-btn--active{background:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600)}.rte-findbar-btn--active:hover:not(:disabled){background:var(--color-primary-700)}.rte-findbar-btn--close{color:var(--color-primary-400);border-color:transparent;margin-left:.15rem}.rte-findbar-btn--close:hover:not(:disabled){background:var(--color-danger-100);color:var(--color-danger-600);border-color:transparent}.rte-findbar-btn--action{min-width:auto;padding:0 .6rem;font-size:.72rem}.dark .rte-findbar-btn{border-color:var(--color-primary-700);color:var(--color-primary-300)}.dark .rte-findbar-btn:hover:not(:disabled){background:var(--color-primary-800);border-color:var(--color-primary-600)}.rte-search-match{background:color-mix(in srgb,var(--color-warning-400) 40%,transparent);border-radius:2px}.rte-search-current{background:color-mix(in srgb,var(--color-warning-500) 70%,transparent);border-radius:2px;outline:1px solid var(--color-warning-500)}.dark .rte-search-match{background:color-mix(in srgb,var(--color-warning-600) 40%,transparent)}.dark .rte-search-current{background:color-mix(in srgb,var(--color-warning-500) 60%,transparent);outline-color:var(--color-warning-400)}
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .slider-root *{user-select:none}[data-virtual-list]{-webkit-overflow-scrolling:touch;scroll-behavior:auto;outline:none}.onyx-vlist-item{will-change:transform;contain:layout style}[data-virtual-list][data-direction=horizontal]{cursor:grab}[data-virtual-list]::-webkit-scrollbar{width:6px;height:6px}[data-virtual-list]::-webkit-scrollbar-track{background:transparent}[data-virtual-list]::-webkit-scrollbar-thumb{border-radius:9999px;background-color:color-mix(in srgb,currentColor 25%,transparent)}[data-virtual-list]::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,currentColor 40%,transparent)}.drawer-backdrop{animation:drawer-backdrop-in .18s ease-out both}@keyframes drawer-backdrop-in{0%{opacity:0}to{opacity:1}}.drawer-panel{will-change:transform}.drawer-enter-right{animation:drawer-slide-in-right .26s cubic-bezier(.16,1,.3,1) both}.drawer-enter-left{animation:drawer-slide-in-left .26s cubic-bezier(.16,1,.3,1) both}.drawer-enter-top{animation:drawer-slide-in-top .26s cubic-bezier(.16,1,.3,1) both}.drawer-enter-bottom{animation:drawer-slide-in-bottom .26s cubic-bezier(.16,1,.3,1) both}@keyframes drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-slide-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes drawer-slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes tw-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes tw-cursor-out{0%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes tw-img-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tw-cursor{display:inline-block;line-height:1;vertical-align:baseline;user-select:none;transform:scaleY(.88);transform-origin:50% 90%;color:currentColor}.tw-cursor--blink{animation:tw-blink 1s step-end infinite}.tw-cursor--solid{opacity:1;animation:none}.tw-cursor--out{animation:tw-cursor-out .6s ease-out forwards;pointer-events:none}.tw-rich-prose{font-size:.875rem;line-height:1.75;color:var(--color-primary-900);word-break:break-word;overflow-wrap:break-word}.dark .tw-rich-prose{color:var(--color-primary-100)}.tw-rich-prose h1,.tw-rich-prose h2,.tw-rich-prose h3,.tw-rich-prose h4,.tw-rich-prose h5,.tw-rich-prose h6{font-weight:700;line-height:1.3;margin-top:1.25rem;margin-bottom:.375rem;color:var(--color-primary-950)}.dark .tw-rich-prose h1,.dark .tw-rich-prose h2,.dark .tw-rich-prose h3,.dark .tw-rich-prose h4,.dark .tw-rich-prose h5,.dark .tw-rich-prose h6{color:var(--color-primary-50)}.tw-rich-prose h1{font-size:1.5rem}.tw-rich-prose h2{font-size:1.25rem}.tw-rich-prose h3{font-size:1.125rem}.tw-rich-prose h4{font-size:1rem}.tw-rich-prose h5,.tw-rich-prose h6{font-size:.875rem}.tw-rich-prose p{margin-top:.625rem;margin-bottom:.625rem}.tw-rich-prose p:first-child{margin-top:0}.tw-rich-prose p:last-child{margin-bottom:0}.tw-rich-prose :not(pre)>code{background-color:var(--color-primary-100);color:var(--color-primary-700);padding:.1em .35em;border-radius:.25rem;font-size:.8125em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.dark .tw-rich-prose :not(pre)>code{background-color:var(--color-primary-800);color:var(--color-primary-200)}.tw-rich-prose pre{background-color:var(--color-primary-100);border-radius:.5rem;padding:.875rem 1rem;overflow-x:auto;margin:.75rem 0;font-size:.8125rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.6}.dark .tw-rich-prose pre{background-color:var(--color-primary-800)}.tw-rich-prose pre>code{background:none;padding:0;font-size:inherit;color:inherit;border-radius:0}.tw-rich-prose blockquote{border-left:3px solid var(--color-primary-400);padding:.375rem 0 .375rem 1rem;margin:.75rem 0;color:var(--color-primary-600);font-style:italic}.dark .tw-rich-prose blockquote{border-left-color:var(--color-primary-500);color:var(--color-primary-400)}.tw-rich-prose ul,.tw-rich-prose ol{padding-left:1.5rem;margin:.5rem 0}.tw-rich-prose ul{list-style:disc}.tw-rich-prose ol{list-style:decimal}.tw-rich-prose li{margin:.25rem 0}.tw-rich-prose li>ul,.tw-rich-prose li>ol{margin:.125rem 0 .125rem .25rem}.tw-rich-prose hr{border:none;border-top:1px solid var(--color-primary-200);margin:1.25rem 0}.dark .tw-rich-prose hr{border-top-color:var(--color-primary-700)}.tw-rich-prose a{color:var(--color-primary-600);text-decoration:underline;text-underline-offset:2px}.tw-rich-prose a:hover{color:var(--color-primary-800)}.dark .tw-rich-prose a{color:var(--color-primary-400)}.dark .tw-rich-prose a:hover{color:var(--color-primary-200)}.tw-rich-prose strong{font-weight:700}.tw-rich-prose em{font-style:italic}.tw-rich-img-wrap{display:block;margin:.875rem 0}.tw-rich-img{display:block;max-width:100%;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;animation:tw-img-fade-in .4s ease-out both}.dark .tw-rich-img{box-shadow:0 2px 8px #0000004d}.tw-rich-img-error{display:none;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border-radius:.5rem;background-color:var(--color-primary-100);color:var(--color-primary-400);font-size:.75rem;font-style:normal;text-align:center;min-height:80px;max-width:100%}.dark .tw-rich-img-error{background-color:var(--color-primary-800);color:var(--color-primary-500)}.tw-rich-img-wrap--error .tw-rich-img{display:none}.tw-rich-img-wrap--error .tw-rich-img-error{display:flex}.cmd-backdrop{background:#0006;backdrop-filter:blur(2px);animation:cmd-backdrop-in .12s ease-out both}@keyframes cmd-backdrop-in{0%{opacity:0}to{opacity:1}}.cmd-panel{animation:cmd-panel-in .18s cubic-bezier(.16,1,.3,1) both}@keyframes cmd-panel-in{0%{opacity:0;transform:scale(.96) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.cmd-item{cursor:default;user-select:none;transition:background-color 80ms ease,color 80ms ease}#cmd-results{scrollbar-width:thin;scrollbar-color:var(--color-primary-300) transparent}#cmd-results::-webkit-scrollbar{width:4px}#cmd-results::-webkit-scrollbar-track{background:transparent}#cmd-results::-webkit-scrollbar-thumb{background:var(--color-primary-300);border-radius:2px}.dark #cmd-results::-webkit-scrollbar-thumb{background:var(--color-primary-700)}:root{--tl-holo-base: var(--color-primary-600);--tl-holo-mid: var(--color-primary-400);--tl-holo-indigo: var(--color-indigo-400);--tl-holo-violet: var(--color-violet-300);--tl-holo-cyan: var(--color-cyan-400);--tl-glow-complete-1: var(--color-success-600);--tl-glow-complete-2: var(--color-success-400);--tl-glow-error-1: var(--color-danger-600);--tl-glow-error-2: var(--color-danger-400);--tl-glow-error-3: var(--color-danger-300)}@property --tl-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes tl-holo-spin{to{--tl-angle: 360deg}}@keyframes tl-breathe{0%,to{opacity:.42}50%{opacity:.9}}@keyframes tl-glow-pulse{0%,to{opacity:.12}50%{opacity:.24}}:root{--dtp-panel-bg: rgba(255, 255, 255, .9);--dtp-panel-border: var(--color-primary-200);--dtp-blur: 16px;--dtp-accent: var(--color-primary-500);--dtp-accent-bg: var(--color-primary-100);--dtp-text-selected: var(--color-primary-800);--dtp-text-muted: var(--color-secondary-400);--dtp-text-primary: var(--color-primary-700);--dtp-item-h: 40px;--dtp-radius: 16px;--dtp-shadow: 0 20px 60px rgba(0, 0, 0, .12), 0 4px 16px rgba(0, 0, 0, .06)}:root:where(.dark,.dark *),.dark{--dtp-panel-bg: rgba(15, 23, 42, .9);--dtp-panel-border: var(--color-primary-700);--dtp-accent-bg: rgba(100, 116, 139, .25);--dtp-text-selected: var(--color-primary-100);--dtp-text-muted: var(--color-secondary-500);--dtp-text-primary: var(--color-primary-300);--dtp-shadow: 0 20px 60px rgba(0, 0, 0, .45), 0 4px 16px rgba(0, 0, 0, .2)}.dtp-root{display:inline-flex;align-items:center}.dtp-trigger-wrap{position:relative;display:inline-flex;align-items:center}.dtp-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--color-primary-300);background:var(--color-primary-50);color:var(--color-primary-700);font-size:.875rem;line-height:1.5;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;min-width:180px;text-align:left}.dtp-trigger--has-clear{padding-right:2rem}:where(.dark,.dark *) .dtp-trigger{border-color:var(--color-primary-600);background:var(--color-primary-800);color:var(--color-primary-200)}.dtp-trigger:hover:not(:disabled){border-color:var(--color-primary-400);box-shadow:0 0 0 3px var(--color-primary-100)}:where(.dark,.dark *) .dtp-trigger:hover:not(:disabled){box-shadow:0 0 0 3px #64748b33}.dtp-trigger--disabled{opacity:.5;cursor:not-allowed}.dtp-trigger-icon{width:1rem;height:1rem;color:var(--color-primary-400);flex-shrink:0}.dtp-trigger-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtp-trigger-placeholder{color:var(--color-secondary-400)}.dtp-trigger-clear{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;padding:.125rem;border-radius:9999px;border:none;background:transparent;color:var(--color-secondary-400);cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-trigger-clear:hover{background:var(--color-primary-200);color:var(--color-primary-600)}.dtp-panel{position:fixed;z-index:9999;width:340px;max-width:calc(100vw - 32px);border-radius:var(--dtp-radius);border:1px solid var(--dtp-panel-border);background:var(--dtp-panel-bg);-webkit-backdrop-filter:blur(var(--dtp-blur));backdrop-filter:blur(var(--dtp-blur));box-shadow:var(--dtp-shadow);overflow:hidden;animation:dtp-panel-in .2s cubic-bezier(.16,1,.3,1) both;top:60px;left:0}@keyframes dtp-panel-in{0%{opacity:0;transform:scale(.97) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:640px){.dtp-panel{position:fixed!important;top:auto!important;left:0!important;bottom:0;width:100vw;max-width:100vw;border-radius:var(--dtp-radius) var(--dtp-radius) 0 0;animation:dtp-panel-slide-up .28s cubic-bezier(.16,1,.3,1) both}@keyframes dtp-panel-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.dtp-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem .625rem;border-bottom:1px solid var(--dtp-panel-border)}.dtp-panel-preview{font-size:.9375rem;font-weight:600;color:var(--dtp-text-primary);letter-spacing:-.01em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dtp-panel-actions{display:flex;gap:.375rem;margin-left:.5rem}.dtp-view-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:1px solid transparent;background:transparent;color:var(--dtp-text-muted);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.dtp-view-btn:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-selected)}.dtp-view-btn--active{background:var(--dtp-accent-bg);color:var(--dtp-accent);border-color:var(--dtp-panel-border)}.dtp-panel-body{padding:.625rem .5rem}.dtp-drum{display:flex;align-items:stretch}.dtp-drum-date,.dtp-drum-time{display:flex;flex:1;min-width:0}.dtp-drum-sep{width:1px;background:var(--dtp-panel-border);margin:.5rem .25rem}.dtp-column{position:relative;flex:1;height:calc(var(--dtp-item-h) * 5);min-width:0;overflow:hidden}.dtp-column-highlight{position:absolute;left:4px;right:4px;top:50%;transform:translateY(-50%);height:var(--dtp-item-h);background:var(--dtp-accent-bg);border-radius:8px;pointer-events:none;z-index:0}.dtp-column-list{height:100%;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding-top:calc(var(--dtp-item-h) * 2);padding-bottom:calc(var(--dtp-item-h) * 2)}.dtp-column-list::-webkit-scrollbar{display:none}.dtp-item{position:relative;z-index:1;height:var(--dtp-item-h);display:flex;align-items:center;justify-content:center;font-size:.875rem;cursor:pointer;color:var(--dtp-text-muted);transition:color .1s ease;-webkit-user-select:none;user-select:none}.dtp-item:hover{color:var(--dtp-text-primary)}.dtp-item--selected{color:var(--dtp-text-selected);font-weight:600;font-size:1rem}.dtp-fade-top,.dtp-fade-bottom{position:absolute;left:0;right:0;height:calc(var(--dtp-item-h) * 2);pointer-events:none;z-index:2}.dtp-fade-top{top:0;background:linear-gradient(to bottom,var(--dtp-panel-bg) 10%,transparent 100%)}.dtp-fade-bottom{bottom:0;background:linear-gradient(to top,var(--dtp-panel-bg) 10%,transparent 100%)}.dtp-calendar{padding:0 .25rem;min-height:230px}.dtp-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.dtp-cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:none;background:transparent;color:var(--dtp-text-muted);cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-cal-nav-btn:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-selected)}.dtp-cal-title{font-size:.875rem;font-weight:600;color:var(--dtp-text-primary)}.dtp-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.125rem}.dtp-cal-weekday{text-align:center;font-size:.6875rem;font-weight:500;color:var(--dtp-text-muted);padding:.25rem 0}.dtp-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dtp-cal-day{display:flex;align-items:center;justify-content:center;height:2rem;border-radius:.375rem;border:none;background:transparent;font-size:.8125rem;color:var(--dtp-text-primary);cursor:pointer;transition:background 80ms ease,color 80ms ease;width:100%}.dtp-cal-day:hover:not(:disabled):not(.dtp-cal-day--selected){background:var(--dtp-accent-bg)}.dtp-cal-day--other{color:var(--dtp-text-muted);opacity:.45}.dtp-cal-day--selected{background:var(--dtp-accent)!important;color:#fff!important;font-weight:600}.dtp-cal-day--today:not(.dtp-cal-day--selected){font-weight:600;color:var(--dtp-accent);box-shadow:inset 0 0 0 1px var(--dtp-accent)}.dtp-cal-day--disabled{opacity:.28;cursor:not-allowed;pointer-events:none}.dtp-panel-offset{padding:.375rem .75rem .5rem;border-top:1px solid var(--dtp-panel-border)}.dtp-quick-offset{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;padding:.25rem 0}.dtp-offset-input{width:3.25rem;padding:.25rem .4rem;border-radius:.375rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-primary);font-size:.8125rem;text-align:center;outline:none;transition:border-color .1s ease}.dtp-offset-input:focus{border-color:var(--dtp-accent)}.dtp-offset-select{padding:.25rem .3rem;border-radius:.375rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-primary);font-size:.8125rem;outline:none;cursor:pointer;transition:border-color .1s ease}.dtp-offset-select:focus{border-color:var(--dtp-accent)}.dtp-offset-apply{padding:.25rem .65rem;border-radius:.375rem;border:none;background:var(--dtp-accent);color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;transition:opacity .12s ease}.dtp-offset-apply:hover{opacity:.85}.dtp-panel-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.625rem .75rem;border-top:1px solid var(--dtp-panel-border)}.dtp-btn-cancel{padding:.4375rem 1rem;border-radius:.5rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-muted);font-size:.875rem;cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-btn-cancel:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-primary)}.dtp-btn-confirm{padding:.4375rem 1.25rem;border-radius:.5rem;border:none;background:var(--dtp-accent);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .12s ease,transform .1s ease}.dtp-btn-confirm:hover{opacity:.9;transform:translateY(-1px)}.dtp-btn-confirm:active{transform:translateY(0)}@keyframes otp-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.otp-pop{animation:otp-pop .18s ease-out forwards}.login-panel-slide-enter{animation:login-slide-in .22s ease-out forwards}@keyframes login-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rte-root{display:flex;flex-direction:column;border:1px solid var(--color-primary-200);border-radius:.5rem;overflow:hidden;background:var(--color-white, #fff)}.dark .rte-root{border-color:var(--color-primary-700);background:var(--color-primary-900)}.rte-ribbon{border-bottom:1px solid var(--color-primary-200);flex-shrink:0}.dark .rte-ribbon{border-bottom-color:var(--color-primary-700)}.rte-body{display:flex;flex-direction:row;flex:1 1 0;overflow:hidden;min-height:0}.rte-editor-pane{flex:1 1 auto;overflow-y:auto;overscroll-behavior-y:contain;position:relative}.rte-preview-pane{flex:0 0 50%;max-width:50%;border-left:1px solid var(--color-primary-200);overflow-y:auto;overscroll-behavior-y:contain;padding:1rem 1.25rem}.dark .rte-preview-pane{border-left-color:var(--color-primary-700)}@media(max-width:640px){.rte-body{flex-direction:column}.rte-preview-pane{flex:0 0 auto;max-width:100%;border-left:none;border-top:1px solid var(--color-primary-200)}.dark .rte-preview-pane{border-top-color:var(--color-primary-700)}}.rte-preview-pane .prose{font-size:.9rem;line-height:1.7;color:var(--color-primary-800)}.dark .rte-preview-pane .prose{color:var(--color-primary-100)}.rte-preview-pane .prose h1{font-size:1.75rem;font-weight:700;margin:.75rem 0}.rte-preview-pane .prose h2{font-size:1.4rem;font-weight:600;margin:.65rem 0}.rte-preview-pane .prose h3{font-size:1.15rem;font-weight:600;margin:.5rem 0}.rte-preview-pane .prose h4{font-size:1rem;font-weight:600;margin:.4rem 0}.rte-preview-pane .prose p{margin:.5rem 0}.rte-preview-pane .prose ul{list-style:disc;padding-left:1.5rem;margin:.5rem 0}.rte-preview-pane .prose ol{list-style:decimal;padding-left:1.5rem;margin:.5rem 0}.rte-preview-pane .prose li{margin:.2rem 0}.rte-preview-pane .prose a{color:var(--color-primary-500);text-decoration:underline}.rte-preview-pane .prose code{background:var(--color-primary-100);border-radius:.25rem;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.85em}.dark .rte-preview-pane .prose code{background:var(--color-primary-800)}.rte-preview-pane .prose pre{background:var(--color-primary-900);color:var(--color-primary-100);border-radius:.5rem;padding:1rem;overflow-x:auto;font-family:ui-monospace,monospace;font-size:.85em;margin:.75rem 0}.dark .rte-preview-pane .prose pre{background:var(--color-primary-800)}.rte-preview-pane .prose blockquote{border-left:4px solid var(--color-primary-300);padding-left:1rem;color:var(--color-primary-500);margin:.75rem 0;font-style:italic}.dark .rte-preview-pane .prose blockquote{border-left-color:var(--color-primary-600);color:var(--color-primary-400)}.rte-preview-pane .prose table{width:100%;border-collapse:collapse;margin:.75rem 0}.rte-preview-pane .prose th,.rte-preview-pane .prose td{border:1px solid var(--color-primary-200);padding:.4rem .75rem;text-align:left}.dark .rte-preview-pane .prose th,.dark .rte-preview-pane .prose td{border-color:var(--color-primary-700)}.rte-preview-pane .prose th{background:var(--color-primary-50);font-weight:600}.dark .rte-preview-pane .prose th{background:var(--color-primary-800)}.rte-preview-pane .prose img{max-width:100%;border-radius:.375rem}.rte-preview-pane .prose hr{border:none;border-top:1px solid var(--color-primary-200);margin:1rem 0}.dark .rte-preview-pane .prose hr{border-top-color:var(--color-primary-700)}.rte-markdown-source{width:100%;height:100%;resize:none;border:none;outline:none;padding:1rem 1.25rem;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.875rem;line-height:1.65;background:transparent;color:var(--color-primary-900);box-sizing:border-box}.dark .rte-markdown-source{color:var(--color-primary-100)}.rte-markdown-source::placeholder{color:var(--color-primary-400)}.rte-statusbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.2rem .75rem;font-size:.7rem;color:var(--color-primary-400);border-top:1px solid var(--color-primary-100);flex-shrink:0}.dark .rte-statusbar{border-top-color:var(--color-primary-800);color:var(--color-primary-500)}.rte-statusbar-left{display:flex;align-items:center;gap:.4rem}.rte-statusbar-right{display:flex;align-items:center;gap:.75rem}.rte-statusbar-divider{width:1px;height:1rem;background:var(--color-primary-200);flex-shrink:0}.dark .rte-statusbar-divider{background:var(--color-primary-700)}.rte-statusbar-label{font-size:.68rem;font-weight:500;color:var(--color-primary-500);user-select:none}.dark .rte-statusbar-label{color:var(--color-primary-400)}.ProseMirror{outline:none;padding:.875rem 1.25rem;min-height:180px;caret-color:var(--color-primary-600);color:var(--color-primary-900);font-size:.9rem;line-height:1.7}.dark .ProseMirror{color:var(--color-primary-100)}.ProseMirror p{margin:.4rem 0}.ProseMirror h1{font-size:1.75rem;font-weight:700;margin:.6rem 0}.ProseMirror h2{font-size:1.4rem;font-weight:600;margin:.5rem 0}.ProseMirror h3{font-size:1.15rem;font-weight:600;margin:.4rem 0}.ProseMirror h4{font-size:1rem;font-weight:600;margin:.35rem 0}.ProseMirror ul{list-style:disc;padding-left:1.5rem;margin:.4rem 0}.ProseMirror ol{list-style:decimal;padding-left:1.5rem;margin:.4rem 0}.ProseMirror a{color:var(--color-primary-500);text-decoration:underline;cursor:pointer}.ProseMirror code{background:var(--color-primary-100);border-radius:.25rem;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.85em}.dark .ProseMirror code{background:var(--color-primary-800)}.ProseMirror pre{background:var(--color-primary-900);color:var(--color-primary-100);border-radius:.5rem;padding:.875rem 1rem;overflow-x:auto;font-family:ui-monospace,monospace;font-size:.85em;margin:.5rem 0}.dark .ProseMirror pre{background:var(--color-primary-800)}.ProseMirror blockquote{border-left:4px solid var(--color-primary-300);padding-left:1rem;color:var(--color-primary-500);margin:.5rem 0;font-style:italic}.dark .ProseMirror blockquote{border-left-color:var(--color-primary-600);color:var(--color-primary-400)}.ProseMirror table{border-collapse:collapse;margin:.5rem 0;width:100%}.ProseMirror th,.ProseMirror td{border:1px solid var(--color-primary-200);padding:.35rem .6rem;text-align:left;vertical-align:top}.dark .ProseMirror th,.dark .ProseMirror td{border-color:var(--color-primary-700)}.ProseMirror th{background:var(--color-primary-50);font-weight:600}.dark .ProseMirror th{background:var(--color-primary-800)}.ProseMirror img{max-width:100%;border-radius:.375rem;display:inline-block}.ProseMirror hr{border:none;border-top:1px solid var(--color-primary-200);margin:.75rem 0}.dark .ProseMirror hr{border-top-color:var(--color-primary-700)}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--color-primary-400);pointer-events:none;height:0}.ProseMirror .selectedCell{background:var(--color-primary-100)}.dark .ProseMirror .selectedCell{background:var(--color-primary-800)}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:var(--color-primary-400);pointer-events:none;opacity:0;transition:opacity .15s}.ProseMirror th:hover .column-resize-handle,.ProseMirror td:hover .column-resize-handle{opacity:1}.column-resize-dragging .column-resize-handle{opacity:1;background:var(--color-primary-500)}.ProseMirror.resize-cursor,.column-resize-dragging{cursor:col-resize}.ProseMirror th,.ProseMirror td{position:relative}.rte-inline-dialog{position:absolute;z-index:40;top:2.5rem;left:0;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-white, #fff);border:1px solid var(--color-primary-200);border-radius:.5rem;box-shadow:0 4px 12px #0000001f;min-width:18rem}.dark .rte-inline-dialog{background:var(--color-primary-900);border-color:var(--color-primary-700);box-shadow:0 4px 12px #0006}.rte-inline-dialog input[type=text],.rte-inline-dialog input[type=url]{flex:1;border:1px solid var(--color-primary-200);border-radius:.375rem;padding:.3rem .5rem;font-size:.8rem;outline:none;background:transparent;color:inherit}.dark .rte-inline-dialog input[type=text],.dark .rte-inline-dialog input[type=url]{border-color:var(--color-primary-700)}.rte-inline-dialog input[type=text]:focus,.rte-inline-dialog input[type=url]:focus{border-color:var(--color-primary-400)}.rte-inline-dialog button{font-size:.75rem;padding:.3rem .6rem;border-radius:.375rem;cursor:pointer;border:none;background:var(--color-primary-600);color:#fff;font-weight:500}.rte-inline-dialog button:hover{background:var(--color-primary-700)}.rte-inline-dialog button.rte-cancel-btn{background:var(--color-secondary-200);color:var(--color-primary-800)}.dark .rte-inline-dialog button.rte-cancel-btn{background:var(--color-primary-700);color:var(--color-primary-100)}.ProseMirror div[data-youtube-video]{max-width:100%;margin:.5rem 0}.ProseMirror div[data-youtube-video] iframe{max-width:100%;border-radius:.375rem}.rte-image-wrapper{display:inline-block;position:relative;line-height:0;user-select:none;vertical-align:middle}.rte-image-wrapper img{display:block;max-width:100%;border-radius:.25rem}.rte-image-wrapper--selected img{outline:2px solid var(--color-primary-500);outline-offset:2px}.rte-rh{position:absolute;width:9px;height:9px;background:var(--color-primary-500);border:1.5px solid #fff;border-radius:2px;z-index:10;box-shadow:0 1px 3px #00000040}.rte-rh--nw{top:-4px;left:-4px;cursor:nw-resize}.rte-rh--ne{top:-4px;right:-4px;cursor:ne-resize}.rte-rh--sw{bottom:-4px;left:-4px;cursor:sw-resize}.rte-rh--se{bottom:-4px;right:-4px;cursor:se-resize}.rte-rh--e{top:50%;right:-4px;transform:translateY(-50%);cursor:ew-resize}.rte-rh--nw,.rte-rh--ne,.rte-rh--sw{pointer-events:none}.rte-rh--se,.rte-rh--e{pointer-events:auto}.rte-image-size-label{position:absolute;bottom:6px;left:50%;transform:translate(-50%);background:#0000009e;color:#fff;font-size:.62rem;font-weight:500;padding:1px 5px;border-radius:3px;white-space:nowrap;pointer-events:none;user-select:none}.rte-video-wrapper{display:block;margin:.5em 0;line-height:0}.rte-video-wrapper video{border-radius:.375rem;box-shadow:0 1px 4px #0000001a}.rte-video-wrapper--selected video{outline:2px solid var(--color-primary-500);outline-offset:2px}.rte-embed-wrapper{display:block;margin:.5em 0}.rte-embed-wrapper iframe{border-radius:.375rem;box-shadow:0 1px 4px #0000001a}.rte-embed-wrapper--selected iframe{outline:2px solid var(--color-primary-500);outline-offset:2px}.rte-tablebar{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.1rem .25rem;padding:.3rem .75rem;background:var(--color-primary-50);border-bottom:1px solid var(--color-primary-200);flex-shrink:0;animation:rte-tbar-in .15s ease}@keyframes rte-tbar-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dark .rte-tablebar{background:var(--color-primary-900);border-bottom-color:var(--color-primary-700)}.rte-tbar-group-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary-400);user-select:none;padding:0 .1rem}.dark .rte-tbar-group-label{color:var(--color-primary-500)}.rte-tbar-sep{width:1px;height:1.25rem;background:var(--color-primary-200);flex-shrink:0;margin:0 .2rem}.dark .rte-tbar-sep{background:var(--color-primary-700)}.rte-tbar-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .4rem;border:none;border-radius:.3rem;background:transparent;color:var(--color-primary-700);cursor:pointer;font-size:.7rem;font-weight:500;line-height:1;transition:background .12s,color .12s;white-space:nowrap}.rte-tbar-btn:hover:not(:disabled){background:var(--color-primary-100);color:var(--color-primary-900)}.rte-tbar-btn:disabled,.rte-tbar-btn--disabled{opacity:.38;cursor:not-allowed}.dark .rte-tbar-btn{color:var(--color-primary-300)}.dark .rte-tbar-btn:hover:not(:disabled){background:var(--color-primary-800);color:var(--color-primary-100)}.rte-tbar-label{font-size:.68rem}.rte-tbar-split-wrap{position:relative;display:inline-flex}.rte-tbar-split-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:50;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--color-white, #fff);border:1px solid var(--color-primary-200);border-radius:.4rem;box-shadow:0 4px 12px #0000001f;min-width:9rem;animation:rte-tbar-in .12s ease}.dark .rte-tbar-split-picker{background:var(--color-primary-900);border-color:var(--color-primary-700);box-shadow:0 4px 12px #0006}.rte-tbar-split-pick-btn{display:flex;align-items:center;gap:.4rem;width:100%;padding:.3rem .5rem;font-size:.72rem;font-weight:500;background:transparent;border:none;border-radius:.3rem;color:var(--color-primary-700);cursor:pointer;text-align:left;transition:background .1s}.rte-tbar-split-pick-btn:hover{background:var(--color-primary-100);color:var(--color-primary-900)}.dark .rte-tbar-split-pick-btn{color:var(--color-primary-300)}.dark .rte-tbar-split-pick-btn:hover{background:var(--color-primary-800);color:var(--color-primary-100)}.rte-findbar{display:flex;flex-direction:column;gap:.35rem;padding:.45rem .75rem;background:var(--color-primary-50);border-bottom:1px solid var(--color-primary-200);flex-shrink:0;animation:rte-findbar-in .15s ease}@keyframes rte-findbar-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dark .rte-findbar{background:var(--color-primary-950, #0a0a0f);border-bottom-color:var(--color-primary-700)}.rte-findbar-row{display:flex;align-items:center;gap:.35rem}.rte-findbar-icon{color:var(--color-primary-400);flex-shrink:0}.rte-findbar-input{flex:1;height:1.75rem;padding:0 .5rem;font-size:.8rem;border:1px solid var(--color-primary-200);border-radius:.375rem;outline:none;background:var(--color-white, #fff);color:var(--color-primary-900);transition:border-color .15s}.rte-findbar-input:focus{border-color:var(--color-primary-400)}.dark .rte-findbar-input{background:var(--color-primary-900);border-color:var(--color-primary-700);color:var(--color-primary-100)}.dark .rte-findbar-input:focus{border-color:var(--color-primary-500)}.rte-findbar-count{font-size:.72rem;color:var(--color-primary-400);white-space:nowrap;min-width:3.5rem;text-align:center}.rte-findbar-btn{display:inline-flex;align-items:center;justify-content:center;height:1.75rem;min-width:1.75rem;padding:0 .4rem;font-size:.72rem;font-weight:600;border:1px solid var(--color-primary-200);border-radius:.375rem;background:transparent;color:var(--color-primary-600);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.rte-findbar-btn:hover:not(:disabled){background:var(--color-primary-100);border-color:var(--color-primary-300)}.rte-findbar-btn:disabled{opacity:.4;cursor:not-allowed}.rte-findbar-btn--active{background:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600)}.rte-findbar-btn--active:hover:not(:disabled){background:var(--color-primary-700)}.rte-findbar-btn--close{color:var(--color-primary-400);border-color:transparent;margin-left:.15rem}.rte-findbar-btn--close:hover:not(:disabled){background:var(--color-danger-100);color:var(--color-danger-600);border-color:transparent}.rte-findbar-btn--action{min-width:auto;padding:0 .6rem;font-size:.72rem}.dark .rte-findbar-btn{border-color:var(--color-primary-700);color:var(--color-primary-300)}.dark .rte-findbar-btn:hover:not(:disabled){background:var(--color-primary-800);border-color:var(--color-primary-600)}.rte-search-match{background:color-mix(in srgb,var(--color-warning-400) 40%,transparent);border-radius:2px}.rte-search-current{background:color-mix(in srgb,var(--color-warning-500) 70%,transparent);border-radius:2px;outline:1px solid var(--color-warning-500)}.dark .rte-search-match{background:color-mix(in srgb,var(--color-warning-600) 40%,transparent)}.dark .rte-search-current{background:color-mix(in srgb,var(--color-warning-500) 60%,transparent);outline-color:var(--color-warning-400)}@keyframes chart-line-draw{0%{stroke-dashoffset:3000}to{stroke-dashoffset:0}}@keyframes chart-dot-pop{0%{r:0;opacity:0}to{opacity:1}}@keyframes chart-area-fade{0%{opacity:0}to{opacity:1}}.chart-line-animate{stroke-dasharray:3000;stroke-dashoffset:3000;animation:chart-line-draw 1s ease-out forwards}.chart-line-animate:nth-child(2){animation-delay:.1s}.chart-line-animate:nth-child(3){animation-delay:.2s}.chart-line-animate:nth-child(4){animation-delay:.3s}.chart-line-animate:nth-child(5){animation-delay:.4s}.chart-area-animate{animation:chart-area-fade .8s ease-out forwards;opacity:0}.chart-dot-animate{animation:chart-dot-pop .4s ease-out forwards;animation-delay:.8s;opacity:0}circle.chart-dot{transition:r .15s ease,filter .15s ease;cursor:crosshair}circle.chart-dot:hover,circle.chart-dot.chart-dot--active{filter:drop-shadow(0 0 4px currentColor)}.chart-crosshair{pointer-events:none;transition:opacity .1s ease}@keyframes chart-bar-rise{0%{clip-path:inset(100% 0 0 0);opacity:.5}to{clip-path:inset(0% 0 0 0);opacity:1}}@keyframes chart-bar-extend{0%{clip-path:inset(0 100% 0 0);opacity:.5}to{clip-path:inset(0 0% 0 0);opacity:1}}.chart-bar-v{transition:filter .18s ease}.chart-bar-v.chart-bar-animate{animation:chart-bar-rise .6s cubic-bezier(.22,1,.36,1) both}.chart-bar-h{transition:filter .18s ease}.chart-bar-h.chart-bar-animate{animation:chart-bar-extend .6s cubic-bezier(.22,1,.36,1) both}.chart-bar-v:hover,.chart-bar-h:hover{filter:brightness(1.18);cursor:pointer}.chart-bar-hidden{opacity:0;pointer-events:none}@keyframes chart-pie-scale-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes chart-pie-slice-appear{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.chart-pie-animate{transform-origin:center;animation:chart-pie-scale-in .6s cubic-bezier(.34,1.56,.64,1) forwards}.chart-slice{transform-origin:center;transition:transform .2s ease,filter .15s ease;cursor:pointer}.chart-slice-animate-0{animation:chart-pie-slice-appear .4s ease-out 0s both}.chart-slice-animate-1{animation:chart-pie-slice-appear .4s ease-out .06s both}.chart-slice-animate-2{animation:chart-pie-slice-appear .4s ease-out .12s both}.chart-slice-animate-3{animation:chart-pie-slice-appear .4s ease-out .18s both}.chart-slice-animate-4{animation:chart-pie-slice-appear .4s ease-out .24s both}.chart-slice-animate-5{animation:chart-pie-slice-appear .4s ease-out .3s both}.chart-slice-animate-6{animation:chart-pie-slice-appear .4s ease-out .36s both}.chart-slice-animate-7{animation:chart-pie-slice-appear .4s ease-out .42s both}.chart-slice--exploded{filter:brightness(1.12) drop-shadow(0 4px 8px rgba(0,0,0,.25))}.chart-slice--hidden{opacity:.12;pointer-events:none}@keyframes chart-dot-fade-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.chart-scatter-dot{transition:r .15s ease,filter .15s ease;cursor:crosshair}.chart-scatter-dot.chart-scatter-dot--animate{animation:chart-dot-fade-in .35s ease-out forwards;opacity:0}.chart-scatter-group:nth-child(1) .chart-scatter-dot{animation-delay:.05s}.chart-scatter-group:nth-child(2) .chart-scatter-dot{animation-delay:.15s}.chart-scatter-group:nth-child(3) .chart-scatter-dot{animation-delay:.25s}.chart-scatter-group:nth-child(4) .chart-scatter-dot{animation-delay:.35s}.chart-scatter-dot:hover{filter:drop-shadow(0 0 5px currentColor)}.chart-cluster-ellipse{pointer-events:none;animation:chart-dot-fade-in .4s ease-out forwards;opacity:0}.chart-scatter-link{pointer-events:none;opacity:.4}
1
+ .slider-root *{user-select:none}[data-virtual-list]{-webkit-overflow-scrolling:touch;scroll-behavior:auto;outline:none}.onyx-vlist-item{will-change:transform;contain:layout style}[data-virtual-list][data-direction=horizontal]{cursor:grab}[data-virtual-list]::-webkit-scrollbar{width:6px;height:6px}[data-virtual-list]::-webkit-scrollbar-track{background:transparent}[data-virtual-list]::-webkit-scrollbar-thumb{border-radius:9999px;background-color:color-mix(in srgb,currentColor 25%,transparent)}[data-virtual-list]::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,currentColor 40%,transparent)}.drawer-backdrop{animation:drawer-backdrop-in .18s ease-out both}@keyframes drawer-backdrop-in{0%{opacity:0}to{opacity:1}}.drawer-panel{will-change:transform}.drawer-enter-right{animation:drawer-slide-in-right .26s cubic-bezier(.16,1,.3,1) both}.drawer-enter-left{animation:drawer-slide-in-left .26s cubic-bezier(.16,1,.3,1) both}.drawer-enter-top{animation:drawer-slide-in-top .26s cubic-bezier(.16,1,.3,1) both}.drawer-enter-bottom{animation:drawer-slide-in-bottom .26s cubic-bezier(.16,1,.3,1) both}@keyframes drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-slide-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes drawer-slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes tw-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes tw-cursor-out{0%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes tw-img-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tw-cursor{display:inline-block;line-height:1;vertical-align:baseline;user-select:none;transform:scaleY(.88);transform-origin:50% 90%;color:currentColor}.tw-cursor--blink{animation:tw-blink 1s step-end infinite}.tw-cursor--solid{opacity:1;animation:none}.tw-cursor--out{animation:tw-cursor-out .6s ease-out forwards;pointer-events:none}.tw-rich-prose{font-size:.875rem;line-height:1.75;color:var(--color-primary-900);word-break:break-word;overflow-wrap:break-word}.dark .tw-rich-prose{color:var(--color-primary-100)}.tw-rich-prose h1,.tw-rich-prose h2,.tw-rich-prose h3,.tw-rich-prose h4,.tw-rich-prose h5,.tw-rich-prose h6{font-weight:700;line-height:1.3;margin-top:1.25rem;margin-bottom:.375rem;color:var(--color-primary-950)}.dark .tw-rich-prose h1,.dark .tw-rich-prose h2,.dark .tw-rich-prose h3,.dark .tw-rich-prose h4,.dark .tw-rich-prose h5,.dark .tw-rich-prose h6{color:var(--color-primary-50)}.tw-rich-prose h1{font-size:1.5rem}.tw-rich-prose h2{font-size:1.25rem}.tw-rich-prose h3{font-size:1.125rem}.tw-rich-prose h4{font-size:1rem}.tw-rich-prose h5,.tw-rich-prose h6{font-size:.875rem}.tw-rich-prose p{margin-top:.625rem;margin-bottom:.625rem}.tw-rich-prose p:first-child{margin-top:0}.tw-rich-prose p:last-child{margin-bottom:0}.tw-rich-prose :not(pre)>code{background-color:var(--color-primary-100);color:var(--color-primary-700);padding:.1em .35em;border-radius:.25rem;font-size:.8125em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border:1px solid var(--color-primary-200)}.dark .tw-rich-prose :not(pre)>code{background-color:var(--color-primary-900);color:var(--color-primary-200);border-color:var(--color-primary-700)}.tw-rich-prose pre{background-color:var(--color-primary-100);border:1px solid var(--color-primary-200);border-radius:.5rem;padding:.875rem 1rem;overflow-x:auto;margin:.75rem 0;font-size:.8125rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.6}.dark .tw-rich-prose pre{background-color:var(--color-primary-900);border-color:var(--color-primary-700)}.tw-rich-prose pre>code{background:none;padding:0;font-size:inherit;color:inherit;border-radius:0}.tw-rich-prose blockquote{border-left:3px solid var(--color-primary-400);padding:.375rem 0 .375rem 1rem;margin:.75rem 0;color:var(--color-primary-600);font-style:italic}.dark .tw-rich-prose blockquote{border-left-color:var(--color-primary-500);color:var(--color-primary-400)}.tw-rich-prose ul,.tw-rich-prose ol{padding-left:1.5rem;margin:.5rem 0}.tw-rich-prose ul{list-style:disc}.tw-rich-prose ol{list-style:decimal}.tw-rich-prose li{margin:.25rem 0}.tw-rich-prose li>ul,.tw-rich-prose li>ol{margin:.125rem 0 .125rem .25rem}.tw-rich-prose hr{border:none;border-top:1px solid var(--color-primary-200);margin:1.25rem 0}.dark .tw-rich-prose hr{border-top-color:var(--color-primary-700)}.tw-rich-prose a{color:var(--color-primary-600);text-decoration:underline;text-underline-offset:2px}.tw-rich-prose a:hover{color:var(--color-primary-800)}.dark .tw-rich-prose a{color:var(--color-primary-400)}.dark .tw-rich-prose a:hover{color:var(--color-primary-200)}.tw-rich-prose strong{font-weight:700}.tw-rich-prose em{font-style:italic}.tw-rich-img-wrap{display:block;margin:.875rem 0}.tw-rich-img{display:block;max-width:100%;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;animation:tw-img-fade-in .4s ease-out both}.dark .tw-rich-img{box-shadow:0 2px 8px #0000004d}.tw-rich-img-error{display:none;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border-radius:.5rem;background-color:var(--color-primary-100);color:var(--color-primary-400);font-size:.75rem;font-style:normal;text-align:center;min-height:80px;max-width:100%}.dark .tw-rich-img-error{background-color:var(--color-primary-800);color:var(--color-primary-500)}.tw-rich-img-wrap--error .tw-rich-img{display:none}.tw-rich-img-wrap--error .tw-rich-img-error{display:flex}.cmd-backdrop{background:#0006;backdrop-filter:blur(2px);animation:cmd-backdrop-in .12s ease-out both}@keyframes cmd-backdrop-in{0%{opacity:0}to{opacity:1}}.cmd-panel{animation:cmd-panel-in .18s cubic-bezier(.16,1,.3,1) both}@keyframes cmd-panel-in{0%{opacity:0;transform:scale(.96) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.cmd-item{cursor:default;user-select:none;transition:background-color 80ms ease,color 80ms ease}#cmd-results{scrollbar-width:thin;scrollbar-color:var(--color-primary-300) transparent}#cmd-results::-webkit-scrollbar{width:4px}#cmd-results::-webkit-scrollbar-track{background:transparent}#cmd-results::-webkit-scrollbar-thumb{background:var(--color-primary-300);border-radius:2px}.dark #cmd-results::-webkit-scrollbar-thumb{background:var(--color-primary-700)}:root{--tl-holo-base: var(--color-primary-600);--tl-holo-mid: var(--color-primary-400);--tl-holo-indigo: var(--color-indigo-400);--tl-holo-violet: var(--color-violet-300);--tl-holo-cyan: var(--color-cyan-400);--tl-glow-complete-1: var(--color-success-600);--tl-glow-complete-2: var(--color-success-400);--tl-glow-error-1: var(--color-danger-600);--tl-glow-error-2: var(--color-danger-400);--tl-glow-error-3: var(--color-danger-300)}@property --tl-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes tl-holo-spin{to{--tl-angle: 360deg}}@keyframes tl-breathe{0%,to{opacity:.42}50%{opacity:.9}}@keyframes tl-glow-pulse{0%,to{opacity:.12}50%{opacity:.24}}:root{--dtp-panel-bg: rgba(255, 255, 255, .9);--dtp-panel-border: var(--color-primary-200);--dtp-blur: 16px;--dtp-accent: var(--color-primary-500);--dtp-accent-bg: var(--color-primary-100);--dtp-text-selected: var(--color-primary-800);--dtp-text-muted: var(--color-secondary-400);--dtp-text-primary: var(--color-primary-700);--dtp-item-h: 40px;--dtp-radius: 16px;--dtp-shadow: 0 20px 60px rgba(0, 0, 0, .12), 0 4px 16px rgba(0, 0, 0, .06)}:root:where(.dark,.dark *),.dark{--dtp-panel-bg: rgba(15, 23, 42, .9);--dtp-panel-border: var(--color-primary-700);--dtp-accent-bg: rgba(100, 116, 139, .25);--dtp-text-selected: var(--color-primary-100);--dtp-text-muted: var(--color-secondary-500);--dtp-text-primary: var(--color-primary-300);--dtp-shadow: 0 20px 60px rgba(0, 0, 0, .45), 0 4px 16px rgba(0, 0, 0, .2)}.dtp-root{display:inline-flex;align-items:center}.dtp-trigger-wrap{position:relative;display:inline-flex;align-items:center}.dtp-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--color-primary-300);background:var(--color-primary-50);color:var(--color-primary-700);font-size:.875rem;line-height:1.5;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;min-width:180px;text-align:left}.dtp-trigger--has-clear{padding-right:2rem}:where(.dark,.dark *) .dtp-trigger{border-color:var(--color-primary-600);background:var(--color-primary-800);color:var(--color-primary-200)}.dtp-trigger:hover:not(:disabled){border-color:var(--color-primary-400);box-shadow:0 0 0 3px var(--color-primary-100)}:where(.dark,.dark *) .dtp-trigger:hover:not(:disabled){box-shadow:0 0 0 3px #64748b33}.dtp-trigger--disabled{opacity:.5;cursor:not-allowed}.dtp-trigger-icon{width:1rem;height:1rem;color:var(--color-primary-400);flex-shrink:0}.dtp-trigger-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtp-trigger-placeholder{color:var(--color-secondary-400)}.dtp-trigger-clear{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;padding:.125rem;border-radius:9999px;border:none;background:transparent;color:var(--color-secondary-400);cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-trigger-clear:hover{background:var(--color-primary-200);color:var(--color-primary-600)}.dtp-panel{position:fixed;z-index:9999;width:340px;max-width:calc(100vw - 32px);border-radius:var(--dtp-radius);border:1px solid var(--dtp-panel-border);background:var(--dtp-panel-bg);-webkit-backdrop-filter:blur(var(--dtp-blur));backdrop-filter:blur(var(--dtp-blur));box-shadow:var(--dtp-shadow);overflow:hidden;animation:dtp-panel-in .2s cubic-bezier(.16,1,.3,1) both;top:60px;left:0}@keyframes dtp-panel-in{0%{opacity:0;transform:scale(.97) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:640px){.dtp-panel{position:fixed!important;top:auto!important;left:0!important;bottom:0;width:100vw;max-width:100vw;border-radius:var(--dtp-radius) var(--dtp-radius) 0 0;animation:dtp-panel-slide-up .28s cubic-bezier(.16,1,.3,1) both}@keyframes dtp-panel-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.dtp-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem .625rem;border-bottom:1px solid var(--dtp-panel-border)}.dtp-panel-preview{font-size:.9375rem;font-weight:600;color:var(--dtp-text-primary);letter-spacing:-.01em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dtp-panel-actions{display:flex;gap:.375rem;margin-left:.5rem}.dtp-view-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:1px solid transparent;background:transparent;color:var(--dtp-text-muted);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.dtp-view-btn:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-selected)}.dtp-view-btn--active{background:var(--dtp-accent-bg);color:var(--dtp-accent);border-color:var(--dtp-panel-border)}.dtp-panel-body{padding:.625rem .5rem}.dtp-drum{display:flex;align-items:stretch}.dtp-drum-date,.dtp-drum-time{display:flex;flex:1;min-width:0}.dtp-drum-sep{width:1px;background:var(--dtp-panel-border);margin:.5rem .25rem}.dtp-column{position:relative;flex:1;height:calc(var(--dtp-item-h) * 5);min-width:0;overflow:hidden}.dtp-column-highlight{position:absolute;left:4px;right:4px;top:50%;transform:translateY(-50%);height:var(--dtp-item-h);background:var(--dtp-accent-bg);border-radius:8px;pointer-events:none;z-index:0}.dtp-column-list{height:100%;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding-top:calc(var(--dtp-item-h) * 2);padding-bottom:calc(var(--dtp-item-h) * 2)}.dtp-column-list::-webkit-scrollbar{display:none}.dtp-item{position:relative;z-index:1;height:var(--dtp-item-h);display:flex;align-items:center;justify-content:center;font-size:.875rem;cursor:pointer;color:var(--dtp-text-muted);transition:color .1s ease;-webkit-user-select:none;user-select:none}.dtp-item:hover{color:var(--dtp-text-primary)}.dtp-item--selected{color:var(--dtp-text-selected);font-weight:600;font-size:1rem}.dtp-fade-top,.dtp-fade-bottom{position:absolute;left:0;right:0;height:calc(var(--dtp-item-h) * 2);pointer-events:none;z-index:2}.dtp-fade-top{top:0;background:linear-gradient(to bottom,var(--dtp-panel-bg) 10%,transparent 100%)}.dtp-fade-bottom{bottom:0;background:linear-gradient(to top,var(--dtp-panel-bg) 10%,transparent 100%)}.dtp-calendar{padding:0 .25rem;min-height:230px}.dtp-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.dtp-cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:none;background:transparent;color:var(--dtp-text-muted);cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-cal-nav-btn:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-selected)}.dtp-cal-title{font-size:.875rem;font-weight:600;color:var(--dtp-text-primary)}.dtp-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.125rem}.dtp-cal-weekday{text-align:center;font-size:.6875rem;font-weight:500;color:var(--dtp-text-muted);padding:.25rem 0}.dtp-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dtp-cal-day{display:flex;align-items:center;justify-content:center;height:2rem;border-radius:.375rem;border:none;background:transparent;font-size:.8125rem;color:var(--dtp-text-primary);cursor:pointer;transition:background 80ms ease,color 80ms ease;width:100%}.dtp-cal-day:hover:not(:disabled):not(.dtp-cal-day--selected){background:var(--dtp-accent-bg)}.dtp-cal-day--other{color:var(--dtp-text-muted);opacity:.45}.dtp-cal-day--selected{background:var(--dtp-accent)!important;color:#fff!important;font-weight:600}.dtp-cal-day--today:not(.dtp-cal-day--selected){font-weight:600;color:var(--dtp-accent);box-shadow:inset 0 0 0 1px var(--dtp-accent)}.dtp-cal-day--disabled{opacity:.28;cursor:not-allowed;pointer-events:none}.dtp-panel-offset{padding:.375rem .75rem .5rem;border-top:1px solid var(--dtp-panel-border)}.dtp-quick-offset{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;padding:.25rem 0}.dtp-offset-input{width:3.25rem;padding:.25rem .4rem;border-radius:.375rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-primary);font-size:.8125rem;text-align:center;outline:none;transition:border-color .1s ease}.dtp-offset-input:focus{border-color:var(--dtp-accent)}.dtp-offset-select{padding:.25rem .3rem;border-radius:.375rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-primary);font-size:.8125rem;outline:none;cursor:pointer;transition:border-color .1s ease}.dtp-offset-select:focus{border-color:var(--dtp-accent)}.dtp-offset-apply{padding:.25rem .65rem;border-radius:.375rem;border:none;background:var(--dtp-accent);color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;transition:opacity .12s ease}.dtp-offset-apply:hover{opacity:.85}.dtp-panel-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.625rem .75rem;border-top:1px solid var(--dtp-panel-border)}.dtp-btn-cancel{padding:.4375rem 1rem;border-radius:.5rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-muted);font-size:.875rem;cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-btn-cancel:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-primary)}.dtp-btn-confirm{padding:.4375rem 1.25rem;border-radius:.5rem;border:none;background:var(--dtp-accent);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .12s ease,transform .1s ease}.dtp-btn-confirm:hover{opacity:.9;transform:translateY(-1px)}.dtp-btn-confirm:active{transform:translateY(0)}@keyframes otp-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.otp-pop{animation:otp-pop .18s ease-out forwards}.login-panel-slide-enter{animation:login-slide-in .22s ease-out forwards}@keyframes login-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rte-root{display:flex;flex-direction:column;border:1px solid var(--color-primary-200);border-radius:.5rem;overflow:hidden;background:var(--color-white, #fff)}.dark .rte-root{border-color:var(--color-primary-700);background:var(--color-primary-900)}.rte-ribbon{border-bottom:1px solid var(--color-primary-200);flex-shrink:0}.dark .rte-ribbon{border-bottom-color:var(--color-primary-700)}.rte-body{display:flex;flex-direction:row;flex:1 1 0;overflow:hidden;min-height:0}.rte-editor-pane{flex:1 1 auto;overflow-y:auto;overscroll-behavior-y:contain;position:relative}.rte-preview-pane{flex:0 0 50%;max-width:50%;border-left:1px solid var(--color-primary-200);overflow-y:auto;overscroll-behavior-y:contain;padding:1rem 1.25rem}.dark .rte-preview-pane{border-left-color:var(--color-primary-700)}@media(max-width:640px){.rte-body{flex-direction:column}.rte-preview-pane{flex:0 0 auto;max-width:100%;border-left:none;border-top:1px solid var(--color-primary-200)}.dark .rte-preview-pane{border-top-color:var(--color-primary-700)}}.rte-preview-pane .prose{font-size:.9rem;line-height:1.7;color:var(--color-primary-800)}.dark .rte-preview-pane .prose{color:var(--color-primary-100)}.rte-preview-pane .prose h1{font-size:1.75rem;font-weight:700;margin:.75rem 0}.rte-preview-pane .prose h2{font-size:1.4rem;font-weight:600;margin:.65rem 0}.rte-preview-pane .prose h3{font-size:1.15rem;font-weight:600;margin:.5rem 0}.rte-preview-pane .prose h4{font-size:1rem;font-weight:600;margin:.4rem 0}.rte-preview-pane .prose p{margin:.5rem 0}.rte-preview-pane .prose ul{list-style:disc;padding-left:1.5rem;margin:.5rem 0}.rte-preview-pane .prose ol{list-style:decimal;padding-left:1.5rem;margin:.5rem 0}.rte-preview-pane .prose li{margin:.2rem 0}.rte-preview-pane .prose a{color:var(--color-primary-500);text-decoration:underline}.rte-preview-pane .prose code{background:var(--color-primary-100);border-radius:.25rem;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.85em}.dark .rte-preview-pane .prose code{background:var(--color-primary-800)}.rte-preview-pane .prose pre{background:var(--color-primary-900);color:var(--color-primary-100);border-radius:.5rem;padding:1rem;overflow-x:auto;font-family:ui-monospace,monospace;font-size:.85em;margin:.75rem 0}.dark .rte-preview-pane .prose pre{background:var(--color-primary-800)}.rte-preview-pane .prose blockquote{border-left:4px solid var(--color-primary-300);padding-left:1rem;color:var(--color-primary-500);margin:.75rem 0;font-style:italic}.dark .rte-preview-pane .prose blockquote{border-left-color:var(--color-primary-600);color:var(--color-primary-400)}.rte-preview-pane .prose table{width:100%;border-collapse:collapse;margin:.75rem 0}.rte-preview-pane .prose th,.rte-preview-pane .prose td{border:1px solid var(--color-primary-200);padding:.4rem .75rem;text-align:left}.dark .rte-preview-pane .prose th,.dark .rte-preview-pane .prose td{border-color:var(--color-primary-700)}.rte-preview-pane .prose th{background:var(--color-primary-50);font-weight:600}.dark .rte-preview-pane .prose th{background:var(--color-primary-800)}.rte-preview-pane .prose img{max-width:100%;border-radius:.375rem}.rte-preview-pane .prose hr{border:none;border-top:1px solid var(--color-primary-200);margin:1rem 0}.dark .rte-preview-pane .prose hr{border-top-color:var(--color-primary-700)}.rte-markdown-source{width:100%;height:100%;resize:none;border:none;outline:none;padding:1rem 1.25rem;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.875rem;line-height:1.65;background:transparent;color:var(--color-primary-900);box-sizing:border-box}.dark .rte-markdown-source{color:var(--color-primary-100)}.rte-markdown-source::placeholder{color:var(--color-primary-400)}.rte-statusbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.2rem .75rem;font-size:.7rem;color:var(--color-primary-400);border-top:1px solid var(--color-primary-100);flex-shrink:0}.dark .rte-statusbar{border-top-color:var(--color-primary-800);color:var(--color-primary-500)}.rte-statusbar-left{display:flex;align-items:center;gap:.4rem}.rte-statusbar-right{display:flex;align-items:center;gap:.75rem}.rte-statusbar-divider{width:1px;height:1rem;background:var(--color-primary-200);flex-shrink:0}.dark .rte-statusbar-divider{background:var(--color-primary-700)}.rte-statusbar-label{font-size:.68rem;font-weight:500;color:var(--color-primary-500);user-select:none}.dark .rte-statusbar-label{color:var(--color-primary-400)}.ProseMirror{outline:none;padding:.875rem 1.25rem;min-height:180px;caret-color:var(--color-primary-600);color:var(--color-primary-900);font-size:.9rem;line-height:1.7}.dark .ProseMirror{color:var(--color-primary-100)}.ProseMirror p{margin:.4rem 0}.ProseMirror h1{font-size:1.75rem;font-weight:700;margin:.6rem 0}.ProseMirror h2{font-size:1.4rem;font-weight:600;margin:.5rem 0}.ProseMirror h3{font-size:1.15rem;font-weight:600;margin:.4rem 0}.ProseMirror h4{font-size:1rem;font-weight:600;margin:.35rem 0}.ProseMirror ul{list-style:disc;padding-left:1.5rem;margin:.4rem 0}.ProseMirror ol{list-style:decimal;padding-left:1.5rem;margin:.4rem 0}.ProseMirror a{color:var(--color-primary-500);text-decoration:underline;cursor:pointer}.ProseMirror code{background:var(--color-primary-100);border-radius:.25rem;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.85em}.dark .ProseMirror code{background:var(--color-primary-800)}.ProseMirror pre{background:var(--color-primary-900);color:var(--color-primary-100);border-radius:.5rem;padding:.875rem 1rem;overflow-x:auto;font-family:ui-monospace,monospace;font-size:.85em;margin:.5rem 0}.dark .ProseMirror pre{background:var(--color-primary-800)}.ProseMirror blockquote{border-left:4px solid var(--color-primary-300);padding-left:1rem;color:var(--color-primary-500);margin:.5rem 0;font-style:italic}.dark .ProseMirror blockquote{border-left-color:var(--color-primary-600);color:var(--color-primary-400)}.ProseMirror table{border-collapse:collapse;margin:.5rem 0;width:100%}.ProseMirror th,.ProseMirror td{border:1px solid var(--color-primary-200);padding:.35rem .6rem;text-align:left;vertical-align:top}.dark .ProseMirror th,.dark .ProseMirror td{border-color:var(--color-primary-700)}.ProseMirror th{background:var(--color-primary-50);font-weight:600}.dark .ProseMirror th{background:var(--color-primary-800)}.ProseMirror img{max-width:100%;border-radius:.375rem;display:inline-block}.ProseMirror hr{border:none;border-top:1px solid var(--color-primary-200);margin:.75rem 0}.dark .ProseMirror hr{border-top-color:var(--color-primary-700)}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--color-primary-400);pointer-events:none;height:0}.ProseMirror .selectedCell{background:var(--color-primary-100)}.dark .ProseMirror .selectedCell{background:var(--color-primary-800)}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:var(--color-primary-400);pointer-events:none;opacity:0;transition:opacity .15s}.ProseMirror th:hover .column-resize-handle,.ProseMirror td:hover .column-resize-handle{opacity:1}.column-resize-dragging .column-resize-handle{opacity:1;background:var(--color-primary-500)}.ProseMirror.resize-cursor,.column-resize-dragging{cursor:col-resize}.ProseMirror th,.ProseMirror td{position:relative}.rte-inline-dialog{position:absolute;z-index:40;top:2.5rem;left:0;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-white, #fff);border:1px solid var(--color-primary-200);border-radius:.5rem;box-shadow:0 4px 12px #0000001f;min-width:18rem}.dark .rte-inline-dialog{background:var(--color-primary-900);border-color:var(--color-primary-700);box-shadow:0 4px 12px #0006}.rte-inline-dialog input[type=text],.rte-inline-dialog input[type=url]{flex:1;border:1px solid var(--color-primary-200);border-radius:.375rem;padding:.3rem .5rem;font-size:.8rem;outline:none;background:transparent;color:inherit}.dark .rte-inline-dialog input[type=text],.dark .rte-inline-dialog input[type=url]{border-color:var(--color-primary-700)}.rte-inline-dialog input[type=text]:focus,.rte-inline-dialog input[type=url]:focus{border-color:var(--color-primary-400)}.rte-inline-dialog button{font-size:.75rem;padding:.3rem .6rem;border-radius:.375rem;cursor:pointer;border:none;background:var(--color-primary-600);color:#fff;font-weight:500}.rte-inline-dialog button:hover{background:var(--color-primary-700)}.rte-inline-dialog button.rte-cancel-btn{background:var(--color-secondary-200);color:var(--color-primary-800)}.dark .rte-inline-dialog button.rte-cancel-btn{background:var(--color-primary-700);color:var(--color-primary-100)}.ProseMirror div[data-youtube-video]{max-width:100%;margin:.5rem 0}.ProseMirror div[data-youtube-video] iframe{max-width:100%;border-radius:.375rem}.rte-image-wrapper{display:inline-block;position:relative;line-height:0;user-select:none;vertical-align:middle}.rte-image-wrapper img{display:block;max-width:100%;border-radius:.25rem}.rte-image-wrapper--selected img{outline:2px solid var(--color-primary-500);outline-offset:2px}.rte-rh{position:absolute;width:9px;height:9px;background:var(--color-primary-500);border:1.5px solid #fff;border-radius:2px;z-index:10;box-shadow:0 1px 3px #00000040}.rte-rh--nw{top:-4px;left:-4px;cursor:nw-resize}.rte-rh--ne{top:-4px;right:-4px;cursor:ne-resize}.rte-rh--sw{bottom:-4px;left:-4px;cursor:sw-resize}.rte-rh--se{bottom:-4px;right:-4px;cursor:se-resize}.rte-rh--e{top:50%;right:-4px;transform:translateY(-50%);cursor:ew-resize}.rte-rh--nw,.rte-rh--ne,.rte-rh--sw{pointer-events:none}.rte-rh--se,.rte-rh--e{pointer-events:auto}.rte-image-size-label{position:absolute;bottom:6px;left:50%;transform:translate(-50%);background:#0000009e;color:#fff;font-size:.62rem;font-weight:500;padding:1px 5px;border-radius:3px;white-space:nowrap;pointer-events:none;user-select:none}.rte-video-wrapper{display:block;margin:.5em 0;line-height:0}.rte-video-wrapper video{border-radius:.375rem;box-shadow:0 1px 4px #0000001a}.rte-video-wrapper--selected video{outline:2px solid var(--color-primary-500);outline-offset:2px}.rte-embed-wrapper{display:block;margin:.5em 0}.rte-embed-wrapper iframe{border-radius:.375rem;box-shadow:0 1px 4px #0000001a}.rte-embed-wrapper--selected iframe{outline:2px solid var(--color-primary-500);outline-offset:2px}.rte-tablebar{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.1rem .25rem;padding:.3rem .75rem;background:var(--color-primary-50);border-bottom:1px solid var(--color-primary-200);flex-shrink:0;animation:rte-tbar-in .15s ease}@keyframes rte-tbar-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dark .rte-tablebar{background:var(--color-primary-900);border-bottom-color:var(--color-primary-700)}.rte-tbar-group-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary-400);user-select:none;padding:0 .1rem}.dark .rte-tbar-group-label{color:var(--color-primary-500)}.rte-tbar-sep{width:1px;height:1.25rem;background:var(--color-primary-200);flex-shrink:0;margin:0 .2rem}.dark .rte-tbar-sep{background:var(--color-primary-700)}.rte-tbar-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .4rem;border:none;border-radius:.3rem;background:transparent;color:var(--color-primary-700);cursor:pointer;font-size:.7rem;font-weight:500;line-height:1;transition:background .12s,color .12s;white-space:nowrap}.rte-tbar-btn:hover:not(:disabled){background:var(--color-primary-100);color:var(--color-primary-900)}.rte-tbar-btn:disabled,.rte-tbar-btn--disabled{opacity:.38;cursor:not-allowed}.dark .rte-tbar-btn{color:var(--color-primary-300)}.dark .rte-tbar-btn:hover:not(:disabled){background:var(--color-primary-800);color:var(--color-primary-100)}.rte-tbar-label{font-size:.68rem}.rte-tbar-split-wrap{position:relative;display:inline-flex}.rte-tbar-split-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:50;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--color-white, #fff);border:1px solid var(--color-primary-200);border-radius:.4rem;box-shadow:0 4px 12px #0000001f;min-width:9rem;animation:rte-tbar-in .12s ease}.dark .rte-tbar-split-picker{background:var(--color-primary-900);border-color:var(--color-primary-700);box-shadow:0 4px 12px #0006}.rte-tbar-split-pick-btn{display:flex;align-items:center;gap:.4rem;width:100%;padding:.3rem .5rem;font-size:.72rem;font-weight:500;background:transparent;border:none;border-radius:.3rem;color:var(--color-primary-700);cursor:pointer;text-align:left;transition:background .1s}.rte-tbar-split-pick-btn:hover{background:var(--color-primary-100);color:var(--color-primary-900)}.dark .rte-tbar-split-pick-btn{color:var(--color-primary-300)}.dark .rte-tbar-split-pick-btn:hover{background:var(--color-primary-800);color:var(--color-primary-100)}.rte-findbar{display:flex;flex-direction:column;gap:.35rem;padding:.45rem .75rem;background:var(--color-primary-50);border-bottom:1px solid var(--color-primary-200);flex-shrink:0;animation:rte-findbar-in .15s ease}@keyframes rte-findbar-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dark .rte-findbar{background:var(--color-primary-950, #0a0a0f);border-bottom-color:var(--color-primary-700)}.rte-findbar-row{display:flex;align-items:center;gap:.35rem}.rte-findbar-icon{color:var(--color-primary-400);flex-shrink:0}.rte-findbar-input{flex:1;height:1.75rem;padding:0 .5rem;font-size:.8rem;border:1px solid var(--color-primary-200);border-radius:.375rem;outline:none;background:var(--color-white, #fff);color:var(--color-primary-900);transition:border-color .15s}.rte-findbar-input:focus{border-color:var(--color-primary-400)}.dark .rte-findbar-input{background:var(--color-primary-900);border-color:var(--color-primary-700);color:var(--color-primary-100)}.dark .rte-findbar-input:focus{border-color:var(--color-primary-500)}.rte-findbar-count{font-size:.72rem;color:var(--color-primary-400);white-space:nowrap;min-width:3.5rem;text-align:center}.rte-findbar-btn{display:inline-flex;align-items:center;justify-content:center;height:1.75rem;min-width:1.75rem;padding:0 .4rem;font-size:.72rem;font-weight:600;border:1px solid var(--color-primary-200);border-radius:.375rem;background:transparent;color:var(--color-primary-600);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.rte-findbar-btn:hover:not(:disabled){background:var(--color-primary-100);border-color:var(--color-primary-300)}.rte-findbar-btn:disabled{opacity:.4;cursor:not-allowed}.rte-findbar-btn--active{background:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600)}.rte-findbar-btn--active:hover:not(:disabled){background:var(--color-primary-700)}.rte-findbar-btn--close{color:var(--color-primary-400);border-color:transparent;margin-left:.15rem}.rte-findbar-btn--close:hover:not(:disabled){background:var(--color-danger-100);color:var(--color-danger-600);border-color:transparent}.rte-findbar-btn--action{min-width:auto;padding:0 .6rem;font-size:.72rem}.dark .rte-findbar-btn{border-color:var(--color-primary-700);color:var(--color-primary-300)}.dark .rte-findbar-btn:hover:not(:disabled){background:var(--color-primary-800);border-color:var(--color-primary-600)}.rte-search-match{background:color-mix(in srgb,var(--color-warning-400) 40%,transparent);border-radius:2px}.rte-search-current{background:color-mix(in srgb,var(--color-warning-500) 70%,transparent);border-radius:2px;outline:1px solid var(--color-warning-500)}.dark .rte-search-match{background:color-mix(in srgb,var(--color-warning-600) 40%,transparent)}.dark .rte-search-current{background:color-mix(in srgb,var(--color-warning-500) 60%,transparent);outline-color:var(--color-warning-400)}@keyframes chart-line-draw{0%{stroke-dashoffset:3000}to{stroke-dashoffset:0}}@keyframes chart-dot-pop{0%{r:0;opacity:0}to{opacity:1}}@keyframes chart-area-fade{0%{opacity:0}to{opacity:1}}.chart-line-animate{stroke-dasharray:3000;stroke-dashoffset:3000;animation:chart-line-draw 1s ease-out forwards}.chart-line-animate:nth-child(2){animation-delay:.1s}.chart-line-animate:nth-child(3){animation-delay:.2s}.chart-line-animate:nth-child(4){animation-delay:.3s}.chart-line-animate:nth-child(5){animation-delay:.4s}.chart-area-animate{animation:chart-area-fade .8s ease-out forwards;opacity:0}.chart-dot-animate{animation:chart-dot-pop .4s ease-out forwards;animation-delay:.8s;opacity:0}circle.chart-dot{transition:r .15s ease,filter .15s ease;cursor:crosshair}circle.chart-dot:hover,circle.chart-dot.chart-dot--active{filter:drop-shadow(0 0 4px currentColor)}.chart-crosshair{pointer-events:none;transition:opacity .1s ease}@keyframes chart-bar-rise{0%{clip-path:inset(100% 0 0 0);opacity:.5}to{clip-path:inset(0% 0 0 0);opacity:1}}@keyframes chart-bar-extend{0%{clip-path:inset(0 100% 0 0);opacity:.5}to{clip-path:inset(0 0% 0 0);opacity:1}}.chart-bar-v{transition:filter .18s ease}.chart-bar-v.chart-bar-animate{animation:chart-bar-rise .6s cubic-bezier(.22,1,.36,1) both}.chart-bar-h{transition:filter .18s ease}.chart-bar-h.chart-bar-animate{animation:chart-bar-extend .6s cubic-bezier(.22,1,.36,1) both}.chart-bar-v:hover,.chart-bar-h:hover{filter:brightness(1.18);cursor:pointer}.chart-bar-hidden{opacity:0;pointer-events:none}@keyframes chart-pie-scale-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes chart-pie-slice-appear{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.chart-pie-animate{transform-origin:center;animation:chart-pie-scale-in .6s cubic-bezier(.34,1.56,.64,1) forwards}.chart-slice{transform-origin:center;transition:transform .2s ease,filter .15s ease;cursor:pointer}.chart-slice-animate-0{animation:chart-pie-slice-appear .4s ease-out 0s both}.chart-slice-animate-1{animation:chart-pie-slice-appear .4s ease-out .06s both}.chart-slice-animate-2{animation:chart-pie-slice-appear .4s ease-out .12s both}.chart-slice-animate-3{animation:chart-pie-slice-appear .4s ease-out .18s both}.chart-slice-animate-4{animation:chart-pie-slice-appear .4s ease-out .24s both}.chart-slice-animate-5{animation:chart-pie-slice-appear .4s ease-out .3s both}.chart-slice-animate-6{animation:chart-pie-slice-appear .4s ease-out .36s both}.chart-slice-animate-7{animation:chart-pie-slice-appear .4s ease-out .42s both}.chart-slice--exploded{filter:brightness(1.12) drop-shadow(0 4px 8px rgba(0,0,0,.25))}.chart-slice--hidden{opacity:.12;pointer-events:none}@keyframes chart-dot-fade-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.chart-scatter-dot{transition:r .15s ease,filter .15s ease;cursor:crosshair}.chart-scatter-dot.chart-scatter-dot--animate{animation:chart-dot-fade-in .35s ease-out forwards;opacity:0}.chart-scatter-group:nth-child(1) .chart-scatter-dot{animation-delay:.05s}.chart-scatter-group:nth-child(2) .chart-scatter-dot{animation-delay:.15s}.chart-scatter-group:nth-child(3) .chart-scatter-dot{animation-delay:.25s}.chart-scatter-group:nth-child(4) .chart-scatter-dot{animation-delay:.35s}.chart-scatter-dot:hover{filter:drop-shadow(0 0 5px currentColor)}.chart-cluster-ellipse{pointer-events:none;animation:chart-dot-fade-in .4s ease-out forwards;opacity:0}.chart-scatter-link{pointer-events:none;opacity:.4}
@@ -145,16 +145,20 @@
145
145
  border-radius: 0.25rem;
146
146
  font-size: 0.8125em;
147
147
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
148
+ border: 1px solid var(--color-primary-200);
148
149
  }
149
150
 
150
151
  .dark .tw-rich-prose :not(pre) > code {
151
- background-color: var(--color-primary-800);
152
+ /* primary-900 is darker than the AI bubble's primary-800 — creates visible contrast */
153
+ background-color: var(--color-primary-900);
152
154
  color: var(--color-primary-200);
155
+ border-color: var(--color-primary-700);
153
156
  }
154
157
 
155
158
  /* ── Fenced code blocks ──────────────────────────────────── */
156
159
  .tw-rich-prose pre {
157
160
  background-color: var(--color-primary-100);
161
+ border: 1px solid var(--color-primary-200);
158
162
  border-radius: 0.5rem;
159
163
  padding: 0.875rem 1rem;
160
164
  overflow-x: auto;
@@ -165,7 +169,9 @@
165
169
  }
166
170
 
167
171
  .dark .tw-rich-prose pre {
168
- background-color: var(--color-primary-800);
172
+ /* primary-900 (#0f172a) is darker than the AI bubble's primary-800 (#1e293b) */
173
+ background-color: var(--color-primary-900);
174
+ border-color: var(--color-primary-700);
169
175
  }
170
176
 
171
177
  .tw-rich-prose pre > code {
@@ -2622,9 +2622,6 @@
2622
2622
  .whitespace-pre {
2623
2623
  white-space: pre;
2624
2624
  }
2625
- .whitespace-pre-wrap {
2626
- white-space: pre-wrap;
2627
- }
2628
2625
  .text-\(--accent\) {
2629
2626
  color: var(--accent);
2630
2627
  }
package/dist/styles.css CHANGED
@@ -2642,9 +2642,6 @@
2642
2642
  .whitespace-pre {
2643
2643
  white-space: pre;
2644
2644
  }
2645
- .whitespace-pre-wrap {
2646
- white-space: pre-wrap;
2647
- }
2648
2645
  .text-\(--accent\) {
2649
2646
  color: var(--accent);
2650
2647
  }
@@ -7081,6 +7078,231 @@
7081
7078
  .dtp-btn-confirm:active {
7082
7079
  transform: translateY(0);
7083
7080
  }
7081
+ @keyframes tw-blink {
7082
+ 0%, 100% {
7083
+ opacity: 1;
7084
+ }
7085
+ 50% {
7086
+ opacity: 0;
7087
+ }
7088
+ }
7089
+ @keyframes tw-cursor-out {
7090
+ 0% {
7091
+ opacity: 1;
7092
+ }
7093
+ 80% {
7094
+ opacity: 1;
7095
+ }
7096
+ 100% {
7097
+ opacity: 0;
7098
+ }
7099
+ }
7100
+ @keyframes tw-img-fade-in {
7101
+ from {
7102
+ opacity: 0;
7103
+ transform: translateY(5px);
7104
+ }
7105
+ to {
7106
+ opacity: 1;
7107
+ transform: translateY(0);
7108
+ }
7109
+ }
7110
+ .tw-cursor {
7111
+ display: inline-block;
7112
+ line-height: 1;
7113
+ vertical-align: baseline;
7114
+ user-select: none;
7115
+ transform: scaleY(0.88);
7116
+ transform-origin: 50% 90%;
7117
+ color: currentColor;
7118
+ }
7119
+ .tw-cursor--blink {
7120
+ animation: tw-blink 1s step-end infinite;
7121
+ }
7122
+ .tw-cursor--solid {
7123
+ opacity: 1;
7124
+ animation: none;
7125
+ }
7126
+ .tw-cursor--out {
7127
+ animation: tw-cursor-out 0.6s ease-out forwards;
7128
+ pointer-events: none;
7129
+ }
7130
+ .tw-rich-prose {
7131
+ font-size: 0.875rem;
7132
+ line-height: 1.75;
7133
+ color: var(--color-primary-900);
7134
+ word-break: break-word;
7135
+ overflow-wrap: break-word;
7136
+ }
7137
+ .dark .tw-rich-prose {
7138
+ color: var(--color-primary-100);
7139
+ }
7140
+ .tw-rich-prose h1, .tw-rich-prose h2, .tw-rich-prose h3, .tw-rich-prose h4, .tw-rich-prose h5, .tw-rich-prose h6 {
7141
+ font-weight: 700;
7142
+ line-height: 1.3;
7143
+ margin-top: 1.25rem;
7144
+ margin-bottom: 0.375rem;
7145
+ color: var(--color-primary-950);
7146
+ }
7147
+ .dark .tw-rich-prose h1, .dark .tw-rich-prose h2, .dark .tw-rich-prose h3, .dark .tw-rich-prose h4, .dark .tw-rich-prose h5, .dark .tw-rich-prose h6 {
7148
+ color: var(--color-primary-50);
7149
+ }
7150
+ .tw-rich-prose h1 {
7151
+ font-size: 1.5rem;
7152
+ }
7153
+ .tw-rich-prose h2 {
7154
+ font-size: 1.25rem;
7155
+ }
7156
+ .tw-rich-prose h3 {
7157
+ font-size: 1.125rem;
7158
+ }
7159
+ .tw-rich-prose h4 {
7160
+ font-size: 1rem;
7161
+ }
7162
+ .tw-rich-prose h5, .tw-rich-prose h6 {
7163
+ font-size: 0.875rem;
7164
+ }
7165
+ .tw-rich-prose p {
7166
+ margin-top: 0.625rem;
7167
+ margin-bottom: 0.625rem;
7168
+ }
7169
+ .tw-rich-prose p:first-child {
7170
+ margin-top: 0;
7171
+ }
7172
+ .tw-rich-prose p:last-child {
7173
+ margin-bottom: 0;
7174
+ }
7175
+ .tw-rich-prose :not(pre) > code {
7176
+ background-color: var(--color-primary-100);
7177
+ color: var(--color-primary-700);
7178
+ padding: 0.1em 0.35em;
7179
+ border-radius: 0.25rem;
7180
+ font-size: 0.8125em;
7181
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
7182
+ border: 1px solid var(--color-primary-200);
7183
+ }
7184
+ .dark .tw-rich-prose :not(pre) > code {
7185
+ background-color: var(--color-primary-900);
7186
+ color: var(--color-primary-200);
7187
+ border-color: var(--color-primary-700);
7188
+ }
7189
+ .tw-rich-prose pre {
7190
+ background-color: var(--color-primary-100);
7191
+ border: 1px solid var(--color-primary-200);
7192
+ border-radius: 0.5rem;
7193
+ padding: 0.875rem 1rem;
7194
+ overflow-x: auto;
7195
+ margin: 0.75rem 0;
7196
+ font-size: 0.8125rem;
7197
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
7198
+ line-height: 1.6;
7199
+ }
7200
+ .dark .tw-rich-prose pre {
7201
+ background-color: var(--color-primary-900);
7202
+ border-color: var(--color-primary-700);
7203
+ }
7204
+ .tw-rich-prose pre > code {
7205
+ background: none;
7206
+ padding: 0;
7207
+ font-size: inherit;
7208
+ color: inherit;
7209
+ border-radius: 0;
7210
+ }
7211
+ .tw-rich-prose blockquote {
7212
+ border-left: 3px solid var(--color-primary-400);
7213
+ padding: 0.375rem 0 0.375rem 1rem;
7214
+ margin: 0.75rem 0;
7215
+ color: var(--color-primary-600);
7216
+ font-style: italic;
7217
+ }
7218
+ .dark .tw-rich-prose blockquote {
7219
+ border-left-color: var(--color-primary-500);
7220
+ color: var(--color-primary-400);
7221
+ }
7222
+ .tw-rich-prose ul, .tw-rich-prose ol {
7223
+ padding-left: 1.5rem;
7224
+ margin: 0.5rem 0;
7225
+ }
7226
+ .tw-rich-prose ul {
7227
+ list-style: disc;
7228
+ }
7229
+ .tw-rich-prose ol {
7230
+ list-style: decimal;
7231
+ }
7232
+ .tw-rich-prose li {
7233
+ margin: 0.25rem 0;
7234
+ }
7235
+ .tw-rich-prose li > ul, .tw-rich-prose li > ol {
7236
+ margin: 0.125rem 0 0.125rem 0.25rem;
7237
+ }
7238
+ .tw-rich-prose hr {
7239
+ border: none;
7240
+ border-top: 1px solid var(--color-primary-200);
7241
+ margin: 1.25rem 0;
7242
+ }
7243
+ .dark .tw-rich-prose hr {
7244
+ border-top-color: var(--color-primary-700);
7245
+ }
7246
+ .tw-rich-prose a {
7247
+ color: var(--color-primary-600);
7248
+ text-decoration: underline;
7249
+ text-underline-offset: 2px;
7250
+ }
7251
+ .tw-rich-prose a:hover {
7252
+ color: var(--color-primary-800);
7253
+ }
7254
+ .dark .tw-rich-prose a {
7255
+ color: var(--color-primary-400);
7256
+ }
7257
+ .dark .tw-rich-prose a:hover {
7258
+ color: var(--color-primary-200);
7259
+ }
7260
+ .tw-rich-prose strong {
7261
+ font-weight: 700;
7262
+ }
7263
+ .tw-rich-prose em {
7264
+ font-style: italic;
7265
+ }
7266
+ .tw-rich-img-wrap {
7267
+ display: block;
7268
+ margin: 0.875rem 0;
7269
+ }
7270
+ .tw-rich-img {
7271
+ display: block;
7272
+ max-width: 100%;
7273
+ border-radius: 0.5rem;
7274
+ box-shadow: 0 2px 8px rgb(0 0 0 / 0.1);
7275
+ animation: tw-img-fade-in 0.4s ease-out both;
7276
+ }
7277
+ .dark .tw-rich-img {
7278
+ box-shadow: 0 2px 8px rgb(0 0 0 / 0.3);
7279
+ }
7280
+ .tw-rich-img-error {
7281
+ display: none;
7282
+ flex-direction: column;
7283
+ align-items: center;
7284
+ justify-content: center;
7285
+ gap: 0.5rem;
7286
+ padding: 1.5rem;
7287
+ border-radius: 0.5rem;
7288
+ background-color: var(--color-primary-100);
7289
+ color: var(--color-primary-400);
7290
+ font-size: 0.75rem;
7291
+ font-style: normal;
7292
+ text-align: center;
7293
+ min-height: 80px;
7294
+ max-width: 100%;
7295
+ }
7296
+ .dark .tw-rich-img-error {
7297
+ background-color: var(--color-primary-800);
7298
+ color: var(--color-primary-500);
7299
+ }
7300
+ .tw-rich-img-wrap--error .tw-rich-img {
7301
+ display: none;
7302
+ }
7303
+ .tw-rich-img-wrap--error .tw-rich-img-error {
7304
+ display: flex;
7305
+ }
7084
7306
  .slider-root * {
7085
7307
  user-select: none;
7086
7308
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jacshuo/onyx",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "description": "Cross-platform React UI component library — works in web & Electron",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",