@tencent-ai/agent-sdk 0.3.128 → 0.3.130

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.
@@ -0,0 +1,32 @@
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:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;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:Menlo,Monaco,Consolas,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}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-right-1\.5{right:-.375rem}.-top-1\.5{top:-.375rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-3{right:.75rem}.right-6{right:1.5rem}.right-8{right:2rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-6{top:1.5rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[200\]{z-index:200}.z-\[999\]{z-index:999}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-2\.5{margin-left:.625rem}.ml-3{margin-left:.75rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1\.5{margin-right:.375rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[100dvh\]{height:100dvh}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-52{max-height:13rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-\[280px\]{max-height:280px}.max-h-\[400px\]{max-height:400px}.max-h-\[60\%\]{max-height:60%}.max-h-\[90vh\]{max-height:90vh}.min-h-\[200px\]{min-height:200px}.min-h-\[60px\]{min-height:60px}.min-h-\[60vh\]{min-height:60vh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[180px\]{width:180px}.w-\[440px\]{width:440px}.w-\[72px\]{width:72px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.min-w-\[220px\]{min-width:220px}.min-w-\[280px\]{min-width:280px}.min-w-\[300px\]{min-width:300px}.min-w-\[500px\]{min-width:500px}.min-w-\[60px\]{min-width:60px}.min-w-\[80px\]{min-width:80px}.min-w-full{min-width:100%}.max-w-3xl{max-width:48rem}.max-w-6xl{max-width:72rem}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[360px\]{max-width:360px}.max-w-\[400px\]{max-width:400px}.max-w-\[640px\]{max-width:640px}.max-w-\[70\%\]{max-width:70%}.max-w-\[85\%\]{max-width:85%}.max-w-\[90vw\]{max-width:90vw}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-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))}.translate-x-0{--tw-translate-x: 0px;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-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-x-4{--tw-translate-x: 1rem;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-90{--tw-rotate: 90deg;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))}@keyframes borderGlow{0%,to{border-color:color-mix(in srgb,var(--color-accent-brand) 40%,transparent);box-shadow:0 0 0 0 transparent}50%{border-color:color-mix(in srgb,var(--color-accent-brand) 70%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--color-accent-brand) 15%,transparent)}}.animate-\[borderGlow_2s_ease-in-out_infinite\]{animation:borderGlow 2s ease-in-out infinite}.animate-\[dotPulse_1\.4s_ease-in-out_0\.2s_infinite\]{animation:dotPulse 1.4s ease-in-out .2s infinite}.animate-\[dotPulse_1\.4s_ease-in-out_0\.4s_infinite\]{animation:dotPulse 1.4s ease-in-out .4s infinite}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.animate-\[dotPulse_1\.4s_ease-in-out_0s_infinite\]{animation:dotPulse 1.4s ease-in-out 0s infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-out{cursor:zoom-out}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.scroll-mt-20{scroll-margin-top:5rem}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.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-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.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-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-none{overscroll-behavior:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:12px}.rounded-md{border-radius:8px}.rounded-none{border-radius:0}.rounded-sm{border-radius:4px}.rounded-xl{border-radius:16px}.rounded-tr-sm{border-top-right-radius:4px}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--color-border-default\)\]{border-color:var(--color-border-default)}.border-\[var\(--color-border-muted\)\]{border-color:var(--color-border-muted)}.border-accent-brand{border-color:var(--color-accent-brand)}.border-amber-400\/30{border-color:#fbbf244d}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-400\/30{border-color:#60a5fa4d}.border-border-default{border-color:var(--color-border-default)}.border-border-muted{border-color:var(--color-border-muted)}.border-cyan-400\/30{border-color:#22d3ee4d}.border-emerald-400\/30{border-color:#34d3994d}.border-fuchsia-400\/30{border-color:#e879f94d}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-400\/40{border-color:#4ade8066}.border-green-500\/50{border-color:#22c55e80}.border-orange-200{--tw-border-opacity: 1;border-color:rgb(254 215 170 / var(--tw-border-opacity, 1))}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-rose-400\/30{border-color:#fb71854d}.border-text-primary{border-color:var(--color-text-primary)}.border-transparent{border-color:transparent}.border-l-\[var\(--color-accent-blue\)\]{border-left-color:var(--color-accent-blue)}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[var\(--color-accent-brand\)\]{background-color:var(--color-accent-brand)}.bg-\[var\(--color-bg-primary\)\]{background-color:var(--color-bg-primary)}.bg-\[var\(--color-bg-secondary\)\]{background-color:var(--color-bg-secondary)}.bg-\[var\(--color-bg-tertiary\)\]{background-color:var(--color-bg-tertiary)}.bg-\[var\(--color-warning-bg\,rgba\(255\,170\,0\,0\.1\)\)\]{background-color:var(--color-warning-bg,rgba(255,170,0,.1))}.bg-accent-brand{background-color:var(--color-accent-brand)}.bg-accent-green{background-color:var(--color-accent-green)}.bg-accent-purple{background-color:var(--color-accent-purple)}.bg-accent-red{background-color:var(--color-accent-red)}.bg-accent-yellow{background-color:var(--color-accent-yellow)}.bg-amber-400\/10{background-color:#fbbf241a}.bg-amber-50\/50{background-color:#fffbeb80}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-bg-card{background-color:var(--color-bg-card)}.bg-bg-code{background-color:var(--color-bg-code)}.bg-bg-hover{background-color:var(--color-bg-hover)}.bg-bg-primary{background-color:var(--color-bg-primary)}.bg-bg-secondary{background-color:var(--color-bg-secondary)}.bg-bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-bg-user{background-color:var(--color-bg-user)}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/70{background-color:#000000b3}.bg-blue-400\/10{background-color:#60a5fa1a}.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-border-default{background-color:var(--color-border-default)}.bg-border-muted{background-color:var(--color-border-muted)}.bg-cyan-400\/10{background-color:#22d3ee1a}.bg-emerald-400\/10{background-color:#34d3991a}.bg-error-bg{background-color:var(--color-error-bg)}.bg-fuchsia-400\/10{background-color:#e879f91a}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / 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-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-50\/50{background-color:#fef2f280}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-rose-400\/10{background-color:#fb71851a}.bg-text-primary{background-color:var(--color-text-primary)}.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\/60{background-color:#fef9c399}.bg-yellow-300{--tw-bg-opacity: 1;background-color:rgb(253 224 71 / var(--tw-bg-opacity, 1))}.fill-text-tertiary{fill:var(--color-text-tertiary)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-px{padding-left:1px;padding-right:1px}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[6px\]{padding-top:6px;padding-bottom:6px}.py-px{padding-top:1px;padding-bottom:1px}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pl-\[22px\]{padding-left:22px}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-7{padding-right:1.75rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-\[12vh\]{padding-top:12vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.font-sans{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[48px\]{font-size:48px}.text-base{font-size:1rem;line-height:1.5rem}.text-chat{font-size:14px;line-height:24px}.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:12px;line-height:16px}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-7{line-height:1.75rem}.leading-\[1\.5\]{line-height:1.5}.leading-relaxed{line-height:1.625}.tracking-normal{letter-spacing:0em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#b8860b\]{--tw-text-opacity: 1;color:rgb(184 134 11 / var(--tw-text-opacity, 1))}.text-\[var\(--color-accent-blue\)\]{color:var(--color-accent-blue)}.text-\[var\(--color-bg-primary\)\]{color:var(--color-bg-primary)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-\[var\(--color-text-tertiary\)\]{color:var(--color-text-tertiary)}.text-\[var\(--color-warning\)\]{color:var(--color-warning)}.text-accent-blue{color:var(--color-accent-blue)}.text-accent-brand{color:var(--color-accent-brand)}.text-accent-green{color:var(--color-accent-green)}.text-accent-purple{color:var(--color-accent-purple)}.text-accent-red{color:var(--color-accent-red)}.text-accent-yellow{color:var(--color-accent-yellow)}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-bg-primary{color:var(--color-bg-primary)}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-fuchsia-400{--tw-text-opacity: 1;color:rgb(232 121 249 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-rose-400{--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-text-tertiary{color:var(--color-text-tertiary)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.line-through{text-decoration-line:line-through}.placeholder-text-tertiary::-moz-placeholder{color:var(--color-text-tertiary)}.placeholder-text-tertiary::placeholder{color:var(--color-text-tertiary)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.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-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 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-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--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(1px + 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)}.ring-accent-yellow{--tw-ring-color: var(--color-accent-yellow)}.ring-green-400\/10{--tw-ring-color: rgb(74 222 128 / .1)}.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)}.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-sm{--tw-backdrop-blur: blur(4px);-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-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.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:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}[data-theme=light]{--color-bg-primary: #fefefe;--color-bg-secondary: #f5f5f7;--color-bg-tertiary: #f3f3f3;--color-bg-input: #ffffff;--color-bg-card: #ffffff;--color-bg-user: #eef2ff;--color-bg-hover: #f5f5f5;--color-bg-code: #f8f9fa;--color-border-default: #dcdee3;--color-border-muted: #e8eaed;--color-border-input: #e5e7eb;--color-text-primary: #1a1a1a;--color-text-secondary: #5c5c5c;--color-text-tertiary: #8e8e93;--color-text-user: #1e3a8a;--color-text-link: #1677ff;--color-accent-green: #22c55e;--color-accent-red: #ff4d4f;--color-accent-yellow: #faad14;--color-accent-brand: #1a1a1a;--color-accent-blue: #1677ff;--color-accent-purple: #6c4dff;--color-inline-code: #d63384;--color-scrollbar: rgba(0, 0, 0, .12);--color-scrollbar-hover: rgba(0, 0, 0, .2);--color-bg-diff-add: rgba(52, 211, 153, .08);--color-bg-diff-del: rgba(248, 113, 113, .08);--color-bg-channel: #f0f7ff;--color-border-channel: #c8ddf5;--color-channel-accent: #3b82f6;--color-focus-ring: #1677ff;--color-disabled-text: #b0b0b5;--color-disabled-bg: #f0f0f2;--color-error-bg: rgba(255, 77, 79, .08);--color-warning-bg: rgba(250, 173, 20, .08);--color-success-bg: rgba(34, 197, 94, .08);--color-info-bg: rgba(22, 119, 255, .08)}[data-theme=dark]{--color-bg-primary: #000000;--color-bg-secondary: #1c1c1e;--color-bg-tertiary: #242424;--color-bg-input: #1a1a1a;--color-bg-card: #1a1a1a;--color-bg-user: #1e293b;--color-bg-hover: #2a2a2a;--color-bg-code: #161616;--color-border-default: #2e2e33;--color-border-muted: #232328;--color-border-input: #252525;--color-text-primary: #e5e5e5;--color-text-secondary: #a3a3a3;--color-text-tertiary: #7c7c82;--color-text-user: #bfdbfe;--color-text-link: #4dabf7;--color-accent-green: #4ade80;--color-accent-red: #f87171;--color-accent-yellow: #fbbf24;--color-accent-brand: #e5e5e5;--color-accent-blue: #60a5fa;--color-accent-purple: #8b7dff;--color-inline-code: #e879a5;--color-scrollbar: rgba(255, 255, 255, .12);--color-scrollbar-hover: rgba(255, 255, 255, .2);--color-bg-diff-add: rgba(74, 222, 128, .1);--color-bg-diff-del: rgba(248, 113, 113, .1);--color-bg-channel: rgba(30, 58, 110, .35);--color-border-channel: rgba(59, 130, 246, .3);--color-channel-accent: #60a5fa;--color-focus-ring: #60a5fa;--color-disabled-text: #555558;--color-disabled-bg: #1e1e20;--color-error-bg: rgba(248, 113, 113, .1);--color-warning-bg: rgba(251, 191, 36, .1);--color-success-bg: rgba(74, 222, 128, .1);--color-info-bg: rgba(96, 165, 250, .1)}[data-theme=dark] *,[data-theme=dark] *:before,[data-theme=dark] *:after{border-color:#2e2e33}body,html{margin:0;padding:0;height:100%;width:100%;overflow:hidden}body{background:var(--color-bg-primary);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.6;transition:background-color .2s,color .2s;overflow-x:hidden}@media(max-width:767px){#root{overflow-x:hidden}}.file-tree i,.changes-tree i{font-style:normal!important}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}input:focus-visible,select:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:0}textarea:focus-visible{outline:none}button:disabled,input:disabled,textarea:disabled,select:disabled{color:var(--color-disabled-text);cursor:not-allowed;opacity:.6}button:disabled:hover{transform:none}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) transparent;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}pre{background:var(--color-bg-code)!important;border:none;border-radius:12px;padding:12px;overflow-x:auto;font-size:13.5px;line-height:1.6;margin:16px 0}code{font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:.9em}:not(pre)>code{background:var(--color-bg-tertiary);padding:3px 6px;border-radius:6px;font-size:13.5px;color:var(--color-inline-code);margin:0 2px}.markdown-body a{color:var(--color-text-link);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body ul,.markdown-body ol{padding-left:1.5rem;margin:12px 0}.markdown-body li{margin:6px 0}.markdown-body ol{list-style-type:decimal}.markdown-body ul{list-style-type:disc}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:24px 0 12px;font-weight:600;color:var(--color-text-primary);line-height:1.4}.markdown-body h1{font-size:1.6rem}.markdown-body h2{font-size:1.4rem}.markdown-body h3{font-size:1.2rem}.markdown-body h4{font-size:1.1rem}.markdown-body p{margin:12px 0}.markdown-body p:last-child{margin-bottom:0}.markdown-body p:first-child{margin-top:0}.markdown-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:16px 0;border-radius:8px;border:1px solid var(--color-border-default)}.markdown-body table{border-collapse:collapse;width:100%;min-width:320px;margin:0;font-size:13px;table-layout:auto}.markdown-body th,.markdown-body td{border:1px solid var(--color-border-default);padding:10px 16px;text-align:left;word-break:break-word;overflow-wrap:break-word}.markdown-body th{background:var(--color-bg-secondary);font-weight:600}.markdown-body td code,.markdown-body th code{word-break:break-all;white-space:normal}.markdown-body blockquote{border-left:4px solid var(--color-border-default);padding-left:16px;margin:16px 0;color:var(--color-text-secondary);background:var(--color-bg-secondary);padding-top:8px;padding-bottom:8px;border-radius:0 8px 8px 0}.markdown-body strong{font-weight:600;color:var(--color-text-primary)}.markdown-body hr{border:none;border-top:1px solid var(--color-border-default);margin:24px 0}.markdown-body img,.markdown-image{max-width:100%;height:auto;display:block;margin:12px 0;border-radius:8px;max-height:500px}.thinking-block{margin-bottom:12px;overflow:hidden}.thinking-block-header{display:flex;align-items:center;gap:4px;padding:4px 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:13px;color:var(--color-text-tertiary);transition:color .15s}.thinking-block-header:hover{color:var(--color-text-secondary)}.thinking-block-header-text{font-size:13px}.thinking-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-accent-purple);animation:thinking-pulse 1.2s ease-in-out infinite;margin-left:2px}@keyframes thinking-pulse{0%,to{opacity:.3}50%{opacity:1}}.thinking-block-content{padding:8px 0 4px 16px;font-size:13px;line-height:1.7;color:var(--color-text-tertiary);white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto;position:relative;border-left:2px solid var(--color-border-muted)}.thinking-block-streaming .thinking-block-content:after{content:"";position:sticky;bottom:0;left:0;right:0;display:block;height:40px;margin-top:-40px;background:linear-gradient(transparent,var(--color-bg-primary));pointer-events:none}.thinking-block-toggle{transition:transform .2s ease;flex-shrink:0;transform:rotate(-90deg)}.thinking-block-toggle.expanded{transform:rotate(0)}@keyframes thinking-dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.thinking-text:after{content:"...";animation:thinking-dots 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,var(--color-border-muted) 0%,var(--color-bg-hover) 40%,var(--color-border-muted) 80%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fadeIn{animation:fadeIn .3s ease-out}.xterm{height:100%;width:100%;overflow:hidden}.xterm-helper-textarea{caret-color:transparent!important;ime-mode:disabled!important;-webkit-ime-mode:disabled!important}textarea:not(:focus){ime-mode:inactive}.split-sash{flex-shrink:0;background:var(--color-border-muted);transition:background-color .15s;z-index:5}.split-sash:hover,.split-sash.dragging{background:var(--color-accent-blue)}.tasks-template-card{transition:all .15s ease-out}.tasks-template-card:hover{transform:translateY(-2px)}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.5}}.tasks-loading{animation:pulse-opacity 2s ease-in-out infinite}@keyframes instance-breathing{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-accent-brand) 0%,transparent);border-color:color-mix(in srgb,var(--color-accent-brand) 25%,transparent)}50%{box-shadow:0 0 12px 2px color-mix(in srgb,var(--color-accent-brand) 18%,transparent);border-color:color-mix(in srgb,var(--color-accent-brand) 55%,transparent)}}.instance-breathing{animation:instance-breathing 3s ease-in-out infinite}.split-sash-horizontal{width:4px;cursor:col-resize}.split-sash-vertical{height:4px;cursor:row-resize}.terminal-pane{position:relative;overflow:hidden;border:1px solid transparent;transition:border-color .15s}.terminal-pane.active{border-color:color-mix(in srgb,var(--color-accent-brand) 25%,transparent)}.terminal-pane-toolbar{position:absolute;top:4px;right:4px;z-index:10;display:flex;gap:2px;opacity:0;transition:opacity .15s}.terminal-pane:hover .terminal-pane-toolbar{opacity:1}.channel-item{padding-left:12px;border-left:3px solid}.channel-label{font-size:13px;font-weight:500;line-height:1;margin-bottom:4px}.channel-bot-id{margin-left:4px;font-weight:400;opacity:.5}.channel-sender{font-weight:400;color:var(--color-text-secondary)}.channel-content{font-size:13px;line-height:1.5;color:var(--color-text-primary);word-break:break-word;white-space:pre-wrap}.channel-response-indicator{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-tertiary);margin-bottom:4px;padding-left:4px}.channel-response-indicator svg{color:var(--color-channel-accent)}.empty-result-container:empty:after{content:"(empty)";display:block;font-size:13px;color:var(--color-text-tertiary);padding:6px 10px;background:color-mix(in srgb,var(--color-bg-secondary) 40%,transparent);border-radius:6px}.sidebar{width:260px;height:100%;background:var(--color-bg-tertiary);border-right:1px solid var(--color-border-default);display:flex;flex-direction:column;flex-shrink:0;transition:width .3s ease,opacity .2s ease,transform .3s ease}@media(min-width:768px){.sidebar{position:relative;z-index:auto}.sidebar.sidebar-closed{width:0;min-width:0;overflow:hidden;border-right:none;padding:0;opacity:0;pointer-events:none}.sidebar-overlay{display:none!important}}@media(max-width:767px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;box-shadow:4px 0 24px #00000026}.sidebar.sidebar-closed{transform:translate(-100%);pointer-events:none}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:40;transition:opacity .3s ease}.sidebar-overlay.sidebar-overlay-hidden{opacity:0;pointer-events:none}}.sidebar-header{display:flex;align-items:center;gap:10px;padding:16px 20px;flex-shrink:0}.sidebar-logo{width:28px;height:28px;border-radius:6px;flex-shrink:0}.sidebar-brand{font-family:Poppins,sans-serif;font-weight:600;font-size:16px;color:var(--color-text-primary)}.sidebar-search{display:none}.sidebar-search input{width:100%;padding:8px 12px 8px 34px;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:8px;color:var(--color-text-primary);font-size:13px;outline:none;transition:border-color .15s;box-sizing:border-box}.sidebar-search input::-moz-placeholder{color:var(--color-text-tertiary)}.sidebar-search input::placeholder{color:var(--color-text-tertiary)}.sidebar-search input:focus{border-color:var(--color-accent-brand)}.sidebar-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 12px 12px}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:all .15s;border:none;background:transparent;width:100%;text-align:left}.sidebar-nav-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-nav-item.active{background:var(--color-bg-primary);color:var(--color-text-primary);font-weight:500}.sidebar-section-title{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;padding:12px 12px 4px}.sidebar-content{flex:1;overflow-y:auto;padding-bottom:8px}.sidebar-footer{flex-shrink:0;padding:12px 16px;border-top:1px solid var(--color-border-default)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer;transition:background .15s}.sidebar-user:hover{background:var(--color-bg-hover)}.sidebar-user-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;-o-object-fit:cover;object-fit:cover}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:13px;font-weight:500;color:var(--color-text-primary);line-height:1.3}.sidebar-user-status{font-size:13px;color:var(--color-text-tertiary);line-height:1.3}.empty-state-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:var(--color-bg-primary);transition:opacity .6s ease-out}.empty-state-wrapper.empty-state-fadeout{opacity:0;pointer-events:none}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;height:100%;padding:2rem 1.5rem 5rem;animation:fadeIn .6s ease-out}.empty-state-logo{width:150px;height:146px;flex-shrink:0;margin-bottom:2rem}.empty-state-logo img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.empty-state-slogan{font-family:Poppins,sans-serif;font-weight:600;font-size:28px;line-height:38px;text-align:center;color:var(--color-text-primary);margin:0 0 2.5rem;letter-spacing:-.01em}.empty-state-cwd{font-size:14px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;color:var(--color-text-tertiary);opacity:.5;text-align:center;margin:0 0 .5rem;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state-hint{font-size:11px;color:var(--color-text-tertiary);opacity:.7;text-align:center;margin:.25rem 0 0}.empty-state-hint kbd{display:inline-block;padding:1px 6px;background:var(--color-bg-tertiary);opacity:.8;border-radius:4px;font-size:10px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.empty-state-hint span{margin-left:6px}.empty-state-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:480px}.empty-state-tag{display:inline-flex;align-items:center;padding:8px 18px;border-radius:9999px;background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-default);font-size:13px;line-height:20px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.empty-state-tag:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-input)}.empty-state-tag:active{transform:scale(.97)}.history-view{display:flex;flex-direction:column;height:100%;animation:fadeIn .3s ease-out}.history-header{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--color-border-default);flex-shrink:0}.history-back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.history-back-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.history-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.history-content{flex:1;overflow-y:auto;padding:16px}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 0;color:var(--color-text-tertiary)}.history-empty-title{font-size:16px;font-weight:500;color:var(--color-text-secondary);margin:8px 0 0}.history-empty-hint{font-size:13px;color:var(--color-text-tertiary);margin:0}.history-loading,.history-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 0;color:var(--color-text-tertiary)}.history-error-text{font-size:13px;color:var(--color-accent-red)}.history-retry-btn{padding:6px 16px;border-radius:8px;border:1px solid var(--color-border-default);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.history-retry-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.history-list{display:flex;flex-direction:column;gap:4px;max-width:640px;margin:0 auto}.history-session-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;cursor:default;transition:background .15s;position:relative}.history-session-item.clickable{cursor:pointer}.history-session-item.clickable:hover{background:var(--color-bg-hover)}.history-session-item.current{background:color-mix(in srgb,var(--color-accent-brand) 8%,transparent)}.history-session-info{flex:1;min-width:0}.history-session-name{font-size:13px;font-weight:500;color:var(--color-text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-session-meta{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:13px;color:var(--color-text-tertiary)}.history-session-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--color-accent-brand) 15%,transparent);color:var(--color-accent-brand);font-size:13px;font-weight:500}.history-session-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s;flex-shrink:0}.history-session-item:hover .history-session-actions{opacity:1}.history-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all .15s}.history-action-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.history-action-btn.danger:hover{background:color-mix(in srgb,var(--color-accent-red) 10%,transparent);color:var(--color-accent-red)}.history-session-switching{display:flex;align-items:center;justify-content:center;width:28px;height:28px}.history-session-spinner{width:16px;height:16px;border:2px solid var(--color-text-tertiary);border-top:2px solid var(--color-text-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.history-rename-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease-out}.history-rename-dialog{background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:12px;padding:20px;width:360px;max-width:calc(100% - 32px);box-shadow:0 8px 32px #0000001f}.history-rename-dialog h3{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.history-rename-input{width:100%;padding:8px 12px;background:var(--color-bg-input);border:1px solid var(--color-border-input);border-radius:8px;color:var(--color-text-primary);font-size:13px;outline:none;transition:border-color .15s;box-sizing:border-box}.history-rename-input:focus{border-color:var(--color-accent-brand)}.history-rename-input::-moz-placeholder{color:var(--color-text-tertiary)}.history-rename-input::placeholder{color:var(--color-text-tertiary)}.history-rename-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.history-rename-actions button{padding:6px 16px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .15s}.history-rename-cancel{border:1px solid var(--color-border-default);background:transparent;color:var(--color-text-secondary)}.history-rename-cancel:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.history-rename-ok{border:none;background:var(--color-accent-brand);color:#fff}.history-rename-ok:hover{opacity:.9}.history-rename-ok:disabled{opacity:.5;cursor:not-allowed}.history-delete-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease-out}.history-delete-dialog{background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:12px;padding:20px;width:340px;max-width:calc(100% - 32px);box-shadow:0 8px 32px #0000001f}.history-delete-dialog p{font-size:13px;color:var(--color-text-secondary);margin:0 0 16px}.history-delete-actions{display:flex;justify-content:flex-end;gap:8px}.history-delete-actions button{padding:6px 16px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .15s}.history-delete-cancel{border:1px solid var(--color-border-default);background:transparent;color:var(--color-text-secondary)}.history-delete-cancel:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.history-delete-ok{border:none;background:var(--color-accent-red);color:#fff}.history-delete-ok:hover{opacity:.9}.history-drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:40;opacity:0;pointer-events:none;transition:opacity .3s ease}.history-drawer-overlay.open{opacity:1;pointer-events:auto}.history-drawer{position:absolute;top:0;right:0;bottom:0;width:360px;max-width:85%;background:var(--color-bg-primary);border-left:1px solid var(--color-border-default);z-index:41;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 24px #00000014}.history-drawer.open{transform:translate(0)}.history-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border-default);flex-shrink:0}.history-drawer-title{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0}.history-drawer-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all .15s}.history-drawer-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.history-drawer-subtitle{font-size:13px;color:var(--color-text-tertiary);margin:2px 0 0;font-weight:400}.date-separator{display:flex;align-items:center;justify-content:center;padding:12px 0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.date-separator-label{font-size:13px;color:var(--color-text-tertiary);letter-spacing:.02em}.settings-view{display:flex;flex-direction:column;height:100%;animation:fadeIn .3s ease-out}.settings-header{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--color-border-default);flex-shrink:0}.settings-back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.settings-back-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.settings-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.settings-content{flex:1;overflow-y:auto;padding:24px}.settings-sections{display:flex;flex-direction:column;gap:28px;max-width:560px;margin:0 auto}.settings-group{display:flex;flex-direction:column;gap:8px}.settings-group-title{font-size:13px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0}.settings-card{background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:12px;padding:4px 0;overflow:hidden}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;min-height:44px}.settings-row+.settings-row{border-top:1px solid var(--color-border-muted)}.settings-label{font-size:13px;color:var(--color-text-primary);font-weight:500;flex-shrink:0}.settings-value{font-size:13px;color:var(--color-text-secondary);text-align:right}.settings-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid var(--color-border-default);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.settings-toggle-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-input)}.settings-select{width:100%;padding:10px 16px;background:transparent;border:none;color:var(--color-text-primary);font-size:13px;outline:none;cursor:pointer}.settings-select option{background:var(--color-bg-card);color:var(--color-text-primary)}.settings-copy-btn{display:flex;align-items:center;gap:6px;max-width:280px;padding:4px 8px;border-radius:6px;border:none;background:transparent;color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:background .15s}.settings-copy-btn:hover{background:var(--color-bg-hover)}.settings-copy-btn .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Menlo,Monaco,Consolas,monospace;font-size:13px}.settings-tabs{display:flex;gap:0;padding:0 24px;border-bottom:1px solid var(--color-border-default);flex-shrink:0}.settings-tab{position:relative;padding:10px 16px;font-size:13px;font-weight:500;color:var(--color-text-tertiary);background:none;border:none;cursor:pointer;transition:color .15s}.settings-tab:hover,.settings-tab.active{color:var(--color-text-primary)}.settings-tab.active:after{content:"";position:absolute;bottom:-1px;left:12px;right:12px;height:2px;background:var(--color-accent-brand);border-radius:1px}.settings-toggle-switch{position:relative;width:40px;height:22px;border-radius:11px;border:none;padding:0;cursor:pointer;background:var(--color-border-default);transition:background .2s;flex-shrink:0}.settings-toggle-switch.on{background:var(--color-accent-brand)}.settings-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #00000026}.settings-toggle-switch.on:after{transform:translate(18px)}.settings-input{padding:6px 10px;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:6px;color:var(--color-text-primary);font-size:13px;outline:none;transition:border-color .15s;width:120px;text-align:right}.settings-input:focus{border-color:var(--color-accent-brand)}.settings-input.wide{width:100%;text-align:left;font-family:Menlo,Monaco,Consolas,monospace;font-size:12px}.settings-inline-select{padding:6px 10px;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:6px;color:var(--color-text-primary);font-size:13px;outline:none;cursor:pointer}.settings-inline-select option{background:var(--color-bg-card);color:var(--color-text-primary)}.settings-desc{font-size:11px;color:var(--color-text-tertiary);margin-top:2px;line-height:1.4}.settings-save-feedback{font-size:11px;padding:2px 6px;border-radius:4px;animation:fadeIn .2s ease-out}.settings-save-feedback.success{color:var(--color-accent-green)}.settings-save-feedback.error{color:var(--color-accent-red)}[data-theme=light]{--color-login-bg: #EFEFF1;--color-login-btn-bg: #000000;--color-login-btn-text: #ffffff;--color-login-text-primary: #000000;--color-login-text-secondary: rgba(0, 0, 0, .6);--color-login-orb-1: linear-gradient(184.83deg, rgba(239, 244, 255, .5) 5.34%, rgba(232, 226, 254, 0) 33.69%, rgba(236, 236, 255, .5) 58.07%, rgba(234, 230, 254, 0) 86.92%);--color-login-orb-2: linear-gradient(185.55deg, #E4EFFF 5.89%, rgba(197, 216, 244, 0) 34.91%, #CEDDFB 55.33%, rgba(177, 200, 246, 0) 82.37%);--color-login-ellipse-border: #E5DEFF;--color-login-ellipse-border2: #CDD2F7}[data-theme=dark]{--color-login-bg: #1a1a1e;--color-login-btn-bg: #ffffff;--color-login-btn-text: #000000;--color-login-text-primary: #e5e5e5;--color-login-text-secondary: rgba(255, 255, 255, .6);--color-login-orb-1: linear-gradient(184.83deg, rgba(30, 35, 60, .5) 5.34%, rgba(25, 20, 50, 0) 33.69%, rgba(30, 30, 55, .5) 58.07%, rgba(25, 22, 50, 0) 86.92%);--color-login-orb-2: linear-gradient(185.55deg, rgba(20, 30, 60, .8) 5.89%, rgba(15, 25, 50, 0) 34.91%, rgba(18, 28, 55, .8) 55.33%, rgba(12, 20, 50, 0) 82.37%);--color-login-ellipse-border: rgba(100, 80, 180, .3);--color-login-ellipse-border2: rgba(80, 85, 160, .3)}.login-page{position:relative;width:100%;height:100vh;height:100dvh;background:var(--color-login-bg);overflow:hidden;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.login-orb{position:absolute;pointer-events:none}.login-orb-right{width:500px;height:614px;right:-100px;bottom:-150px;transform:rotate(39.84deg)}.login-orb-left{width:658px;height:653px;left:-200px;top:-250px;transform:rotate(-10deg)}.login-orb-layer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%}.login-orb-layer-1{background:var(--color-login-orb-1);mix-blend-mode:hard-light;filter:blur(15px)}.login-orb-layer-2{background:var(--color-login-orb-2);mix-blend-mode:hue;opacity:.7}.login-ellipse{position:absolute;border-radius:50%;pointer-events:none}.login-ellipse-outer{width:400px;height:516px;right:-50px;bottom:-80px;border:1px solid var(--color-login-ellipse-border);mix-blend-mode:overlay;filter:blur(1.5px);transform:rotate(-30deg);opacity:.5}.login-ellipse-outer2{width:400px;height:516px;right:-30px;bottom:-60px;border:5px solid var(--color-login-ellipse-border);mix-blend-mode:soft-light;filter:blur(2.6px);transform:rotate(-25deg);opacity:.4}.login-ellipse-inner{width:400px;height:497px;right:0;bottom:-40px;border:1.5px solid var(--color-login-ellipse-border2);mix-blend-mode:soft-light;filter:blur(1.5px);transform:rotate(-35deg);opacity:.4}.login-ellipse-left{width:544px;height:528px;left:-100px;top:-120px;border:1px solid var(--color-login-ellipse-border);mix-blend-mode:overlay;filter:blur(1.5px);transform:rotate(15deg);opacity:.5}.login-ellipse-left2{width:544px;height:528px;left:-80px;top:-100px;border:5px solid var(--color-login-ellipse-border);mix-blend-mode:soft-light;filter:blur(2.6px);transform:rotate(12deg);opacity:.4}.login-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:40px;width:351px;max-width:calc(100% - 32px)}.login-logo{width:150px;height:162px;flex-shrink:0}.login-logo img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.login-title{font-family:Poppins,sans-serif;font-weight:600;font-size:24px;line-height:32px;text-align:center;color:var(--color-login-text-primary);margin:0}.login-tagline{font-family:PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;font-size:13px;line-height:22px;text-align:center;color:var(--color-login-text-secondary);margin:0}.login-btn{display:flex;justify-content:center;align-items:center;width:220px;height:36px;padding:0;gap:10px;background:var(--color-login-btn-bg);color:var(--color-login-btn-text);border:none;border-radius:99px;font-family:Poppins,sans-serif;font-weight:500;font-size:13px;line-height:22px;cursor:pointer;transition:opacity .2s,transform .1s}.login-btn:hover{opacity:.88}.login-btn:active{transform:scale(.98)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-footer{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;z-index:1}.login-footer a{font-family:PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;font-size:13px;line-height:20px;color:var(--color-login-text-secondary);text-decoration:none;transition:color .15s}.login-footer a:hover{color:var(--color-login-text-primary)}.login-error{width:100%;padding:8px 16px;background:color-mix(in srgb,var(--color-accent-red) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-accent-red) 20%,transparent);border-radius:8px;color:var(--color-accent-red);font-size:13px;text-align:center}.login-input{width:220px;padding:8px 16px;background:var(--color-bg-input);border:1px solid var(--color-border-input);border-radius:8px;color:var(--color-text-primary);font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.login-input::-moz-placeholder{color:var(--color-text-tertiary)}.login-input::placeholder{color:var(--color-text-tertiary)}.login-input:focus{border-color:var(--color-accent-brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent-brand) 20%,transparent)}.login-input:disabled{opacity:.5}.login-hints{margin-top:16px;text-align:center;font-size:13px;line-height:20px;color:var(--color-login-text-secondary)}.login-hints p{margin:4px 0}.bottom-sheet-inline{border-bottom:1px solid var(--color-border-default);background:var(--color-bg-secondary);overflow:hidden;animation:bottomSheetSlideUp .3s cubic-bezier(.4,0,.2,1) both}@media(min-width:768px){.bottom-sheet-inline{border:1px solid var(--color-border-default);border-radius:16px;margin-bottom:8px}}@keyframes bottomSheetSlideUp{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}.bottom-sheet-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.bottom-sheet-scroll::-webkit-scrollbar{display:none}.bottom-sheet-page{flex:0 0 100%;scroll-snap-align:start;padding:16px 12px 4px}.bottom-sheet-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:10px;height:calc((100vw - 54px)/2 + 10px)}@media(min-width:768px){.bottom-sheet-grid{height:180px}}.bottom-sheet-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-radius:12px;border:none;background:var(--color-bg-primary);color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:background .15s,color .15s}.bottom-sheet-grid button svg{width:28px;height:28px;flex-shrink:0}.bottom-sheet-grid button:active{background:var(--color-bg-hover)}.bottom-sheet-grid button.active{background:var(--color-accent-brand);color:#fff}.bottom-sheet-pagination{display:flex;justify-content:center;align-items:center;gap:6px;padding:8px 0 12px}.pagination-dot{width:7px;height:7px;border-radius:50%;border:none;background:var(--color-text-tertiary);opacity:.3;cursor:pointer;transition:opacity .2s ease;padding:0}.pagination-dot.active{opacity:.8}.floating-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:69;opacity:1;pointer-events:auto;transition:opacity .3s ease}.floating-panel-container{position:fixed;bottom:0;left:0;right:0;z-index:70;background:var(--color-bg-primary);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -4px 24px #0000001f;transform:translateY(0);transition:transform .3s cubic-bezier(.4,0,.2,1);height:80vh;display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0);animation:slideUpFloatingPanel .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUpFloatingPanel{0%{transform:translateY(100%)}to{transform:translateY(0)}}.floating-panel-header{display:flex;justify-content:flex-end;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-default);position:sticky;top:0;background:var(--color-bg-primary)}.floating-panel-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;transition:all .15s}.floating-panel-close-btn:hover{background:var(--color-bg-hover)}.floating-panel-close-btn:active{transform:scale(.95)}.floating-panel-content{flex:1;overflow-y:auto;min-height:0}[data-theme=dark] .editor-view{--editor-sidebar-bg: #191a1b;--editor-bg: #121314;--editor-titlebar-bg: #191a1b;--editor-tab-bg: #191a1b;--editor-tab-active-bg: #121314;--editor-tab-active-border: #0e90d4;--editor-border: #2b2b2b;--editor-hover: #2a2d2e;--editor-selection: rgba(4, 57, 94, .8);--editor-section-bg: #191a1b;--editor-section-hover: #252526;--editor-input-bg: #313131}[data-theme=light] .editor-view{--editor-sidebar-bg: #ffffff;--editor-bg: #ffffff;--editor-titlebar-bg: #ffffff;--editor-tab-bg: #ffffff;--editor-tab-active-bg: #ffffff;--editor-tab-active-border: #0078d4;--editor-border: #e5e5e5;--editor-hover: #e8e8e8;--editor-selection: rgba(0, 96, 192, .15);--editor-section-bg: #ffffff;--editor-section-hover: #e0e0e0;--editor-input-bg: #ffffff}.editor-view{display:flex;flex-direction:column;height:100%;width:100%}.editor-sidebar{width:100%;height:100%;background:var(--editor-sidebar-bg);display:flex;flex-direction:column;min-width:0}.editor-main{width:100%;flex:1;display:flex;flex-direction:column;min-width:0;background:var(--editor-bg)}.editor-view .split-sash-horizontal{width:1px;background:var(--editor-border)}.editor-view .split-sash-horizontal:hover,.editor-view .split-sash-horizontal.dragging{width:3px;margin-left:-1px;background:var(--color-accent-blue)}.file-tree{height:100%;display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:13px;color:var(--color-text-secondary);background:var(--editor-sidebar-bg)}.file-tree-title-bar{display:flex;align-items:center;height:35px;padding:0 4px 0 8px;flex-shrink:0;background:var(--editor-titlebar-bg);border-bottom:1px solid var(--editor-border)}.file-tree-title-menu{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--color-text-tertiary);border-radius:4px;cursor:pointer;flex-shrink:0;transition:color .1s,background .1s}.file-tree-title-menu:hover{color:var(--color-text-primary);background:var(--editor-hover)}.file-tree-title-text{flex:1;font-size:13px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.1em;text-transform:uppercase;padding-left:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tree-title-actions{display:flex;align-items:center;gap:0;opacity:0;transition:opacity .15s}.file-tree-title-bar:hover .file-tree-title-actions{opacity:1}.file-tree-title-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--color-text-tertiary);border-radius:4px;cursor:pointer;transition:color .1s,background .1s}.file-tree-title-action:hover{color:var(--color-text-primary);background:var(--editor-hover)}.file-tree-section-header{display:flex;align-items:center;gap:2px;height:22px;padding:0 4px 0 12px;cursor:pointer;font-size:13px;font-weight:700;color:var(--color-text-primary);background:var(--editor-section-bg);flex-shrink:0;position:sticky;top:0;z-index:2}.file-tree-section-header:hover{background:var(--editor-section-hover)}.file-tree-section-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em}.file-tree-section-actions{display:flex;align-items:center;gap:0}.file-tree-section-action{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--color-text-tertiary);border-radius:4px;cursor:pointer;transition:color .1s,background .1s;padding:0}.file-tree-section-action:hover{color:var(--color-text-primary);background:var(--editor-hover)}.file-tree-content{flex:1;overflow-y:auto;overflow-x:hidden}.file-tree-loading{display:flex;align-items:center;justify-content:center;padding:20px;color:var(--color-text-tertiary)}.file-tree-empty{padding:12px 16px;color:var(--color-text-tertiary);font-size:13px;text-align:center}.file-tree-item{display:flex;align-items:center;gap:4px;height:22px;padding-right:8px;cursor:pointer;white-space:nowrap;overflow:hidden;position:relative}.file-tree-indent-guide{position:absolute;top:0;bottom:0;width:1px;background:transparent;pointer-events:none;transition:background .15s}.file-tree-content:hover .file-tree-indent-guide{background:var(--editor-border)}.file-tree-item:hover>.file-tree-indent-guide:last-of-type{background:var(--color-text-tertiary)}.file-tree-item:hover{background:var(--editor-hover)}.file-tree-item.selected{background:var(--editor-selection)}.file-tree-item.drag-over{outline:1px solid var(--color-accent-blue);outline-offset:-1px;background:var(--editor-selection)}.file-tree-chevron{width:16px;height:16px;flex-shrink:0;color:var(--color-text-tertiary);transition:transform .12s ease}.file-tree-chevron.expanded{transform:rotate(90deg)}.file-tree-chevron-spacer{width:16px;flex-shrink:0}.file-tree-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;font-size:13px;line-height:22px}.file-tree-rename-input{flex:1;height:20px;min-width:0;padding:0 4px;font-size:13px;font-family:inherit;color:var(--color-text-primary);background:var(--editor-input-bg);border:1px solid var(--color-accent-blue);border-radius:2px;outline:none;line-height:20px}.file-tree:focus{outline:none}.file-tree:focus .file-tree-item.selected{outline:1px solid var(--color-accent-blue);outline-offset:-1px}.editor-tabs-wrapper{display:flex;align-items:stretch;height:35px;background:var(--editor-tab-bg);border-bottom:1px solid var(--editor-border);flex-shrink:0;position:relative}.editor-tabs-scroll-btn{display:flex;align-items:center;justify-content:center;width:24px;border:none;background:var(--editor-tab-bg);color:var(--color-text-tertiary);cursor:pointer;flex-shrink:0;z-index:1}.editor-tabs-scroll-btn:hover{color:var(--color-text-primary);background:var(--editor-hover)}.editor-tabs{display:flex;align-items:stretch;height:100%;background:var(--editor-tab-bg);border-bottom:none;overflow-x:auto;scrollbar-width:none;flex-shrink:0;flex:1;min-width:0}.editor-tabs::-webkit-scrollbar{display:none}.editor-tab{display:flex;align-items:center;gap:6px;padding:0 10px;font-size:13px;color:var(--color-text-tertiary);border-right:1px solid var(--editor-border);cursor:pointer;white-space:nowrap;flex-shrink:0;min-width:0;transition:color .1s}.editor-tab:hover{color:var(--color-text-secondary)}.editor-tab.active{background:var(--editor-tab-active-bg);color:var(--color-text-primary);border-bottom:2px solid var(--editor-tab-active-border, var(--color-text-primary));margin-bottom:-1px}.editor-tab-name{max-width:160px;overflow:hidden;text-overflow:ellipsis}.editor-tab-description{color:var(--color-text-tertiary);font-size:12px;opacity:.7;margin-left:2px;overflow:hidden;text-overflow:ellipsis}.editor-tab.drag-indicator{border-left:2px solid var(--color-accent-blue)}.editor-tab .pin-icon{width:14px;height:14px;color:var(--color-text-tertiary);flex-shrink:0;display:flex;align-items:center;justify-content:center}.editor-tab .dirty-dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-secondary);flex-shrink:0}.editor-tab .close-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;opacity:0;transition:opacity .1s,background .1s;flex-shrink:0;padding:0}.editor-tab:hover .close-btn,.editor-tab.active .close-btn{opacity:1}.editor-tab .close-btn:hover{background:var(--editor-hover);color:var(--color-text-primary)}.editor-breadcrumbs{display:flex;align-items:center;height:22px;padding:0 8px;background:var(--editor-bg);border-bottom:1px solid var(--editor-border);overflow:hidden;flex-shrink:0;font-size:12px;color:var(--color-text-tertiary)}.editor-breadcrumb-segment{display:inline-flex;align-items:center;gap:2px;cursor:pointer;padding:0 2px;border-radius:2px;white-space:nowrap;color:var(--color-text-tertiary);transition:color .1s,background .1s}.editor-breadcrumb-segment:hover{color:var(--color-text-primary);background:var(--editor-hover)}.editor-breadcrumb-segment.active{color:var(--color-text-secondary)}.editor-breadcrumb-segment.dropdown-open{color:var(--color-text-primary);background:var(--editor-hover)}.editor-breadcrumb-separator{display:inline-flex;align-items:center;color:var(--color-text-tertiary);opacity:.5;flex-shrink:0}.breadcrumb-dropdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:149}.breadcrumb-dropdown{position:fixed;z-index:150;background:var(--editor-sidebar-bg);border:1px solid var(--editor-border);border-radius:6px;box-shadow:0 4px 16px #0003;min-width:180px;max-width:320px;max-height:300px;display:flex;flex-direction:column;overflow:hidden}.breadcrumb-dropdown-list{overflow-y:auto;padding:4px}.breadcrumb-dropdown-item{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden}.breadcrumb-dropdown-item:hover,.breadcrumb-dropdown-item.highlighted{background:var(--editor-selection);color:var(--color-text-primary)}.breadcrumb-dropdown-item.current{color:var(--color-text-primary);font-weight:500}.breadcrumb-dropdown-item.current:after{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--color-accent-blue);margin-left:auto;flex-shrink:0}.breadcrumb-dropdown-item-name{overflow:hidden;text-overflow:ellipsis}.breadcrumb-dropdown-loading{display:flex;align-items:center;justify-content:center;padding:12px;color:var(--color-text-tertiary)}.breadcrumb-dropdown-empty{padding:12px;text-align:center;color:var(--color-text-tertiary);font-size:13px}.editor-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-tertiary);border-radius:4px;cursor:pointer;padding:0;transition:color .1s,background .1s}.editor-action-btn:hover{color:var(--color-text-primary);background:var(--editor-hover)}.editor-tabs-actions{display:flex;align-items:center;gap:0;padding:0 4px;flex-shrink:0}.editor-container{flex:1;overflow:hidden;min-height:0}.editor-statusbar{display:flex;align-items:center;justify-content:space-between;height:22px;padding:0 10px;background:var(--editor-tab-bg);border-top:1px solid var(--editor-border);font-size:12px;color:var(--color-text-tertiary);flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.editor-statusbar-left,.editor-statusbar-right{display:flex;align-items:center;gap:12px}.editor-statusbar-item{display:inline-flex;align-items:center;gap:4px;cursor:default;white-space:nowrap}.editor-statusbar-item.clickable{cursor:pointer;border-radius:2px;padding:0 4px}.editor-statusbar-item.clickable:hover{background:var(--editor-hover);color:var(--color-text-secondary)}.editor-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-text-tertiary)}.editor-empty-title{font-size:14px;color:var(--color-text-tertiary)}.editor-empty-shortcuts{display:flex;flex-direction:column;gap:6px;margin-top:16px}.editor-empty-hint{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-tertiary);opacity:.6}.editor-empty-hint kbd{display:inline-flex;align-items:center;padding:1px 6px;font-size:11px;font-family:inherit;background:var(--editor-hover);border:1px solid var(--editor-border);border-radius:3px;color:var(--color-text-secondary);min-width:20px;justify-content:center}.editor-empty-recent{display:flex;flex-direction:column;gap:2px;margin-top:20px;max-width:480px;width:100%}.editor-empty-recent-title{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.editor-empty-recent-item{display:flex;align-items:center;gap:6px;padding:3px 8px;border:none;background:transparent;color:var(--color-text-secondary);font-size:13px;cursor:pointer;border-radius:4px;text-align:left;white-space:nowrap;overflow:hidden}.editor-empty-recent-name{flex-shrink:0;overflow:hidden;text-overflow:ellipsis;max-width:200px}.editor-empty-recent-item:hover{background:var(--editor-hover);color:var(--color-text-primary)}.editor-empty-recent-path{color:var(--color-text-tertiary);font-size:12px;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.quick-open-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000004d;display:flex;justify-content:center;padding-top:15vh}.quick-open-dialog{width:500px;max-width:90vw;max-height:400px;background:var(--editor-sidebar-bg);border:1px solid var(--editor-border);border-radius:8px;box-shadow:0 8px 32px #00000040;display:flex;flex-direction:column;overflow:hidden;align-self:flex-start}.quick-open-input{width:100%;padding:8px 12px;font-size:14px;font-family:inherit;background:transparent;border:none;border-bottom:1px solid var(--editor-border);color:var(--color-text-primary);outline:none;box-sizing:border-box}.quick-open-input::-moz-placeholder{color:var(--color-text-tertiary)}.quick-open-input::placeholder{color:var(--color-text-tertiary)}.quick-open-list{flex:1;overflow-y:auto;padding:4px}.quick-open-item{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--color-text-secondary)}.quick-open-item:hover,.quick-open-item.active{background:var(--editor-selection);color:var(--color-text-primary)}.quick-open-item-name{flex-shrink:0}.quick-open-item-path{color:var(--color-text-tertiary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-open-empty{padding:16px;text-align:center;color:var(--color-text-tertiary);font-size:13px}.editor-context-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.editor-context-menu{position:fixed;z-index:100;background:var(--editor-sidebar-bg);border:1px solid var(--editor-border);border-radius:6px;padding:4px;box-shadow:0 2px 8px #00000029;min-width:160px}.editor-context-menu button{display:block;width:100%;text-align:left;padding:4px 8px;border:none;background:transparent;color:var(--color-text-secondary);font-size:13px;border-radius:4px;cursor:pointer;line-height:22px}.editor-context-menu button:hover{background:var(--color-accent-blue);color:#fff}.editor-context-separator{height:1px;background:var(--editor-border);margin:4px 8px}.editor-context-menu button.danger:hover{background:#c74e39;color:#fff}.editor-sidebar-mobile{width:100%;height:100%}.editor-mobile-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;transform:translate(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);background:var(--editor-bg);display:flex;flex-direction:column}.editor-mobile-panel.open{transform:translate(0)}.editor-mobile-header{display:flex;align-items:stretch;height:35px;background:var(--editor-tab-bg);border-bottom:1px solid var(--editor-border);flex-shrink:0}.editor-mobile-back{display:flex;align-items:center;justify-content:center;width:40px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;border-right:1px solid var(--editor-border)}.editor-mobile-back:hover{color:var(--color-text-primary);background:var(--editor-hover)}.editor-mobile-tabs-wrap{flex:1;min-width:0;overflow:hidden}.editor-mobile-tabs-wrap .editor-tabs{border-bottom:none;height:100%}[data-theme=dark] .changes-fullview{--editor-sidebar-bg: #191a1b;--editor-bg: #121314;--editor-border: #2b2b2b;--editor-hover: #2a2d2e;--editor-selection: rgba(4, 57, 94, .8);--editor-section-bg: #191a1b}[data-theme=light] .changes-fullview{--editor-sidebar-bg: #ffffff;--editor-bg: #ffffff;--editor-border: #e5e5e5;--editor-hover: #e8e8e8;--editor-selection: rgba(0, 96, 192, .15);--editor-section-bg: #ffffff}.changes-fullview{display:flex;flex-direction:column;height:100%;width:100%}.changes-fullview-mobile{position:relative;overflow:hidden}.changes-left{display:flex;flex-direction:column;height:100%;width:100%;background:var(--editor-sidebar-bg);min-width:0;overflow:hidden}.changes-left-mobile-safe{min-height:0}.changes-title-bar{display:flex;align-items:center;gap:0;height:35px;padding:0 4px 0 10px;flex-shrink:0;background:var(--editor-sidebar-bg);border-bottom:1px solid var(--editor-border)}.changes-title-menu{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:var(--color-text-tertiary);border-radius:4px;cursor:pointer;flex-shrink:0;transition:color .1s,background .1s}.changes-title-menu:hover{color:var(--color-text-primary);background:var(--editor-hover)}.changes-title-text{flex:1;font-size:13px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.1em;text-transform:uppercase;padding-left:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changes-right{display:flex;flex-direction:column;height:100%;width:100%;background:var(--editor-bg);min-width:0;flex:1;overflow:hidden}.changes-fullview .split-sash-horizontal{width:1px;background:var(--editor-border)}.changes-fullview .split-sash-horizontal:hover,.changes-fullview .split-sash-horizontal.dragging{width:3px;margin-left:-1px;background:var(--color-accent-blue)}.changes-accordion{flex:1;display:flex;flex-direction:column;overflow:hidden}.changes-section{display:flex;flex-direction:column;min-height:0;overflow:hidden}.changes-section.half{flex:1 1 50%}.changes-section.full{flex:1 1 100%}.changes-section.collapsed{flex:0 0 auto}.changes-section-header{display:flex;align-items:center;gap:4px;height:32px;padding:4px 2px 4px 10px;font-size:13px;font-weight:700;color:var(--color-text-primary);background:var(--editor-section-bg);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-top:1px solid var(--editor-border);border-bottom:1px solid var(--editor-border);flex-shrink:0;position:sticky;top:0;z-index:2}.changes-section-header:first-child{border-top:none}.changes-section-first{padding-left:10px}.changes-section-menu{display:flex;align-items:center;justify-content:center;width:28px;height:22px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;flex-shrink:0;transition:color .1s}.changes-section-menu:hover{color:var(--color-text-primary)}.changes-section-header:hover{background:var(--editor-hover)}.changes-section-name{flex:1;letter-spacing:.02em;padding-left:0}.changes-section-actions{display:flex;align-items:center;gap:0;opacity:0;pointer-events:none;transition:opacity .1s}.changes-section-header:hover .changes-section-actions,.changes-section-header:focus-within .changes-section-actions{opacity:1;pointer-events:auto}.changes-section-action{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:3px;transition:color .1s,background .1s}.changes-section-action:hover{color:var(--color-text-primary);background:var(--editor-hover)}.changes-section-badge{font-size:10px;font-weight:600;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;background:var(--color-text-tertiary);color:var(--editor-sidebar-bg);margin-right:4px}.changes-section-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.changes-tree{display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:14px;color:var(--color-text-secondary)}.changes-tree-section-header{display:none}.changes-tree-items{overflow-y:auto;overflow-x:hidden}.changes-tree-item{display:flex;align-items:center;gap:4px;height:22px;padding-right:8px;cursor:pointer;white-space:nowrap;overflow:hidden}.changes-tree-item:hover{background:var(--editor-hover)}.changes-tree-item.selected{background:var(--editor-selection)}.changes-tree-dir-item{gap:2px}.changes-tree-chevron{width:16px;height:16px;flex-shrink:0;color:var(--color-text-tertiary);transition:transform .12s ease}.changes-tree-chevron.expanded{transform:rotate(90deg)}.changes-tree-chevron-spacer{width:16px;flex-shrink:0}.changes-tree-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:22px}.changes-tree-dir-name{color:var(--color-text-secondary)}.changes-icon{flex-shrink:0}.changes-icon-created{color:#73c991}.changes-icon-modified{color:#e2c08d}.changes-icon-deleted{color:#c74e39}.changes-tree-revert-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:3px;flex-shrink:0;margin-left:auto;transition:color .1s,background .1s}.changes-tree-revert-btn:hover{color:#c74e39;background:var(--editor-hover)}.changes-type-badge{font-size:13px;font-weight:600;width:16px;text-align:right;flex-shrink:0;margin-right:4px;letter-spacing:0}.changes-badge-created{color:#73c991}.changes-badge-modified{color:#e2c08d}.changes-badge-deleted{color:#c74e39}.changes-timeline{position:relative}.changes-timeline-item{display:flex;align-items:center;height:22px;padding-right:8px;cursor:default}.changes-timeline-item:hover{background:var(--editor-hover)}.changes-timeline-line{display:flex;align-items:center;justify-content:center;width:28px;height:22px;flex-shrink:0;position:relative}.changes-timeline-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--color-text-tertiary);position:relative;z-index:1}.changes-timeline-dot.latest{background:var(--color-accent-blue)}.changes-timeline-dot.historical{background:#f59e0b}.changes-timeline-connector{position:absolute;left:50%;width:1px;top:50%;height:22px;background:var(--editor-border);transform:translate(-50%);z-index:0}.changes-timeline-connector.latest{background:var(--color-accent-blue)}.changes-timeline-connector.historical{background:#f59e0b}.changes-timeline-content{flex:1;min-width:0}.changes-timeline-header{display:flex;align-items:center;gap:6px}.changes-timeline-time{font-size:12px;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0}.changes-timeline-label{font-size:13px;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4;flex:1;min-width:0}.changes-timeline-actions{display:flex;gap:2px;margin-left:auto;opacity:0;pointer-events:none;transition:opacity .1s;flex-shrink:0}.changes-timeline-item:hover .changes-timeline-actions,.changes-timeline-item:focus-within .changes-timeline-actions{opacity:1;pointer-events:auto}.changes-timeline-action{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:3px;flex-shrink:0;transition:color .1s,background .1s}.changes-timeline-action:hover{color:var(--color-text-primary);background:var(--editor-hover)}.changes-timeline-action.danger:hover{color:#c74e39}.changes-timeline-action:disabled{opacity:.4;cursor:not-allowed}@media(hover:none){.changes-timeline-actions{opacity:1;pointer-events:auto}}.changes-diff-scroll{flex:1;overflow-y:auto;min-height:0}.changes-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:12px;color:var(--color-text-tertiary);padding:20px}.changes-empty-text{font-size:14px;opacity:.5}.changes-section-content:has(.changes-timeline-empty){display:flex;flex-direction:column}.changes-timeline-empty{min-height:80px;flex:1}.changes-mobile-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:19;transform:translate(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);background:var(--editor-bg);display:flex;flex-direction:column}.changes-mobile-panel.open{transform:translate(0)}.changes-mobile-header{display:flex;align-items:center;height:35px;background:var(--editor-sidebar-bg);border-bottom:1px solid var(--editor-border);flex-shrink:0}.changes-mobile-back{display:flex;align-items:center;justify-content:center;width:40px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;border-right:1px solid var(--editor-border)}.changes-mobile-back:hover{color:var(--color-text-primary);background:var(--editor-hover)}.changes-mobile-title{flex:1;min-width:0;padding:0 12px;font-size:13px;font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:767px){.changes-tree-items,.changes-accordion,.changes-diff-scroll{-webkit-overflow-scrolling:touch}}.sidebar-badge{font-size:10px;font-weight:600;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;background:var(--color-text-tertiary);color:var(--color-bg-primary);margin-left:auto}.file-preview-image-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.file-preview-image-container.checkerboard{background-image:linear-gradient(45deg,var(--color-bg-tertiary) 25%,transparent 25%),linear-gradient(-45deg,var(--color-bg-tertiary) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-bg-tertiary) 75%),linear-gradient(-45deg,transparent 75%,var(--color-bg-tertiary) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.file-preview-image-container img.pixelated{image-rendering:pixelated}.image-zoom-toolbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;background:var(--color-bg-card);border:1px solid var(--color-border-default);box-shadow:0 2px 8px #00000026;z-index:10}.image-zoom-toolbar button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color .15s,color .15s}.image-zoom-toolbar button:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.image-zoom-label{min-width:48px;text-align:center;font-size:12px;font-weight:500;color:var(--color-text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.file-preview-markdown{width:100%;height:100%;overflow-y:auto;padding:24px}.file-preview-markdown-content{max-width:800px;margin:0 auto;font-size:14px;line-height:1.7;color:var(--color-text-primary)}.file-preview-markdown-content h1,.file-preview-markdown-content h2,.file-preview-markdown-content h3,.file-preview-markdown-content h4{margin-top:1.5em;margin-bottom:.5em;font-weight:600;color:var(--color-text-primary)}.file-preview-markdown-content h1{font-size:1.75em;border-bottom:1px solid var(--color-border-default);padding-bottom:.3em}.file-preview-markdown-content h2{font-size:1.4em;border-bottom:1px solid var(--color-border-default);padding-bottom:.2em}.file-preview-markdown-content h3{font-size:1.15em}.file-preview-markdown-content p{margin:.8em 0}.file-preview-markdown-content ul,.file-preview-markdown-content ol{padding-left:1.5em;margin:.5em 0}.file-preview-markdown-content li{margin:.25em 0}.file-preview-markdown-content blockquote{border-left:3px solid var(--color-border-default);padding-left:1em;margin:.8em 0;color:var(--color-text-secondary)}.file-preview-markdown-content table{border-collapse:collapse;width:100%;margin:.8em 0}.file-preview-markdown-content th,.file-preview-markdown-content td{border:1px solid var(--color-border-default);padding:6px 12px;text-align:left}.file-preview-markdown-content th{background:var(--color-bg-secondary);font-weight:600}.file-preview-markdown-content a{color:var(--color-text-link);text-decoration:none}.file-preview-markdown-content a:hover{text-decoration:underline}.file-preview-markdown-content img{max-width:100%;border-radius:8px}.file-preview-markdown-content hr{border:none;border-top:1px solid var(--color-border-default);margin:1.5em 0}.file-preview-pdf{width:100%;height:100%;border:none}.file-preview-binary{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.kind-badge{border:1px solid}[data-theme=light] .kind-badge-blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}[data-theme=light] .kind-badge-purple{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}[data-theme=light] .kind-badge-green{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}[data-theme=light] .kind-badge-orange{background:#fff7ed;color:#c2410c;border-color:#fed7aa}[data-theme=dark] .kind-badge-blue{background:#60a5fa1f;color:#93bbfd;border-color:#60a5fa40}[data-theme=dark] .kind-badge-purple{background:#8b7dff1f;color:#b4a9ff;border-color:#8b7dff40}[data-theme=dark] .kind-badge-green{background:#4ade801f;color:#86efac;border-color:#4ade8040}[data-theme=dark] .kind-badge-orange{background:#fb923c1f;color:#fdba74;border-color:#fb923c40}[data-theme=light] .current-badge{background:#1677ff1a;color:#1d4ed8}[data-theme=dark] .current-badge{background:#60a5fa26;color:#93bbfd}[data-theme=light] .daemon-start-btn{background:#1a1a1a;color:#fff}[data-theme=light] .daemon-start-btn:hover{background:#333}[data-theme=dark] .daemon-start-btn{background:#e5e5e5;color:#1a1a1a}[data-theme=dark] .daemon-start-btn:hover{background:#d0d0d0}[data-theme=light] .worker-card-hover:hover{border-color:#c0c2c8}[data-theme=dark] .worker-card-hover:hover{border-color:#4a4a50}[data-theme=light] .daemon-stop-btn:hover{color:#dc2626;border-color:#fca5a5;background:#fef2f2}[data-theme=dark] .daemon-stop-btn:hover{color:#f87171;border-color:#f871714d;background:#f871711a}[data-theme=light] .daemon-kill-btn:hover{color:#ef4444;background:#fef2f2}[data-theme=dark] .daemon-kill-btn:hover{color:#f87171;background:#f871711a}[data-theme=light] .error-banner{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}[data-theme=dark] .error-banner{background:#f871711a;color:#f87171;border:1px solid rgba(248,113,113,.2)}[data-theme=light]{--color-canvas-grid-minor: rgba(0, 0, 0, .1);--color-canvas-grid-major: rgba(0, 0, 0, .18);--color-canvas-tile-border: #dcdee3;--color-canvas-tile-border-selected: #1677ff;--color-canvas-tile-header: #f5f5f7;--color-canvas-tile-header-text: #1a1a1a;--color-canvas-selection-fill: rgba(22, 119, 255, .08);--color-canvas-selection-stroke: rgba(22, 119, 255, .4)}[data-theme=dark]{--color-canvas-grid-minor: rgba(255, 255, 255, .06);--color-canvas-grid-major: rgba(255, 255, 255, .12);--color-canvas-tile-border: #2e2e33;--color-canvas-tile-border-selected: #60a5fa;--color-canvas-tile-header: #1c1c1e;--color-canvas-tile-header-text: #e5e5e5;--color-canvas-selection-fill: rgba(96, 165, 250, .08);--color-canvas-selection-stroke: rgba(96, 165, 250, .4)}.canvas-tile{will-change:transform;transform-origin:top left}.canvas-tile-header{-webkit-app-region:drag}.canvas-tile-header button{-webkit-app-region:no-drag}.placeholder\:text-text-tertiary::-moz-placeholder{color:var(--color-text-tertiary)}.placeholder\:text-text-tertiary::placeholder{color:var(--color-text-tertiary)}.first\:mt-0:first-child{margin-top:0}.focus-within\:shadow-md:focus-within{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.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\:border-accent-red:hover{border-color:var(--color-accent-red)}.hover\:border-border-muted:hover{border-color:var(--color-border-muted)}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:bg-\[var\(--color-bg-quaternary\)\]:hover{background-color:var(--color-bg-quaternary)}.hover\:bg-\[var\(--color-bg-secondary\)\]:hover{background-color:var(--color-bg-secondary)}.hover\:bg-accent-red:hover{background-color:var(--color-accent-red)}.hover\:bg-bg-hover:hover{background-color:var(--color-bg-hover)}.hover\:bg-bg-primary:hover{background-color:var(--color-bg-primary)}.hover\:bg-bg-secondary:hover{background-color:var(--color-bg-secondary)}.hover\:bg-bg-tertiary:hover{background-color:var(--color-bg-tertiary)}.hover\:text-\[var\(--color-error\)\]:hover{color:var(--color-error)}.hover\:text-\[var\(--color-text-primary\)\]:hover{color:var(--color-text-primary)}.hover\:text-\[var\(--color-text-secondary\)\]:hover{color:var(--color-text-secondary)}.hover\:text-accent-brand:hover{color:var(--color-accent-brand)}.hover\:text-accent-red:hover{color:var(--color-accent-red)}.hover\:text-green-500:hover{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.hover\:text-orange-500:hover{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:text-text-secondary:hover{color:var(--color-text-secondary)}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:brightness-110:hover{--tw-brightness: brightness(1.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)}.focus\:border-\[var\(--color-accent-blue\)\]:focus{border-color:var(--color-accent-blue)}.focus\:border-accent-brand:focus{border-color:var(--color-accent-brand)}.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)}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;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))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-70:disabled{opacity:.7}.group:hover .group-hover\:text-accent-brand{color:var(--color-accent-brand)}.group:hover .group-hover\:opacity-100{opacity:1}@media not all and (min-width:768px){.max-md\:bottom-20{bottom:5rem}.max-md\:left-4{left:1rem}.max-md\:right-4{right:1rem}.max-md\:mx-0{margin-left:0;margin-right:0}.max-md\:max-w-none{max-width:none}.max-md\:items-end{align-items:flex-end}.max-md\:items-stretch{align-items:stretch}.max-md\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.max-md\:rounded-t-xl{border-top-left-radius:16px;border-top-right-radius:16px}.max-md\:pt-0{padding-top:0}}@media(min-width:640px){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:w-64{width:16rem}.sm\:max-w-\[160px\]{max-width:160px}.sm\:max-w-\[75\%\]{max-width:75%}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:768px){.md\:relative{position:relative}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:max-h-\[40\%\]{max-height:40%}.md\:translate-x-0{--tw-translate-x: 0px;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))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:gap-6{gap:1.5rem}.md\:rounded-2xl{border-radius:1rem}.md\:border{border-width:1px}.md\:p-4{padding:1rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pt-2{padding-top:.5rem}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1280px){.xl\:block{display:block}}@media(prefers-color-scheme:dark){.dark\:border-blue-500\/20{border-color:#3b82f633}.dark\:border-green-500\/20{border-color:#22c55e33}.dark\:border-orange-500\/20{border-color:#f9731633}.dark\:border-purple-500\/20{border-color:#a855f733}.dark\:bg-amber-900\/10{background-color:#78350f1a}.dark\:bg-blue-500\/10{background-color:#3b82f61a}.dark\:bg-green-500\/10{background-color:#22c55e1a}.dark\:bg-orange-500\/10{background-color:#f973161a}.dark\:bg-purple-500\/10{background-color:#a855f71a}.dark\:bg-red-900\/10{background-color:#7f1d1d1a}.dark\:bg-yellow-700{--tw-bg-opacity: 1;background-color:rgb(161 98 7 / var(--tw-bg-opacity, 1))}.dark\:bg-yellow-900\/20{background-color:#713f1233}.dark\:text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.dark\:text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.dark\:text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}}.\[\&_code\]\:text-\[12px\] code{font-size:12px}.\[\&_h1\]\:text-\[15px\] h1{font-size:15px}.\[\&_h2\]\:text-\[14px\] h2{font-size:14px}.\[\&_h3\]\:text-\[13px\] h3{font-size:13px}.\[\&_li\]\:my-0\.5 li{margin-top:.125rem;margin-bottom:.125rem}.\[\&_ol\]\:my-1 ol,.\[\&_p\]\:my-1 p{margin-top:.25rem;margin-bottom:.25rem}.\[\&_pre\]\:my-2 pre{margin-top:.5rem;margin-bottom:.5rem}.\[\&_ul\]\:my-1 ul{margin-top:.25rem;margin-bottom:.25rem}.light-red:before{color:#c97071}.medium-red:before{color:#ac4142}.dark-red:before{color:#742c2d}.light-green:before{color:#a6ba7b}.medium-green:before{color:#90a959}.dark-green:before{color:#66783e}.light-yellow:before{color:#fae0bc}.medium-yellow:before{color:#ee9e2e}.dark-yellow:before{color:#d88511}.light-blue:before{color:#6098b0}.medium-blue:before{color:#6a9fb5}.dark-blue:before{color:#46788d}.light-maroon:before{color:#be7953}.medium-maroon:before{color:#8f5536}.dark-maroon:before{color:#573421}.light-purple:before{color:#c7a4c0}.medium-purple:before{color:#aa759f}.dark-purple:before{color:#825078}.light-orange:before{color:#d99762}.medium-orange:before{color:#d28445}.dark-orange:before{color:#a35f27}.light-cyan:before{color:#6bb0a4}.medium-cyan:before{color:#75b5aa}.dark-cyan:before{color:#4d9085}.light-pink:before{color:#ff4ddb}.medium-pink:before{color:#f0c}.dark-pink:before{color:#b3008f}.theme-colour-check{background:#fff}@font-face{font-family:FontAwesome;font-weight:400;font-style:normal;src:url(/assets/fontawesome-B-jkhYfk.woff2)}@font-face{font-family:Mfizz;src:url(/assets/mfixx-CpAhKOZz.woff2);font-weight:400;font-style:normal}@font-face{font-family:Devicons;src:url(/assets/devopicons-QN4QXivI.woff2);font-weight:400;font-style:normal}@font-face{font-family:file-icons;src:url(/assets/file-icons-C0jOugUK.woff2);font-weight:400;font-style:normal}@font-face{font-family:octicons;src:url(/assets/octicons-CaZ_fok2.woff2);font-weight:400;font-style:normal}.icon:before{font-weight:400;font-style:normal;text-align:center;width:16px;line-height:1;position:relative;display:inline-block;-webkit-font-smoothing:antialiased}.binary-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.book-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.brew-icon:before{font-family:octicons;top:1px;content:"";font-size:15px;left:1px}.checklist-icon:before{font-family:octicons;top:1px;content:"";font-size:17px;left:1px}.code-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.database-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.gear-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.git-commit-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.git-merge-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.github-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.graph-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.image-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.key-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.link-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.markdown-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.package-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.ruby-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.secret-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.squirrel-icon:before{font-family:octicons;top:1px;content:"";font-size:15px}.text-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.zip-icon:before{font-family:octicons;font-size:16px;top:1px;content:""}.android-icon:before{font-family:FontAwesome;content:"";font-size:16px;top:1px}.at-icon:before{font-family:FontAwesome;content:"";font-size:15px;top:1px}.audio-icon:before{font-family:FontAwesome;content:"";font-size:15px;top:1px}.bullhorn-icon:before{font-family:FontAwesome;content:"";font-size:16px;top:2px}.calc-icon:before{font-family:FontAwesome;content:"";font-size:14px}.coffee-icon:before{font-family:FontAwesome;content:"";font-size:14px;top:1px}.css3-icon:before{font-family:FontAwesome;font-size:13px;content:"";top:0}.circle-icon:before{font-family:FontAwesome;content:"";font-size:16px;top:1px}.earth-icon:before{font-family:FontAwesome;content:"";font-size:15px}.gears-icon:before{font-family:FontAwesome;content:"";font-size:15px}.html5-icon:before{font-family:FontAwesome;content:"";font-size:15px;top:1px}.mobile-icon:before{font-family:FontAwesome;content:"";font-size:20px;top:2px}.moon-icon:before{font-family:FontAwesome;content:"";font-size:16px;top:1px}.music-icon:before{font-family:FontAwesome;content:"";font-size:15px}.print-icon:before{font-family:FontAwesome;content:"";font-size:15px;top:2px}.recycle-icon:before{font-family:FontAwesome;content:"";font-size:15px;top:2px}.rss-icon:before{font-family:FontAwesome;content:"";font-size:16px;top:2px}.smarty-icon:before{font-family:FontAwesome;content:"";font-size:15px}.sourcemap-icon:before{font-family:FontAwesome;content:"";font-size:14px}.sun-icon:before{font-family:FontAwesome;content:"";font-size:14px;-webkit-font-smoothing:subpixel-antialiased}.toc-icon:before{font-family:FontAwesome;content:"";font-size:15px;top:2px}.twig-icon:before{font-family:FontAwesome;content:"";font-size:14px}.pdf-icon:before{font-family:FontAwesome;content:"";font-size:14px}.apache-icon:before{font-family:Mfizz;content:"";top:3px;font-size:15px}.archlinux-icon:before{font-family:Mfizz;content:"A";top:1px;font-size:15px}.c-icon:before{font-family:Mfizz;content:"";top:1px;font-size:13px}.cpp-icon:before{font-family:Mfizz;font-size:14px;content:"";top:1px}.csharp-icon:before{font-family:Mfizz;font-size:14px;content:"";top:1px}.debian-icon:before{font-family:Mfizz;font-size:14px;content:"";top:1px}.elixir-icon:before{font-family:Mfizz;font-size:14px;content:"";top:1px}.gnome-icon:before{font-family:Mfizz;font-size:14px;content:"";top:1px}.haskell-icon:before{font-family:Mfizz;content:"";top:2px;font-size:16px}.java-icon:before{font-family:Mfizz;content:"";top:2px;font-size:16px}.js-icon:before{font-family:Mfizz;content:"";top:1px;font-size:14px}.msql-icon:before{font-family:Mfizz;content:"";top:2px;font-size:15px;text-shadow:0 0 0}.objc-icon:before{font-family:Mfizz;content:"";top:2px;font-size:16px}.osx-icon:before{font-family:Mfizz;font-size:14px;content:"";top:1px}.perl-icon:before{font-family:Mfizz;font-size:14px;content:"";top:1px}.python-icon:before{font-family:Mfizz;font-size:14px;content:"";top:1px}.red-hat-icon:before{font-family:Mfizz;font-size:14px;content:"";top:2px}.scala-icon:before{font-family:Mfizz;font-size:14px;content:"";top:1px}.sql-icon:before{font-family:Mfizz;font-size:14px;content:"";top:1px}.svg-icon:before{font-family:Mfizz;font-size:14px;content:"";top:1px}.tt-icon:before{font-family:Mfizz;font-size:14px;content:"TT"}.x11-icon:before{font-family:Mfizz;content:"";top:1px;font-size:13px}.angular-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.appcelerator-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.appstore-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.asp-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.atom-icon:before{font-family:Devicons;font-size:16px;top:3px;content:"";-webkit-font-smoothing:subpixel-antialiased}.backbone-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.bootstrap-icon:before{font-family:Devicons;content:"";font-size:15px;top:2px}.bower-icon:before{font-family:Devicons;font-size:16px;top:3px;content:"";text-shadow:0 0 0}.chrome-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.clojure-icon:before{font-family:Devicons;font-size:16px;top:3px;content:"";-webkit-font-smoothing:subpixel-antialiased}.compass-icon:before{font-family:Devicons;content:"";font-size:14px;top:2px}.dart-icon:before{font-family:Devicons;content:"";font-size:15px;top:2px}.dlang-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.dojo-icon:before{font-family:Devicons;content:"";font-size:16px;top:4px;transform:scale(1.2);-webkit-font-smoothing:subpixel-antialiased}.dropbox-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.eclipse-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.erlang-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.extjs-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.fsharp-icon:before{font-family:Devicons;font-size:16px;content:"";left:1px;top:2px}.git-icon:before{font-family:Devicons;content:"";font-size:15px;top:2px}.heroku-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.jquery-icon:before{font-family:Devicons;content:"";font-size:15px;top:2px}.jqueryui-icon:before{font-family:Devicons;content:"";font-size:15px;top:2px}.laravel-icon:before{font-family:Devicons;font-size:16px;top:3px;content:"";-webkit-font-smoothing:subpixel-antialiased}.materialize-icon:before{font-family:Devicons;font-size:16px;top:3px;content:"";transform:scale(1.2);-webkit-font-smoothing:subpixel-antialiased}.modernizr-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.mootools-icon:before{font-family:Devicons;font-size:16px;top:3px;content:"";text-shadow:0 0 0}.node-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.pod-icon:before{font-family:Devicons;content:"";font-size:15px;top:2px}.prolog-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.rails-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.raphael-icon:before{font-family:Devicons;top:3px;content:"";font-size:15px}.requirejs-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.rust-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.sass-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.sencha-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.snapsvg-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.swift-icon:before{font-family:Devicons;font-size:16px;top:3px;content:"";left:-1px}.travis-icon:before{font-family:Devicons;content:"";font-size:15px;top:2px}.uikit-icon:before{font-family:Devicons;content:"";font-size:15px;top:2px}.unity3d-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.vim-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}.vs-icon:before{font-family:Devicons;content:"";font-size:14px;top:2px}.windows-icon:before{font-family:Devicons;content:"";font-size:14px;top:2px}.yeoman-icon:before{font-family:Devicons;font-size:16px;top:3px;content:""}._1c-icon:before{font-family:file-icons;content:"ꗪ";top:3px;font-size:16px}._1c-alt-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.abap-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.access-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.ada-icon:before{font-family:file-icons;content:"";top:3px;font-size:17px}.ae-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.ahk-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.ai-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.alloy-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.alpine-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.ampl-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px;left:1px}.amx-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.ant-icon:before{font-family:file-icons;content:"";top:4px;font-size:18px;transform:scale(1.1)}.antlr-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px}.api-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.apl-icon:before{font-family:file-icons;font-size:15px;content:"⍋";top:2px}.apple-icon:before{font-family:file-icons;font-size:15px;content:"";top:1px}.appveyor-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.arc-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.arduino-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.arttext-icon:before{font-family:file-icons;font-size:15px;content:"ⓐ";top:2px}.as-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.asciidoc-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.ats-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.audacity-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.augeas-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.autoit-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.babel-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;left:1px}.bibtex-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px;-webkit-font-smoothing:subpixel-antialiased}.blender-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.bluespec-icon:before{font-family:file-icons;content:"";top:1px;font-size:13px;left:1px}.boo-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.boot-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.brain-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.brakeman-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.bro-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.broccoli-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.byond-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.cabal-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.cake-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.cakefile-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.cakephp-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.cc-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.ceylon-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.cf-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.chai-icon:before{font-family:file-icons;content:"c";top:3px;font-size:16px}.chapel-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.chartjs-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.chuck-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.circleci-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.cirru-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;text-shadow:0 0 0}.cl-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;text-shadow:0 0 0}.clarion-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px;left:1px}.clean-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.click-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.clips-icon:before{font-family:file-icons;content:"";top:3px;font-size:18px}.cljs-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.cmake-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.codecov-icon:before{font-family:file-icons;font-size:15px;content:"☂";top:2px}.composer-icon:before{font-family:file-icons;content:"";top:3px;font-size:17px}.config-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.cordova-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.coq-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px;left:1px}.cp-icon:before{font-family:file-icons;content:"";top:3px;font-size:17px}.creole-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.crystal-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;left:1px}.csound-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.csscript-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.cucumber-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px}.cython-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.d3-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.darcs-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.dashboard-icon:before{font-family:file-icons;content:"";top:2px;font-size:13px}.dbase-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.default-icon:before{font-family:file-icons;content:"🗌";top:2px;font-size:14px}.diff-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.docker-icon:before{font-family:file-icons;content:"";top:3px;font-size:18px}.doxygen-icon:before{font-family:file-icons;content:"";top:1px;font-size:13px}.doge-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.dyalog-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px;left:1px}.dylib-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.e-icon:before{font-family:file-icons;content:"E";top:1px;font-size:14px}.eagle-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.ec-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.ecere-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.editorconfig-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px}.eiffel-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.electron-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px;text-shadow:0 0 0}.elm-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.em-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.ember-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.emacs-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.eq-icon:before{font-family:file-icons;font-size:15px;content:"";top:5px}.eslint-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.excel-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.fabfile-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.factor-icon:before{font-family:file-icons;content:"";top:3px;font-size:18px;left:-2px;transform:scale(1.2)}.fancy-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.fantom-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;left:1px}.fbx-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.ff-icon:before{font-family:file-icons;font-size:15px;content:"ff";top:3px}.finder-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.flow-icon:before{font-family:file-icons;font-size:15px;content:"";top:1px}.flux-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.font-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px;left:1px}.fortran-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px;left:1px}.freemarker-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px;left:1px}.frege-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px;left:1px}.fuelux-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px;left:2px;transform:scale(1.15);text-shadow:0 0 0}.gams-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;left:1px}.gap-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px;left:1px}.gdb-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px;transform:scale(1.15);text-shadow:0 0 0}.genshi-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px}.gentoo-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px;left:1px}.gf-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.glade-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.glyphs-icon:before{font-family:file-icons;font-size:15px;content:"G";top:3px}.gml-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.gn-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.gnu-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px;text-shadow:0 0 0}.go-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px}.godot-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.golo-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.gosu-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.gradle-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px;left:1px}.graphql-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.graphviz-icon:before{font-family:file-icons;content:"";top:4px;font-size:17px;left:1px}.groovy-icon:before{font-family:file-icons;content:"";top:4px;font-size:17px;left:-1px}.grunt-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.gulp-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.hack-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.haml-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.harbour-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px;text-shadow:0 0 0}.hashicorp-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.haxe-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.hy-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.idl-icon:before{font-family:file-icons;content:"";top:3px;font-size:18px}.idris-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px;-webkit-font-smoothing:subpixel-antialiased}.igorpro-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px;-webkit-font-smoothing:subpixel-antialiased}.indesign-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.inform7-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px;text-shadow:0 0 0}.inno-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.io-icon:before{font-family:file-icons;content:"";top:1px;font-size:13px;-webkit-font-smoothing:subpixel-antialiased}.ioke-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.ionic-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.isabelle-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.j-icon:before{font-family:file-icons;content:"";top:1px;font-size:13px}.jade-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.jake-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.jenkins-icon:before{font-family:file-icons;content:"";top:3px;font-size:18px;text-shadow:0 0 0}.jinja-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.jsonld-icon:before{font-family:file-icons;content:"";top:3px;font-size:17px}.jsx-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.julia-icon:before{font-family:file-icons;content:"⛬";top:1px;font-size:14px}.jupyter-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.karma-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.keynote-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.khronos-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.kivy-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.knockout-icon:before{font-family:file-icons;font-size:15px;content:"K";top:2px}.kotlin-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.krl-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.labview-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.lasso-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;left:1px}.leaflet-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.lean-icon:before{font-family:file-icons;content:"L";top:1px;font-size:13px}.lein-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px;text-shadow:0 0 0;transform:scale(1.15)}.lfe-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.lightwave-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.lisp-icon:before{font-family:file-icons;content:"";top:3px;font-size:17px}.llvm-icon:before{font-family:file-icons;content:"";top:3px;font-size:17px}.logtalk-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;text-shadow:0 0 0}.lookml-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px;text-shadow:0 0 0}.ls-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.lsl-icon:before{font-family:file-icons;font-size:15px;content:"";top:1px}.lua-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.mako-icon:before{font-family:file-icons;content:"";top:4px;font-size:16px}.mapbox-icon:before{font-family:file-icons;content:"";top:1px;font-size:13px}.marko-icon:before{font-family:file-icons;content:"";top:4px;font-size:18px;left:-1px;transform:scale(1.05)}.mathematica-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.mathjax-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.matlab-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.max-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.maxscript-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.maya-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.manpage-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px}.mediawiki-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.mercury-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px;transform:scale(1.2)}.metal-icon:before{font-family:file-icons;font-size:15px;content:"M";top:1px;left:1px}.meteor-icon:before{font-family:file-icons;font-size:15px;content:"";top:1px}.minecraft-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.mirah-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.mocha-icon:before{font-family:file-icons;content:"⛾";top:2px;font-size:17px}.model-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.modula2-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.monkey-icon:before{font-family:file-icons;content:"";top:3px;font-size:18px;left:-1px}.mruby-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.mupad-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.mustache-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.nant-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px;transform:scale(1.2)}.neko-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.netlogo-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;left:1px}.newrelic-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.nginx-icon:before{font-family:file-icons;font-size:15px;content:"󱑫";top:2px}.nib-icon:before{font-family:file-icons;font-size:15px;content:"✒";top:2px}.nimrod-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.nit-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.nix-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.nmap-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px;transform:scale(1.1)}.nodemon-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.normalize-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.npm-icon:before{font-family:file-icons;content:"";top:3px;font-size:17px}.nsis-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.numpy-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.nuget-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.nunjucks-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.nvidia-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.objj-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.ocaml-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.onenote-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.ooc-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.opa-icon:before{font-family:file-icons;font-size:15px;content:"☁";top:2px}.opencl-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.openoffice-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.org-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px;left:1px}.owl-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.ox-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px;text-shadow:0 0 0}.oxygene-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.oz-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.pan-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.papyrus-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.parrot-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.pascal-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.patch-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.pawn-icon:before{font-family:file-icons;content:"♟";top:1px;font-size:14px}.perl6-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.phalcon-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.php-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px;left:1px}.pickle-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.pike-icon:before{font-family:file-icons;content:"";top:4px;font-size:16px;-webkit-font-smoothing:subpixel-antialiased;transform:scale(1.15)}.pogo-icon:before{font-family:file-icons;content:"";top:3px;font-size:14px;-webkit-font-smoothing:subpixel-antialiased}.pony-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.pointwise-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.postcss-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.postscript-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;left:1px}.povray-icon:before{font-family:file-icons;font-size:15px;content:"P";top:2px;left:1px}.powerbuilder-icon:before{font-family:file-icons;font-size:15px;content:""}.powerpoint-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.powershell-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.premiere-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.processing-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.progress-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px;transform:scale(1.2)}.propeller-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.protractor-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px}.psd-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.pug-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.pug-alt-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.puppet-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;left:1px}.purebasic-icon:before{font-family:file-icons;font-size:15px;content:"Ƶ";top:2px}.purescript-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px}.r-icon:before{font-family:file-icons;content:"";top:3px;font-size:17px}.racket-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;left:1px}.raml-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.rascal-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.rdoc-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;left:1px}.react-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.rebol-icon:before{font-family:file-icons;content:"";top:1px;font-size:13px}.reason-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px}.red-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.regex-icon:before{font-family:file-icons;content:"*";top:1px;font-size:12px;left:1px}.rexx-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px;left:1px}.riot-icon:before{font-family:file-icons;content:"";top:4px;font-size:18px}.robot-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.rollup-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.rst-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.sage-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px;-webkit-font-smoothing:subpixel-antialiased}.saltstack-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.sas-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.sbt-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.scd-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.scad-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.scheme-icon:before{font-family:file-icons;font-size:15px;content:"λ";top:2px}.scilab-icon:before{font-family:file-icons;content:"";top:3px;font-size:18px;left:-1px;-webkit-font-smoothing:subpixel-antialiased}.scrutinizer-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.self-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px;text-shadow:0 0 0;transform:scale(1.2)}.sf-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.shen-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.shopify-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.shuriken-icon:before{font-family:file-icons;content:"✫";top:2px;font-size:14px}.sigils-icon:before{font-family:file-icons;content:"🝤";top:3px;font-size:16px;text-shadow:0 0 0}.silverstripe-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.sketch-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.slash-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.snyk-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.sparql-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.sqf-icon:before{font-family:file-icons;font-size:15px;content:"";top:1px;text-shadow:0 0 0}.sqlite-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px}.stan-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.stata-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.storyist-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.strings-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.stylelint-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.stylus-icon:before{font-family:file-icons;font-size:15px;content:"s";top:2px;left:1px}.sublime-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.svn-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.sysverilog-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.tag-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.tcl-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.terminal-icon:before{font-family:file-icons;content:"";top:2px;font-size:14px}.tern-icon:before{font-family:file-icons;content:"🕊";top:4px;font-size:16px}.terraform-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.tex-icon:before{font-family:file-icons;content:"";top:4px;font-size:16px;-webkit-font-smoothing:subpixel-antialiased}.textile-icon:before{font-family:file-icons;font-size:15px;content:"t";top:2px}.textmate-icon:before{font-family:file-icons;content:"™";top:2px;font-size:16px}.thor-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.ts-icon:before{font-family:file-icons;content:"ʦ";top:1px;font-size:14px}.tsx-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.turing-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.txl-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.typedoc-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.typings-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.uno-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.unreal-icon:before{font-family:file-icons;font-size:15px;content:"u";top:2px}.urweb-icon:before{font-family:file-icons;content:"";top:4px;font-size:18px;left:-1px;text-shadow:0 0 0}.webpack-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px}.wercker-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.word-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.v8-icon:before{font-family:file-icons;content:"";top:3px;font-size:16px}.vagrant-icon:before{font-family:file-icons;content:"V";top:2px;font-size:14px}.varnish-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.verilog-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.vhdl-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.video-icon:before{font-family:file-icons;content:"";top:1px;font-size:14px}.vue-icon:before{font-family:file-icons;font-size:15px;content:"";top:3px}.x10-icon:before{font-family:file-icons;font-size:15px;content:"Ⅹ";top:2px}.xmos-icon:before{font-family:file-icons;content:"X";top:1px;font-size:14px}.xojo-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.xpages-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.xtend-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.yang-icon:before{font-family:file-icons;font-size:15px;content:"☯";top:2px}.yarn-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.yui-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px}.zbrush-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px}.zephir-icon:before{font-family:file-icons;font-size:15px;content:"";top:2px;-webkit-font-smoothing:subpixel-antialiased}.zimpl-icon:before{font-family:file-icons;content:"";top:2px;font-size:16px;left:1px}/**
2
+ * Copyright (c) 2014 The xterm.js authors. All rights reserved.
3
+ * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
4
+ * https://github.com/chjj/term.js
5
+ * @license MIT
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in
15
+ * all copies or substantial portions of the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ * THE SOFTWARE.
24
+ *
25
+ * Originally forked from (with the author's permission):
26
+ * Fabrice Bellard's javascript vt100 for jslinux:
27
+ * http://bellard.org/jslinux/
28
+ * Copyright (c) 2011 Fabrice Bellard
29
+ * The original design remains. The terminal itself
30
+ * has been extended to include xterm CSI codes, among
31
+ * other features.
32
+ */.xterm{cursor:text;position:relative;-moz-user-select:none;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::-moz-selection{color:transparent}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}@keyframes cat-loading-base{0%{opacity:.15}30%{opacity:1}75%{opacity:1}85%{opacity:.6}to{opacity:.15}}@keyframes cat-loading-color{0%{opacity:0}35%{opacity:0}65%{opacity:.9}75%{opacity:1}85%{opacity:.5}to{opacity:0}}@keyframes image-load-fade-in{0%{opacity:0}to{opacity:1}}.cat-loading-layer{will-change:opacity;pointer-events:none;animation:image-load-fade-in .3s ease-in-out forwards;background-color:transparent}.cat-loading-layer-base{animation:image-load-fade-in .3s ease-in-out forwards,cat-loading-base 4s cubic-bezier(.42,0,.58,1) infinite .3s}.cat-loading-layer-color{animation:image-load-fade-in .3s ease-in-out forwards,cat-loading-color 4s cubic-bezier(.42,0,.58,1) infinite .3s}
@@ -18,10 +18,10 @@
18
18
  <link rel="preconnect" href="https://fonts.googleapis.com">
19
19
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
20
20
  <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap" rel="stylesheet">
21
- <script type="module" crossorigin src="/assets/index-LWSwudLL.js"></script>
21
+ <script type="module" crossorigin src="/assets/index-CRSsImIs.js"></script>
22
22
  <link rel="modulepreload" crossorigin href="/assets/markdown-Ce2Umeb2.js">
23
23
  <link rel="modulepreload" crossorigin href="/assets/vendor-DpYitQz5.js">
24
- <link rel="stylesheet" crossorigin href="/assets/index-DowTCrkL.css">
24
+ <link rel="stylesheet" crossorigin href="/assets/index-D6QqhsAR.css">
25
25
  </head>
26
26
  <body class="bg-bg-primary text-text-primary min-h-screen overscroll-none">
27
27
  <div id="root"></div>
package/cli/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tencent-ai/codebuddy-code",
3
- "version": "2.88.0",
3
+ "version": "2.90.0",
4
4
  "description": "Use CodeBuddy, Tencent's AI assistant, right from your terminal. CodeBuddy can understand your codebase, edit files, run terminal commands, and handle entire workflows for you.",
5
5
  "main": "lib/node/index.js",
6
6
  "typings": "lib/node/index.d.ts",
@@ -5,7 +5,6 @@
5
5
  "instructions": "cli-agent-prompt",
6
6
  "description": "cli agent",
7
7
  "models": [
8
- "glm-4.7",
9
8
  "glm-4.6",
10
9
  "deepseek-v3-2-volc",
11
10
  "deepseek-v3.1",
@@ -316,20 +315,6 @@
316
315
  "summary": "auto"
317
316
  }
318
317
  },
319
- {
320
- "credits": "x0.20 credits",
321
- "id": "glm-4.7",
322
- "name": "GLM-4.7",
323
- "vendor": "f",
324
- "maxOutputTokens": 48000,
325
- "maxInputTokens": 200000,
326
- "supportsToolCall": true,
327
- "supportsImages": false,
328
- "disabledMultimodal": true,
329
- "maxAllowedSize": 200000,
330
- "supportsReasoning": true,
331
- "temperature": 1
332
- },
333
318
  {
334
319
  "credits": "x0.20 credits",
335
320
  "id": "glm-4.6",
@@ -421,6 +406,6 @@
421
406
  "ImageGen": true,
422
407
  "ScheduledTasks": true
423
408
  },
424
- "commit": "c586e886269410c44a7f130e1a31f38a16f52a15",
425
- "date": "2026-04-14T15:50:31.867Z"
409
+ "commit": "b271de3e6affb6fa0aaca8823413ad78ac884178",
410
+ "date": "2026-04-16T13:17:24.590Z"
426
411
  }
@@ -11,7 +11,6 @@
11
11
  "glm-5.0",
12
12
  "glm-5.0-turbo",
13
13
  "glm-5v-turbo",
14
- "glm-4.7",
15
14
  "minimax-m2.7",
16
15
  "minimax-m2.5",
17
16
  "kimi-k2.5",
@@ -426,20 +425,6 @@
426
425
  "summary": "auto"
427
426
  }
428
427
  },
429
- {
430
- "credits": "x0.23 credits",
431
- "id": "glm-4.7",
432
- "name": "GLM-4.7",
433
- "vendor": "f",
434
- "maxOutputTokens": 48000,
435
- "maxInputTokens": 200000,
436
- "supportsToolCall": true,
437
- "supportsImages": false,
438
- "disabledMultimodal": true,
439
- "maxAllowedSize": 200000,
440
- "supportsReasoning": true,
441
- "temperature": 1
442
- },
443
428
  {
444
429
  "credits": "x0.23 credits",
445
430
  "id": "glm-4.6",
@@ -588,6 +573,6 @@
588
573
  }
589
574
  }
590
575
  },
591
- "commit": "c586e886269410c44a7f130e1a31f38a16f52a15",
592
- "date": "2026-04-14T15:50:31.864Z"
576
+ "commit": "b271de3e6affb6fa0aaca8823413ad78ac884178",
577
+ "date": "2026-04-16T13:17:24.581Z"
593
578
  }
@@ -34,7 +34,6 @@
34
34
  "glm-5.0-turbo-ioa",
35
35
  "glm-5v-turbo-ioa",
36
36
  "glm-5.0-ioa",
37
- "glm-4.7-ioa",
38
37
  "minimax-m2.7-ioa",
39
38
  "minimax-m2.5-ioa",
40
39
  "kimi-k2.5-ioa",
@@ -517,24 +516,6 @@
517
516
  "reasoning": "glm-5v-turbo-ioa"
518
517
  }
519
518
  },
520
- {
521
- "credits": "x0.00 credits",
522
- "id": "glm-4.7-ioa",
523
- "name": "GLM-4.7",
524
- "vendor": "f",
525
- "maxOutputTokens": 48000,
526
- "maxInputTokens": 160000,
527
- "supportsToolCall": true,
528
- "supportsImages": false,
529
- "disabledMultimodal": true,
530
- "maxAllowedSize": 160000,
531
- "supportsReasoning": true,
532
- "temperature": 1,
533
- "relatedModels": {
534
- "lite": "glm-4.7-ioa",
535
- "reasoning": "glm-4.7-ioa"
536
- }
537
- },
538
519
  {
539
520
  "credits": "x0.00 credits",
540
521
  "id": "glm-4.6v-ioa",
@@ -955,6 +936,6 @@
955
936
  }
956
937
  }
957
938
  },
958
- "commit": "c586e886269410c44a7f130e1a31f38a16f52a15",
959
- "date": "2026-04-14T15:50:31.867Z"
939
+ "commit": "b271de3e6affb6fa0aaca8823413ad78ac884178",
940
+ "date": "2026-04-16T13:17:24.590Z"
960
941
  }
package/cli/product.json CHANGED
@@ -457,9 +457,10 @@
457
457
  "emergency": 0.9
458
458
  },
459
459
  "inputTokens": {
460
- "warning": 0.7,
461
- "critical": 0.8,
462
- "emergency": 0.92
460
+ "warning": 0.6,
461
+ "critical": 0.7,
462
+ "emergency": 0.92,
463
+ "preMessage": 0.8
463
464
  }
464
465
  },
465
466
  "requestMaxStepLimit": 100,
@@ -570,7 +571,7 @@
570
571
  },
571
572
  {
572
573
  "name": "tool-agent-description",
573
- "template": "Launch a new agent to handle complex, multi-step tasks autonomously.\n\nThe Agent tool launches specialized agents (subprocesses) that autonomously handle complex tasks. Each agent type has specific capabilities and tools available to it.\n\nAvailable agent types and the tools they have access to:\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\n{%- if agents and agents.length > 0 -%}\n{%- for agent in agents -%}\n{%- if agent.asTool %}\n- {{agent.name}}: {{agent.description}} (Tools: {%- if agent.tools and agent.tools.length > 0 -%}{{agent.tools.join(',')}}{%- endif -%})\n{%- endif -%}\n{%- endfor -%}\n{%- endif %}\n\nWhen using the Agent tool, you can specify a subagent_type parameter to select which agent type to use.\n\n**Omitting subagent_type (Fork mode)**: When you omit the subagent_type parameter, the agent inherits your full context (system prompt, tools, conversation history) and always runs in the background. This is ideal for:\n- Tasks that require the same tools and context as the current conversation\n- Complex multi-step tasks that should run in parallel while you continue working\n- Tasks where a specialized agent type doesn't exist or isn't a good fit\n\nWhen subagent_type is omitted, the agent automatically runs in the background (you don't need to set run_in_background=true).\n\nWhen NOT to use the Agent tool:\n- If you want to read a specific file path, use the Read or Glob tool instead of the Agent tool, to find the match more quickly\n- If you are searching for a specific class definition like \"class Foo\", use the Glob tool instead, to find the match more quickly\n- If you are searching for code within a specific file or set of 2-3 files, use the Read tool instead of the Agent tool, to find the match more quickly\n- Other tasks that are not related to the agent descriptions above\n\n\nUsage notes:\n- Always include a short description (3-5 words) summarizing what the agent will do\n- Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple Agent tool uses\n- When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.\n- You can optionally run agents in the background using the run_in_background parameter. When an agent runs in the background, the tool result will include a Task ID. Background agents will automatically send their results back to you via the SendMessage tool when they complete — you do not need to poll or check on them manually.\n- When running agents in the background, the tool result is only a launch confirmation — the agent is still running. Results will arrive later via SendMessage from the background agent. Do not treat the launch confirmation as the agent's output.\n- Agents can be resumed using the `resume` parameter by passing the agent ID from a previous invocation. When resumed, the agent continues with its full previous context preserved. When NOT resuming, each invocation starts fresh and you should provide a detailed task description with all necessary context.\n- When the agent is done, it will return a single message back to you along with its agent ID. You can use this ID to resume the agent later if needed for follow-up work.\n- Provide clear, detailed prompts so the agent can work autonomously and return exactly the information you need.\n- Agents with \"access to current context\" can see the full conversation history before the tool call. When using these agents, you can write concise prompts that reference earlier context (e.g., \"investigate the error discussed above\") instead of repeating information. The agent will receive all prior messages and understand the context.\n- The agent's outputs should generally be trusted\n- Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent\n- If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.\n- If the user specifies that they want you to run agents \"in parallel\", you MUST send a single message with multiple Agent tool use content blocks. For example, if you need to launch both a code-reviewer agent and a test-runner agent in parallel, send a single message with both tool calls.\n\n{%- if teamEnabled %}\n## Spawning Teammates\n\nWhen a team is active (created via TeamCreate), you can spawn teammates by providing the `name` and optionally `team_name` parameters:\n\n- `name`: Name for the spawned agent (e.g., \"researcher\", \"tester\", \"frontend-dev\")\n- `team_name`: Team name for spawning. Uses current team context if omitted.\n- `mode`: Permission mode for the spawned teammate (e.g., \"plan\" to require plan approval)\n- `max_turns`: Maximum number of agentic turns (API round-trips) before the agent stops\n\nTeammates always run in the background in detached mode. They communicate via the SendMessage tool and coordinate through the shared task list.\n{%- endif %}\n\nExample usage:\n\n<example_agent_descriptions>\n\"code-reviewer\": use this agent after you are done writing a signficant piece of code\n\"greeting-responder\": use this agent when to respond to user greetings with a friendly joke\n</example_agent_description>\n\n<example>\nuser: \"Please write a function that checks if a number is prime\"\nassistant: Sure let me write a function that checks if a number is prime\nassistant: First let me use the Write tool to write a function that checks if a number is prime\nassistant: I'm going to use the Write tool to write the following code:\n<code>\nfunction isPrime(n) {\n if (n <= 1) return false\n for (let i = 2; i * i <= n; i++) {\n if (n % i === 0) return false\n }\n return true\n}\n</code>\n<commentary>\nSince a signficant piece of code was written and the task was completed, now use the code-reviewer agent to run the tests\n</commentary>\nassistant: Now let me use the code-reviewer agent to run the tests\nassistant: Uses the Agent tool to launch the code-reviewer agent\n</example>\n\n<example>\nuser: \"Hello\"\n<commentary>\nSince the user is greeting, use the greeting-responder agent to respond with a friendly joke\n</commentary>\nassistant: \"I'm going to use the Agent tool to launch the greeting-responder agent\"\n</example>\n"
574
+ "template": "Launch a new agent to handle complex, multi-step tasks autonomously.\n\nThe Agent tool launches specialized agents (subprocesses) that autonomously handle complex tasks. Each agent type has specific capabilities and tools available to it.\n\nAvailable agent types and the tools they have access to:\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\n{%- if agents and agents.length > 0 -%}\n{%- for agent in agents -%}\n{%- if agent.asTool %}\n- {{agent.name}}: {{agent.description}} (Tools: {%- if agent.tools and agent.tools.length > 0 -%}{{agent.tools.join(',')}}{%- endif -%})\n{%- endif -%}\n{%- endfor -%}\n{%- endif %}\n\nWhen using the Agent tool, you can specify a subagent_type parameter to select which agent type to use. If omitted, it defaults to \"general-purpose\" which runs with an independent context.\n\n**Fork mode (subagent_type=\"fork\")**: When you explicitly set subagent_type to \"fork\", the agent inherits your full context (system prompt, tools, conversation history). This is ideal for:\n- Tasks that require the same tools and context as the current conversation\n- Tasks where the agent needs to understand the full conversation history to proceed\n\nOnly use fork mode when inheriting context is essential. For most tasks (code review, exploration, research, generation), prefer specifying a concrete agent type or omitting subagent_type to get an independent agent.\n\nWhen NOT to use the Agent tool:\n- If you want to read a specific file path, use the Read or Glob tool instead of the Agent tool, to find the match more quickly\n- If you are searching for a specific class definition like \"class Foo\", use the Glob tool instead, to find the match more quickly\n- If you are searching for code within a specific file or set of 2-3 files, use the Read tool instead of the Agent tool, to find the match more quickly\n- Other tasks that are not related to the agent descriptions above\n\n\nUsage notes:\n- Always include a short description (3-5 words) summarizing what the agent will do\n- Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple Agent tool uses\n- When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.\n- You can optionally run agents in the background using the run_in_background parameter. When an agent runs in the background, the tool result will include a Task ID. Background agents will automatically send their results back to you via the SendMessage tool when they complete — you do not need to poll or check on them manually.\n- When running agents in the background, the tool result is only a launch confirmation — the agent is still running. Results will arrive later via SendMessage from the background agent. Do not treat the launch confirmation as the agent's output.\n- Agents can be resumed using the `resume` parameter by passing the agent ID from a previous invocation. When resumed, the agent continues with its full previous context preserved. When NOT resuming, each invocation starts fresh and you should provide a detailed task description with all necessary context.\n- When the agent is done, it will return a single message back to you along with its agent ID. You can use this ID to resume the agent later if needed for follow-up work.\n- Provide clear, detailed prompts so the agent can work autonomously and return exactly the information you need.\n- Agents with \"access to current context\" can see the full conversation history before the tool call. When using these agents, you can write concise prompts that reference earlier context (e.g., \"investigate the error discussed above\") instead of repeating information. The agent will receive all prior messages and understand the context.\n- The agent's outputs should generally be trusted\n- Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent\n- If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.\n- If the user specifies that they want you to run agents \"in parallel\", you MUST send a single message with multiple Agent tool use content blocks. For example, if you need to launch both a code-reviewer agent and a test-runner agent in parallel, send a single message with both tool calls.\n\n{%- if teamEnabled %}\n## Spawning Teammates\n\nWhen a team is active (created via TeamCreate), you can spawn teammates by providing the `name` and optionally `team_name` parameters:\n\n- `name`: Name for the spawned agent (e.g., \"researcher\", \"tester\", \"frontend-dev\")\n- `team_name`: Team name for spawning. Uses current team context if omitted.\n- `mode`: Permission mode for the spawned teammate (e.g., \"plan\" to require plan approval)\n- `max_turns`: Maximum number of agentic turns (API round-trips) before the agent stops\n\nTeammates always run in the background in detached mode. They communicate via the SendMessage tool and coordinate through the shared task list.\n{%- endif %}\n\nExample usage:\n\n<example_agent_descriptions>\n\"code-reviewer\": use this agent after you are done writing a signficant piece of code\n\"greeting-responder\": use this agent when to respond to user greetings with a friendly joke\n</example_agent_description>\n\n<example>\nuser: \"Please write a function that checks if a number is prime\"\nassistant: Sure let me write a function that checks if a number is prime\nassistant: First let me use the Write tool to write a function that checks if a number is prime\nassistant: I'm going to use the Write tool to write the following code:\n<code>\nfunction isPrime(n) {\n if (n <= 1) return false\n for (let i = 2; i * i <= n; i++) {\n if (n % i === 0) return false\n }\n return true\n}\n</code>\n<commentary>\nSince a signficant piece of code was written and the task was completed, now use the code-reviewer agent to run the tests\n</commentary>\nassistant: Now let me use the code-reviewer agent to run the tests\nassistant: Uses the Agent tool to launch the code-reviewer agent\n</example>\n\n<example>\nuser: \"Hello\"\n<commentary>\nSince the user is greeting, use the greeting-responder agent to respond with a friendly joke\n</commentary>\nassistant: \"I'm going to use the Agent tool to launch the greeting-responder agent\"\n</example>\n"
574
575
  },
575
576
  {
576
577
  "name": "tool-bash-description",
@@ -1267,6 +1268,7 @@
1267
1268
  "FileDiffHistory": false,
1268
1269
  "Inspiration": false,
1269
1270
  "Connector": true,
1271
+ "Agents": true,
1270
1272
  "BillingNotice": true,
1271
1273
  "DeferToolLoading": true,
1272
1274
  "ImageEdit": false,
@@ -1518,6 +1520,6 @@
1518
1520
  "description": "Send a reply to a WeCom (企业微信) user. For text: pass text (markdown supported)."
1519
1521
  }
1520
1522
  ],
1521
- "commit": "c586e886269410c44a7f130e1a31f38a16f52a15",
1522
- "date": "2026-04-14T15:50:31.879Z"
1523
+ "commit": "b271de3e6affb6fa0aaca8823413ad78ac884178",
1524
+ "date": "2026-04-16T13:17:24.590Z"
1523
1525
  }
@@ -310,6 +310,6 @@
310
310
  "DeferToolLoading": true,
311
311
  "ScheduledTasks": true
312
312
  },
313
- "commit": "c586e886269410c44a7f130e1a31f38a16f52a15",
314
- "date": "2026-04-14T15:50:31.848Z"
313
+ "commit": "b271de3e6affb6fa0aaca8823413ad78ac884178",
314
+ "date": "2026-04-16T13:17:24.577Z"
315
315
  }