@xiping/react-components 1.0.43 → 1.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/shimmer-button/ShimmerButton.js +1 -1
- package/dist/cjs/components/shiny-button/ShinyButton.js +1 -1
- package/dist/cjs/components/sparkles-text/SparklesText.js +1 -1
- package/dist/cjs/components/subtitle-player/SubtitlePlayer.d.ts +30 -0
- package/dist/cjs/components/subtitle-player/SubtitlePlayer.js +3 -0
- package/dist/cjs/components/subtitle-player/index.d.ts +2 -0
- package/dist/cjs/components/txt-editor/TxtEditor.d.ts +5 -4
- package/dist/cjs/components/txt-editor/TxtEditor.js +32 -1
- package/dist/cjs/components/txt-reader/TxtReader.js +1 -1
- package/dist/cjs/components/txt-reader/index.module.css.js +1 -1
- package/dist/cjs/components/variable-proximity/index.d.ts +10 -0
- package/dist/cjs/components/variable-proximity/index.js +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/react-components.css +1 -1
- package/dist/cjs/subtitle/lib/src/parser.js +5 -0
- package/dist/es/components/shimmer-button/ShimmerButton.js +29 -62
- package/dist/es/components/shiny-button/ShinyButton.js +15 -17
- package/dist/es/components/sparkles-text/SparklesText.js +30 -29
- package/dist/es/components/subtitle-player/SubtitlePlayer.d.ts +30 -0
- package/dist/es/components/subtitle-player/SubtitlePlayer.js +103 -0
- package/dist/es/components/subtitle-player/index.d.ts +2 -0
- package/dist/es/components/txt-editor/TxtEditor.d.ts +5 -4
- package/dist/es/components/txt-editor/TxtEditor.js +102 -43
- package/dist/es/components/txt-reader/TxtReader.js +48 -55
- package/dist/es/components/txt-reader/index.module.css.js +6 -2
- package/dist/es/components/variable-proximity/index.d.ts +10 -0
- package/dist/es/components/variable-proximity/index.js +166 -94
- package/dist/es/index.d.ts +1 -0
- package/dist/es/index.js +12 -10
- package/dist/es/react-components.css +1 -1
- package/dist/es/subtitle/lib/src/parser.js +56 -0
- package/package.json +9 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),l=require("react"),d=require("../../utils/utils.js");;/* empty css */const i=l.forwardRef(({shimmerColor:s="#ffffff",shimmerSize:r="0.05em",shimmerDuration:t="3s",borderRadius:m="100px",background:n="rgba(0, 0, 0, 1)",className:a,children:u,...o},c)=>e.jsxs("button",{style:{"--spread":"90deg","--shimmer-color":s,"--radius":m,"--speed":t,"--cut":r,"--bg":n},className:d.cn("xiping-shimmer-button",a),ref:c,...o,children:[e.jsx("div",{className:"xiping-shimmer-button-spark-container",children:e.jsx("div",{className:"xiping-shimmer-button-spark",children:e.jsx("div",{className:"xiping-shimmer-button-spark-before"})})}),u,e.jsx("div",{className:"xiping-shimmer-button-highlight"}),e.jsx("div",{className:"xiping-shimmer-button-backdrop"})]}));i.displayName="ShimmerButton";exports.ShimmerButton=i;exports.default=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),s=require("../../utils/utils.js"),c=require("motion/react"),l=require("react");;/* empty css */const o={initial:{"--x":"100%",scale:.8},animate:{"--x":"-100%",scale:1},whileTap:{scale:.95},transition:{repeat:1/0,repeatType:"loop",repeatDelay:1,type:"spring",stiffness:20,damping:15,mass:2,scale:{type:"spring",stiffness:200,damping:5,mass:.5}}},e=l.forwardRef(({children:r,className:n,...t},i)=>a.jsxs(c.motion.button,{ref:i,className:s.cn("xiping-shiny-button",n),...o,...t,children:[a.jsx("span",{className:"xiping-shiny-button-text",style:{maskImage:"linear-gradient(-75deg,var(--primary) calc(var(--x) + 20%),transparent calc(var(--x) + 30%),var(--primary) calc(var(--x) + 100%))"},children:r}),a.jsx("span",{style:{mask:"linear-gradient(rgb(0,0,0), rgb(0,0,0)) content-box exclude,linear-gradient(rgb(0,0,0), rgb(0,0,0))",WebkitMask:"linear-gradient(rgb(0,0,0), rgb(0,0,0)) content-box exclude,linear-gradient(rgb(0,0,0), rgb(0,0,0))",backgroundImage:"linear-gradient(-75deg,var(--primary)/10% calc(var(--x)+20%),var(--primary)/50% calc(var(--x)+25%),var(--primary)/10% calc(var(--x)+100%))"},className:"xiping-shiny-button-border"})]}));e.displayName="ShinyButton";exports.ShinyButton=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),g=require("motion/react"),d=require("react"),k=require("../../utils/utils.js");;/* empty css */const y=({id:i,x:e,y:o,color:a,delay:c,scale:l})=>n.jsx(g.motion.svg,{className:"xiping-sparkle",initial:{opacity:0,left:e,top:o},animate:{opacity:[0,1,0],scale:[0,l,0],rotate:[75,120,150]},transition:{duration:.8,repeat:1/0,delay:c},width:"21",height:"21",viewBox:"0 0 21 21",children:n.jsx("path",{d:"M9.82531 0.843845C10.0553 0.215178 10.9446 0.215178 11.1746 0.843845L11.8618 2.72026C12.4006 4.19229 12.3916 6.39157 13.5 7.5C14.6084 8.60843 16.8077 8.59935 18.2797 9.13822L20.1561 9.82534C20.7858 10.0553 20.7858 10.9447 20.1561 11.1747L18.2797 11.8618C16.8077 12.4007 14.6084 12.3916 13.5 13.5C12.3916 14.6084 12.4006 16.8077 11.8618 18.2798L11.1746 20.1562C10.9446 20.7858 10.0553 20.7858 9.82531 20.1562L9.13819 18.2798C8.59932 16.8077 8.60843 14.6084 7.5 13.5C6.39157 12.3916 4.19225 12.4007 2.72023 11.8618L0.843814 11.1747C0.215148 10.9447 0.215148 10.0553 0.843814 9.82534L2.72023 9.13822C4.19225 8.59935 6.39157 8.60843 7.5 7.5C8.60843 6.39157 8.59932 4.19229 9.13819 2.72026L9.82531 0.843845Z",fill:a})},i),j=({children:i,colors:e={first:"#9E7AFF",second:"#FE8BBB"},className:o,sparklesCount:a=10,...c})=>{const[l,p]=d.useState([]);return d.useEffect(()=>{const r=()=>{const t=`${Math.random()*100}%`,s=`${Math.random()*100}%`,x=Math.random()>.5?e.first:e.second,h=Math.random()*2,C=Math.random()*1+.3,S=Math.random()*10+5;return{id:`${t}-${s}-${Date.now()}`,x:t,y:s,color:x,delay:h,scale:C,lifespan:S}},u=()=>{const t=Array.from({length:a},r);p(t)},f=()=>{p(t=>t.map(s=>s.lifespan<=0?r():{...s,lifespan:s.lifespan-.1}))};u();const m=setInterval(f,100);return()=>clearInterval(m)},[e.first,e.second,a]),n.jsx("div",{className:k.cn("xiping-sparkles-text",o),...c,style:{"--sparkles-first-color":`${e.first}`,"--sparkles-second-color":`${e.second}`},children:n.jsxs("span",{className:"xiping-sparkles-text-wrapper",children:[l.map(r=>n.jsx(y,{...r},r.id)),n.jsx("strong",{children:i})]})})};exports.SparklesText=j;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type SubtitleType = 'srt' | 'vtt';
|
|
3
|
+
export interface SubtitleData {
|
|
4
|
+
/** 字幕类型 */
|
|
5
|
+
type: SubtitleType;
|
|
6
|
+
/** 字幕内容字符串 */
|
|
7
|
+
content: string;
|
|
8
|
+
/** 可选的语言标识,用于多字幕对照时的标签显示 */
|
|
9
|
+
label?: string;
|
|
10
|
+
}
|
|
11
|
+
export type SubtitleDisplayMode = 'current' | 'lyrics';
|
|
12
|
+
export interface SubtitlePlayerProps {
|
|
13
|
+
/** 字幕数据,可以是单个字幕或多个字幕(用于对照) */
|
|
14
|
+
subtitles: SubtitleData | SubtitleData[];
|
|
15
|
+
/** 当前播放进度(秒数) */
|
|
16
|
+
currentTime: number;
|
|
17
|
+
/** 显示模式:'current' 只显示当前字幕,'lyrics' 显示全部字幕并高亮当前 */
|
|
18
|
+
mode?: SubtitleDisplayMode;
|
|
19
|
+
/** 自定义类名 */
|
|
20
|
+
className?: string;
|
|
21
|
+
/** 自定义样式 */
|
|
22
|
+
style?: React.CSSProperties;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 字幕播放组件
|
|
26
|
+
* 支持 SRT 和 WebVTT 格式,可以同时显示多个字幕进行对照
|
|
27
|
+
* 支持两种显示模式:当前模式(只显示当前字幕)和歌词模式(显示全部并高亮当前)
|
|
28
|
+
*/
|
|
29
|
+
export declare const SubtitlePlayer: React.FC<SubtitlePlayerProps>;
|
|
30
|
+
export default SubtitlePlayer;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),d=require("react"),j=require("../../subtitle/lib/src/parser.js");;/* empty css */function b(i){const r=i.replace(",",".").split(":");if(r.length!==3)return 0;const c=parseInt(r[0],10)||0,o=parseInt(r[1],10)||0,m=parseFloat(r[2])||0;return c*3600+o*60+m}function q(i,n){for(const r of i){const c=b(r.startTime),o=b(r.endTime);if(n>=c&&n<=o)return r}return null}const S=({subtitles:i,currentTime:n,mode:r="current",className:c="",style:o})=>{const m=Array.isArray(i)?i:[i],y=d.useRef(null),f=d.useRef(null),h=d.useMemo(()=>m.map(t=>{try{return{entries:t.type==="srt"?j.parseSRT(t.content):j.parseVTT(t.content),label:t.label}}catch(e){return console.error("字幕解析失败:",e),{entries:[],label:t.label}}}),[m]),v=d.useMemo(()=>h.map(({entries:t,label:e})=>({entry:q(t,n),label:e,entries:t})),[h,n]);return d.useEffect(()=>{if(r==="lyrics"&&f.current&&y.current){const t=y.current,e=f.current;t.getBoundingClientRect(),e.getBoundingClientRect(),t.scrollTop;const l=e.offsetTop,a=t.clientHeight,u=e.clientHeight,p=l-a/2+u/2;t.scrollTo({top:p,behavior:"smooth"})}},[r,n]),r==="current"?v.some(({entry:e})=>e!==null)?s.jsx("div",{className:`subtitle-player subtitle-player--current ${c}`,style:o,children:v.map(({entry:e,label:l},a)=>e?s.jsxs("div",{className:"subtitle-player-item","data-label":l||void 0,children:[l&&s.jsx("span",{className:"subtitle-player-label",children:l}),s.jsx("div",{className:"subtitle-player-text",children:e.text.split(`
|
|
2
|
+
`).map((u,p)=>s.jsx("div",{className:"subtitle-player-line",children:u},p))})]},a):null)}):null:s.jsx("div",{ref:y,className:`subtitle-player subtitle-player--lyrics ${c}`,style:o,children:h.map(({entries:t,label:e},l)=>s.jsxs("div",{className:"subtitle-player-group",children:[e&&s.jsx("span",{className:"subtitle-player-label",children:e}),t.map((a,u)=>{const p=b(a.startTime),x=b(a.endTime),g=n>=p&&n<=x,T=n>x;return s.jsx("div",{ref:g?f:null,className:`subtitle-player-item ${g?"subtitle-player-item--active":""} ${T?"subtitle-player-item--past":""}`,"data-label":e||void 0,children:s.jsx("div",{className:"subtitle-player-text",children:a.text.split(`
|
|
3
|
+
`).map((N,R)=>s.jsx("div",{className:"subtitle-player-line",children:N},R))})},u)})]},l))})};exports.SubtitlePlayer=S;exports.default=S;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Editor } from '@tiptap/react';
|
|
2
2
|
export interface TxtEditorProps {
|
|
3
3
|
/**
|
|
4
4
|
* 编辑器高度
|
|
@@ -13,6 +13,7 @@ export interface TxtEditorProps {
|
|
|
13
13
|
/**
|
|
14
14
|
* 编辑器默认语言
|
|
15
15
|
* @default 'plaintext'
|
|
16
|
+
* @deprecated Tiptap 不支持语法高亮,此属性已废弃
|
|
16
17
|
*/
|
|
17
18
|
language?: string;
|
|
18
19
|
/**
|
|
@@ -40,13 +41,13 @@ export interface TxtEditorProps {
|
|
|
40
41
|
/**
|
|
41
42
|
* 编辑器加载完成回调
|
|
42
43
|
*/
|
|
43
|
-
onMount?:
|
|
44
|
+
onMount?: (editor: Editor) => void;
|
|
44
45
|
/**
|
|
45
46
|
* 文本编辑器样式
|
|
46
47
|
*/
|
|
47
48
|
className?: string;
|
|
48
49
|
}
|
|
49
50
|
/**
|
|
50
|
-
*
|
|
51
|
+
* Tiptap 文本编辑器组件
|
|
51
52
|
*/
|
|
52
|
-
export declare const TxtEditor: ({ height, width, language, defaultValue, value, theme, readOnly, onChange, onMount, className, }: TxtEditorProps) => import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
export declare const TxtEditor: ({ height, width, language: _language, defaultValue, value, theme, readOnly, onChange, onMount, className, }: TxtEditorProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1,32 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react/jsx-runtime"),u=require("@tiptap/react"),M=require("@tiptap/starter-kit"),t=require("react"),E=({height:i="500px",width:n="100%",language:w="plaintext",defaultValue:l,value:o,theme:p="light",readOnly:s=!1,onChange:g,onMount:a,className:x})=>{const c=o!==void 0,b=t.useMemo(()=>l||o||"",[l,o]),e=u.useEditor({extensions:[M.configure({bold:!1,italic:!1,strike:!1,code:!1,heading:!1,blockquote:!1,horizontalRule:!1,hardBreak:!1})],content:b,editable:!s,immediatelyRender:!1,onUpdate:({editor:d})=>{const k=d.getText();g?.(k)}});if(t.useEffect(()=>{if(!e||!c)return;const d=e.getText();o!==d&&e.commands.setContent(o||"",{emitUpdate:!1})},[e,o,c]),t.useEffect(()=>{e&&e.setEditable(!s)},[e,s]),t.useEffect(()=>{e&&a&&a(e)},[e,a]),!e)return null;const m=typeof i=="number"?`${i}px`:i,h=typeof n=="number"?`${n}px`:n,r=p==="vs-dark";return f.jsxs("div",{className:x,style:{width:h,height:m,border:`1px solid ${r?"#3e3e3e":"#d4d4d4"}`,borderRadius:"4px",overflow:"hidden",backgroundColor:r?"#1e1e1e":"#ffffff"},children:[f.jsx(u.EditorContent,{editor:e,style:{height:"100%",overflow:"auto"}}),f.jsx("style",{children:`
|
|
2
|
+
.ProseMirror {
|
|
3
|
+
outline: none;
|
|
4
|
+
padding: 12px;
|
|
5
|
+
min-height: 100%;
|
|
6
|
+
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;
|
|
7
|
+
font-size: 14px;
|
|
8
|
+
line-height: 1.5;
|
|
9
|
+
color: ${r?"#d4d4d4":"#333333"};
|
|
10
|
+
white-space: pre-wrap;
|
|
11
|
+
word-wrap: break-word;
|
|
12
|
+
}
|
|
13
|
+
.ProseMirror p {
|
|
14
|
+
margin: 0;
|
|
15
|
+
padding: 0;
|
|
16
|
+
}
|
|
17
|
+
.ProseMirror p + p {
|
|
18
|
+
margin-top: 0;
|
|
19
|
+
}
|
|
20
|
+
.ProseMirror:focus {
|
|
21
|
+
outline: none;
|
|
22
|
+
}
|
|
23
|
+
${r?`
|
|
24
|
+
.ProseMirror {
|
|
25
|
+
background-color: #1e1e1e;
|
|
26
|
+
}
|
|
27
|
+
`:`
|
|
28
|
+
.ProseMirror {
|
|
29
|
+
background-color: #ffffff;
|
|
30
|
+
}
|
|
31
|
+
`}
|
|
32
|
+
`})]})};exports.TxtEditor=E;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),l=require("react"),n=require("clsx"),t=require("motion/react"),r=require("./index.module.css.js"),F=16,h=1.5,v="normal",a=({content:u,lineHeight:d=h,fontSize:x=F,fontWeight:f=v,className:g="",style:m={},onProgressChange:p,initialScrollPosition:S,cacheKey:q,showTopProgress:T=!0,topProgressClassName:_,showBottomProgress:N=!0,bottomProgressClassName:R})=>{const s=l.useRef(null),o=l.useRef(null),{scrollYProgress:i}=t.useScroll({container:s,target:o}),c=t.useTransform(()=>(i.get()*100).toFixed(2).replace(/\.0*$/,"")),j=t.useMotionTemplate`${c}%`;return c.on("change",E=>{p?.(Number(E))}),e.jsxs(e.Fragment,{children:[T&&e.jsx(t.motion.div,{id:"scroll-indicator",className:n(r.default["xiping-top-progress"],_),style:{scaleX:i,originX:0}}),e.jsx("div",{className:n(r.default["xiping-container"],r.default.textContent),ref:s,children:e.jsx("div",{ref:o,className:n(r.default["xiping-content"],g),style:{fontSize:`${x}px`,lineHeight:d,fontWeight:f,...m},children:u})}),N&&e.jsx(t.motion.div,{id:"scroll-present",className:n(r.default["xiping-bottom-progress"],R),children:j})]})};exports.TxtReader=a;exports.default=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="_textContent_yv2bi_63",e={"xiping-top-progress":"_xiping-top-progress_yv2bi_23","xiping-container":"_xiping-container_yv2bi_33","xiping-content":"_xiping-content_yv2bi_41","xiping-bottom-progress":"_xiping-bottom-progress_yv2bi_48",textContent:t};exports.default=e;exports.textContent=t;
|
|
@@ -9,6 +9,16 @@ interface VariableProximityProps extends HTMLAttributes<HTMLSpanElement> {
|
|
|
9
9
|
className?: string;
|
|
10
10
|
onClick?: () => void;
|
|
11
11
|
style?: React.CSSProperties;
|
|
12
|
+
/**
|
|
13
|
+
* 自定义字体族,如果不提供则使用默认的可变字体
|
|
14
|
+
* 例如: "'Custom Font', 'Roboto Flex', sans-serif"
|
|
15
|
+
*/
|
|
16
|
+
fontFamily?: string;
|
|
17
|
+
/**
|
|
18
|
+
* 是否自动加载默认字体(当 fontFamily 未提供时)
|
|
19
|
+
* @default true
|
|
20
|
+
*/
|
|
21
|
+
autoLoadFonts?: boolean;
|
|
12
22
|
}
|
|
13
23
|
declare const VariableProximity: import('react').ForwardRefExoticComponent<VariableProximityProps & import('react').RefAttributes<HTMLSpanElement>>;
|
|
14
24
|
export { VariableProximity };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const w=require("react/jsx-runtime"),f=require("react"),D=require("motion/react");;/* empty css */const l={robotoFlex:!1,notoSansSC:!1,loading:!1};function P(n){if(typeof document>"u")return!1;try{return document.fonts.check(`1em "${n}"`)}catch{return!0}}function O(){if(l.loading||l.robotoFlex&&l.notoSansSC)return;l.loading=!0;const n=P("Roboto Flex"),r=P("Noto Sans SC");if(n&&(l.robotoFlex=!0),r&&(l.notoSansSC=!0),n&&r){l.loading=!1;return}const i=(t,s)=>{if(document.querySelector(`link[href="${t}"]`)){s?.();return}const c=document.createElement("link");c.rel="stylesheet",c.href=t,c.onload=()=>s?.(),document.head.appendChild(c)},d=[{roboto:"https://fonts.loli.net/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap",noto:"https://fonts.loli.net/css2?family=Noto+Sans+SC:wght@100..900&display=swap"},{roboto:"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap",noto:"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100..900&display=swap"}],m=t=>{if(t>=d.length){l.loading=!1;return}const s=d[t];let p=0;const c=()=>{p++,p===2&&(l.loading=!1)};n?c():i(s.roboto,()=>{l.robotoFlex=!0,c()}),r?c():i(s.noto,()=>{l.notoSansSC=!0,c()}),setTimeout(()=>{(!l.robotoFlex||!l.notoSansSC)&&m(t+1)},3e3)};m(0)}function U(n=!0){f.useEffect(()=>{n&&typeof document<"u"&&O()},[n])}function G(n){f.useEffect(()=>{let r;const i=()=>{n(),r=requestAnimationFrame(i)};return r=requestAnimationFrame(i),()=>cancelAnimationFrame(r)},[n])}function H(n){const r=f.useRef({x:0,y:0});return f.useEffect(()=>{const i=(t,s)=>{if(n?.current){const p=n.current.getBoundingClientRect();r.current={x:t-p.left,y:s-p.top}}else r.current={x:t,y:s}},d=t=>i(t.clientX,t.clientY),m=t=>{const s=t.touches[0];i(s.clientX,s.clientY)};return window.addEventListener("mousemove",d),window.addEventListener("touchmove",m),()=>{window.removeEventListener("mousemove",d),window.removeEventListener("touchmove",m)}},[n]),r}const b=f.forwardRef((n,r)=>{const{label:i,fromFontVariationSettings:d,toFontVariationSettings:m,containerRef:t,radius:s=50,falloff:p="linear",className:c="",onClick:V,style:C,fontFamily:y,autoLoadFonts:k=!0,...q}=n;U(k&&!y);const R=f.useRef([]),v=f.useRef([]),S=H(t),x=f.useRef({x:null,y:null}),N=f.useMemo(()=>{const e=o=>new Map(o.split(",").map(g=>g.trim()).map(g=>{const[h,F]=g.split(" ");return[h.replace(/['"]/g,""),parseFloat(F)]})),a=e(d),u=e(m);return Array.from(a.entries()).map(([o,g])=>({axis:o,fromValue:g,toValue:u.get(o)??g}))},[d,m]),j=(e,a,u,o)=>Math.sqrt((u-e)**2+(o-a)**2),A=e=>{const a=Math.min(Math.max(1-e/s,0),1);switch(p){case"exponential":return a**2;case"gaussian":return Math.exp(-((e/(s/2))**2)/2);case"linear":default:return a}};G(()=>{if(!t?.current)return;const{x:e,y:a}=S.current;if(x.current.x===e&&x.current.y===a)return;x.current={x:e,y:a};const u=t.current.getBoundingClientRect();R.current.forEach((o,g)=>{if(!o)return;const h=o.getBoundingClientRect(),F=h.left+h.width/2-u.left,T=h.top+h.height/2-u.top,M=j(S.current.x,S.current.y,F,T);if(M>=s){o.style.fontVariationSettings=d;return}const X=A(M),L=N.map(({axis:Y,fromValue:E,toValue:z})=>{const _=E+(z-E)*X;return`'${Y}' ${_}`}).join(", ");v.current[g]=L,o.style.fontVariationSettings=L})});const $=/[\u4e00-\u9fa5]/.test(i)?i.split(""):i.split(" ").flatMap((e,a,u)=>{const o=e.split("");return a<u.length-1?[...o," "]:o});let I=0;const B=f.useMemo(()=>{const e={display:"inline",...C};return y&&(e.fontFamily=y),e},[y,C]);return w.jsxs("span",{ref:r,className:`${c} variable-proximity`,onClick:V,style:B,...q,children:[$.map((e,a)=>{const u=I++;return w.jsx(D.motion.span,{ref:o=>{R.current[u]=o},style:{display:e===" "?"inline":"inline-block",fontVariationSettings:v.current[u]},"aria-hidden":"true",children:e},a)}),w.jsx("span",{className:"sr-only",children:i})]})});b.displayName="VariableProximity";exports.VariableProximity=b;exports.default=b;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -27,4 +27,5 @@ export * from './components/dome-gallery';
|
|
|
27
27
|
export * from './components/text-type';
|
|
28
28
|
export * from './components/gradient-text';
|
|
29
29
|
export * from './components/variable-proximity';
|
|
30
|
+
export * from './components/subtitle-player';
|
|
30
31
|
export * from './hooks/useStayTimeReport';
|
package/dist/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const r=require("./components/button/Button.js"),o=require("./components/txt-reader/TxtReader.js"),n=require("./components/hyper-text/index.js"),a=require("./components/typing-animation/index.js"),u=require("./components/qr-code/index.js"),t=require("./components/confetti-button/index.js"),c=require("./components/gradient-text/index.js"),s=require("./components/variable-proximity/index.js"),T=require("./hooks/useStayTimeReport.js"),d=require("./components/pinch-content/PinchContent.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const r=require("./components/button/Button.js"),o=require("./components/txt-reader/TxtReader.js"),n=require("./components/hyper-text/index.js"),a=require("./components/typing-animation/index.js"),u=require("./components/qr-code/index.js"),t=require("./components/confetti-button/index.js"),c=require("./components/gradient-text/index.js"),s=require("./components/variable-proximity/index.js"),T=require("./hooks/useStayTimeReport.js"),d=require("./components/pinch-content/PinchContent.js"),l=require("./components/image-viewer/ImageViewer.js"),x=require("./components/shimmer-button/ShimmerButton.js"),m=require("./components/image-compare/ImageCompare.js"),q=require("./components/text-type/TextType.js"),p=require("./components/text-animate/TextAnimate.js"),e=require("./components/dock/Duck.js"),S=require("./components/txt-editor/TxtEditor.js"),y=require("./components/message/Message.js"),g=require("react-force-graph-3d"),B=require("canvas-confetti"),h=require("./components/pointer/Pointer.js"),C=require("./components/sparkles-text/SparklesText.js"),f=require("./components/blur-fade/BlurFade.js"),P=require("./components/video-dialog/VideoDialog.js"),R=require("./components/comic-text/ComicText.js"),k=require("./components/flip-text/FlipText.js"),i=require("./components/animated-list/AnimatedList.js"),A=require("./components/shiny-button/ShinyButton.js"),D=require("./components/scratch-to-reveal/ScratchToReveal.js"),V=require("./components/split-text/SplitText.js"),F=require("./components/subtitle-player/SubtitlePlayer.js");exports.Button=r.Button;exports.TxtReader=o.TxtReader;exports.HyperText=n.HyperText;exports.TypingAnimation=a.TypingAnimation;exports.QRCode=u.QRCode;exports.Confetti=t.Confetti;exports.ConfettiButton=t.ConfettiButton;exports.GradientText=c.default;exports.VariableProximity=s.VariableProximity;exports.useStayTimeReport=T.useStayTimeReport;exports.PinchContent=d.default;exports.ImageViewer=l.default;exports.ShimmerButton=x.ShimmerButton;exports.ImageCompare=m.default;exports.TextType=q.default;exports.TextAnimate=p.TextAnimate;exports.Dock=e.Dock;exports.DockIcon=e.DockIcon;exports.dockVariants=e.dockVariants;exports.TxtEditor=S.TxtEditor;exports.Message=y.Message;exports.ForceGraph3D=g;exports.confetti=B;exports.Pointer=h.Pointer;exports.SparklesText=C.SparklesText;exports.BlurFade=f.BlurFade;exports.VideoDialog=P.VideoDialog;exports.ComicText=R.ComicText;exports.FlipText=k.FlipText;exports.AnimatedList=i.AnimatedList;exports.AnimatedListItem=i.AnimatedListItem;exports.ShinyButton=A.ShinyButton;exports.ScratchToReveal=D.ScratchToReveal;exports.SplitText=V.SplitText;exports.SubtitlePlayer=F.SubtitlePlayer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100..900&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root,[data-theme]{color:hsl(var(--heroui-foreground));background-color:hsl(var(--heroui-background))}:root,[data-theme=light]{color-scheme:light;--heroui-background: 0 0% 100%;--heroui-foreground-50: 0 0% 98.04%;--heroui-foreground-100: 240 4.76% 95.88%;--heroui-foreground-200: 240 5.88% 90%;--heroui-foreground-300: 240 4.88% 83.92%;--heroui-foreground-400: 240 5.03% 64.9%;--heroui-foreground-500: 240 3.83% 46.08%;--heroui-foreground-600: 240 5.2% 33.92%;--heroui-foreground-700: 240 5.26% 26.08%;--heroui-foreground-800: 240 3.7% 15.88%;--heroui-foreground-900: 240 5.88% 10%;--heroui-foreground: 201.81999999999994 24.44% 8.82%;--heroui-divider: 0 0% 6.67%;--heroui-focus: 212.01999999999998 100% 46.67%;--heroui-overlay: 0 0% 0%;--heroui-content1: 0 0% 100%;--heroui-content1-foreground: 201.81999999999994 24.44% 8.82%;--heroui-content2: 240 4.76% 95.88%;--heroui-content2-foreground: 240 3.7% 15.88%;--heroui-content3: 240 5.88% 90%;--heroui-content3-foreground: 240 5.26% 26.08%;--heroui-content4: 240 4.88% 83.92%;--heroui-content4-foreground: 240 5.2% 33.92%;--heroui-default-50: 0 0% 98.04%;--heroui-default-100: 240 4.76% 95.88%;--heroui-default-200: 240 5.88% 90%;--heroui-default-300: 240 4.88% 83.92%;--heroui-default-400: 240 5.03% 64.9%;--heroui-default-500: 240 3.83% 46.08%;--heroui-default-600: 240 5.2% 33.92%;--heroui-default-700: 240 5.26% 26.08%;--heroui-default-800: 240 3.7% 15.88%;--heroui-default-900: 240 5.88% 10%;--heroui-default-foreground: 0 0% 0%;--heroui-default: 240 4.88% 83.92%;--heroui-primary-50: 212.5 92.31% 94.9%;--heroui-primary-100: 211.84000000000003 92.45% 89.61%;--heroui-primary-200: 211.84000000000003 92.45% 79.22%;--heroui-primary-300: 212.24 92.45% 68.82%;--heroui-primary-400: 212.14 92.45% 58.43%;--heroui-primary-500: 212.01999999999998 100% 46.67%;--heroui-primary-600: 212.14 100% 38.43%;--heroui-primary-700: 212.24 100% 28.82%;--heroui-primary-800: 211.84000000000003 100% 19.22%;--heroui-primary-900: 211.84000000000003 100% 9.61%;--heroui-primary-foreground: 0 0% 100%;--heroui-primary: 212.01999999999998 100% 46.67%;--heroui-secondary-50: 270 61.54% 94.9%;--heroui-secondary-100: 270 59.26% 89.41%;--heroui-secondary-200: 270 59.26% 78.82%;--heroui-secondary-300: 270 59.26% 68.24%;--heroui-secondary-400: 270 59.26% 57.65%;--heroui-secondary-500: 270 66.67% 47.06%;--heroui-secondary-600: 270 66.67% 37.65%;--heroui-secondary-700: 270 66.67% 28.24%;--heroui-secondary-800: 270 66.67% 18.82%;--heroui-secondary-900: 270 66.67% 9.41%;--heroui-secondary-foreground: 0 0% 100%;--heroui-secondary: 270 66.67% 47.06%;--heroui-success-50: 146.66999999999996 64.29% 94.51%;--heroui-success-100: 145.71000000000004 61.4% 88.82%;--heroui-success-200: 146.2 61.74% 77.45%;--heroui-success-300: 145.78999999999996 62.57% 66.47%;--heroui-success-400: 146.01 62.45% 55.1%;--heroui-success-500: 145.96000000000004 79.46% 43.92%;--heroui-success-600: 146.01 79.89% 35.1%;--heroui-success-700: 145.78999999999996 79.26% 26.47%;--heroui-success-800: 146.2 79.78% 17.45%;--heroui-success-900: 145.71000000000004 77.78% 8.82%;--heroui-success-foreground: 0 0% 0%;--heroui-success: 145.96000000000004 79.46% 43.92%;--heroui-warning-50: 54.55000000000001 91.67% 95.29%;--heroui-warning-100: 37.139999999999986 91.3% 90.98%;--heroui-warning-200: 37.139999999999986 91.3% 81.96%;--heroui-warning-300: 36.95999999999998 91.24% 73.14%;--heroui-warning-400: 37.00999999999999 91.26% 64.12%;--heroui-warning-500: 37.02999999999997 91.27% 55.1%;--heroui-warning-600: 37.00999999999999 74.22% 44.12%;--heroui-warning-700: 36.95999999999998 73.96% 33.14%;--heroui-warning-800: 37.139999999999986 75% 21.96%;--heroui-warning-900: 37.139999999999986 75% 10.98%;--heroui-warning-foreground: 0 0% 0%;--heroui-warning: 37.02999999999997 91.27% 55.1%;--heroui-danger-50: 339.13 92% 95.1%;--heroui-danger-100: 340 91.84% 90.39%;--heroui-danger-200: 339.3299999999999 90% 80.39%;--heroui-danger-300: 339.11 90.6% 70.78%;--heroui-danger-400: 339 90% 60.78%;--heroui-danger-500: 339.20000000000005 90.36% 51.18%;--heroui-danger-600: 339 86.54% 40.78%;--heroui-danger-700: 339.11 85.99% 30.78%;--heroui-danger-800: 339.3299999999999 86.54% 20.39%;--heroui-danger-900: 340 84.91% 10.39%;--heroui-danger-foreground: 0 0% 100%;--heroui-danger: 339.20000000000005 90.36% 51.18%;--heroui-divider-weight: 1px;--heroui-disabled-opacity: .5;--heroui-font-size-tiny: .75rem;--heroui-font-size-small: .875rem;--heroui-font-size-medium: 1rem;--heroui-font-size-large: 1.125rem;--heroui-line-height-tiny: 1rem;--heroui-line-height-small: 1.25rem;--heroui-line-height-medium: 1.5rem;--heroui-line-height-large: 1.75rem;--heroui-radius-small: 8px;--heroui-radius-medium: 12px;--heroui-radius-large: 14px;--heroui-border-width-small: 1px;--heroui-border-width-medium: 2px;--heroui-border-width-large: 3px;--heroui-box-shadow-small: 0px 0px 5px 0px rgb(0 0 0 / .02), 0px 2px 10px 0px rgb(0 0 0 / .06), 0px 0px 1px 0px rgb(0 0 0 / .3);--heroui-box-shadow-medium: 0px 0px 15px 0px rgb(0 0 0 / .03), 0px 2px 30px 0px rgb(0 0 0 / .08), 0px 0px 1px 0px rgb(0 0 0 / .3);--heroui-box-shadow-large: 0px 0px 30px 0px rgb(0 0 0 / .04), 0px 30px 60px 0px rgb(0 0 0 / .12), 0px 0px 1px 0px rgb(0 0 0 / .3);--heroui-hover-opacity: .8}*{scrollbar-color:initial;scrollbar-width:initial}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.-inset-full{inset:-100%}.inset-0{inset:0}.inset-x-0{left:0;right:0}.\!right-8{right:2rem!important}.\!top-8{top:2rem!important}.bottom-0{bottom:0}.bottom-5{bottom:1.25rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-4{right:1rem}.right-5{right:1.25rem}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.-z-20{z-index:-20}.-z-30{z-index:-30}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-full{width:100%;height:100%}.h-0{height:0px}.h-16{height:4rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-\[100cqh\]{height:100cqh}.h-\[58px\]{height:58px}.h-full{height:100%}.w-0{width:0px}.w-1{width:.25rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[1000px\]{width:1000px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-\[300px\]{min-width:300px}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-md{max-width:768px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[-70deg\]{--tw-rotate: -70deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-gpu{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes shimmer-slide{to{transform:translate(calc(100cqw - 100%))}}.animate-shimmer-slide{animation:shimmer-slide var(--speed) ease-in-out infinite alternate}.animate-spin{animation:spin 1s linear infinite}@keyframes spin-around{0%{transform:translateZ(0) rotate(0)}15%,35%{transform:translateZ(0) rotate(90deg)}65%,85%{transform:translateZ(0) rotate(270deg)}to{transform:translateZ(0) rotate(360deg)}}.animate-spin-around{animation:spin-around calc(var(--speed) * 2) infinite linear}.cursor-ew-resize{cursor:ew-resize}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-l-4{border-left-width:4px}.border-dashed{border-style:dashed}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity, 1))}.border-purple-300{--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-l-amber-500{--tw-border-opacity: 1;border-left-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.border-l-blue-500{--tw-border-opacity: 1;border-left-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-l-emerald-500{--tw-border-opacity: 1;border-left-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-l-gray-500{--tw-border-opacity: 1;border-left-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.border-l-red-500{--tw-border-opacity: 1;border-left-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.bg-\[\#ff0088\]{--tw-bg-opacity: 1;background-color:rgb(255 0 136 / var(--tw-bg-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-black\/70{background-color:#000000b3}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/20{background-color:#22c55e33}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-400{--tw-gradient-from: #60a5fa var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #4ade80 var(--tw-gradient-from-position);--tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-300{--tw-gradient-from: #f9a8d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 168 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-400{--tw-gradient-from: #f472b6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from: #c084fc var(--tw-gradient-from-position);--tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-400{--tw-gradient-from: #facc15 var(--tw-gradient-from-position);--tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-blue-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to: #16a34a var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to: #f97316 var(--tw-gradient-to-position)}.to-pink-400{--tw-gradient-to: #f472b6 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to: #ef4444 var(--tw-gradient-to-position)}.to-teal-400{--tw-gradient-to: #2dd4bf var(--tw-gradient-to-position)}.stroke-blue-500{stroke:#3b82f6}.stroke-purple-500{stroke:#a855f7}.stroke-white{stroke:#fff}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-px{padding:1px}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pt-1{padding-top:.25rem}.text-center{text-align:center}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[40pt\]{font-size:40pt}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.\!text-green-500{--tw-text-opacity: 1 !important;color:rgb(34 197 94 / var(--tw-text-opacity, 1))!important}.\!text-red-500{--tw-text-opacity: 1 !important;color:rgb(239 68 68 / var(--tw-text-opacity, 1))!important}.text-\[rgb\(0\,0\,0\,65\%\)\]{color:#000000a6}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_-8px_10px_\#ffffff1f\]{--tw-shadow: inset 0 -8px 10px #ffffff1f;--tw-shadow-colored: inset 0 -8px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[2px\]{--tw-blur: blur(2px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.light{color-scheme:light;--heroui-background: 0 0% 100%;--heroui-foreground-50: 0 0% 98.04%;--heroui-foreground-100: 240 4.76% 95.88%;--heroui-foreground-200: 240 5.88% 90%;--heroui-foreground-300: 240 4.88% 83.92%;--heroui-foreground-400: 240 5.03% 64.9%;--heroui-foreground-500: 240 3.83% 46.08%;--heroui-foreground-600: 240 5.2% 33.92%;--heroui-foreground-700: 240 5.26% 26.08%;--heroui-foreground-800: 240 3.7% 15.88%;--heroui-foreground-900: 240 5.88% 10%;--heroui-foreground: 201.81999999999994 24.44% 8.82%;--heroui-divider: 0 0% 6.67%;--heroui-focus: 212.01999999999998 100% 46.67%;--heroui-overlay: 0 0% 0%;--heroui-content1: 0 0% 100%;--heroui-content1-foreground: 201.81999999999994 24.44% 8.82%;--heroui-content2: 240 4.76% 95.88%;--heroui-content2-foreground: 240 3.7% 15.88%;--heroui-content3: 240 5.88% 90%;--heroui-content3-foreground: 240 5.26% 26.08%;--heroui-content4: 240 4.88% 83.92%;--heroui-content4-foreground: 240 5.2% 33.92%;--heroui-default-50: 0 0% 98.04%;--heroui-default-100: 240 4.76% 95.88%;--heroui-default-200: 240 5.88% 90%;--heroui-default-300: 240 4.88% 83.92%;--heroui-default-400: 240 5.03% 64.9%;--heroui-default-500: 240 3.83% 46.08%;--heroui-default-600: 240 5.2% 33.92%;--heroui-default-700: 240 5.26% 26.08%;--heroui-default-800: 240 3.7% 15.88%;--heroui-default-900: 240 5.88% 10%;--heroui-default-foreground: 0 0% 0%;--heroui-default: 240 4.88% 83.92%;--heroui-primary-50: 212.5 92.31% 94.9%;--heroui-primary-100: 211.84000000000003 92.45% 89.61%;--heroui-primary-200: 211.84000000000003 92.45% 79.22%;--heroui-primary-300: 212.24 92.45% 68.82%;--heroui-primary-400: 212.14 92.45% 58.43%;--heroui-primary-500: 212.01999999999998 100% 46.67%;--heroui-primary-600: 212.14 100% 38.43%;--heroui-primary-700: 212.24 100% 28.82%;--heroui-primary-800: 211.84000000000003 100% 19.22%;--heroui-primary-900: 211.84000000000003 100% 9.61%;--heroui-primary-foreground: 0 0% 100%;--heroui-primary: 212.01999999999998 100% 46.67%;--heroui-secondary-50: 270 61.54% 94.9%;--heroui-secondary-100: 270 59.26% 89.41%;--heroui-secondary-200: 270 59.26% 78.82%;--heroui-secondary-300: 270 59.26% 68.24%;--heroui-secondary-400: 270 59.26% 57.65%;--heroui-secondary-500: 270 66.67% 47.06%;--heroui-secondary-600: 270 66.67% 37.65%;--heroui-secondary-700: 270 66.67% 28.24%;--heroui-secondary-800: 270 66.67% 18.82%;--heroui-secondary-900: 270 66.67% 9.41%;--heroui-secondary-foreground: 0 0% 100%;--heroui-secondary: 270 66.67% 47.06%;--heroui-success-50: 146.66999999999996 64.29% 94.51%;--heroui-success-100: 145.71000000000004 61.4% 88.82%;--heroui-success-200: 146.2 61.74% 77.45%;--heroui-success-300: 145.78999999999996 62.57% 66.47%;--heroui-success-400: 146.01 62.45% 55.1%;--heroui-success-500: 145.96000000000004 79.46% 43.92%;--heroui-success-600: 146.01 79.89% 35.1%;--heroui-success-700: 145.78999999999996 79.26% 26.47%;--heroui-success-800: 146.2 79.78% 17.45%;--heroui-success-900: 145.71000000000004 77.78% 8.82%;--heroui-success-foreground: 0 0% 0%;--heroui-success: 145.96000000000004 79.46% 43.92%;--heroui-warning-50: 54.55000000000001 91.67% 95.29%;--heroui-warning-100: 37.139999999999986 91.3% 90.98%;--heroui-warning-200: 37.139999999999986 91.3% 81.96%;--heroui-warning-300: 36.95999999999998 91.24% 73.14%;--heroui-warning-400: 37.00999999999999 91.26% 64.12%;--heroui-warning-500: 37.02999999999997 91.27% 55.1%;--heroui-warning-600: 37.00999999999999 74.22% 44.12%;--heroui-warning-700: 36.95999999999998 73.96% 33.14%;--heroui-warning-800: 37.139999999999986 75% 21.96%;--heroui-warning-900: 37.139999999999986 75% 10.98%;--heroui-warning-foreground: 0 0% 0%;--heroui-warning: 37.02999999999997 91.27% 55.1%;--heroui-danger-50: 339.13 92% 95.1%;--heroui-danger-100: 340 91.84% 90.39%;--heroui-danger-200: 339.3299999999999 90% 80.39%;--heroui-danger-300: 339.11 90.6% 70.78%;--heroui-danger-400: 339 90% 60.78%;--heroui-danger-500: 339.20000000000005 90.36% 51.18%;--heroui-danger-600: 339 86.54% 40.78%;--heroui-danger-700: 339.11 85.99% 30.78%;--heroui-danger-800: 339.3299999999999 86.54% 20.39%;--heroui-danger-900: 340 84.91% 10.39%;--heroui-danger-foreground: 0 0% 100%;--heroui-danger: 339.20000000000005 90.36% 51.18%;--heroui-divider-weight: 1px;--heroui-disabled-opacity: .5;--heroui-font-size-tiny: .75rem;--heroui-font-size-small: .875rem;--heroui-font-size-medium: 1rem;--heroui-font-size-large: 1.125rem;--heroui-line-height-tiny: 1rem;--heroui-line-height-small: 1.25rem;--heroui-line-height-medium: 1.5rem;--heroui-line-height-large: 1.75rem;--heroui-radius-small: 8px;--heroui-radius-medium: 12px;--heroui-radius-large: 14px;--heroui-border-width-small: 1px;--heroui-border-width-medium: 2px;--heroui-border-width-large: 3px;--heroui-box-shadow-small: 0px 0px 5px 0px rgb(0 0 0 / .02), 0px 2px 10px 0px rgb(0 0 0 / .06), 0px 0px 1px 0px rgb(0 0 0 / .3);--heroui-box-shadow-medium: 0px 0px 15px 0px rgb(0 0 0 / .03), 0px 2px 30px 0px rgb(0 0 0 / .08), 0px 0px 1px 0px rgb(0 0 0 / .3);--heroui-box-shadow-large: 0px 0px 30px 0px rgb(0 0 0 / .04), 0px 30px 60px 0px rgb(0 0 0 / .12), 0px 0px 1px 0px rgb(0 0 0 / .3);--heroui-hover-opacity: .8}.dark{color-scheme:dark;--heroui-background: 0 0% 0%;--heroui-foreground-50: 240 5.88% 10%;--heroui-foreground-100: 240 3.7% 15.88%;--heroui-foreground-200: 240 5.26% 26.08%;--heroui-foreground-300: 240 5.2% 33.92%;--heroui-foreground-400: 240 3.83% 46.08%;--heroui-foreground-500: 240 5.03% 64.9%;--heroui-foreground-600: 240 4.88% 83.92%;--heroui-foreground-700: 240 5.88% 90%;--heroui-foreground-800: 240 4.76% 95.88%;--heroui-foreground-900: 0 0% 98.04%;--heroui-foreground: 210 5.56% 92.94%;--heroui-focus: 212.01999999999998 100% 46.67%;--heroui-overlay: 0 0% 0%;--heroui-divider: 0 0% 100%;--heroui-content1: 240 5.88% 10%;--heroui-content1-foreground: 0 0% 98.04%;--heroui-content2: 240 3.7% 15.88%;--heroui-content2-foreground: 240 4.76% 95.88%;--heroui-content3: 240 5.26% 26.08%;--heroui-content3-foreground: 240 5.88% 90%;--heroui-content4: 240 5.2% 33.92%;--heroui-content4-foreground: 240 4.88% 83.92%;--heroui-default-50: 240 5.88% 10%;--heroui-default-100: 240 3.7% 15.88%;--heroui-default-200: 240 5.26% 26.08%;--heroui-default-300: 240 5.2% 33.92%;--heroui-default-400: 240 3.83% 46.08%;--heroui-default-500: 240 5.03% 64.9%;--heroui-default-600: 240 4.88% 83.92%;--heroui-default-700: 240 5.88% 90%;--heroui-default-800: 240 4.76% 95.88%;--heroui-default-900: 0 0% 98.04%;--heroui-default-foreground: 0 0% 100%;--heroui-default: 240 5.26% 26.08%;--heroui-primary-50: 211.84000000000003 100% 9.61%;--heroui-primary-100: 211.84000000000003 100% 19.22%;--heroui-primary-200: 212.24 100% 28.82%;--heroui-primary-300: 212.14 100% 38.43%;--heroui-primary-400: 212.01999999999998 100% 46.67%;--heroui-primary-500: 212.14 92.45% 58.43%;--heroui-primary-600: 212.24 92.45% 68.82%;--heroui-primary-700: 211.84000000000003 92.45% 79.22%;--heroui-primary-800: 211.84000000000003 92.45% 89.61%;--heroui-primary-900: 212.5 92.31% 94.9%;--heroui-primary-foreground: 0 0% 100%;--heroui-primary: 212.01999999999998 100% 46.67%;--heroui-secondary-50: 270 66.67% 9.41%;--heroui-secondary-100: 270 66.67% 18.82%;--heroui-secondary-200: 270 66.67% 28.24%;--heroui-secondary-300: 270 66.67% 37.65%;--heroui-secondary-400: 270 66.67% 47.06%;--heroui-secondary-500: 270 59.26% 57.65%;--heroui-secondary-600: 270 59.26% 68.24%;--heroui-secondary-700: 270 59.26% 78.82%;--heroui-secondary-800: 270 59.26% 89.41%;--heroui-secondary-900: 270 61.54% 94.9%;--heroui-secondary-foreground: 0 0% 100%;--heroui-secondary: 270 59.26% 57.65%;--heroui-success-50: 145.71000000000004 77.78% 8.82%;--heroui-success-100: 146.2 79.78% 17.45%;--heroui-success-200: 145.78999999999996 79.26% 26.47%;--heroui-success-300: 146.01 79.89% 35.1%;--heroui-success-400: 145.96000000000004 79.46% 43.92%;--heroui-success-500: 146.01 62.45% 55.1%;--heroui-success-600: 145.78999999999996 62.57% 66.47%;--heroui-success-700: 146.2 61.74% 77.45%;--heroui-success-800: 145.71000000000004 61.4% 88.82%;--heroui-success-900: 146.66999999999996 64.29% 94.51%;--heroui-success-foreground: 0 0% 0%;--heroui-success: 145.96000000000004 79.46% 43.92%;--heroui-warning-50: 37.139999999999986 75% 10.98%;--heroui-warning-100: 37.139999999999986 75% 21.96%;--heroui-warning-200: 36.95999999999998 73.96% 33.14%;--heroui-warning-300: 37.00999999999999 74.22% 44.12%;--heroui-warning-400: 37.02999999999997 91.27% 55.1%;--heroui-warning-500: 37.00999999999999 91.26% 64.12%;--heroui-warning-600: 36.95999999999998 91.24% 73.14%;--heroui-warning-700: 37.139999999999986 91.3% 81.96%;--heroui-warning-800: 37.139999999999986 91.3% 90.98%;--heroui-warning-900: 54.55000000000001 91.67% 95.29%;--heroui-warning-foreground: 0 0% 0%;--heroui-warning: 37.02999999999997 91.27% 55.1%;--heroui-danger-50: 340 84.91% 10.39%;--heroui-danger-100: 339.3299999999999 86.54% 20.39%;--heroui-danger-200: 339.11 85.99% 30.78%;--heroui-danger-300: 339 86.54% 40.78%;--heroui-danger-400: 339.20000000000005 90.36% 51.18%;--heroui-danger-500: 339 90% 60.78%;--heroui-danger-600: 339.11 90.6% 70.78%;--heroui-danger-700: 339.3299999999999 90% 80.39%;--heroui-danger-800: 340 91.84% 90.39%;--heroui-danger-900: 339.13 92% 95.1%;--heroui-danger-foreground: 0 0% 100%;--heroui-danger: 339.20000000000005 90.36% 51.18%;--heroui-divider-weight: 1px;--heroui-disabled-opacity: .5;--heroui-font-size-tiny: .75rem;--heroui-font-size-small: .875rem;--heroui-font-size-medium: 1rem;--heroui-font-size-large: 1.125rem;--heroui-line-height-tiny: 1rem;--heroui-line-height-small: 1.25rem;--heroui-line-height-medium: 1.5rem;--heroui-line-height-large: 1.75rem;--heroui-radius-small: 8px;--heroui-radius-medium: 12px;--heroui-radius-large: 14px;--heroui-border-width-small: 1px;--heroui-border-width-medium: 2px;--heroui-border-width-large: 3px;--heroui-box-shadow-small: 0px 0px 5px 0px rgb(0 0 0 / .05), 0px 2px 10px 0px rgb(0 0 0 / .2), inset 0px 0px 1px 0px rgb(255 255 255 / .15);--heroui-box-shadow-medium: 0px 0px 15px 0px rgb(0 0 0 / .06), 0px 2px 30px 0px rgb(0 0 0 / .22), inset 0px 0px 1px 0px rgb(255 255 255 / .15);--heroui-box-shadow-large: 0px 0px 30px 0px rgb(0 0 0 / .07), 0px 30px 60px 0px rgb(0 0 0 / .26), inset 0px 0px 1px 0px rgb(255 255 255 / .15);--heroui-hover-opacity: .9}.pb-safe-offset-0{padding-bottom:calc(env(safe-area-inset-bottom) + 0px)}.pl-safe-offset-0{padding-left:calc(env(safe-area-inset-left) + 0px)}.pr-safe-offset-0{padding-right:calc(env(safe-area-inset-right) + 0px)}.scrollbar::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar{scrollbar-width:auto;scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.scrollbar::-webkit-scrollbar{display:block;width:var(--scrollbar-width, 16px);height:var(--scrollbar-height, 16px)}.scrollbar-track-slate-300{--scrollbar-track: #cbd5e1}.scrollbar-thumb-slate-700{--scrollbar-thumb: #334155}.\[aspect-ratio\:1\]{aspect-ratio:1}.\[background\:conic-gradient\(from_calc\(270deg-\(var\(--spread\)\*0\.5\)\)\,transparent_0\,var\(--shimmer-color\)_var\(--spread\)\,transparent_var\(--spread\)\)\]{background:conic-gradient(from calc(270deg - (var(--spread) * .5)),transparent 0,var(--shimmer-color) var(--spread),transparent var(--spread))}.\[background\:var\(--bg\)\]{background:var(--bg)}.\[border-radius\:0\]{border-radius:0}.\[border-radius\:var\(--radius\)\]{border-radius:var(--radius)}.\[container-type\:size\]{container-type:size}.\[filter\:url\(\#threshold\)_blur\(0\.6px\)\]{filter:url(#threshold) blur(.6px)}.\[inset\:var\(--cut\)\]{inset:var(--cut)}.\[mask\:none\]{-webkit-mask:none;mask:none}.\[translate\:0_0\]{translate:0 0}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-600:hover{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:\!text-green-400:hover{--tw-text-opacity: 1 !important;color:rgb(74 222 128 / var(--tw-text-opacity, 1))!important}.hover\:\!text-red-400:hover{--tw-text-opacity: 1 !important;color:rgb(248 113 113 / var(--tw-text-opacity, 1))!important}.hover\:shadow:hover{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.active\:translate-y-px:active{--tw-translate-y: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:shadow-\[inset_0_-6px_10px_\#ffffff3f\]{--tw-shadow: inset 0 -6px 10px #ffffff3f;--tw-shadow-colored: inset 0 -6px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group:active .group-active\:shadow-\[inset_0_-10px_10px_\#ffffff3f\]{--tw-shadow: inset 0 -10px 10px #ffffff3f;--tw-shadow-colored: inset 0 -10px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:bg-\[radial-gradient\(circle_at_50\%_0\%\,var\(--primary\)\/10\%_0\%\,transparent_60\%\)\]:is(.dark *){background-image:radial-gradient(circle at 50% 0%,var(--primary)/10% 0%,transparent 60%)}.dark\:font-light:is(.dark *){font-weight:300}.dark\:text-\[rgb\(255\,255\,255\,90\%\)\]:is(.dark *){color:#ffffffe5}.dark\:text-black:is(.dark *){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:hover\:shadow-\[0_0_20px_var\(--primary\)\/10\%\]:hover:is(.dark *){--tw-shadow: 0 0 20px var(--primary)/10%;--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media(min-width:768px){.md\:h-24{height:6rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:text-\[6rem\]{font-size:6rem}}._textContent_8n59h_23::-webkit-scrollbar{width:8px}._textContent_8n59h_23::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0003;background:#0003}._textContent_8n59h_23::-webkit-scrollbar-track{box-shadow:inset 0 0 5px #0003;border-radius:0;background:#00000014}.xiping-hyper-container{overflow:hidden;padding-top:.5rem;padding-bottom:.5rem;font-size:2.25rem;line-height:2.5rem;font-weight:700}.xiping-hyper-char{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.xiping-hyper-space{width:.75rem}.xiping-typing-animation{font-size:2.25rem;font-weight:700;line-height:5rem;letter-spacing:-.02em}.animated-gradient-text{position:relative;margin:0 auto;display:flex;max-width:-moz-fit-content;max-width:fit-content;flex-direction:row;align-items:center;justify-content:center;border-radius:1.25rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:box-shadow .5s ease-out;overflow:hidden;cursor:pointer}.gradient-overlay{position:absolute;inset:0;background-size:300% 100%;animation:gradient linear infinite;border-radius:inherit;z-index:0;pointer-events:none}.gradient-overlay:before{content:"";position:absolute;border-radius:inherit;width:calc(100% - 2px);height:calc(100% - 2px);left:50%;top:50%;transform:translate(-50%,-50%);background-color:#060010;z-index:-1}@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.text-content{display:inline-block;position:relative;z-index:2;background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gradient linear infinite}.variable-proximity{font-family:Roboto Flex,Noto Sans SC,PingFang SC,Microsoft YaHei,SimHei,sans-serif}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.xiping-wrapper{width:100vw;height:100vh;position:relative;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0)}.xiping-tool-wrapper{position:absolute;top:16px;right:16px;display:flex;gap:16px;z-index:10}.xiping-close-icon,.xiping-download-icon{color:#fff;cursor:pointer}.xiping-main-content{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center}.xiping-pinch-content{width:100%;height:100%}.xiping-image{width:100vw;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none}.xiping-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#00000080}.xiping-modal-content{overflow:hidden}.xiping-modal-overlay{background-color:#000000b3}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.text-type{display:inline-block;white-space:pre-wrap}.text-type__cursor{margin-left:.25rem;display:inline-block;opacity:1}.text-type__cursor--hidden{display:none}.message{display:flex;align-items:flex-start;max-width:80%;margin-bottom:16px}.message.user{align-self:flex-end;flex-direction:row-reverse;margin-left:auto}.message.assistant{align-self:flex-start;margin-right:auto}.message-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;margin:0 8px;background-color:#e0e0e0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.message-content{background-color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 1px 2px #0000001a;position:relative;max-width:100%}.message:not(:has(.message-avatar)) .message-content{margin:0}.message.user .message-content{background-color:#007bff;color:#fff}.message-text{word-break:break-word;line-height:1.5}.message-timestamp{font-size:.75rem;color:#888;margin-top:4px;text-align:right}.message.user .message-timestamp{color:#fffc}.message-thinking{display:flex;align-items:center;margin-top:8px}.message-thinking-dots{display:flex;align-items:center;margin-right:8px}.message-thinking-dots span{width:8px;height:8px;margin:0 2px;background-color:#888;border-radius:50%;display:inline-block;animation:thinking 1.4s infinite ease-in-out both}.message-thinking-dots span:nth-child(1){animation-delay:-.32s}.message-thinking-dots span:nth-child(2){animation-delay:-.16s}.message-thinking-text{font-size:.9rem;color:#888}.message.user .message-thinking-text{color:#fffc}@keyframes thinking{0%,80%,to{transform:scale(.6)}40%{transform:scale(1)}}.message-loading{display:flex;align-items:center;justify-content:center;padding:8px}.message-loading-spinner{width:24px;height:24px;border:3px solid rgba(0,123,255,.3);border-radius:50%;border-top-color:#007bff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.message-think{margin-top:12px;padding:8px 12px;background-color:#0000000d;border-radius:8px;font-size:.9rem}.message.user .message-think{background-color:#ffffff1a}.message-think-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:500}.message-think-toggle{background:none;border:none;padding:4px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}.message-think-toggle:hover{background-color:#0000000d}.message-think-content{max-height:1000px;opacity:1;overflow:hidden;transition:all .3s ease-in-out}.message-think-content.hidden{max-height:0;opacity:0;margin:0;padding:0}.message-knowledge-sources{margin-top:8px;padding:8px;background-color:#00000008;border-radius:4px;font-size:.9em}.message-knowledge-sources-header{font-weight:500;margin-bottom:4px;color:#666}.message-knowledge-sources-list{list-style:none;padding:0;margin:0}.message-knowledge-source-item{margin-bottom:4px}.message-knowledge-source-item:last-child{margin-bottom:0}.message-knowledge-source-item a{color:#06c;text-decoration:none}.message-knowledge-source-item a:hover{text-decoration:underline}.message-knowledge-source-description{font-size:.9em;color:#666;margin-top:2px;margin-left:8px}.message-text-container{position:relative;display:flex;flex-direction:column;gap:4px}.message-copy-button{align-self:flex-end;padding:4px;background:none;border:none;cursor:pointer;color:#666;opacity:0;transition:all .2s ease;border-radius:4px;display:flex;align-items:center;justify-content:center}.message-text-container:hover .message-copy-button{opacity:1}.message-copy-button:hover{color:#333;background-color:#0000000d}.message-copy-tooltip{position:absolute;top:-24px;right:0;background-color:#333;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translateY(4px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.xiping-video-dialog{position:relative}.xiping-video-dialog-container{position:relative;cursor:pointer}.xiping-video-dialog-thumbnail{width:100%;border-radius:.375rem;border:1px solid;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .2s ease-out}.xiping-video-dialog-container:hover .xiping-video-dialog-thumbnail{filter:brightness(.8)}.xiping-video-dialog-overlay{position:absolute;inset:0;display:flex;transform:scale(.9);align-items:center;justify-content:center;border-radius:1rem;transition:all .2s ease-out}.xiping-video-dialog-container:hover .xiping-video-dialog-overlay{transform:scale(1)}.xiping-video-dialog-play-outer{display:flex;width:7rem;height:7rem;align-items:center;justify-content:center;border-radius:9999px;background-color:hsla(var(--primary-h),var(--primary-s),var(--primary-l),.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.xiping-video-dialog-play-inner{position:relative;display:flex;width:5rem;height:5rem;transform:scale(1);align-items:center;justify-content:center;border-radius:9999px;background:linear-gradient(to bottom,hsla(var(--primary-h),var(--primary-s),var(--primary-l),.3),hsl(var(--primary-h),var(--primary-s),var(--primary-l)));box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .2s ease-out}.xiping-video-dialog-container:hover .xiping-video-dialog-play-inner{transform:scale(1.2)}.xiping-video-dialog-play-icon{width:2rem;height:2rem;transform:scale(1);fill:#fff;color:#fff;transition:transform .2s ease-out;filter:drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06))}.xiping-video-dialog-container:hover .xiping-video-dialog-play-icon{transform:scale(1.05)}.xiping-video-dialog-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.xiping-video-dialog-modal-content{position:relative;margin:0 1rem;aspect-ratio:16 / 9;width:100%;max-width:56rem}@media(min-width:768px){.xiping-video-dialog-modal-content{margin:0}}.xiping-video-dialog-close-button{position:absolute;top:-4rem;right:0;border-radius:9999px;background-color:#17171780;padding:.5rem;font-size:1.25rem;color:#fff;box-shadow:0 0 0 1px #0000001a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media(prefers-color-scheme:dark){.xiping-video-dialog-close-button{background-color:#f5f5f580;color:#000}}.xiping-video-dialog-close-icon{width:1.25rem;height:1.25rem}.xiping-video-dialog-video-wrapper{position:relative;isolation:isolate;z-index:1;width:100%;height:100%;overflow:hidden;border-radius:1rem;border:2px solid white}.xiping-video-dialog-iframe{width:100%;height:100%;border-radius:1rem}:root{--primary-h: 221.2;--primary-s: 83.2%;--primary-l: 53.3%}.xiping-flip-container{display:flex;justify-content:center;gap:.5rem}.xiping-flip-char{transform-origin:center;filter:drop-shadow(0 1px 1px rgb(0 0 0 / .05))}.xiping-split-parent{overflow:hidden;display:inline-block;white-space:normal}
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root,[data-theme]{color:hsl(var(--heroui-foreground));background-color:hsl(var(--heroui-background))}:root,[data-theme=light]{color-scheme:light;--heroui-background: 0 0% 100%;--heroui-foreground-50: 0 0% 98.04%;--heroui-foreground-100: 240 4.76% 95.88%;--heroui-foreground-200: 240 5.88% 90%;--heroui-foreground-300: 240 4.88% 83.92%;--heroui-foreground-400: 240 5.03% 64.9%;--heroui-foreground-500: 240 3.83% 46.08%;--heroui-foreground-600: 240 5.2% 33.92%;--heroui-foreground-700: 240 5.26% 26.08%;--heroui-foreground-800: 240 3.7% 15.88%;--heroui-foreground-900: 240 5.88% 10%;--heroui-foreground: 201.81999999999994 24.44% 8.82%;--heroui-divider: 0 0% 6.67%;--heroui-focus: 212.01999999999998 100% 46.67%;--heroui-overlay: 0 0% 0%;--heroui-content1: 0 0% 100%;--heroui-content1-foreground: 201.81999999999994 24.44% 8.82%;--heroui-content2: 240 4.76% 95.88%;--heroui-content2-foreground: 240 3.7% 15.88%;--heroui-content3: 240 5.88% 90%;--heroui-content3-foreground: 240 5.26% 26.08%;--heroui-content4: 240 4.88% 83.92%;--heroui-content4-foreground: 240 5.2% 33.92%;--heroui-default-50: 0 0% 98.04%;--heroui-default-100: 240 4.76% 95.88%;--heroui-default-200: 240 5.88% 90%;--heroui-default-300: 240 4.88% 83.92%;--heroui-default-400: 240 5.03% 64.9%;--heroui-default-500: 240 3.83% 46.08%;--heroui-default-600: 240 5.2% 33.92%;--heroui-default-700: 240 5.26% 26.08%;--heroui-default-800: 240 3.7% 15.88%;--heroui-default-900: 240 5.88% 10%;--heroui-default-foreground: 0 0% 0%;--heroui-default: 240 4.88% 83.92%;--heroui-primary-50: 212.5 92.31% 94.9%;--heroui-primary-100: 211.84000000000003 92.45% 89.61%;--heroui-primary-200: 211.84000000000003 92.45% 79.22%;--heroui-primary-300: 212.24 92.45% 68.82%;--heroui-primary-400: 212.14 92.45% 58.43%;--heroui-primary-500: 212.01999999999998 100% 46.67%;--heroui-primary-600: 212.14 100% 38.43%;--heroui-primary-700: 212.24 100% 28.82%;--heroui-primary-800: 211.84000000000003 100% 19.22%;--heroui-primary-900: 211.84000000000003 100% 9.61%;--heroui-primary-foreground: 0 0% 100%;--heroui-primary: 212.01999999999998 100% 46.67%;--heroui-secondary-50: 270 61.54% 94.9%;--heroui-secondary-100: 270 59.26% 89.41%;--heroui-secondary-200: 270 59.26% 78.82%;--heroui-secondary-300: 270 59.26% 68.24%;--heroui-secondary-400: 270 59.26% 57.65%;--heroui-secondary-500: 270 66.67% 47.06%;--heroui-secondary-600: 270 66.67% 37.65%;--heroui-secondary-700: 270 66.67% 28.24%;--heroui-secondary-800: 270 66.67% 18.82%;--heroui-secondary-900: 270 66.67% 9.41%;--heroui-secondary-foreground: 0 0% 100%;--heroui-secondary: 270 66.67% 47.06%;--heroui-success-50: 146.66999999999996 64.29% 94.51%;--heroui-success-100: 145.71000000000004 61.4% 88.82%;--heroui-success-200: 146.2 61.74% 77.45%;--heroui-success-300: 145.78999999999996 62.57% 66.47%;--heroui-success-400: 146.01 62.45% 55.1%;--heroui-success-500: 145.96000000000004 79.46% 43.92%;--heroui-success-600: 146.01 79.89% 35.1%;--heroui-success-700: 145.78999999999996 79.26% 26.47%;--heroui-success-800: 146.2 79.78% 17.45%;--heroui-success-900: 145.71000000000004 77.78% 8.82%;--heroui-success-foreground: 0 0% 0%;--heroui-success: 145.96000000000004 79.46% 43.92%;--heroui-warning-50: 54.55000000000001 91.67% 95.29%;--heroui-warning-100: 37.139999999999986 91.3% 90.98%;--heroui-warning-200: 37.139999999999986 91.3% 81.96%;--heroui-warning-300: 36.95999999999998 91.24% 73.14%;--heroui-warning-400: 37.00999999999999 91.26% 64.12%;--heroui-warning-500: 37.02999999999997 91.27% 55.1%;--heroui-warning-600: 37.00999999999999 74.22% 44.12%;--heroui-warning-700: 36.95999999999998 73.96% 33.14%;--heroui-warning-800: 37.139999999999986 75% 21.96%;--heroui-warning-900: 37.139999999999986 75% 10.98%;--heroui-warning-foreground: 0 0% 0%;--heroui-warning: 37.02999999999997 91.27% 55.1%;--heroui-danger-50: 339.13 92% 95.1%;--heroui-danger-100: 340 91.84% 90.39%;--heroui-danger-200: 339.3299999999999 90% 80.39%;--heroui-danger-300: 339.11 90.6% 70.78%;--heroui-danger-400: 339 90% 60.78%;--heroui-danger-500: 339.20000000000005 90.36% 51.18%;--heroui-danger-600: 339 86.54% 40.78%;--heroui-danger-700: 339.11 85.99% 30.78%;--heroui-danger-800: 339.3299999999999 86.54% 20.39%;--heroui-danger-900: 340 84.91% 10.39%;--heroui-danger-foreground: 0 0% 100%;--heroui-danger: 339.20000000000005 90.36% 51.18%;--heroui-divider-weight: 1px;--heroui-disabled-opacity: .5;--heroui-font-size-tiny: .75rem;--heroui-font-size-small: .875rem;--heroui-font-size-medium: 1rem;--heroui-font-size-large: 1.125rem;--heroui-line-height-tiny: 1rem;--heroui-line-height-small: 1.25rem;--heroui-line-height-medium: 1.5rem;--heroui-line-height-large: 1.75rem;--heroui-radius-small: 8px;--heroui-radius-medium: 12px;--heroui-radius-large: 14px;--heroui-border-width-small: 1px;--heroui-border-width-medium: 2px;--heroui-border-width-large: 3px;--heroui-box-shadow-small: 0px 0px 5px 0px rgb(0 0 0 / .02), 0px 2px 10px 0px rgb(0 0 0 / .06), 0px 0px 1px 0px rgb(0 0 0 / .3);--heroui-box-shadow-medium: 0px 0px 15px 0px rgb(0 0 0 / .03), 0px 2px 30px 0px rgb(0 0 0 / .08), 0px 0px 1px 0px rgb(0 0 0 / .3);--heroui-box-shadow-large: 0px 0px 30px 0px rgb(0 0 0 / .04), 0px 30px 60px 0px rgb(0 0 0 / .12), 0px 0px 1px 0px rgb(0 0 0 / .3);--heroui-hover-opacity: .8}*{scrollbar-color:initial;scrollbar-width:initial}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.\!right-8{right:2rem!important}.\!top-8{top:2rem!important}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-0{height:0px}.h-16{height:4rem}.h-24{height:6rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-\[58px\]{height:58px}.h-full{height:100%}.w-0{width:0px}.w-1{width:.25rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[1000px\]{width:1000px}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-\[300px\]{min-width:300px}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-md{max-width:768px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[-70deg\]{--tw-rotate: -70deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.cursor-ew-resize{cursor:ew-resize}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-l-4{border-left-width:4px}.border-dashed{border-style:dashed}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity, 1))}.border-purple-300{--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-l-amber-500{--tw-border-opacity: 1;border-left-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.border-l-blue-500{--tw-border-opacity: 1;border-left-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-l-emerald-500{--tw-border-opacity: 1;border-left-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-l-gray-500{--tw-border-opacity: 1;border-left-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.border-l-red-500{--tw-border-opacity: 1;border-left-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/20{background-color:#22c55e33}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-400{--tw-gradient-from: #60a5fa var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #4ade80 var(--tw-gradient-from-position);--tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-300{--tw-gradient-from: #f9a8d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 168 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-400{--tw-gradient-from: #f472b6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from: #c084fc var(--tw-gradient-from-position);--tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-400{--tw-gradient-from: #facc15 var(--tw-gradient-from-position);--tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-blue-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to: #16a34a var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to: #f97316 var(--tw-gradient-to-position)}.to-pink-400{--tw-gradient-to: #f472b6 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to: #ef4444 var(--tw-gradient-to-position)}.to-teal-400{--tw-gradient-to: #2dd4bf var(--tw-gradient-to-position)}.stroke-blue-500{stroke:#3b82f6}.stroke-purple-500{stroke:#a855f7}.stroke-white{stroke:#fff}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.text-center{text-align:center}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[40pt\]{font-size:40pt}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.\!text-green-500{--tw-text-opacity: 1 !important;color:rgb(34 197 94 / var(--tw-text-opacity, 1))!important}.\!text-red-500{--tw-text-opacity: 1 !important;color:rgb(239 68 68 / var(--tw-text-opacity, 1))!important}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.light{color-scheme:light;--heroui-background: 0 0% 100%;--heroui-foreground-50: 0 0% 98.04%;--heroui-foreground-100: 240 4.76% 95.88%;--heroui-foreground-200: 240 5.88% 90%;--heroui-foreground-300: 240 4.88% 83.92%;--heroui-foreground-400: 240 5.03% 64.9%;--heroui-foreground-500: 240 3.83% 46.08%;--heroui-foreground-600: 240 5.2% 33.92%;--heroui-foreground-700: 240 5.26% 26.08%;--heroui-foreground-800: 240 3.7% 15.88%;--heroui-foreground-900: 240 5.88% 10%;--heroui-foreground: 201.81999999999994 24.44% 8.82%;--heroui-divider: 0 0% 6.67%;--heroui-focus: 212.01999999999998 100% 46.67%;--heroui-overlay: 0 0% 0%;--heroui-content1: 0 0% 100%;--heroui-content1-foreground: 201.81999999999994 24.44% 8.82%;--heroui-content2: 240 4.76% 95.88%;--heroui-content2-foreground: 240 3.7% 15.88%;--heroui-content3: 240 5.88% 90%;--heroui-content3-foreground: 240 5.26% 26.08%;--heroui-content4: 240 4.88% 83.92%;--heroui-content4-foreground: 240 5.2% 33.92%;--heroui-default-50: 0 0% 98.04%;--heroui-default-100: 240 4.76% 95.88%;--heroui-default-200: 240 5.88% 90%;--heroui-default-300: 240 4.88% 83.92%;--heroui-default-400: 240 5.03% 64.9%;--heroui-default-500: 240 3.83% 46.08%;--heroui-default-600: 240 5.2% 33.92%;--heroui-default-700: 240 5.26% 26.08%;--heroui-default-800: 240 3.7% 15.88%;--heroui-default-900: 240 5.88% 10%;--heroui-default-foreground: 0 0% 0%;--heroui-default: 240 4.88% 83.92%;--heroui-primary-50: 212.5 92.31% 94.9%;--heroui-primary-100: 211.84000000000003 92.45% 89.61%;--heroui-primary-200: 211.84000000000003 92.45% 79.22%;--heroui-primary-300: 212.24 92.45% 68.82%;--heroui-primary-400: 212.14 92.45% 58.43%;--heroui-primary-500: 212.01999999999998 100% 46.67%;--heroui-primary-600: 212.14 100% 38.43%;--heroui-primary-700: 212.24 100% 28.82%;--heroui-primary-800: 211.84000000000003 100% 19.22%;--heroui-primary-900: 211.84000000000003 100% 9.61%;--heroui-primary-foreground: 0 0% 100%;--heroui-primary: 212.01999999999998 100% 46.67%;--heroui-secondary-50: 270 61.54% 94.9%;--heroui-secondary-100: 270 59.26% 89.41%;--heroui-secondary-200: 270 59.26% 78.82%;--heroui-secondary-300: 270 59.26% 68.24%;--heroui-secondary-400: 270 59.26% 57.65%;--heroui-secondary-500: 270 66.67% 47.06%;--heroui-secondary-600: 270 66.67% 37.65%;--heroui-secondary-700: 270 66.67% 28.24%;--heroui-secondary-800: 270 66.67% 18.82%;--heroui-secondary-900: 270 66.67% 9.41%;--heroui-secondary-foreground: 0 0% 100%;--heroui-secondary: 270 66.67% 47.06%;--heroui-success-50: 146.66999999999996 64.29% 94.51%;--heroui-success-100: 145.71000000000004 61.4% 88.82%;--heroui-success-200: 146.2 61.74% 77.45%;--heroui-success-300: 145.78999999999996 62.57% 66.47%;--heroui-success-400: 146.01 62.45% 55.1%;--heroui-success-500: 145.96000000000004 79.46% 43.92%;--heroui-success-600: 146.01 79.89% 35.1%;--heroui-success-700: 145.78999999999996 79.26% 26.47%;--heroui-success-800: 146.2 79.78% 17.45%;--heroui-success-900: 145.71000000000004 77.78% 8.82%;--heroui-success-foreground: 0 0% 0%;--heroui-success: 145.96000000000004 79.46% 43.92%;--heroui-warning-50: 54.55000000000001 91.67% 95.29%;--heroui-warning-100: 37.139999999999986 91.3% 90.98%;--heroui-warning-200: 37.139999999999986 91.3% 81.96%;--heroui-warning-300: 36.95999999999998 91.24% 73.14%;--heroui-warning-400: 37.00999999999999 91.26% 64.12%;--heroui-warning-500: 37.02999999999997 91.27% 55.1%;--heroui-warning-600: 37.00999999999999 74.22% 44.12%;--heroui-warning-700: 36.95999999999998 73.96% 33.14%;--heroui-warning-800: 37.139999999999986 75% 21.96%;--heroui-warning-900: 37.139999999999986 75% 10.98%;--heroui-warning-foreground: 0 0% 0%;--heroui-warning: 37.02999999999997 91.27% 55.1%;--heroui-danger-50: 339.13 92% 95.1%;--heroui-danger-100: 340 91.84% 90.39%;--heroui-danger-200: 339.3299999999999 90% 80.39%;--heroui-danger-300: 339.11 90.6% 70.78%;--heroui-danger-400: 339 90% 60.78%;--heroui-danger-500: 339.20000000000005 90.36% 51.18%;--heroui-danger-600: 339 86.54% 40.78%;--heroui-danger-700: 339.11 85.99% 30.78%;--heroui-danger-800: 339.3299999999999 86.54% 20.39%;--heroui-danger-900: 340 84.91% 10.39%;--heroui-danger-foreground: 0 0% 100%;--heroui-danger: 339.20000000000005 90.36% 51.18%;--heroui-divider-weight: 1px;--heroui-disabled-opacity: .5;--heroui-font-size-tiny: .75rem;--heroui-font-size-small: .875rem;--heroui-font-size-medium: 1rem;--heroui-font-size-large: 1.125rem;--heroui-line-height-tiny: 1rem;--heroui-line-height-small: 1.25rem;--heroui-line-height-medium: 1.5rem;--heroui-line-height-large: 1.75rem;--heroui-radius-small: 8px;--heroui-radius-medium: 12px;--heroui-radius-large: 14px;--heroui-border-width-small: 1px;--heroui-border-width-medium: 2px;--heroui-border-width-large: 3px;--heroui-box-shadow-small: 0px 0px 5px 0px rgb(0 0 0 / .02), 0px 2px 10px 0px rgb(0 0 0 / .06), 0px 0px 1px 0px rgb(0 0 0 / .3);--heroui-box-shadow-medium: 0px 0px 15px 0px rgb(0 0 0 / .03), 0px 2px 30px 0px rgb(0 0 0 / .08), 0px 0px 1px 0px rgb(0 0 0 / .3);--heroui-box-shadow-large: 0px 0px 30px 0px rgb(0 0 0 / .04), 0px 30px 60px 0px rgb(0 0 0 / .12), 0px 0px 1px 0px rgb(0 0 0 / .3);--heroui-hover-opacity: .8}.dark{color-scheme:dark;--heroui-background: 0 0% 0%;--heroui-foreground-50: 240 5.88% 10%;--heroui-foreground-100: 240 3.7% 15.88%;--heroui-foreground-200: 240 5.26% 26.08%;--heroui-foreground-300: 240 5.2% 33.92%;--heroui-foreground-400: 240 3.83% 46.08%;--heroui-foreground-500: 240 5.03% 64.9%;--heroui-foreground-600: 240 4.88% 83.92%;--heroui-foreground-700: 240 5.88% 90%;--heroui-foreground-800: 240 4.76% 95.88%;--heroui-foreground-900: 0 0% 98.04%;--heroui-foreground: 210 5.56% 92.94%;--heroui-focus: 212.01999999999998 100% 46.67%;--heroui-overlay: 0 0% 0%;--heroui-divider: 0 0% 100%;--heroui-content1: 240 5.88% 10%;--heroui-content1-foreground: 0 0% 98.04%;--heroui-content2: 240 3.7% 15.88%;--heroui-content2-foreground: 240 4.76% 95.88%;--heroui-content3: 240 5.26% 26.08%;--heroui-content3-foreground: 240 5.88% 90%;--heroui-content4: 240 5.2% 33.92%;--heroui-content4-foreground: 240 4.88% 83.92%;--heroui-default-50: 240 5.88% 10%;--heroui-default-100: 240 3.7% 15.88%;--heroui-default-200: 240 5.26% 26.08%;--heroui-default-300: 240 5.2% 33.92%;--heroui-default-400: 240 3.83% 46.08%;--heroui-default-500: 240 5.03% 64.9%;--heroui-default-600: 240 4.88% 83.92%;--heroui-default-700: 240 5.88% 90%;--heroui-default-800: 240 4.76% 95.88%;--heroui-default-900: 0 0% 98.04%;--heroui-default-foreground: 0 0% 100%;--heroui-default: 240 5.26% 26.08%;--heroui-primary-50: 211.84000000000003 100% 9.61%;--heroui-primary-100: 211.84000000000003 100% 19.22%;--heroui-primary-200: 212.24 100% 28.82%;--heroui-primary-300: 212.14 100% 38.43%;--heroui-primary-400: 212.01999999999998 100% 46.67%;--heroui-primary-500: 212.14 92.45% 58.43%;--heroui-primary-600: 212.24 92.45% 68.82%;--heroui-primary-700: 211.84000000000003 92.45% 79.22%;--heroui-primary-800: 211.84000000000003 92.45% 89.61%;--heroui-primary-900: 212.5 92.31% 94.9%;--heroui-primary-foreground: 0 0% 100%;--heroui-primary: 212.01999999999998 100% 46.67%;--heroui-secondary-50: 270 66.67% 9.41%;--heroui-secondary-100: 270 66.67% 18.82%;--heroui-secondary-200: 270 66.67% 28.24%;--heroui-secondary-300: 270 66.67% 37.65%;--heroui-secondary-400: 270 66.67% 47.06%;--heroui-secondary-500: 270 59.26% 57.65%;--heroui-secondary-600: 270 59.26% 68.24%;--heroui-secondary-700: 270 59.26% 78.82%;--heroui-secondary-800: 270 59.26% 89.41%;--heroui-secondary-900: 270 61.54% 94.9%;--heroui-secondary-foreground: 0 0% 100%;--heroui-secondary: 270 59.26% 57.65%;--heroui-success-50: 145.71000000000004 77.78% 8.82%;--heroui-success-100: 146.2 79.78% 17.45%;--heroui-success-200: 145.78999999999996 79.26% 26.47%;--heroui-success-300: 146.01 79.89% 35.1%;--heroui-success-400: 145.96000000000004 79.46% 43.92%;--heroui-success-500: 146.01 62.45% 55.1%;--heroui-success-600: 145.78999999999996 62.57% 66.47%;--heroui-success-700: 146.2 61.74% 77.45%;--heroui-success-800: 145.71000000000004 61.4% 88.82%;--heroui-success-900: 146.66999999999996 64.29% 94.51%;--heroui-success-foreground: 0 0% 0%;--heroui-success: 145.96000000000004 79.46% 43.92%;--heroui-warning-50: 37.139999999999986 75% 10.98%;--heroui-warning-100: 37.139999999999986 75% 21.96%;--heroui-warning-200: 36.95999999999998 73.96% 33.14%;--heroui-warning-300: 37.00999999999999 74.22% 44.12%;--heroui-warning-400: 37.02999999999997 91.27% 55.1%;--heroui-warning-500: 37.00999999999999 91.26% 64.12%;--heroui-warning-600: 36.95999999999998 91.24% 73.14%;--heroui-warning-700: 37.139999999999986 91.3% 81.96%;--heroui-warning-800: 37.139999999999986 91.3% 90.98%;--heroui-warning-900: 54.55000000000001 91.67% 95.29%;--heroui-warning-foreground: 0 0% 0%;--heroui-warning: 37.02999999999997 91.27% 55.1%;--heroui-danger-50: 340 84.91% 10.39%;--heroui-danger-100: 339.3299999999999 86.54% 20.39%;--heroui-danger-200: 339.11 85.99% 30.78%;--heroui-danger-300: 339 86.54% 40.78%;--heroui-danger-400: 339.20000000000005 90.36% 51.18%;--heroui-danger-500: 339 90% 60.78%;--heroui-danger-600: 339.11 90.6% 70.78%;--heroui-danger-700: 339.3299999999999 90% 80.39%;--heroui-danger-800: 340 91.84% 90.39%;--heroui-danger-900: 339.13 92% 95.1%;--heroui-danger-foreground: 0 0% 100%;--heroui-danger: 339.20000000000005 90.36% 51.18%;--heroui-divider-weight: 1px;--heroui-disabled-opacity: .5;--heroui-font-size-tiny: .75rem;--heroui-font-size-small: .875rem;--heroui-font-size-medium: 1rem;--heroui-font-size-large: 1.125rem;--heroui-line-height-tiny: 1rem;--heroui-line-height-small: 1.25rem;--heroui-line-height-medium: 1.5rem;--heroui-line-height-large: 1.75rem;--heroui-radius-small: 8px;--heroui-radius-medium: 12px;--heroui-radius-large: 14px;--heroui-border-width-small: 1px;--heroui-border-width-medium: 2px;--heroui-border-width-large: 3px;--heroui-box-shadow-small: 0px 0px 5px 0px rgb(0 0 0 / .05), 0px 2px 10px 0px rgb(0 0 0 / .2), inset 0px 0px 1px 0px rgb(255 255 255 / .15);--heroui-box-shadow-medium: 0px 0px 15px 0px rgb(0 0 0 / .06), 0px 2px 30px 0px rgb(0 0 0 / .22), inset 0px 0px 1px 0px rgb(255 255 255 / .15);--heroui-box-shadow-large: 0px 0px 30px 0px rgb(0 0 0 / .07), 0px 30px 60px 0px rgb(0 0 0 / .26), inset 0px 0px 1px 0px rgb(255 255 255 / .15);--heroui-hover-opacity: .9}.pb-safe-offset-0{padding-bottom:calc(env(safe-area-inset-bottom) + 0px)}.pl-safe-offset-0{padding-left:calc(env(safe-area-inset-left) + 0px)}.pr-safe-offset-0{padding-right:calc(env(safe-area-inset-right) + 0px)}.\[filter\:url\(\#threshold\)_blur\(0\.6px\)\]{filter:url(#threshold) blur(.6px)}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-600:hover{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:\!text-green-400:hover{--tw-text-opacity: 1 !important;color:rgb(74 222 128 / var(--tw-text-opacity, 1))!important}.hover\:\!text-red-400:hover{--tw-text-opacity: 1 !important;color:rgb(248 113 113 / var(--tw-text-opacity, 1))!important}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}@media(min-width:768px){.md\:h-24{height:6rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:text-\[6rem\]{font-size:6rem}}._xiping-top-progress_yv2bi_23{position:fixed;left:0;top:0;right:0;background-color:#f08;height:10px}._xiping-container_yv2bi_33{position:relative;width:100%;height:100%;overflow-y:auto}._xiping-content_yv2bi_41{width:100%;white-space:pre-wrap;word-break:break-word}._xiping-bottom-progress_yv2bi_48{position:fixed;color:#fff;border-radius:4px;font-size:.875rem;background-color:#000000b3;padding:.25rem .5rem;right:1.25rem;bottom:1.25rem}._textContent_yv2bi_63::-webkit-scrollbar{width:8px}._textContent_yv2bi_63::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0003;background:#0003}._textContent_yv2bi_63::-webkit-scrollbar-track{box-shadow:inset 0 0 5px #0003;border-radius:0;background:#00000014}.xiping-hyper-container{overflow:hidden;padding-top:.5rem;padding-bottom:.5rem;font-size:2.25rem;line-height:2.5rem;font-weight:700}.xiping-hyper-char{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.xiping-hyper-space{width:.75rem}.xiping-typing-animation{font-size:2.25rem;font-weight:700;line-height:5rem;letter-spacing:-.02em}.animated-gradient-text{position:relative;margin:0 auto;display:flex;max-width:-moz-fit-content;max-width:fit-content;flex-direction:row;align-items:center;justify-content:center;border-radius:1.25rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:box-shadow .5s ease-out;overflow:hidden;cursor:pointer}.gradient-overlay{position:absolute;inset:0;background-size:300% 100%;animation:gradient linear infinite;border-radius:inherit;z-index:0;pointer-events:none}.gradient-overlay:before{content:"";position:absolute;border-radius:inherit;width:calc(100% - 2px);height:calc(100% - 2px);left:50%;top:50%;transform:translate(-50%,-50%);background-color:#060010;z-index:-1}@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.text-content{display:inline-block;position:relative;z-index:2;background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gradient linear infinite}.variable-proximity{font-family:Roboto Flex,Noto Sans SC,PingFang SC,Microsoft YaHei,SimHei,sans-serif}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.xiping-wrapper{width:100vw;height:100vh;position:relative;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0)}.xiping-tool-wrapper{position:absolute;top:16px;right:16px;display:flex;gap:16px;z-index:10}.xiping-close-icon,.xiping-download-icon{color:#fff;cursor:pointer}.xiping-main-content{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center}.xiping-pinch-content{width:100%;height:100%}.xiping-image{width:100vw;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none}.xiping-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#00000080}.xiping-modal-content{overflow:hidden}.xiping-modal-overlay{background-color:#000000b3}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.xiping-shimmer-button{position:relative;z-index:0;display:flex;cursor:pointer;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;border:1px solid rgba(255,255,255,.1);padding:.75rem 1.5rem;color:#fff;background:var(--bg);border-radius:var(--radius);transform:translateZ(0);transition:transform .3s ease-in-out}.xiping-shimmer-button:active{transform:translateY(1px) translateZ(0)}@media(prefers-color-scheme:dark){.xiping-shimmer-button{color:#000}}.xiping-shimmer-button-spark-container{position:absolute;z-index:-30;inset:0;overflow:visible;filter:blur(2px);container-type:size}.xiping-shimmer-button-spark{position:absolute;inset:0;height:100cqh;aspect-ratio:1;border-radius:0;-webkit-mask:none;mask:none;animation:xiping-shimmer-slide var(--speed) ease-in-out infinite alternate}.xiping-shimmer-button-spark-before{position:absolute;inset:-100%;width:auto;transform:rotate(0);background:conic-gradient(from calc(270deg - (var(--spread) * .5)),transparent 0,var(--shimmer-color) var(--spread),transparent var(--spread));animation:xiping-spin-around calc(var(--speed) * 2) infinite linear}.xiping-shimmer-button-highlight{position:absolute;inset:0;width:100%;height:100%;border-radius:1rem;box-shadow:inset 0 -8px 10px #ffffff1f;transform:translateZ(0);transition:all .3s ease-in-out}.xiping-shimmer-button:hover .xiping-shimmer-button-highlight{box-shadow:inset 0 -6px 10px #ffffff40}.xiping-shimmer-button:active .xiping-shimmer-button-highlight{box-shadow:inset 0 -10px 10px #ffffff40}.xiping-shimmer-button-backdrop{position:absolute;z-index:-20;background:var(--bg);border-radius:var(--radius);inset:var(--cut)}@keyframes xiping-shimmer-slide{to{transform:translate(calc(100cqw - 100%))}}@keyframes xiping-spin-around{0%{transform:translateZ(0) rotate(0)}15%,35%{transform:translateZ(0) rotate(90deg)}65%,85%{transform:translateZ(0) rotate(270deg)}to{transform:translateZ(0) rotate(360deg)}}.text-type{display:inline-block;white-space:pre-wrap}.text-type__cursor{margin-left:.25rem;display:inline-block;opacity:1}.text-type__cursor--hidden{display:none}.message{display:flex;align-items:flex-start;max-width:80%;margin-bottom:16px}.message.user{align-self:flex-end;flex-direction:row-reverse;margin-left:auto}.message.assistant{align-self:flex-start;margin-right:auto}.message-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;margin:0 8px;background-color:#e0e0e0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.message-content{background-color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 1px 2px #0000001a;position:relative;max-width:100%}.message:not(:has(.message-avatar)) .message-content{margin:0}.message.user .message-content{background-color:#007bff;color:#fff}.message-text{word-break:break-word;line-height:1.5}.message-timestamp{font-size:.75rem;color:#888;margin-top:4px;text-align:right}.message.user .message-timestamp{color:#fffc}.message-thinking{display:flex;align-items:center;margin-top:8px}.message-thinking-dots{display:flex;align-items:center;margin-right:8px}.message-thinking-dots span{width:8px;height:8px;margin:0 2px;background-color:#888;border-radius:50%;display:inline-block;animation:thinking 1.4s infinite ease-in-out both}.message-thinking-dots span:nth-child(1){animation-delay:-.32s}.message-thinking-dots span:nth-child(2){animation-delay:-.16s}.message-thinking-text{font-size:.9rem;color:#888}.message.user .message-thinking-text{color:#fffc}@keyframes thinking{0%,80%,to{transform:scale(.6)}40%{transform:scale(1)}}.message-loading{display:flex;align-items:center;justify-content:center;padding:8px}.message-loading-spinner{width:24px;height:24px;border:3px solid rgba(0,123,255,.3);border-radius:50%;border-top-color:#007bff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.message-think{margin-top:12px;padding:8px 12px;background-color:#0000000d;border-radius:8px;font-size:.9rem}.message.user .message-think{background-color:#ffffff1a}.message-think-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:500}.message-think-toggle{background:none;border:none;padding:4px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}.message-think-toggle:hover{background-color:#0000000d}.message-think-content{max-height:1000px;opacity:1;overflow:hidden;transition:all .3s ease-in-out}.message-think-content.hidden{max-height:0;opacity:0;margin:0;padding:0}.message-knowledge-sources{margin-top:8px;padding:8px;background-color:#00000008;border-radius:4px;font-size:.9em}.message-knowledge-sources-header{font-weight:500;margin-bottom:4px;color:#666}.message-knowledge-sources-list{list-style:none;padding:0;margin:0}.message-knowledge-source-item{margin-bottom:4px}.message-knowledge-source-item:last-child{margin-bottom:0}.message-knowledge-source-item a{color:#06c;text-decoration:none}.message-knowledge-source-item a:hover{text-decoration:underline}.message-knowledge-source-description{font-size:.9em;color:#666;margin-top:2px;margin-left:8px}.message-text-container{position:relative;display:flex;flex-direction:column;gap:4px}.message-copy-button{align-self:flex-end;padding:4px;background:none;border:none;cursor:pointer;color:#666;opacity:0;transition:all .2s ease;border-radius:4px;display:flex;align-items:center;justify-content:center}.message-text-container:hover .message-copy-button{opacity:1}.message-copy-button:hover{color:#333;background-color:#0000000d}.message-copy-tooltip{position:absolute;top:-24px;right:0;background-color:#333;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translateY(4px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.xiping-sparkle{pointer-events:none;position:absolute;z-index:20}.xiping-sparkles-text{font-size:3.75rem;font-weight:700}.xiping-sparkles-text-wrapper{position:relative;display:inline-block}.xiping-video-dialog{position:relative}.xiping-video-dialog-container{position:relative;cursor:pointer}.xiping-video-dialog-thumbnail{width:100%;border-radius:.375rem;border:1px solid;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .2s ease-out}.xiping-video-dialog-container:hover .xiping-video-dialog-thumbnail{filter:brightness(.8)}.xiping-video-dialog-overlay{position:absolute;inset:0;display:flex;transform:scale(.9);align-items:center;justify-content:center;border-radius:1rem;transition:all .2s ease-out}.xiping-video-dialog-container:hover .xiping-video-dialog-overlay{transform:scale(1)}.xiping-video-dialog-play-outer{display:flex;width:7rem;height:7rem;align-items:center;justify-content:center;border-radius:9999px;background-color:hsla(var(--primary-h),var(--primary-s),var(--primary-l),.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.xiping-video-dialog-play-inner{position:relative;display:flex;width:5rem;height:5rem;transform:scale(1);align-items:center;justify-content:center;border-radius:9999px;background:linear-gradient(to bottom,hsla(var(--primary-h),var(--primary-s),var(--primary-l),.3),hsl(var(--primary-h),var(--primary-s),var(--primary-l)));box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .2s ease-out}.xiping-video-dialog-container:hover .xiping-video-dialog-play-inner{transform:scale(1.2)}.xiping-video-dialog-play-icon{width:2rem;height:2rem;transform:scale(1);fill:#fff;color:#fff;transition:transform .2s ease-out;filter:drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06))}.xiping-video-dialog-container:hover .xiping-video-dialog-play-icon{transform:scale(1.05)}.xiping-video-dialog-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.xiping-video-dialog-modal-content{position:relative;margin:0 1rem;aspect-ratio:16 / 9;width:100%;max-width:56rem}@media(min-width:768px){.xiping-video-dialog-modal-content{margin:0}}.xiping-video-dialog-close-button{position:absolute;top:-4rem;right:0;border-radius:9999px;background-color:#17171780;padding:.5rem;font-size:1.25rem;color:#fff;box-shadow:0 0 0 1px #0000001a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media(prefers-color-scheme:dark){.xiping-video-dialog-close-button{background-color:#f5f5f580;color:#000}}.xiping-video-dialog-close-icon{width:1.25rem;height:1.25rem}.xiping-video-dialog-video-wrapper{position:relative;isolation:isolate;z-index:1;width:100%;height:100%;overflow:hidden;border-radius:1rem;border:2px solid white}.xiping-video-dialog-iframe{width:100%;height:100%;border-radius:1rem}:root{--primary-h: 221.2;--primary-s: 83.2%;--primary-l: 53.3%}.xiping-flip-container{display:flex;justify-content:center;gap:.5rem}.xiping-flip-char{transform-origin:center;filter:drop-shadow(0 1px 1px rgb(0 0 0 / .05))}.xiping-shiny-button{position:relative;cursor:pointer;border-radius:.5rem;padding:.5rem 1.5rem;font-weight:500;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid;transition:box-shadow .3s ease-in-out}.xiping-shiny-button:hover{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}@media(prefers-color-scheme:dark){.xiping-shiny-button{background:radial-gradient(circle at 50% 0%,var(--primary) 10%,transparent 60%)}.xiping-shiny-button:hover{box-shadow:0 0 20px var(--primary) / 10%}}.xiping-shiny-button-text{position:relative;display:block;width:100%;height:100%;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:#000000a6}@media(prefers-color-scheme:dark){.xiping-shiny-button-text{font-weight:300;color:#ffffffe5}}.xiping-shiny-button-border{position:absolute;inset:0;z-index:10;display:block;border-radius:inherit;padding:1px}.xiping-split-parent{overflow:hidden;display:inline-block;white-space:normal}.subtitle-player{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#000000bf;border-radius:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;max-width:100%;box-sizing:border-box}.subtitle-player--lyrics{max-height:600px;overflow-y:auto;gap:.5rem;scroll-behavior:smooth}.subtitle-player--lyrics::-webkit-scrollbar{width:8px}.subtitle-player--lyrics::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.subtitle-player--lyrics::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.subtitle-player--lyrics::-webkit-scrollbar-thumb:hover{background:#ffffff80}.subtitle-player-group{display:flex;flex-direction:column;gap:.5rem}.subtitle-player-item--active{color:#fbbf24;font-weight:600;transform:scale(1.05);transition:all .3s ease;position:relative}.subtitle-player-item--active:before{content:"";position:absolute;left:-1rem;top:50%;transform:translateY(-50%);width:4px;height:80%;background:#fbbf24;border-radius:2px}.subtitle-player-item--past{opacity:.5;color:#fff9}.subtitle-player-item{display:flex;flex-direction:column;gap:.25rem}.subtitle-player-label{font-size:.75rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.subtitle-player-text{font-size:1rem;font-weight:500;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.5)}.subtitle-player-line{margin:.25rem 0}.subtitle-player-line:first-child{margin-top:0}.subtitle-player-line:last-child{margin-bottom:0}.subtitle-player:has(.subtitle-player-item:only-child){align-items:center}.subtitle-player:has(.subtitle-player-item:not(:only-child)){align-items:flex-start}@media(max-width:768px){.subtitle-player{padding:.75rem;font-size:.9rem}.subtitle-player-text{font-size:.9rem}}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function f(r){const i=[],n=r.trim().split(/\n\s*\n/);for(const d of n){const e=d.trim().split(`
|
|
2
|
+
`);if(e.length<3)continue;const o=parseInt(e[0],10);if(isNaN(o))continue;const t=e[1].match(/(\d{2}:\d{2}:\d{2},\d{3})\s*-->\s*(\d{2}:\d{2}:\d{2},\d{3})/);if(!t)continue;const s=t[1],c=t[2],l=e.slice(2).join(`
|
|
3
|
+
`);i.push({index:o,startTime:s,endTime:c,text:l})}return i}function m(r){const i=[];let n=r.trim();n.startsWith("WEBVTT")&&(n=n.replace(/^WEBVTT\s*\n*/,""));const d=n.trim().split(/\n\s*\n/);let e=1;for(const o of d){const t=o.trim().split(`
|
|
4
|
+
`);if(t.length<2)continue;let s=0;if(t[0].includes("-->")||(s=1),s>=t.length)continue;const c=t[s].match(/(\d{2}:\d{2}:\d{2}[.,]\d{3})\s*-->\s*(\d{2}:\d{2}:\d{2}[.,]\d{3})/);if(!c)continue;const l=c[1].replace(".",","),a=c[2].replace(".",","),u=t.slice(s+1).join(`
|
|
5
|
+
`);i.push({index:e++,startTime:l,endTime:a,text:u})}return i}exports.parseSRT=f;exports.parseVTT=m;
|