*,:before,:after,::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:#3b82f680;--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:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-0\.5{bottom:-.125rem}.-bottom-1{bottom:-.25rem}.-bottom-5{bottom:-1.25rem}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-top-0\.5{top:-.125rem}.-top-1\.5{top:-.375rem}.bottom-0{bottom:0}.bottom-20{bottom:5rem}.left-0\.5{left:.125rem}.left-1\/2{left:50%}.left-3{left:.75rem}.left-\[22px\]{left:22px}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-11{top:2.75rem}.top-16{top:4rem}.top-9{top:2.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.-mr-1{margin-right:-.25rem}.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-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-\[120px\]{max-height:120px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.min-h-\[44px\]{min-height:44px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[140px\]{min-width:140px}.min-w-\[18px\]{min-width:18px}.min-w-\[40px\]{min-width:40px}.min-w-max{min-width:max-content}.max-w-3xl{max-width:48rem}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[200px\]{max-width:200px}.max-w-\[3\.5rem\]{max-width:3.5rem}.max-w-\[3rem\]{max-width:3rem}.max-w-\[7rem\]{max-width:7rem}.max-w-\[82\%\]{max-width:82%}.max-w-\[88\%\]{max-width:88%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[min\(560px\,92vw\)\]{max-width:min(560px,92vw)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(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)) skewX(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)) skewX(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)) skewX(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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.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}.-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.375rem * var(--tw-space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--tw-space-x-reverse)))}.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-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * 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}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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-3xl{border-radius:1.5rem}.rounded-btnPill{border-radius:12px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-modal{border-radius:20px}.rounded-xl{border-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-tr-md{border-top-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-t-transparent{border-top-color:#0000}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.bg-amber-200{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.bg-amber-50\/95{background-color:#fffbebf2}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.bg-emerald-50\/95{background-color:#ecfdf5f2}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-rose-50\/95{background-color:#fff1f2f2}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity))}.bg-surface-soft{--tw-bg-opacity:1;background-color:rgb(245 246 248/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/30{background-color:#ffffff4d}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/95{background-color:#fffffff2}.bg-brand-gradient{background-image:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#a855f7 100%)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.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-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}.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-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.5625rem\]{font-size:.5625rem}.text-\[0\.5rem\]{font-size:.5rem}.text-\[0\.625rem\]{font-size:.625rem}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[0\.875rem\]{font-size:.875rem}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[1\.125rem\]{font-size:1.125rem}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.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-\[1rem\]{font-size:1rem}.text-base{font-size:1rem;line-height:1.5rem}.text-body{font-size:14px;line-height:1.5}.text-h1{font-size:18px;line-height:1.4}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-\[1\.7\]{line-height:1.7}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.text-ink-soft{--tw-text-opacity:1;color:rgb(102 102 102/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-brand{--tw-shadow:0 4px 12px #6366f140;--tw-shadow-colored:0 4px 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-bubble{--tw-shadow:0 1px 3px #0000000f;--tw-shadow-colored:0 1px 3px 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-card{--tw-shadow:0 2px 12px #0000000d;--tw-shadow-colored:0 2px 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 #0000001a, 0 4px 6px -4px #0000001a;--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-modal{--tw-shadow:0 12px 40px #0000001f;--tw-shadow-colored:0 12px 40px 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-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.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-2{--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)}.ring-4{--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(4px + 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-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))}.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{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}html{width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%!important;-moz-text-size-adjust:100%!important;text-size-adjust:100%!important}html,body{color:#1a1a1a;background:#fff;width:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Helvetica,Microsoft YaHei,Arial,sans-serif;font-size:16px;line-height:1.5;overflow-x:hidden}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box}html,body,#root{height:100%}html{font-size:16px}body,#root{color:#1a1a1a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-thin::-webkit-scrollbar{height:4px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background:#d0d4db;border-radius:2px}@supports (-webkit-touch-callout:none){input,textarea,select{font-size:16px}}.tb-topbar{z-index:30;background:#fff;border-bottom:1px solid #eee;align-items:center;height:48px;padding:0 12px;display:flex;position:fixed;top:0;left:0;right:0}.tb-topbar-title{color:#1a1a1a;text-align:center;flex:1;font-size:16px;font-weight:600}.tb-topbar-sub{color:#999;margin-left:4px;font-size:12px;font-weight:400}.tb-icon-btn{color:#1a1a1a;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;transition:opacity .1s,background .1s;display:inline-flex}.tb-icon-btn:active{opacity:.7;background:#f5f6f8;border-radius:8px}.tb-icon-btn.tb-pulse{color:#ef4444;animation:1s ease-in-out infinite coder-tb-pulse}@keyframes coder-tb-pulse{0%,to{transform:scale(1);box-shadow:0 0 #ef444466}50%{transform:scale(1.15);box-shadow:0 0 0 8px #ef444400}}.tb-drawer-mask{z-index:40;background:#0006;animation:.2s ease-out fade-in;position:fixed;inset:0}.tb-sidebar-handle{top:0;bottom:0;left:var(--sidebar-w,280px);cursor:col-resize;z-index:42;touch-action:none;width:6px;display:none;position:fixed;transform:translate(-3px)}@media (width>=1024px){.tb-sidebar-handle{display:block}}.tb-sidebar-handle:after{content:"";background:#6366f100;border-radius:4px;width:4px;height:56px;transition:background .15s;position:absolute;top:50%;left:1px;transform:translateY(-50%)}.tb-sidebar-handle:hover:after,.tb-sidebar-handle:active:after{background:#6366f180}.tb-drawer{z-index:41;-webkit-overflow-scrolling:touch;background:#fff;flex-direction:column;width:280px;max-width:80vw;animation:.25s ease-out slide-in-left;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.tb-drawer-header{border-bottom:1px solid #eee;align-items:center;gap:12px;padding:24px 20px 16px;display:flex}.tb-drawer-avatar{color:#1a1a1a;background:linear-gradient(135deg,#b2dfdb,#bbdefb);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:28px;display:inline-flex}.tb-drawer-name{color:#1a1a1a;margin-bottom:4px;font-size:16px;font-weight:600}.tb-drawer-tag{color:#fff;background:linear-gradient(135deg,gold,orange);border-radius:4px;padding:2px 8px;font-size:11px;display:inline-block}.tb-drawer-section{padding:8px 0}.tb-drawer-divider{background:#eceef1;height:1px;margin:6px 16px}.tb-sidebar-soon{color:#9aa0a6;background:#f1f3f4;border-radius:8px;padding:1px 6px;font-size:10px;line-height:1.4}.tb-drawer-item{color:#1a1a1a;cursor:pointer;align-items:center;gap:12px;height:52px;padding:0 20px;font-size:15px;transition:background .1s;display:flex}.tb-drawer-item:active{background:#f5f6f8}.tb-drawer-item-icon{color:#666;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.tb-drawer-footer{color:#999;border-top:1px solid #eee;justify-content:space-between;margin-top:auto;padding:16px 20px;font-size:13px;display:flex}@keyframes slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.tb-credit-bar{background:#fff;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.tb-credit-num{color:#1a1a1a;align-items:baseline;gap:6px;display:flex}.tb-credit-num-icon{font-size:16px}.tb-credit-num-val{font-size:18px;font-weight:700}.tb-credit-up{color:#2196f3;cursor:pointer;font-size:12px}.tb-feature-rail{-webkit-overflow-scrolling:touch;gap:16px;padding:8px 16px 16px;display:flex;overflow-x:auto}.tb-feature-rail::-webkit-scrollbar{display:none}.tb-feature-item{cursor:pointer;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:60px;display:flex;position:relative}.tb-feature-soon{color:#fff;white-space:nowrap;background:#f59e0b;border-radius:3px;padding:2px 4px;font-size:9px;font-weight:600;line-height:1;position:absolute;top:-4px;right:-8px}.tb-feature-icon{color:#1a1a1a;background:#f5f6f8;border-radius:9999px;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .1s;display:inline-flex}.tb-feature-item:active .tb-feature-icon{background:#eee;transform:scale(.92)}.tb-feature-label{color:#1a1a1a;font-size:12px}.tb-list{flex-direction:column;display:flex}.tb-list-item{cursor:pointer;background:#fff;align-items:center;gap:12px;min-height:64px;padding:10px 16px;transition:background .1s;display:flex}.tb-list-item+.tb-list-item{border-top:1px solid #f5f6f8}.tb-list-item:active{background:#f5f6f8}.tb-list-main{flex:1;min-width:0}.tb-list-title{color:#1a1a1a;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:500;line-height:1.4;overflow:hidden}.tb-list-preview{color:#999;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;line-height:1.4;overflow:hidden}.tb-list-meta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.tb-list-time{color:#ccc;font-size:12px}.tb-list-badge{color:#fff;text-align:center;background:#e53935;border-radius:9999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px}.tb-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0000000d}.tb-card-row{cursor:pointer;align-items:center;gap:12px;height:52px;padding:0 16px;transition:background .1s;display:flex}.tb-card-row+.tb-card-row{border-top:1px solid #f5f6f8}.tb-card-row:active{background:#f5f6f8}.tb-card-row-icon{color:#666;width:20px;height:20px}.tb-card-row-title{color:#1a1a1a;flex:1;font-size:15px}.tb-card-row-arrow{color:#ccc}.tb-msg-row{gap:8px;margin:8px 12px;animation:.2s ease-out fade-up;display:flex}.tb-msg-row.user{flex-direction:row-reverse}.tb-msg-avatar{color:#1a1a1a;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:inline-flex}.tb-msg-bubble{word-wrap:break-word;overflow-wrap:break-word;min-width:0;max-width:100%;box-shadow:none;border-radius:0;flex:1;padding:2px 0 6px;font-size:14px;line-height:1.6;position:relative}.tb-msg-bubble.agent{color:#1a1a1a;background:0 0;border-left:2px solid #e0e0e0;margin-top:4px;padding-left:12px}.tb-msg-bubble.user{color:#1a1a1a;text-align:right;background:0 0;flex:none;max-width:75%;margin-top:4px;margin-left:auto}.tb-msg-bubble.user .tb-msg-content-text,.tb-msg-bubble.user>span{background:0 0}.tb-loading-dots{gap:4px;padding:4px 0;display:inline-flex}.tb-loading-dots span{background:#999;border-radius:9999px;width:6px;height:6px;animation:1.4s ease-in-out infinite both loading-dot;display:inline-block}.tb-loading-dots span:first-child{animation-delay:-.32s}.tb-loading-dots span:nth-child(2){animation-delay:-.16s}.tb-loading-dots span:nth-child(3){animation-delay:0s}.tb-msg-divider{justify-content:center;align-items:center;gap:12px;margin:12px 16px;display:flex}.tb-msg-divider:before,.tb-msg-divider:after{content:"";background:#eee;flex:1;height:1px}.tb-msg-divider-text{color:#999;font-size:12px}.tb-quick{left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom) + 18px);-webkit-overflow-scrolling:touch;z-index:24;background:linear-gradient(#fff0,#fff);gap:8px;padding:8px 12px;display:flex;position:fixed;overflow-x:auto}.tb-quick::-webkit-scrollbar{display:none}.tb-quick-btn{color:#1a1a1a;cursor:pointer;background:#f5f6f8;border:0;border-radius:16px;flex-shrink:0;align-items:center;gap:4px;height:32px;padding:0 14px;font-size:13px;transition:background .1s;display:inline-flex}.tb-quick-btn:active{background:#eee}.tb-quick-custom-wrap{flex-shrink:0;display:inline-flex;position:relative}.tb-quick-btn-custom{padding-right:10px}.tb-quick-custom-del{color:#fff;cursor:pointer;opacity:0;-webkit-tap-highlight-color:transparent;background:#1a1a1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:-6px;right:-6px}.tb-quick-custom-wrap:hover .tb-quick-custom-del,.tb-quick-custom-wrap:focus-within .tb-quick-custom-del{opacity:1}@media (hover:none){.tb-quick-custom-del{opacity:.85}}.tb-input-bar{padding:8px 12px max(8px, env(safe-area-inset-bottom));z-index:25;background:#f5f6f8;border-top:1px solid #eee;position:fixed;bottom:0;left:0;right:0}.tb-input-row{align-items:flex-end;gap:8px;display:flex}.tb-input-round-btn{color:#1a1a1a;cursor:pointer;background:#f0f0f0;border:0;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .1s,background .1s;display:inline-flex}.tb-input-round-btn:active{background:#e5e7eb;transform:scale(.92)}.tb-input-area{color:#1a1a1a;resize:none;background:#f0f0f0;border:0;border-radius:20px;outline:none;flex:1;min-height:40px;max-height:120px;padding:10px 14px;font-family:inherit;font-size:14px;line-height:1.5}.tb-input-area::placeholder{color:#ccc}.tb-send-btn{color:#fff;cursor:pointer;background:#1a1a1a;border:0;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .1s;display:inline-flex}.tb-send-btn:active{transform:scale(.92)}.tb-input-disclaimer{text-align:center;color:#999;margin-top:6px;font-size:12px}.tb-modal-mask{z-index:50;background:#00000080;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.tb-modal{background:#fff;border-radius:20px;width:100%;max-width:360px;padding:24px;animation:.2s ease-out fade-up;box-shadow:0 12px 40px #0000001f}.tb-modal-icon{color:#1a1a1a;background:#f5f6f8;border-radius:9999px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 12px;font-size:32px;display:inline-flex}.tb-modal-title{text-align:center;color:#1a1a1a;margin-bottom:16px;font-size:18px;font-weight:700}.tb-modal-input{color:#1a1a1a;background:#f5f6f8;border:0;border-radius:8px;outline:none;width:100%;margin-bottom:16px;padding:12px 16px;font-family:inherit;font-size:14px}.tb-modal-input::placeholder{color:#ccc}.tb-modal-input::-ms-reveal{display:none}.tb-modal-input::-ms-clear{display:none}.tb-modal-input::-webkit-clear-button{appearance:none;display:none}.tb-modal-input::-webkit-inner-spin-button{appearance:none;display:none}.tb-modal-input::-webkit-outer-spin-button{appearance:none;display:none}.tb-modal-actions{gap:12px;display:flex}.tb-modal-btn{cursor:pointer;border:0;border-radius:20px;flex:1;height:40px;font-size:14px;font-weight:500;transition:opacity .1s}.tb-modal-btn:active{opacity:.7}.tb-modal-btn.cancel{color:#1a1a1a;background:#f0f0f0}.tb-modal-btn.confirm{color:#fff;background:#1a1a1a}.tb-bottom-sheet-mask{z-index:45;background:#0006;animation:.2s ease-out fade-in;position:fixed;inset:0}.tb-bottom-sheet{padding:20px 16px max(20px, env(safe-area-inset-bottom));z-index:46;background:#fff;border-radius:16px 16px 0 0;animation:.2s ease-out slide-in-up;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.tb-bottom-sheet-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.tb-bottom-sheet-item{cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:8px 0;display:flex}.tb-bottom-sheet-item:active{opacity:.7}.tb-bottom-sheet-icon{color:#1a1a1a;background:#f5f6f8;border-radius:9999px;justify-content:center;align-items:center;width:64px;height:64px;font-size:26px;display:inline-flex}.tb-bottom-sheet-label{color:#1a1a1a;font-size:12px}.tb-sheet-list{margin:0;padding:0;list-style:none}.tb-sheet-list-item{cursor:pointer;align-items:center;gap:12px;height:48px;padding:0 16px;display:flex}.tb-sheet-list-item:active{background:#f5f6f8}.tb-sheet-list-icon{color:#1a1a1a;background:#f5f6f8;border-radius:9999px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:inline-flex}.tb-sheet-list-title{color:#1a1a1a;font-size:15px}.tb-search-bar{color:#999;background:#f5f6f8;border-radius:20px;align-items:center;gap:8px;height:44px;margin:12px 16px;padding:0 14px;display:flex}.tb-search-bar input{color:#1a1a1a;background:0 0;border:0;outline:none;flex:1;font-family:inherit;font-size:14px}.tb-search-bar input::placeholder{color:#ccc}.tb-chip-row{-webkit-overflow-scrolling:touch;gap:8px;padding:0 16px 12px;display:flex;overflow-x:auto}.tb-chip-row::-webkit-scrollbar{display:none}.tb-chip{color:#999;cursor:pointer;white-space:nowrap;background:#fff;border:0;border-radius:16px;flex-shrink:0;align-items:center;height:32px;padding:0 16px;font-size:13px;transition:background .1s,color .1s;display:inline-flex}.tb-chip.active{color:#1a1a1a;background:#f0f0f0;font-weight:500}.tb-member-card{color:#fff;background:linear-gradient(135deg,#2d1b69 0%,#1a1a2e 100%);border-radius:16px;justify-content:space-between;align-items:center;height:80px;margin:16px;padding:0 20px;display:flex}.tb-member-card-left{align-items:center;gap:10px;display:flex}.tb-member-card-icon{color:gold;font-size:24px}.tb-member-card-name{font-size:16px;font-weight:600}.tb-member-card-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:16px;align-items:center;height:32px;padding:0 16px;font-size:13px;display:inline-flex}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.tb-msg-user-anim{animation:.2s ease-out slide-in-right}.tb-bottom-sheet-panel{padding:8px 0 max(20px, env(safe-area-inset-bottom));z-index:46;background:#fff;border-radius:20px 20px 0 0;animation:.2s ease-out slide-in-up;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.tb-bottom-sheet-list{margin:0;padding:0;list-style:none}.tb-bottom-sheet-row{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:14px;width:100%;height:48px;padding:0 24px;font-family:inherit;transition:background .1s;display:flex}.tb-bottom-sheet-row:active{background:#f5f6f8}.tb-bottom-sheet-row-icon{color:#1a1a1a;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:20px;display:inline-flex}.tb-bottom-sheet-row-title{color:#1a1a1a;flex:1;font-size:15px}.tb-bottom-sheet-row-arrow{color:#ccc;font-size:18px}.tb-bottom-sheet-cancel{color:#1a1a1a;cursor:pointer;background:#f5f6f8;border:0;border-radius:12px;width:calc(100% - 32px);height:48px;margin:8px 16px 0;font-family:inherit;font-size:15px;font-weight:500;transition:background .1s;display:block}.tb-bottom-sheet-cancel:active{background:#eee}@keyframes slide-in-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tb-thinking-bar{left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom) + 18px + 44px);color:#999;z-index:24;background:#fafafa;border-top:1px solid #f5f6f8;align-items:center;gap:8px;padding:10px 16px;font-size:13px;line-height:1.5;display:flex;position:fixed}.tb-thinking-bar-name{color:#666;font-weight:500}.tb-thinking-dots{gap:3px;margin-left:2px;display:inline-flex}.tb-thinking-dots span{background:#999;border-radius:9999px;width:4px;height:4px;animation:1.4s ease-in-out infinite both loading-dot;display:inline-block}.tb-thinking-dots span:first-child{animation-delay:-.32s}.tb-thinking-dots span:nth-child(2){animation-delay:-.16s}.tb-thinking-dots span:nth-child(3){animation-delay:0s}@keyframes loading-dot{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.app-shell{background:#fff;width:100%;max-width:100%;min-height:100vh;padding-left:0;padding-right:0;position:relative;overflow-x:hidden}@media (width>=1282px){.app-shell{max-width:100%;box-shadow:none;border-left:0;border-right:0;margin:0}}@media (width>=1024px){:root{--sidebar-w:280px}.tb-drawer-mask{display:none!important}.tb-drawer{width:var(--sidebar-w);max-width:min(var(--sidebar-w), 60vw);animation:none;box-shadow:1px 0 8px #0000000d}.tb-topbar{left:var(--sidebar-w)}.tb-topbar-title{text-align:left}.tb-topbar button[aria-label=菜单]{display:none}.app-shell{padding-left:var(--sidebar-w);min-height:100vh}.app-shell--login{padding-left:0!important}.app-shell>.min-h-screen{width:auto;max-width:100%}.tb-input-bar,.tb-quick,.tb-pending-files,.coder-sidebar{left:var(--sidebar-w)}}.mobile-tabbar{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);padding-bottom:env(safe-area-inset-bottom);background:#fffffff5;border-top:1px solid #0f172a14;position:fixed;bottom:0;left:0;right:0}.bubble-user,.bubble-agent{word-wrap:break-word;border-radius:16px;max-width:75%;padding:10px 14px;line-height:1.5}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 12px}.scroll-touch{-webkit-overflow-scrolling:touch}.page-shell{background:#fff;min-height:calc(100vh - 48px);padding:16px}.tb-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding-top:96px;padding-bottom:96px;display:flex}.tb-empty-icon{margin-bottom:16px;font-size:56px;line-height:1;display:inline-block}.tb-empty-title{color:#1a1a1a;margin:8px 0 0;font-size:18px;font-weight:600;line-height:1.4}.tb-empty-desc{color:#999;text-align:center;max-width:280px;margin:8px 0 0;font-size:14px;line-height:1.5}.tb-empty-badge{color:#999;letter-spacing:.5px;background:#f5f6f8;border-radius:999px;margin-top:16px;padding:4px 12px;font-size:12px;line-height:1.6;display:inline-block}.tb-plus-menu{z-index:90;transform-origin:100% 0;background:#fff;border-radius:8px;width:240px;padding:6px 0;animation:.16s ease-out fade-in;position:fixed;top:52px;right:16px;box-shadow:0 12px 40px #0000001f}.tb-plus-menu-list{margin:0;padding:0;list-style:none}.tb-plus-menu-row{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:12px;width:100%;padding:10px 14px;transition:background .12s ease-out;display:flex}.tb-plus-menu-row:hover{background:#f5f6f8}.tb-plus-menu-row:active{background:#eee}.tb-plus-menu-icon{background:#f5f6f8;border-radius:8px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;line-height:1;display:inline-flex}.tb-plus-menu-emoji{font-size:18px;line-height:1;display:inline-block}.tb-plus-menu-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tb-plus-menu-title{color:#1a1a1a;font-size:15px;font-weight:500;line-height:1.4}.tb-plus-menu-hint{color:#999;white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.4;overflow:hidden}@media (width<=360px){.tb-plus-menu{width:calc(100vw - 32px);max-width:240px}}.tb-msg-mention{color:#fff;-webkit-font-smoothing:antialiased;background:#ff3b30;border-radius:999px;flex-shrink:0;margin-right:6px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4;display:inline-block}.chat-topbar-center{flex:1;min-width:0;overflow:hidden}.tb-files-page{background:#fff;min-height:calc(100vh - 97px);padding-bottom:16px}.tb-files-header{text-align:left;background:#fff;border-bottom:1px solid #f5f6f8;padding:20px 16px 16px}.tb-files-tabs{z-index:5;background:#fff;border-bottom:1px solid #eee;gap:0;padding:0 16px;display:flex;position:sticky;top:48px}.tb-files-tab{color:#999;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;height:48px;font-family:inherit;font-size:15px;font-weight:500;transition:color .1s,border-color .1s}.tb-files-tab.active{color:#1a1a1a;border-bottom-color:#1a1a1a;font-weight:600}.tb-files-tab:active{opacity:.7}.tb-files-list{background:#fff;padding:8px 0}.tb-files-row{cursor:pointer;text-align:left;width:100%;min-height:56px;color:inherit;background:#fff;border:0;align-items:center;gap:12px;padding:10px 16px;font-family:inherit;transition:background .1s;display:flex}.tb-files-row+.tb-files-row{border-top:1px solid #f5f6f8}.tb-files-row:active{background:#f5f6f8}.tb-files-row-icon{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:22px;line-height:1;display:inline-flex}.tb-files-row-main{flex:1;min-width:0}.tb-files-row-title{color:#1a1a1a;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:500;line-height:1.4;overflow:hidden}.tb-files-row-meta{color:#999;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12px;line-height:1.4;overflow:hidden}.tb-files-row-arrow{color:#ccc;flex-shrink:0;font-size:20px;line-height:1}.tb-files-md{box-sizing:border-box}.tb-files-edit-btn{color:#999;cursor:not-allowed;background:#f5f6f8;border:0;border-radius:12px;width:100%;height:44px;font-family:inherit;font-size:15px;font-weight:500;transition:background .1s;display:block}.tb-files-edit-btn:disabled{opacity:1}.tb-files-storage{text-align:center;color:#999;border-top:1px solid #f5f6f8;margin-top:24px;padding:16px;font-size:12px}.tb-files-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 24px;display:flex}.tb-subagent-timeline{background:#fafafa;border:1px solid #eee;border-radius:12px;margin:8px 16px;padding:12px 16px}.tb-subagent-header{color:#666;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;display:flex}.tb-subagent-list{margin:0;padding:0;list-style:none}.tb-subagent-item{align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.tb-subagent-emoji{font-size:16px}.tb-subagent-name{color:#1a1a1a;flex:1;font-weight:500}.tb-subagent-status{color:#999;font-size:12px}.tb-subagent-item.status-running .tb-subagent-status{color:#007aff}.tb-subagent-item.status-done .tb-subagent-status{color:#34c759}.tb-subagent-integrating{color:#666;border-top:1px solid #eee;margin-top:8px;padding-top:8px;font-size:12px}.md-editor{background:#fff;border:1px solid #eee;border-radius:12px;margin:0 16px 24px;overflow:hidden}.md-editor-toolbar{background:#fafafa;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;display:flex}.md-editor-status{color:#666}.md-editor-actions{gap:8px;display:flex}.md-editor-btn{cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:500}.md-editor-btn.ghost{color:#666;background:#fff;border:1px solid #ddd}.md-editor-btn.primary{color:#fff;background:#1a1a1a}.md-editor-btn.primary:disabled{cursor:not-allowed;background:#ccc}.md-editor-body{grid-template-columns:1fr 1fr;min-height:360px;max-height:60vh;display:grid}.md-editor-input{resize:vertical;color:#1a1a1a;background:#fff;border:none;border-right:1px solid #eee;outline:none;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6}.md-editor-preview{color:#1a1a1a;background:#fff;padding:16px;font-size:13px;overflow-y:auto}@media (width<=768px){.md-editor-body{grid-template-columns:1fr;max-height:none}.md-editor-input{border-bottom:1px solid #eee;border-right:none;min-height:360px}.md-editor-preview{display:none}}.chat-topbar-center{cursor:pointer;-webkit-tap-highlight-color:#ff3b301f}.tb-msg-mention{color:#fff;-webkit-font-smoothing:antialiased;background:#ff3b30;border-radius:999px;flex-shrink:0;margin-right:6px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4;animation:1.5s ease-in-out infinite tb-mention-pulse;display:inline-block}@keyframes tb-mention-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}.tb-sidebar-unread{color:#fff;-webkit-font-smoothing:antialiased;background:#ff3b30;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:8px;padding:0 6px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.tb-drawer-agent-section-title{color:#999;letter-spacing:.5px;text-transform:uppercase;padding:12px 16px 6px;font-size:12px}.tb-image-tile-row{border-bottom:1px solid #f5f6f8;justify-content:center;padding:16px 16px 8px;display:flex}.tb-image-tile{cursor:pointer;background:#f5f6f8;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:72px;height:72px;font-family:inherit;transition:background .1s;display:flex}.tb-image-tile:active{background:#eee}.tb-image-tile-emoji{font-size:28px;line-height:1}.tb-image-tile-label{color:#666;font-size:11px;font-weight:500;line-height:1}.tb-schedule-header{color:#1a1a1a;border-bottom:1px solid #f5f6f8;align-items:center;gap:8px;padding:12px 24px 8px;font-size:16px;font-weight:600;display:flex}.tb-schedule-header-icon{font-size:20px;line-height:1}.tb-schedule-header-title{flex:1}.tb-schedule-form{flex-direction:column;gap:14px;padding:16px 20px 8px;display:flex}.tb-schedule-field{flex-direction:column;gap:6px;display:flex}.tb-schedule-field-label{color:#666;font-size:13px;font-weight:500}.tb-schedule-field-input{color:#1a1a1a;box-sizing:border-box;background:#f5f6f8;border:1px solid #0000;border-radius:8px;outline:none;width:100%;height:40px;padding:0 12px;font-family:inherit;font-size:14px;transition:border-color .1s,background .1s}.tb-schedule-field-input:focus{background:#fff;border-color:#1a1a1a}.tb-schedule-field-textarea{resize:none;height:auto;min-height:72px;padding:10px 12px;line-height:1.5}.tb-schedule-submit{color:#fff;cursor:pointer;background:#1a1a1a;border:0;border-radius:12px;width:100%;height:44px;font-family:inherit;font-size:15px;font-weight:600;transition:opacity .1s}.tb-schedule-submit:disabled{opacity:.4;cursor:not-allowed}.tb-mail-header{color:#1a1a1a;border-bottom:1px solid #f5f6f8;align-items:center;gap:8px;padding:12px 24px 8px;font-size:16px;font-weight:600;display:flex}.tb-mail-header-icon{font-size:20px;line-height:1}.tb-mail-header-title{flex:1}.tb-mail-form{flex-direction:column;gap:14px;padding:16px 20px 8px;display:flex}.tb-mail-field{flex-direction:column;gap:6px;display:flex}.tb-mail-field-label{color:#666;font-size:13px;font-weight:500}.tb-mail-field-input{color:#1a1a1a;box-sizing:border-box;background:#f5f6f8;border:1px solid #0000;border-radius:8px;outline:none;width:100%;height:40px;padding:0 12px;font-family:inherit;font-size:14px;transition:border-color .1s,background .1s}.tb-mail-field-input:focus{background:#fff;border-color:#1a1a1a}.tb-mail-field-textarea{resize:none;height:auto;min-height:100px;padding:10px 12px;line-height:1.5}.tb-mail-submit{color:#fff;cursor:pointer;background:#1a1a1a;border:0;border-radius:12px;width:100%;height:44px;font-family:inherit;font-size:15px;font-weight:600;transition:opacity .1s}.tb-mail-submit:disabled{opacity:.4;cursor:not-allowed}.tb-msg-thumb{-o-object-fit:cover;object-fit:cover;background:#f5f6f8;border-radius:8px;width:auto;max-width:200px;height:auto;max-height:200px;margin-bottom:8px;display:block}.tb-tasks-summary{background:#fff;border-bottom:1px solid #f5f6f8;gap:0;padding:12px 16px;display:flex}.tb-tasks-summary-item{border-right:1px solid #f5f6f8;flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.tb-tasks-summary-item:last-child{border-right:0}.tb-tasks-summary-num{color:#1a1a1a;font-size:20px;font-weight:600;line-height:1.2}.tb-tasks-summary-label{color:#999;font-size:11px;line-height:1.4}.tb-tasks-list{background:#fff;margin:0;padding:0;list-style:none}.tb-task-item{border-bottom:1px solid #f5f6f8;padding:14px 16px;transition:background .1s}.tb-task-item:active{background:#fafafa}.tb-task-item-row{flex-direction:column;gap:6px;display:flex}.tb-task-item-meta{color:#999;align-items:center;gap:8px;font-size:12px;display:flex}.tb-task-item-agent{color:#666;font-weight:500}.tb-task-item-time{color:#bbb;margin-left:auto;font-size:11px}.tb-task-item-title{color:#1a1a1a;font-size:14px;font-weight:500;line-height:1.5}.tb-task-item-duration{color:#999;margin-top:2px;font-size:11px}.tb-task-badge{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.5;display:inline-block}.tb-task-badge.done{color:#2e7d32;background:#e8f5e9}.tb-task-badge.running{color:#e65100;background:#fff3e0}.tb-task-badge.todo{color:#999;background:#f5f6f8}.tb-task-progress{background:#f5f6f8;border-radius:2px;width:100%;height:4px;margin-top:4px;overflow:hidden}.tb-task-progress-bar{background:#1a1a1a;border-radius:2px;height:100%;transition:width .4s}.tb-tasks-coming-soon{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:24px 16px 48px;display:flex}.tb-tasks-coming-soon-badge{color:#999;letter-spacing:.5px;background:#f5f6f8;border-radius:999px;padding:4px 12px;font-size:12px;line-height:1.6;display:inline-block}.tb-tasks-coming-soon-text{color:#999;max-width:320px;font-size:12px;line-height:1.5}.tb-think-toggle{color:#666;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#f5f6f8;border:0;border-radius:10px;align-items:center;gap:4px;margin-bottom:8px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:500;transition:background .1s;display:inline-flex}.tb-think-toggle:active{background:#e8e8ea}.tb-think-content{color:#666;white-space:pre-wrap;word-break:break-word;background:#fafafa;border-left:3px solid #ccc;border-radius:0 6px 6px 0;margin:6px 0 10px;padding:10px 12px;font-size:12px;line-height:1.6}.tb-skill-tabbar{z-index:10;background:#fff;border-bottom:1px solid #f0f0f0;padding:0 16px;display:flex;position:sticky;top:48px}.tb-skill-tab{color:#999;cursor:pointer;background:0 0;border:0;flex:1;height:44px;font-family:inherit;font-size:15px;transition:color .1s;position:relative}.tb-skill-tab.active{color:#1a1a1a;font-weight:600}.tb-skill-tab.active:after{content:"";background:#1a1a1a;border-radius:2px;width:28px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.tb-skill-tab-count{color:#999;margin-left:4px;font-size:12px;font-weight:400;display:inline-block}.tb-skill-tab.active .tb-skill-tab-count{color:#1a1a1a}.tb-skill-list{flex-direction:column;gap:10px;padding:12px 16px 24px;display:flex}.tb-skill-card{cursor:pointer;background:#fff;border-radius:14px;align-items:flex-start;gap:12px;padding:14px;transition:background .1s,transform .1s;display:flex;box-shadow:0 2px 10px #0000000a}.tb-skill-card:active{background:#fafafa;transform:scale(.99)}.tb-skill-card-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:26px;display:inline-flex}.tb-skill-card-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tb-skill-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tb-skill-card-name{color:#1a1a1a;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden}.tb-skill-card-installed{color:#059669;background:#ecfdf5;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:500}.tb-skill-card-desc{color:#666;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.tb-skill-card-meta{color:#999;align-items:center;gap:12px;margin-top:2px;font-size:12px;display:flex}.tb-skill-card-stars{color:#f59e0b;align-items:center;gap:2px;display:inline-flex}.tb-skill-card-stars .tb-skill-star-empty{color:#e5e5e5}.tb-skill-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 32px;display:flex}.tb-skill-empty-icon{opacity:.6;margin-bottom:12px;font-size:48px}.tb-skill-empty-text{color:#999;font-size:14px;line-height:1.6}.tb-skill-mock-hint{text-align:center;color:#bbb;padding:12px 16px 24px;font-size:12px;line-height:1.6}.tb-skill-detail-mask{z-index:60;background:#00000080;justify-content:center;align-items:flex-end;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.tb-skill-detail{width:100%;max-width:480px;max-height:88vh;padding-bottom:max(0px, env(safe-area-inset-bottom));background:#fff;border-radius:20px 20px 0 0;flex-direction:column;animation:.22s ease-out slide-in-up;display:flex;overflow:hidden}.tb-skill-detail-head{border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.tb-skill-detail-title{color:#1a1a1a;font-size:15px;font-weight:600}.tb-skill-detail-close{color:#666;cursor:pointer;background:#f5f6f8;border:0;border-radius:16px;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:16px;display:inline-flex}.tb-skill-detail-body{-webkit-overflow-scrolling:touch;flex:1;padding:16px;overflow-y:auto}.tb-skill-detail-hero{align-items:center;gap:14px;margin-bottom:16px;display:flex}.tb-skill-detail-icon{color:#fff;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:36px;display:inline-flex}.tb-skill-detail-name{color:#1a1a1a;font-size:20px;font-weight:700;line-height:1.3}.tb-skill-detail-meta{color:#999;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;font-size:12px;display:flex}.tb-skill-detail-section{margin-bottom:18px}.tb-skill-detail-section:last-child{margin-bottom:0}.tb-skill-detail-section-title{color:#1a1a1a;margin-bottom:8px;font-size:14px;font-weight:600}.tb-skill-detail-desc{color:#444;word-break:break-word;font-size:14px;line-height:1.7}.tb-skill-detail-features{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tb-skill-detail-features li{color:#444;align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;display:flex}.tb-skill-detail-features li:before{content:"✓";color:#10b981;flex-shrink:0;font-weight:700}.tb-skill-detail-example{color:#444;white-space:pre-wrap;word-break:break-word;background:#f5f6f8;border-radius:10px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.7}.tb-skill-detail-version{color:#999;border-top:1px dashed #f0f0f0;justify-content:space-between;align-items:center;margin-top:4px;padding:8px 0;font-size:12px;display:flex}.tb-skill-detail-actions{background:#fff;border-top:1px solid #f0f0f0;flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;display:flex}.tb-skill-detail-install{cursor:pointer;border:0;border-radius:22px;flex:1;height:44px;font-family:inherit;font-size:15px;font-weight:600;transition:opacity .1s,background .1s}.tb-skill-detail-install:active{opacity:.75}.tb-skill-detail-install.install{color:#fff;background:#1a1a1a}.tb-skill-detail-install.uninstall{color:#1a1a1a;background:#f0f0f0}.tb-skill-detail-install.disabled{color:#999;cursor:not-allowed;background:#e5e5e5}.tb-skill-toggle{cursor:pointer;background:#e5e5e5;border:0;border-radius:14px;flex-shrink:0;width:48px;height:28px;padding:0;font-family:inherit;transition:background .18s;position:relative}.tb-skill-toggle:after{content:"";background:#fff;border-radius:12px;width:24px;height:24px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.tb-skill-toggle.on{background:#10b981}.tb-skill-toggle.on:after{transform:translate(20px)}.tb-skill-config-note{color:#b45309;background:#fef3c7;border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:13px;line-height:1.5}.tw-tabs{gap:8px;padding:12px 16px 0;display:flex}.tw-tab{color:#666;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#f5f6f8;border:0;border-radius:8px;flex:1;padding:10px 0;font-size:14px;font-weight:500;transition:background .12s,color .12s}.tw-tab.on{color:#fff;background:#1a1a1a}.tw-search{background:#f5f6f8;border-radius:10px;align-items:center;height:40px;margin:12px 16px 0;padding:0 10px;display:flex;position:relative}.tw-search-icon{color:#999;margin-right:6px;font-size:14px}.tw-search-input{color:#1a1a1a;background:0 0;border:0;outline:none;flex:1;height:100%;font-family:inherit;font-size:14px}.tw-search-input::placeholder{color:#999}.tw-search-clear{color:#999;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.tw-chips{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:12px 16px;display:flex;overflow-x:auto}.tw-chips::-webkit-scrollbar{display:none}.tw-chip{color:#666;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #e5e5e5;border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:13px;transition:all .12s}.tw-chip.on{color:#fff;background:#1a1a1a;border-color:#1a1a1a}.tw-grid{grid-template-columns:1fr 1fr;gap:12px;padding:0 16px 32px;display:grid}.tw-card{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #f0f0f0;border-radius:12px;transition:transform .12s,box-shadow .12s;overflow:hidden}.tw-card:active{transform:scale(.98);box-shadow:0 2px 12px #0000000f}.tw-card-head{align-items:flex-end;height:80px;padding:10px;display:flex;position:relative}.tw-card-avatar{border:2px solid #fff;box-shadow:0 2px 6px #00000014}.tw-card-fav{cursor:pointer;color:#666;-webkit-tap-highlight-color:transparent;background:#ffffffe6;border:0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:8px;right:8px}.tw-card-fav[aria-pressed=true]{color:#ef4444}.tw-card-body{padding:10px 12px 12px}.tw-card-name{color:#1a1a1a;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:14px;font-weight:600;overflow:hidden}.tw-card-short{color:#666;-webkit-line-clamp:2;-webkit-box-orient:vertical;height:34px;margin-bottom:8px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.tw-card-tags{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.tw-tag{color:#666;background:#f5f6f8;border-radius:4px;padding:2px 8px;font-size:11px;line-height:1.5;display:inline-block}.tw-card-stats{color:#999;align-items:center;gap:8px;font-size:11px;display:flex}.tw-card-stats span{align-items:center;gap:2px;display:inline-flex}.tw-stars{letter-spacing:-1px;color:#e0e0e0;font-size:11px}.tw-star.on{color:#f59e0b}.tw-star.half{color:#f59e0b;opacity:.6}.tw-empty{text-align:center;flex-direction:column;align-items:center;padding:64px 16px;display:flex}.tw-empty-icon{margin-bottom:12px;font-size:44px}.tw-empty-text{color:#1a1a1a;font-size:14px;font-weight:500}.tw-empty-sub{color:#999;margin-top:6px;font-size:12px}.tw-mine-list{flex-direction:column;gap:10px;margin:12px 16px 32px;padding:0;list-style:none;display:flex}.tw-mine-item{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #f0f0f0;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex;position:relative}.tw-mine-item:active{background:#fafafa}.tw-mine-avatar{flex-shrink:0}.tw-mine-meta{flex:1;min-width:0}.tw-mine-name{color:#1a1a1a;margin-bottom:2px;font-size:14px;font-weight:600}.tw-mine-short{color:#666;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:12px;overflow:hidden}.tw-mine-stats{color:#999;gap:10px;font-size:11px;display:flex}.tw-mine-switch{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#e5e5e5;border:0;border-radius:999px;flex-shrink:0;width:38px;height:22px;padding:0;transition:background .16s;position:relative}.tw-mine-switch.on{background:#10b981}.tw-mine-switch-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.tw-mine-switch.on .tw-mine-switch-knob{transform:translate(16px)}.tw-mine-status{color:#999;background:#f5f6f8;border-radius:4px;padding:1px 6px;font-size:10px;position:absolute;top:6px;right:10px}.tw-mine-status.on{color:#10b981;background:#ecfdf5}.tw-detail{padding:16px 16px 40px}.tw-detail-head{text-align:center;margin-bottom:24px}.tw-detail-avatar-wrap{border-radius:50%;justify-content:center;align-items:center;width:104px;height:104px;margin:8px auto 12px;display:flex}.tw-detail-name{color:#1a1a1a;margin:0 0 10px;font-size:22px;font-weight:600}.tw-detail-tags{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:8px;display:flex}.tw-detail-author{color:#999;font-size:12px}.tw-section{background:#fafafa;border-radius:12px;margin-bottom:12px;padding:14px 16px}.tw-section-title{color:#1a1a1a;margin:0 0 8px;font-size:13px;font-weight:600}.tw-section-text{color:#444;margin:0;font-size:13px;line-height:1.65}.tw-cap-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tw-cap-item{color:#444;gap:8px;font-size:13px;line-height:1.6;display:flex}.tw-cap-dot{color:#10b981;flex-shrink:0;font-weight:600}.tw-stats-row{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.tw-stat{text-align:center;background:#fff;border-radius:8px;padding:10px 0}.tw-stat-num{color:#1a1a1a;font-size:16px;font-weight:600}.tw-stat-label{color:#999;margin-top:2px;font-size:11px}.tw-actions{gap:8px;margin-top:16px;display:flex}.tw-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:10px;flex:1;justify-content:center;align-items:center;height:44px;font-family:inherit;font-size:14px;font-weight:500;transition:opacity .12s;display:inline-flex}.tw-btn:active{opacity:.7}.tw-btn-primary{color:#fff;background:#1a1a1a}.tw-btn-ghost{color:#1a1a1a;background:#f5f6f8}.tw-btn-fav-on{color:#ef4444;background:#fee2e2}.tb-code-page{padding:0}.tb-code-list{flex-direction:column;gap:10px;padding:4px 16px 80px;display:flex}.tb-code-card{cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;gap:8px;padding:14px;transition:background .1s,transform .1s;display:flex;box-shadow:0 2px 10px #0000000a}.tb-code-card:active{background:#fafafa;transform:scale(.99)}.tb-code-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tb-code-card-title{color:#1a1a1a;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden}.tb-code-lang{color:#fff;letter-spacing:.2px;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:600}.tb-code-card-desc{color:#666;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.tb-code-card-meta{color:#999;align-items:center;gap:8px;font-size:12px;display:flex}.tb-code-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 32px;display:flex}.tb-code-empty-icon{opacity:.6;margin-bottom:12px;font-size:48px}.tb-code-empty-text{color:#999;font-size:14px;line-height:1.6}.tb-code-mock-hint{text-align:center;color:#bbb;padding:12px 16px 24px;font-size:12px;line-height:1.6}.tb-code-fab{right:20px;bottom:calc(20px + env(safe-area-inset-bottom));color:#fff;text-align:center;cursor:pointer;z-index:30;background:#1a1a1a;border:0;border-radius:28px;width:56px;height:56px;font-size:28px;font-weight:300;line-height:56px;transition:transform .1s,opacity .1s;position:fixed;box-shadow:0 6px 20px #0000002e}.tb-code-fab:active{opacity:.85;transform:scale(.94)}.tb-code-edit-mask{z-index:60;background:#00000080;justify-content:center;align-items:flex-end;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.tb-code-edit{width:100%;max-width:720px;max-height:92vh;padding-bottom:max(0px, env(safe-area-inset-bottom));background:#fff;border-radius:20px 20px 0 0;flex-direction:column;animation:.22s ease-out slide-in-up;display:flex;overflow:hidden}.tb-code-edit-head{border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.tb-code-edit-title{color:#1a1a1a;font-size:15px;font-weight:600}.tb-code-edit-close{color:#666;cursor:pointer;background:#f5f6f8;border:0;border-radius:16px;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:16px;display:inline-flex}.tb-code-edit-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:12px;padding:12px 16px;display:flex;overflow-y:auto}.tb-code-edit-field{flex-direction:column;gap:6px;display:flex}.tb-code-edit-label{color:#999;font-size:12px;font-weight:500}.tb-code-edit-input,.tb-code-edit-textarea{color:#1a1a1a;resize:none;background:#f5f6f8;border:0;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.tb-code-edit-input:focus,.tb-code-edit-textarea:focus{background:#f0f0f0}.tb-code-edit-row{align-items:center;gap:10px;display:flex}.tb-code-edit-select{color:#1a1a1a;cursor:pointer;appearance:none;background:#f5f6f8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23999' d='M6 8L0 0h12z'/%3E%3C/svg%3E") right 12px center/10px no-repeat;border:0;border-radius:10px;outline:none;flex:1;height:40px;padding:0 32px 0 12px;font-family:inherit;font-size:14px}.tb-code-edit-code{color:#f5f6f8;resize:vertical;white-space:pre;tab-size:2;background:#1a1a1a;border:0;border-radius:12px;outline:none;width:100%;min-height:220px;padding:14px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.55}.tb-code-edit-code:focus{box-shadow:inset 0 0 0 2px #ffffff14}.tb-code-edit-hint{color:#999;margin-top:4px;font-size:11px;line-height:1.4}.tb-code-output{color:#e5e5e5;white-space:pre-wrap;word-break:break-word;-webkit-overflow-scrolling:touch;background:#0f0f10;border-radius:12px;max-height:240px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.55;overflow-y:auto}.tb-code-output-empty{color:#666;font-style:italic}.tb-code-output-meta{color:#888;flex-wrap:wrap;gap:12px;margin-bottom:6px;font-size:11px;display:flex}.tb-code-output-stdout{color:#e5e5e5}.tb-code-output-stderr{color:#fca5a5}.tb-code-edit-actions{background:#fff;border-top:1px solid #f0f0f0;flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;display:flex;overflow-x:auto}.tb-code-action{cursor:pointer;border:0;border-radius:20px;flex-shrink:0;height:40px;padding:0 18px;font-family:inherit;font-size:14px;font-weight:500;transition:opacity .1s}.tb-code-action:active{opacity:.75}.tb-code-action.primary{color:#fff;background:#1a1a1a}.tb-code-action.run{color:#fff;background:#2563eb}.tb-code-action.run:disabled{cursor:not-allowed;background:#93c5fd}.tb-code-action.ghost{color:#1a1a1a;background:#f5f6f8}.tb-code-action.share{color:#1a1a1a;background:#fff;border:1px solid #e5e5e5}.tb-code-action.danger{color:#b91c1c;background:#fee2e2}.tb-code-error{color:#b91c1c;word-break:break-word;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5}.tb-code-toast{color:#fff;z-index:80;text-align:center;background:#000000d9;border-radius:999px;max-width:80vw;padding:10px 18px;font-size:13px;animation:.15s ease-out fade-in;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.tb-device-header{background:#fff;padding:20px 16px 8px}.tb-device-title{color:#1a1a1a;margin:0;font-size:22px;font-weight:700;line-height:1.3}.tb-device-sub{color:#999;margin-top:4px;font-size:13px;line-height:1.5}.tb-device-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 32px;display:flex}.tb-device-empty-icon{opacity:.6;margin-bottom:16px;font-size:64px;line-height:1}.tb-device-empty-title{color:#1a1a1a;margin-bottom:6px;font-size:16px;font-weight:600}.tb-device-empty-desc{color:#999;font-size:13px;line-height:1.5}.tb-device-list{flex-direction:column;gap:10px;margin:0;padding:12px 16px 120px;list-style:none;display:flex}.tb-device-card{cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:12px;padding:14px;transition:background .1s,transform .1s;display:flex;box-shadow:0 2px 10px #0000000a}.tb-device-card:active{background:#fafafa;transform:scale(.99)}.tb-device-card-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:26px;display:inline-flex}.tb-device-card-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tb-device-card-head{align-items:center;gap:8px;display:flex}.tb-device-card-name{color:#1a1a1a;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden}.tb-device-card-type{color:#4f46e5;background:#eef2ff;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:500}.tb-device-card-status{color:#666;align-items:center;gap:6px;font-size:12px;display:flex}.tb-device-card-time{color:#999;margin-top:2px;font-size:11px}.tb-device-card-arrow{color:#ccc;flex-shrink:0;font-size:20px;line-height:1}.tb-device-status-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px;display:inline-block}.tb-device-status-dot.online{background:#10b981;box-shadow:0 0 0 3px #10b98126}.tb-device-status-dot.offline{background:#bbb}.tb-device-status-dot.pairing{background:#3b82f6;animation:1.1s ease-in-out infinite tb-device-blink}@keyframes tb-device-blink{0%,to{opacity:1;box-shadow:0 0 0 3px #3b82f600}50%{opacity:.35;box-shadow:0 0 0 6px #3b82f640}}.tb-device-mock-hint{text-align:center;color:#bbb;padding:4px 16px 16px;font-size:12px;line-height:1.6}.tb-device-pair-bar{padding:12px 16px max(16px, env(safe-area-inset-bottom));z-index:5;background:linear-gradient(#fff0 0%,#fff 30% 100%);border-top:1px solid #f0f0f0;position:sticky;bottom:0;left:0;right:0}.tb-device-pair-bar button{width:100%}.tb-device-pair-tabs{border-bottom:1px solid #f0f0f0;gap:8px;margin-bottom:16px;padding:0 0 16px;display:flex}.tb-device-pair-tab{color:#666;cursor:pointer;background:#f5f6f8;border:0;border-radius:20px;flex:1;height:40px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s,color .12s}.tb-device-pair-tab.active{color:#fff;background:#1a1a1a}.tb-device-pair-qr{flex-direction:column;align-items:center;gap:12px;padding:8px 0 16px;display:flex}.tb-device-pair-qr-frame{background:#fff;border:1px solid #f0f0f0;border-radius:14px;padding:12px;box-shadow:0 4px 16px #00000014}.tb-device-pair-qr-frame svg{display:block}.tb-device-pair-qr-tip{color:#666;text-align:center;font-size:13px;line-height:1.6}.tb-device-pair-code-display{color:#999;flex-direction:column;align-items:center;gap:4px;margin-top:4px;font-size:13px;display:flex}.tb-device-pair-code-display strong{letter-spacing:6px;color:#1a1a1a;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:26px;font-weight:700}.tb-device-pair-regen{color:#1a1a1a;cursor:pointer;background:#f5f6f8;border:0;border-radius:16px;padding:8px 16px;font-family:inherit;font-size:13px;transition:background .1s}.tb-device-pair-regen:active{background:#e5e7eb}.tb-device-pair-regen:disabled{opacity:.5;cursor:not-allowed}.tb-device-pair-bluetooth{flex-direction:column;align-items:center;gap:6px;width:100%;margin-top:8px;display:flex}.tb-device-pair-bluetooth-btn{color:#666;cursor:pointer;background:0 0;border:1px dashed #d1d5db;border-radius:16px;padding:8px 16px;font-family:inherit;font-size:13px;transition:background .1s,color .1s}.tb-device-pair-bluetooth-btn:hover{color:#1a1a1a;background:#f9fafb}.tb-device-pair-bluetooth-hint{color:#999;text-align:center;padding:0 8px;font-size:12px;line-height:1.5}.tb-device-pair-code{flex-direction:column;gap:12px;padding:8px 0 16px;display:flex}.tb-device-pair-label{color:#666;text-align:center;font-size:13px;line-height:1.6}.tb-device-info-section{background:#fafafa;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.tb-device-info-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex}.tb-device-info-row:last-child{border-bottom:0}.tb-device-info-label{color:#999;flex-shrink:0}.tb-device-info-value{color:#1a1a1a;text-align:right;word-break:break-all;font-variant-numeric:tabular-nums}.tb-device-detail-actions{background:#fff;border-top:1px solid #f0f0f0;flex-direction:column;flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.tb-device-detail-action{color:#1a1a1a;cursor:pointer;background:#f5f6f8;border:0;border-radius:22px;width:100%;height:44px;font-family:inherit;font-size:14px;font-weight:500;transition:background .1s}.tb-device-detail-action:active{background:#e5e7eb}.tb-device-detail-action.danger{color:#dc2626;background:#fef2f2}.tb-device-detail-action.danger:active{background:#fee2e2}.file-row{min-height:56px;color:inherit;background:#fff;border-top:1px solid #f5f6f8;align-items:center;gap:12px;padding:10px 16px;font-family:inherit;display:flex;position:relative}.file-row:first-child{border-top:0}.file-row:hover{background:#fafafb}.file-row-icon{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:22px;line-height:1;display:inline-flex}.file-row-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.file-row-title{color:#1a1a1a;white-space:nowrap;text-overflow:ellipsis;text-align:left;cursor:pointer;background:0 0;border:0;max-width:100%;padding:0;font-family:inherit;font-size:15px;font-weight:500;line-height:1.4;display:inline-block;position:relative;overflow:hidden}.file-row-title.code{color:#b7791f}.file-row-meta{color:#999;white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.4;overflow:hidden}.file-row-trailing{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.file-row-star{color:#f59e0b;-webkit-user-select:none;user-select:none;font-size:14px;line-height:1}.file-row-menu{display:inline-flex;position:relative}.file-row-menu-trigger{color:#1a1a1a;cursor:pointer;letter-spacing:1px;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:20px;line-height:1;transition:background .12s;display:inline-flex}.file-row-menu-trigger:hover,.file-row-menu-trigger[aria-expanded=true]{background:#f0f1f4}.file-row-menu-pop{z-index:30;background:#fff;border:1px solid #eee;border-radius:10px;flex-direction:column;min-width:168px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0f12241f}.file-row-menu-pop button{color:#1a1a1a;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-family:inherit;font-size:14px;line-height:1.2;transition:background .12s;display:flex}.file-row-menu-pop button:hover{background:#f5f6f8}.file-row-menu-pop button:active{background:#eceef2}.file-row-menu-ico{text-align:center;width:18px;font-size:16px;line-height:1}.file-row-tooltip{color:#fff;white-space:normal;z-index:20;pointer-events:none;background:#1a1a1a;border-radius:6px;max-width:320px;margin-top:6px;padding:8px 10px;font-size:12px;line-height:1.45;display:none;position:absolute;top:100%;left:56px;box-shadow:0 6px 18px #0000002e}.file-row-title:hover+.file-row-tooltip,.file-row-title:focus-visible+.file-row-tooltip{display:block}.tb-workspace{flex-direction:column;display:flex}.tb-workspace-toolbar{z-index:6;background:#fafafb;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:48px}.tb-breadcrumb{scrollbar-width:none;flex:1;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.tb-breadcrumb::-webkit-scrollbar{display:none}.tb-breadcrumb-seg{color:#999;white-space:nowrap;align-items:center;font-size:13px;display:inline-flex}.tb-breadcrumb-slash{color:#ccc;margin:0 4px}.tb-breadcrumb-btn{color:#666;cursor:pointer;text-overflow:ellipsis;background:0 0;border:0;border-radius:4px;max-width:200px;padding:4px 6px;font-family:inherit;font-size:13px;transition:background .12s,color .12s;overflow:hidden}.tb-breadcrumb-btn:hover{color:#1a1a1a;background:#eceef2}.tb-breadcrumb-btn.active{color:#1a1a1a;cursor:default;font-weight:600}.tb-breadcrumb-btn.active:hover{background:0 0}.tb-bulk-btn{color:#fff;cursor:pointer;background:#1a1a1a;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:88px;min-height:36px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .12s;display:inline-flex}.tb-bulk-btn:hover:not(:disabled){background:#333}.tb-bulk-btn:disabled{opacity:.6;cursor:not-allowed}.tb-bulk-btn.active{background:#2d7ff9}.tb-bulk-btn.active:hover:not(:disabled){background:#1a6fe5}.tb-bulk-tip{color:#2d7ff9;background:#eef4ff;border-bottom:1px solid #dce7fb;padding:8px 16px;font-size:12px}.tb-link{color:#2d7ff9;cursor:pointer;background:0 0;border:0;padding:0 2px;font-family:inherit;font-size:12px;text-decoration:underline}.tb-files-loading,.tb-files-error,.tb-files-empty{text-align:center;color:#999;padding:32px 16px;font-size:13px}.tb-files-error{color:#dc2626}.file-row-checkbox{flex-shrink:0;justify-content:center;align-items:center;padding:0 4px 0 0;display:inline-flex}.file-row-checkbox input{cursor:pointer;accent-color:#2d7ff9;width:18px;height:18px}.file-row.readonly{background:#fcfcfd}.file-row.readonly:hover{background:#f5f6f8}.file-row-badge{vertical-align:middle;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:500;line-height:1.4;display:inline-block}.file-row-badge.readonly-badge{color:#b7791f;background:#fef3c7}.file-row-title.virtual{color:#6b7280;font-style:italic}.tb-files-list{padding:0}@media (width>=768px){.tb-workspace-toolbar{padding:12px 32px}.tb-files-list .file-row{padding-left:32px;padding-right:32px}.tb-bulk-btn{min-width:96px;min-height:40px;font-size:14px}}@media (width<=480px){.tb-workspace-toolbar{gap:8px;padding:8px 12px}.tb-bulk-btn{min-width:76px;padding:8px 10px;font-size:12px}.tb-breadcrumb-btn{padding:4px;font-size:12px}.tb-files-list .file-row{padding:12px}.file-row-title{font-size:14px}}.tb-jump-bottom-btn{right:10px;bottom:calc(env(safe-area-inset-bottom,0px) + 220px);cursor:pointer;color:#666;z-index:999;-webkit-tap-highlight-color:transparent;background:#ffffffeb;border:1px solid #e5e5e5;border-radius:15px;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .18s,opacity .18s,background .18s;animation:.18s ease-out tb-jump-bottom-fade-in;display:flex;position:fixed;box-shadow:0 2px 8px #0000000f}.tb-jump-bottom-btn:hover{color:#1a1a1a;background:#fff;transform:translateY(-1px);box-shadow:0 6px 16px #0000001f}.tb-jump-bottom-btn:active{transform:translateY(0)}@keyframes tb-jump-bottom-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tb-loading-older{text-align:center;color:#999;padding:12px 0;font-size:12px}.tb-jump-top-btn{left:10px;top:calc(env(safe-area-inset-top,0px) + 70px);cursor:pointer;color:#666;z-index:999;-webkit-tap-highlight-color:transparent;background:#ffffffeb;border:1px solid #e5e5e5;border-radius:15px;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .18s,opacity .18s,background .18s;animation:.18s ease-out tb-jump-top-fade-in;display:flex;position:fixed;box-shadow:0 2px 8px #0000000f}.tb-jump-top-btn:hover{color:#1a1a1a;background:#fff;transform:translateY(-1px);box-shadow:0 3px 10px #0000001a}.tb-jump-top-btn:active{transform:translateY(0)}@keyframes tb-jump-top-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tb-loading-older:before{content:"⏳ "}.tb-bottom-sheet-handle{background:#e0e0e0;border-radius:2px;width:36px;height:4px;margin:8px auto 12px}.tb-bottom-sheet-title{color:#1a1a1a;text-align:center;margin-bottom:4px;font-size:17px;font-weight:600}.tb-bottom-sheet-sub{color:#888;text-align:center;margin-bottom:18px;font-size:13px;line-height:1.55}.tb-bottom-sheet-sub code{color:#e85a5a;background:#f5f6f8;border-radius:4px;padding:1px 6px;font-size:12px}.tb-form-row{margin-bottom:14px;padding:0 20px}.tb-form-label{color:#555;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.tb-form-input{color:#1a1a1a;box-sizing:border-box;background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s,background .15s}.tb-form-input:focus{background:#fff;border-color:#4a90e2}.tb-form-textarea{resize:none;font-family:inherit;line-height:1.5}.tb-form-actions{gap:10px;padding:16px 20px 24px;display:flex}.tb-form-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:22px;flex:1;height:44px;font-size:15px;font-weight:500;transition:opacity .15s,transform .1s}.tb-form-btn:active{transform:scale(.98)}.tb-form-btn-secondary{color:#555;background:#f5f6f8}.tb-form-btn-primary{color:#fff;background:#4a90e2}.tb-form-btn-primary:disabled{color:#fff;cursor:not-allowed;background:#c8d8e8}.tb-saved-list{flex-wrap:wrap;gap:8px;display:flex}.tb-saved-item{background:#f0f4f8;border-radius:14px;align-items:center;display:inline-flex;overflow:hidden}.tb-saved-item-btn{color:#1a1a1a;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:6px 12px;font-size:13px}.tb-saved-item-btn:active{opacity:.7}.tb-saved-item-del{color:#999;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:6px 8px;font-size:12px}.tb-saved-item-del:hover{color:#e85a5a}.tb-lightbox{z-index:9999;background:#000000eb;justify-content:center;align-items:center;animation:.2s tb-lightbox-fade-in;display:flex;position:fixed;inset:0}@keyframes tb-lightbox-fade-in{0%{opacity:0}to{opacity:1}}.tb-lightbox-img{-webkit-user-select:none;user-select:none;max-width:92vw;max-height:82vh;transition:transform 50ms linear}.tb-lightbox-close{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:10;background:#ffffff26;border:none;border-radius:18px;width:36px;height:36px;font-size:18px;position:absolute;top:16px;right:16px}.tb-lightbox-close:hover{background:#ffffff47}.tb-lightbox-toolbar{color:#fff;z-index:10;background:#0000008c;border-radius:22px;align-items:center;gap:12px;padding:8px 14px;font-size:13px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.tb-lightbox-toolbar button{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;display:flex}.tb-lightbox-toolbar button:hover{background:#ffffff26}.tb-lightbox-zoom{text-align:center;font-variant-numeric:tabular-nums;min-width:44px}.tb-lightbox-title{text-overflow:ellipsis;white-space:nowrap;border-left:1px solid #ffffff40;max-width:200px;margin-left:8px;padding-left:12px;overflow:hidden}.tb-pending-files{left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom,0px) + 18px + 48px + 6px);z-index:30;background:#fff;border-top:1px solid #e5e5e5;padding:10px 12px 8px;position:fixed;box-shadow:0 -2px 8px #0000000f}.tb-pending-files-label{color:#4a90e2;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:500;display:flex}.tb-pending-files-tip{color:#4a90e2;font-weight:500;animation:1.2s ease-in-out infinite tb-pulse}@keyframes tb-pulse{0%,to{opacity:1}50%{opacity:.5}}.tb-pending-files-list{flex-wrap:wrap;gap:6px;display:flex}.tb-pending-file-chip{color:#1a1a1a;background:#f5f7fa;border:1px solid #d5dde5;border-radius:18px;align-items:center;gap:6px;max-width:220px;padding:6px 10px 6px 6px;font-size:13px;font-weight:500;display:inline-flex}.tb-pending-file-thumb{-o-object-fit:cover;object-fit:cover;border:1px solid #e5e5e5;border-radius:50%;flex-shrink:0;width:28px;height:28px}.tb-pending-file-icon{background:#e8f1fb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:inline-flex}.tb-pending-file-name{white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.tb-pending-file-del{color:#666;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#e5e5e5;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;line-height:1;display:flex}.tb-pending-file-del:hover{color:#fff;background:#ff6b6b}.tb-msg-thumb-clickable{cursor:zoom-in;transition:transform .15s,box-shadow .15s}.tb-msg-thumb-clickable:hover{transform:scale(1.02);box-shadow:0 4px 14px #0000001f}.tb-msg-thumb-clickable:active{transform:scale(.98)}.tb-msg-thumbs{grid-template-columns:repeat(2,max-content);justify-content:end;gap:6px;margin-bottom:8px;display:grid}.tb-msg-thumbs .tb-msg-thumb{max-width:140px;max-height:140px;margin-bottom:0}html,body,.tb-list,.tb-list-item,.tb-feature-item,.tb-feature-rail,.tb-credit-bar,.tb-credit-up,.tb-modal,.tb-modal-mask,.tb-drawer-item,.mobile-tab,.mobile-tabbar-fab{touch-action:manipulation}.tb-think-card{color:#666;min-width:0;max-width:100%;margin-bottom:8px;font-size:12px;display:block}.tb-think-card>.tb-think-card-summary{color:#666;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#f5f6f8;border:0;border-radius:10px;align-items:center;gap:6px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:500;list-style:none;transition:background .1s;display:inline-flex}.tb-think-card>.tb-think-card-summary::-webkit-details-marker{display:none}.tb-think-card>.tb-think-card-summary:active{background:#e8e8ea}.tb-think-card-caret{color:#888;font-size:10px}.tb-think-card-label{white-space:nowrap}.tb-think-card-body{color:#555;white-space:pre-wrap;word-break:break-all;overflow-wrap:anywhere;background:#fafafa;border-left:3px solid #ccc;border-radius:0 6px 6px 0;min-width:0;max-width:100%;max-height:320px;margin:6px 0 10px;padding:10px 12px;font-size:12px;line-height:1.6;overflow-y:auto}.tb-think-cursor{color:#888;margin-left:1px;animation:1s step-end infinite tb-think-blink;display:inline-block}@keyframes tb-think-blink{50%{opacity:0}}.tb-progress-panel{color:#445;background:#f0f4fa;border:1px solid #dde6f2;border-radius:10px;margin:8px 12px;padding:8px 10px;font-size:12px;animation:.2s tb-progress-fadein}@keyframes tb-progress-fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tb-progress-summary{color:#445;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.tb-progress-timeline{max-height:220px;margin:8px 0 0;padding:0 0 0 4px;list-style:none;overflow-y:auto}.tb-progress-row{border-bottom:1px dashed #e2e8f0;align-items:center;gap:8px;padding:3px 0;font-size:12px;display:flex}.tb-progress-row:last-child{border-bottom:0}.tb-progress-icon{text-align:center;flex-shrink:0;width:18px}.tb-progress-label{word-break:break-all;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tb-progress-ts{color:#94a3b8;flex-shrink:0;font-size:11px}.tb-progress-tool_call .tb-progress-icon{color:#2563eb}.tb-progress-tool_result .tb-progress-icon{color:#16a34a}.tb-progress-tool_result.tb-progress-failed .tb-progress-icon{color:#dc2626}.tb-progress-thinking .tb-progress-icon{color:#9333ea}.tb-progress-done .tb-progress-icon{color:#16a34a}.tb-autonomy-panel{color:#445;margin:8px 12px 0;padding:0;font-size:12px}.tb-autonomy-panel>.tb-autonomy-panel-summary{color:#445;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#f5f6f8;border:0;border-radius:10px;align-items:center;gap:6px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:500;list-style:none;display:inline-flex}.tb-autonomy-panel>.tb-autonomy-panel-summary::-webkit-details-marker{display:none}.tb-autonomy-panel-caret{color:#888;font-size:10px}.tb-autonomy-panel-label{white-space:nowrap}.tb-autonomy-panel-body{background:#f0f4fa;border-left:3px solid #b5c5f2;border-radius:0 6px 6px 0;margin-top:6px;padding:10px 12px;animation:.2s tb-autonomy-fadein}@keyframes tb-autonomy-fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tb-autonomy-panel-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.tb-autonomy-chip{color:#445;background:#fff;border:1px solid #dde6f2;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.tb-autonomy-chip.on{color:#2d4da0;background:#e8f0fe;border-color:#b5c5f2}.tb-autonomy-chip.off{color:#888;background:#f5f6f8;border-color:#e0e2e6}.tb-autonomy-section{border-top:1px dashed #dde6f2;margin-top:6px;padding-top:6px}.tb-autonomy-section:first-child{border-top:0;margin-top:0;padding-top:0}.tb-autonomy-section-title{color:#2d4da0;cursor:pointer;padding:4px 0;font-size:12px;font-weight:600;list-style:none}.tb-autonomy-section-title::-webkit-details-marker{display:none}.tb-autonomy-section-body{color:#445;white-space:pre-wrap;word-break:break-word;background:#fff9;border-radius:6px;max-height:240px;padding:6px 8px;font-size:12px;line-height:1.6;overflow-y:auto}.tb-quick-btn-d3-on{color:#fff;background:linear-gradient(135deg,#b5c5f2,#2d4da0);border:1px solid #2d4da0}.tb-quick-btn-d3-on:active{background:linear-gradient(135deg,#2d4da0,#1b3578)}:root{--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-surface:#f3f4f6;--text-primary:#1a1a1a;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--border-color:#e5e7eb;--brand-color:#2196f3;--accent-warning:#f59e0b;--accent-danger:#ef4444}[data-theme=dark]{--bg-primary:#1a1a1a;--bg-secondary:#232323;--bg-surface:#2a2a2a;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-tertiary:#6b7280;--border-color:#374151;--brand-color:#60a5fa;--accent-warning:#fbbf24;--accent-danger:#f87171}html,body{background:var(--bg-primary);color:var(--text-primary);transition:background .2s,color .2s}[data-theme=dark] .bg-white,[data-theme=dark] .bg-surface-soft{background:var(--bg-surface)!important}[data-theme=dark] .text-ink-900{color:var(--text-primary)!important}[data-theme=dark] .text-ink-700{color:var(--text-secondary)!important}[data-theme=dark] .text-ink-400{color:var(--text-tertiary)!important}[data-theme=dark] .border-ink-100,[data-theme=dark] .border-ink-200{border-color:var(--border-color)!important}[data-theme=dark] .bg-ink-100{background:var(--bg-surface)!important}.coder-workbench{background:#fafbfc;flex-direction:column;height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;display:flex;overflow:hidden}.coder-header{color:#fff;z-index:30;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#a855f7 100%);flex:0 0 56px;align-items:center;gap:8px;padding:0 12px;display:flex;box-shadow:0 1px 4px #6366f126}.coder-header-brand{flex-shrink:0;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.coder-header-brand-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;display:flex}.coder-header-title{flex-direction:column;line-height:1.15;display:flex}.coder-header-title small{opacity:.85;margin-top:1px;font-size:10px;font-weight:400}.coder-header-spacer{flex:1}.coder-header-center{flex-direction:column;flex:1;min-width:0;line-height:1.15;display:flex}.coder-header-center-title{white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.coder-header-center-sub{color:#888;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.coder-header-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:background .15s;display:flex;position:relative}.coder-header-btn:hover{background:#ffffff47}.coder-header-btn:active{transform:scale(.94)}.coder-header-btn.is-pulse{animation:1.6s ease-in-out infinite coder-pulse}.coder-header-btn-badge{color:#fff;text-align:center;background:#ef4444;border:1.5px solid #fff;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:-2px;right:-2px}@keyframes coder-pulse{0%,to{box-shadow:0 0 #ffffff80}50%{box-shadow:0 0 0 6px #fff0}}.coder-thinking-bar{color:#6d28d9;background:#f5f3ff;border:1px solid #ede9fe;border-radius:10px;flex:none;align-items:center;gap:12px;margin:0 12px 6px;padding:8px 12px;font-size:12px;display:flex;box-shadow:0 1px 3px #0000000a}.coder-thinking-bar.active{background:linear-gradient(90deg,#f5f3ff,#ede9fe,#f5f3ff) 0 0/200% 100%;animation:2s linear infinite coder-thinking-shimmer}@keyframes coder-thinking-shimmer{0%{background-position:0 0}to{background-position:200% 0}}.coder-thinking-info{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.coder-thinking-icon{font-size:13px;line-height:1}.coder-thinking-label{color:#6d28d9;white-space:nowrap;font-weight:600}.coder-thinking-detail{text-overflow:ellipsis;white-space:nowrap;opacity:.75;color:#5b21b6;flex:1;min-width:0;overflow:hidden}.coder-thinking-elapsed{color:#8b5cf6;font-variant-numeric:tabular-nums;white-space:nowrap;background:#8b5cf61f;border-radius:999px;padding:1px 8px;font-weight:600}.coder-thinking-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca;flex:none}.coder-thinking-error .coder-thinking-elapsed{display:none}.coder-thinking-progress{background:#e9e5fb;border-radius:999px;flex:0 0 90px;height:4px;overflow:hidden}.coder-thinking-progress-fill{border-radius:999px;height:100%;transition:width .3s}[data-theme=dark] .coder-thinking-bar{color:#c4b5fd;background:#1e1b4b;border-color:#312e81}[data-theme=dark] .coder-thinking-bar.active{background:linear-gradient(90deg,#1e1b4b,#312e81,#1e1b4b) 0 0/200% 100%}[data-theme=dark] .coder-thinking-label{color:#ddd6fe}[data-theme=dark] .coder-thinking-detail{color:#a5b4fc}[data-theme=dark] .coder-thinking-elapsed{color:#c4b5fd;background:#c4b5fd26}[data-theme=dark] .coder-thinking-error{color:#fca5a5;background:#450a0a;border-color:#7f1d1d}.coder-body{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.coder-chat{background:#fafbfc;flex-direction:column;flex:1;min-width:0;display:flex}.coder-preview-rail{background:#fff;border-left:1px solid #e5e7eb;flex-direction:column;flex:0 0 0;transition:flex-basis .25s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.coder-preview-rail.open{flex-basis:360px}.coder-preview-rail-content{flex-direction:column;flex:1;display:flex;overflow:hidden}@media (width>=1024px){.coder-preview-rail{display:flex}}@media (width<=1023px){.coder-preview-rail{display:none}}.coder-messages{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:16px;padding:20px 16px 12px;display:flex;overflow-y:auto}.coder-empty{text-align:center;color:#6b7280;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 20px;display:flex}.coder-empty-hero{background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:48px}.coder-empty h2{color:#1f2937;margin:0 0 6px;font-size:20px;font-weight:600}.coder-empty p{color:#6b7280;margin:0 0 24px;font-size:14px}.coder-suggestions{flex-wrap:wrap;justify-content:center;gap:8px;max-width:540px;display:flex}.coder-suggestion{cursor:pointer;color:#4b5563;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:8px 14px;font-size:13px;transition:all .15s}.coder-suggestion:hover:not(:disabled){color:#6d28d9;background:#f5f3ff;border-color:#8b5cf6;transform:translateY(-1px);box-shadow:0 4px 8px #8b5cf61f}.coder-suggestion:disabled{opacity:.5;cursor:not-allowed}.coder-msg{gap:10px;max-width:88%;animation:.25s ease-out coder-msg-in;display:flex}@keyframes coder-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.coder-msg-user{flex-direction:row-reverse;align-self:flex-end}.coder-msg-avatar{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:17px;display:flex}.coder-msg-assistant .coder-msg-avatar{color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);border-color:#0000}.coder-msg-body{box-shadow:none;background:0 0;border:0;border-radius:0;min-width:0;padding:4px 0 0}.coder-msg-user .coder-msg-body{color:inherit;box-shadow:none;background:0 0;border:0;border-radius:0}.coder-msg-content{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.65}.coder-msg-content-preview{display:inline}.coder-msg-elide{color:#9ca3af;font-size:12px;font-style:italic}.coder-expand-btn{color:#6d28d9;cursor:pointer;background:#6d28d914;border:1px solid #6d28d94d;border-radius:14px;margin:6px 0 2px;padding:4px 12px;font-size:12px;line-height:1.4;display:inline-block}.coder-expand-btn:hover{background:#6d28d926}.coder-tools-summary{color:#6b7280;align-items:center;gap:4px;margin-left:6px;font-size:11px;display:inline-flex}.coder-tools-summary-seg{border-radius:10px;align-items:center;gap:2px;margin-left:2px;padding:1px 5px;line-height:1.4;display:inline-flex}.coder-tools-summary-seg b{font-size:11px;font-weight:600}.coder-tools-summary-run{color:#b45309;background:#fef3c7}.coder-tools-summary-done{color:#047857;background:#d1fae5}.coder-tools-summary-err{color:#b91c1c;background:#fee2e2}.coder-tools-fold>summary{cursor:pointer}.coder-msg-thumbs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.coder-msg-thumb{background:#0000000d;border:1px solid #ffffff4d;border-radius:10px;flex-shrink:0;width:96px;height:96px;transition:transform .15s;display:block;overflow:hidden}.coder-msg-thumb:hover{border-color:#fff9;transform:scale(1.04)}.coder-msg-thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}[data-theme=dark] .coder-msg-thumb{background:#ffffff0d;border-color:#ffffff26}.coder-msg-files{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.coder-msg-file{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.coder-msg-file-emoji{flex-shrink:0;font-size:14px}.coder-msg-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.coder-msg-file-size{opacity:.75;flex-shrink:0;font-size:11px}.coder-file-download{max-width:100%;color:inherit;cursor:pointer;background:#6366f11f;border:1px solid #6366f159;border-radius:10px;align-items:center;gap:8px;margin:4px 0;padding:8px 12px;font-size:12px;transition:background .15s;display:inline-flex;text-decoration:none!important}.coder-file-download:hover{background:#6366f133}.coder-file-download .coder-msg-file-name{flex:1;min-width:0}.coder-file-download-btn{color:#fff;background:#6366f1;border-radius:6px;flex-shrink:0;padding:2px 10px;font-size:11px}.coder-file-download:hover .coder-file-download-btn{background:#4f46e5}.coder-msg-content code{color:#6d28d9;background:#6366f114;border-radius:4px;padding:2px 6px;font-family:ui-monospace,JetBrains Mono,Menlo,monospace;font-size:13px}.coder-msg-user .coder-msg-content code{color:#fff;background:#ffffff38}.coder-msg-tools{border-bottom:1px dashed #e5e7eb;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.coder-tool-chip{color:#4b5563;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.coder-tool-chip.coder-tool-running{color:#b45309;background:#fef3c7;border-color:#fde68a}.coder-tool-chip.coder-tool-done{color:#047857;background:#d1fae5;border-color:#a7f3d0}.coder-tool-chip.coder-tool-error{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.coder-tool-chip.coder-tool-blocked{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}.coder-tool-chip.coder-tool-L3{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.coder-msg-fold{width:100%;min-width:0;max-width:100%;margin:8px 0;font-size:12px}.coder-msg-fold>summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:#6b7280;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 0;font-weight:500;line-height:1.4;list-style:none;display:flex}.coder-msg-fold>summary::-webkit-details-marker{display:none}.coder-msg-fold>summary svg{flex-shrink:0}.coder-fold-arrow{color:#9ca3af;transition:transform .15s}.coder-msg-fold[open]>summary .coder-fold-arrow{transform:rotate(90deg)}.coder-msg-fold>summary:hover{color:#6d28d9}.coder-msg-fold-content{overflow-wrap:anywhere;word-break:break-all;background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;width:100%;min-width:0;max-width:100%;margin-top:8px;padding:10px}.coder-msg-fold-content pre{overflow-wrap:anywhere;word-break:break-all;white-space:pre-wrap;color:#374151;max-width:100%}.coder-tool-detail{margin-bottom:12px}.coder-tool-detail:last-child{margin-bottom:0}.coder-tool-detail-header{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.coder-tool-detail-header strong{color:#1f2937;font-family:ui-monospace,JetBrains Mono,Menlo,monospace}.coder-tool-detail pre{color:#e5e7eb;background:#1f2937;border-radius:6px;margin:6px 0 0;padding:8px;font-family:ui-monospace,JetBrains Mono,Menlo,monospace;font-size:11px;line-height:1.5;overflow-x:auto}.coder-tool-detail>details{margin-top:4px}.coder-tool-detail>details>summary{cursor:pointer;color:#6b7280;-webkit-user-select:none;user-select:none;padding:2px 0;font-size:11px}.coder-tool-detail>details>summary:hover{color:#6d28d9}.coder-tool-detail>details[open]>summary{color:#6d28d9;margin-bottom:4px}.coder-input-bar{padding:10px 12px;padding-bottom:max(10px, env(safe-area-inset-bottom));z-index:20;background:#fff;border-top:1px solid #e5e7eb;flex:none;align-items:flex-end;gap:8px;display:flex}.ss-overlay{z-index:1000;cursor:crosshair;background:#000000a6;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ss-wrap{border:2px solid #ffffff40;border-radius:10px;max-width:92vw;max-height:78vh;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000080}.ss-img{-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;max-height:78vh;display:block}.ss-rect{pointer-events:none;background:#6366f126;border:2px solid #6366f1;position:absolute;box-shadow:0 0 0 9999px #00000059}.ss-toolbar{background:#14141eeb;border-radius:12px;align-items:center;gap:16px;margin-top:14px;padding:10px 18px;display:flex;box-shadow:0 8px 30px #0006}.ss-hint{color:#cbd5e1;font-size:13px}.ss-actions{gap:8px;display:flex}.ss-btn{cursor:pointer;border:0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:transform .1s,box-shadow .15s,background .15s}.ss-btn:active{transform:scale(.96)}.ss-btn-ghost{color:#e2e8f0;background:#334155}.ss-btn-ghost:hover{background:#475569}.ss-btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 8px #6366f166}.ss-btn-primary:hover{box-shadow:0 4px 14px #6366f18c}.coder-shot-btn{color:#4b5563;cursor:pointer;background:#f3f4f6;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s,transform .1s;display:flex}.coder-shot-btn:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#0ea5e9,#6366f1)}.coder-shot-btn:active:not(:disabled){transform:scale(.94)}.coder-shot-btn:disabled{opacity:.45;cursor:not-allowed}[data-theme=dark] .coder-shot-btn{color:#cbd5e1;background:#1e293b}.coder-plus-btn{color:#4b5563;cursor:pointer;background:#f3f4f6;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;font-weight:300;line-height:1;transition:background .15s,transform .1s;display:flex}.coder-plus-btn:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.coder-plus-btn:active:not(:disabled){transform:scale(.94)}.coder-plus-btn:disabled{opacity:.45;cursor:not-allowed}.coder-pending-files{background:#f9fafb;border-top:1px solid #f3f4f6;flex-wrap:wrap;flex:none;gap:6px;max-height:120px;padding:8px 12px 4px;display:flex;overflow-y:auto}.coder-quote-box{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #c4b5fd;border-radius:12px;flex:none;margin:8px 12px 0;padding:10px 12px;animation:.2s ease-out coder-quote-in;box-shadow:0 2px 8px #8b5cf61a}@keyframes coder-quote-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tb-page .coder-quote-box{margin:8px 12px 0}.coder-quote-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.coder-quote-label{color:#6d28d9;font-size:12px;font-weight:500}.coder-quote-label strong{color:#4c1d95;font-weight:600}.coder-quote-close{color:#6d28d9;cursor:pointer;background:#ffffff80;border:0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;line-height:1;display:flex}.coder-quote-header-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.coder-quote-close:hover{background:#ffffffe6}.coder-quote-copy{color:#6d28d9;cursor:pointer;background:#fff;border:1px solid #c4b5fd;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s}.coder-quote-copy:hover{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#0000;transform:translateY(-1px)}[data-theme=dark] .coder-quote-copy{color:#c4b5fd;background:#0000004d;border-color:#4c1d95}[data-theme=dark] .coder-quote-copy:hover{color:#fff}.coder-quote-content{color:#4c1d95;white-space:pre-wrap;word-break:break-word;background:#ffffffb3;border-radius:8px;max-height:100px;margin-bottom:8px;padding:8px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.coder-quote-actions{flex-wrap:wrap;gap:6px;display:flex}.coder-quote-btn{color:#6d28d9;cursor:pointer;background:#fff;border:1px solid #c4b5fd;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s}.coder-quote-btn:hover{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#0000;transform:translateY(-1px)}[data-theme=dark] .coder-quote-box{background:linear-gradient(135deg,#1e1b4b,#312e81);border-color:#4c1d95}[data-theme=dark] .coder-quote-label{color:#c4b5fd}[data-theme=dark] .coder-quote-label strong{color:#ddd6fe}[data-theme=dark] .coder-quote-content{color:#e9d5ff;background:#0000004d}[data-theme=dark] .coder-quote-close{color:#c4b5fd;background:#ffffff1a}[data-theme=dark] .coder-quote-close:hover{background:#fff3}[data-theme=dark] .coder-quote-btn{color:#c4b5fd;background:#0000004d;border-color:#4c1d95}[data-theme=dark] .coder-quote-btn:hover{color:#fff}.coder-pending-file{color:#4b5563;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:6px;max-width:200px;padding:4px 8px 4px 4px;font-size:12px;display:inline-flex}.coder-pending-thumb{-o-object-fit:cover;object-fit:cover;border-radius:50%;flex-shrink:0;width:24px;height:24px}.coder-pending-emoji{flex-shrink:0;font-size:16px}.coder-pending-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.coder-pending-remove{color:#6b7280;cursor:pointer;background:#f3f4f6;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:10px;line-height:1;display:flex}.coder-pending-remove:hover{color:#fff;background:#ef4444}.coder-pending-uploading{color:#6d28d9;background:#f5f3ff;border-color:#c4b5fd}[data-theme=dark] .coder-pending-files{background:#0f172a;border-top-color:#334155}[data-theme=dark] .coder-pending-file{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .coder-plus-btn{color:#cbd5e1;background:#1e293b}[data-theme=dark] .coder-pending-remove{color:#cbd5e1;background:#334155}[data-theme=dark] .coder-pending-remove:hover{color:#fff;background:#ef4444}[data-theme=dark] .coder-pending-uploading{color:#c4b5fd;background:#1e1b4b;border-color:#4c1d95}.coder-input{resize:none;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;flex:1;min-width:0;max-height:140px;padding:10px 14px;font-family:inherit;font-size:16px;line-height:1.5;transition:border-color .15s,background .15s}.coder-input:focus{background:#fff;border-color:#8b5cf6;outline:none;box-shadow:0 0 0 3px #8b5cf61f}.coder-input:disabled{opacity:.6;cursor:not-allowed}.coder-send-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;transition:transform .1s,box-shadow .15s,opacity .15s;display:flex;box-shadow:0 2px 6px #6366f14d}.coder-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.coder-send-btn:active:not(:disabled){transform:translateY(0)}.coder-send-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.coder-send-stopped{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 6px #ef444459}.coder-send-stopped:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ef444473}.coder-init-error,.coder-init-loading{color:#b91c1c;background:#fef2f2;border-radius:12px;flex:1;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.coder-init-loading{color:#6d28d9;background:#f5f3ff}.coder-init-error button,.coder-init-loading button{color:#fff;cursor:pointer;background:#b91c1c;border:0;border-radius:6px;padding:4px 10px;font-size:11px}.coder-init-loading button{background:#6d28d9}.coder-preview-empty{text-align:center;color:#6b7280;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 20px;font-size:13px;display:flex}.coder-preview-empty-icon{opacity:.5;margin-bottom:12px;font-size:36px}.coder-preview-list-item{cursor:pointer;color:#1f2937;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;transition:all .15s;display:flex}.coder-preview-list-item:hover{color:#6d28d9;background:#f5f3ff;border-color:#8b5cf6;transform:translateY(-1px)}[data-theme=dark] .coder-preview-list-item{color:#cbd5e1;background:#0f172a;border-color:#334155}[data-theme=dark] .coder-preview-list-item:hover{color:#c4b5fd;background:#1e1b4b;border-color:#6d28d9}.coder-preview-empty code{color:#6d28d9;background:#f3f4f6;border-radius:6px;margin-top:8px;padding:6px 10px;font-family:ui-monospace,monospace;font-size:11px;display:block}.coder-preview-pane{flex-direction:column;flex:1;display:flex;overflow:hidden}.coder-preview-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex:none;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;display:flex}.coder-preview-header strong{color:#1f2937;font-weight:600}.coder-preview-mode{text-transform:uppercase;letter-spacing:.3px;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600}.coder-preview-mode.coder-preview-dev_server{color:#047857;background:#d1fae5}.coder-preview-mode.coder-preview-static{color:#1e40af;background:#dbeafe}.coder-preview-btn{cursor:pointer;color:#4b5563;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:4px 10px;font-size:11px}.coder-preview-btn:hover{color:#6d28d9;border-color:#8b5cf6}.coder-preview-error{color:#b91c1c;background:#fef2f2;border-radius:6px;margin:12px;padding:12px;font-size:12px}.coder-preview-select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;width:calc(100% - 24px);margin:8px 12px;padding:6px 10px;font-size:12px}.coder-preview-iframe{background:#fff;border:0;flex:1}.coder-preview-toast{color:#fff;z-index:50;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;align-items:center;gap:10px;padding:10px 16px;font-size:13px;animation:.25s ease-out coder-toast-in;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #6366f14d}@keyframes coder-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.coder-preview-toast button{cursor:pointer;border:0;border-radius:6px;padding:4px 10px;font-size:12px}.coder-preview-toast button:first-of-type{color:#6d28d9;background:#fff;font-weight:600}.coder-preview-toast button:last-of-type{color:#ffffffd9;background:0 0}.coder-new-session-hint{color:#fff;z-index:51;background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:12px;flex-direction:column;gap:8px;max-width:min(480px,92vw);padding:12px 16px;font-size:13px;animation:.25s ease-out coder-toast-in;display:flex;position:fixed;bottom:140px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #ef444459}.coder-new-session-hint .ns-hint-title{font-size:14px;font-weight:600}.coder-new-session-hint .ns-hint-memo{opacity:.92;white-space:pre-wrap;word-break:break-word;max-height:80px;font-size:12px;line-height:1.5;overflow-y:auto}.coder-new-session-hint .ns-hint-actions{justify-content:flex-end;gap:8px;display:flex}.coder-new-session-hint button{cursor:pointer;border:0;border-radius:6px;padding:5px 12px;font-size:12px}.coder-new-session-hint .ns-btn-go{color:#dc2626;background:#fff;font-weight:600}.coder-new-session-hint .ns-btn-close{color:#ffffffe6;background:0 0}.coder-sidebar{z-index:55;background:#fff;border-right:1px solid #e5e7eb;width:280px;padding:16px;transition:transform .25s cubic-bezier(.4,0,.2,1),left .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:2px 0 12px #00000014}.coder-sidebar.open{transform:translate(0)}.coder-sidebar-head{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.coder-sidebar-actions{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.coder-sidebar-action{cursor:pointer;color:#4b5563;text-align:left;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;transition:all .15s}.coder-sidebar-action:hover:not(:disabled){color:#6d28d9;background:#f5f3ff;border-color:#8b5cf6}.coder-sidebar-action:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .coder-sidebar-action{color:#cbd5e1;background:#0f172a;border-color:#334155}[data-theme=dark] .coder-sidebar-action:hover:not(:disabled){color:#c4b5fd;background:#1e1b4b;border-color:#6d28d9}.coder-drawer-overlay{z-index:35;background:#0000004d;animation:.2s coder-fade-in;position:fixed;inset:0}@keyframes coder-fade-in{0%{opacity:0}to{opacity:1}}.coder-section{margin-bottom:20px}.coder-section h3{text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin:0 0 8px;font-size:11px;font-weight:600}.coder-project-card{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #e5e7eb;border-radius:10px;padding:12px}.coder-project-name{color:#1f2937;font-size:13px;font-weight:600}.coder-project-status{color:#047857;margin-top:4px;font-size:11px}.coder-project-empty{color:#6b7280;font-size:12px;line-height:1.6}.coder-project-empty code{color:#6d28d9;background:#ffffffb3;border-radius:6px;margin-top:6px;padding:6px 8px;font-family:ui-monospace,monospace;font-size:11px;display:block}.coder-preview-modal-overlay{z-index:60;background:#00000080;justify-content:stretch;align-items:stretch;animation:.2s coder-fade-in;display:none;position:fixed;inset:0}.coder-preview-modal{background:#fff;flex-direction:column;flex:1;display:flex;overflow:hidden}.coder-preview-modal-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex:none;justify-content:space-between;align-items:center;padding:10px 16px;font-size:14px;display:flex}.coder-preview-modal-body{flex-direction:column;flex:1;padding:8px;display:flex;overflow:hidden}@media (width<=1023px){.coder-preview-modal-overlay{display:flex}}@media (width<=767px){.coder-header{flex-basis:52px;gap:4px;padding:0 8px}.coder-header-brand{font-size:14px}.coder-header-brand-icon{width:26px;height:26px;font-size:14px}.coder-header-title small{display:none}.coder-header-btn{width:34px;height:34px;font-size:15px}.coder-header .tb-icon-btn{flex-shrink:0;width:34px;height:34px;font-size:15px}.coder-header .coder-header-btn{width:30px;height:30px}.coder-header-center{min-width:0}.coder-header-center-title{text-overflow:ellipsis;white-space:nowrap;gap:6px;font-size:15px;overflow:hidden}.coder-header-center-title svg,.coder-header-center-title [class*=icon]{flex-shrink:0}.coder-header-center-sub{display:none}.coder-messages{gap:12px;padding:14px 12px 8px}.coder-msg{max-width:95%}.coder-input-bar{padding:8px;padding-bottom:max(8px, env(safe-area-inset-bottom));gap:6px}.coder-send-btn{width:40px;height:40px;font-size:16px}.coder-empty h2{font-size:17px}.coder-empty p{font-size:13px}.coder-suggestion{padding:7px 12px;font-size:12px}}[data-theme=dark] .coder-workbench{background:#0f172a}[data-theme=dark] .coder-header{box-shadow:0 1px 4px #0000004d}[data-theme=dark] .coder-chat{background:#0f172a}[data-theme=dark] .coder-msg-body{color:#e5e7eb;background:0 0;border:0}[data-theme=dark] .coder-msg-user .coder-msg-body{color:#e5e7eb}[data-theme=dark] .coder-msg-avatar{background:#1e293b;border-color:#334155}[data-theme=dark] .coder-input{color:#e2e8f0;background:#1e293b;border-color:#334155}[data-theme=dark] .coder-input:focus{background:#0f172a}[data-theme=dark] .coder-input-bar{background:#1e293b;border-top-color:#334155}[data-theme=dark] .coder-preview-rail{background:#1e293b;border-left-color:#334155}[data-theme=dark] .coder-suggestion{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .coder-thinking-bar{color:#c4b5fd;background:#1e1b4b;border-bottom-color:#312e81}[data-theme=dark] .coder-msg-content code{color:#c4b5fd;background:#8b5cf62e}[data-theme=dark] .coder-tool-chip{color:#cbd5e1;background:#334155;border-color:#475569}[data-theme=dark] .coder-msg-fold-content{background:#0f172a;border-color:#334155}[data-theme=dark] .coder-tool-detail pre{background:#020617}[data-theme=dark] .coder-sidebar{background:#1e293b;border-right-color:#334155}[data-theme=dark] .coder-project-card{background:linear-gradient(135deg,#1e1b4b,#312e81)}[data-theme=dark] .coder-preview-header{background:#0f172a;border-bottom-color:#334155}[data-theme=dark] .coder-preview-iframe{background:#0f172a}[data-theme=dark] .coder-preview-modal-header{background:#0f172a;border-bottom-color:#334155}[data-theme=dark] .coder-preview-empty code{color:#c4b5fd;background:#334155}[data-theme=dark] .coder-msg-tools{border-bottom-color:#334155}[data-theme=dark] .coder-init-error{color:#fecaca;background:#450a0a}[data-theme=dark] .coder-init-loading{color:#c4b5fd;background:#1e1b4b}.coder-jump-btn.tb-jump-bottom-btn{bottom:calc(env(safe-area-inset-bottom,0px) + 80px)}@media (width>=1024px){.coder-jump-btn.tb-jump-bottom-btn{right:380px}}.coder-msg-menu-mask{z-index:70;pointer-events:none;background:0 0;position:fixed;inset:0}.coder-msg-menu{z-index:71;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #00000014;border-radius:12px;flex-direction:column;gap:2px;min-width:180px;padding:4px;animation:.15s ease-out coder-menu-in;display:flex;position:fixed;box-shadow:0 8px 32px #0000002e}@keyframes coder-menu-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.coder-msg-menu-item{cursor:pointer;color:#1f2937;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:13px;transition:background .12s;display:flex}.coder-msg-menu-item:hover{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.coder-msg-menu-item:hover span:first-child{filter:brightness(1.2)}.coder-msg-menu-item span:first-child{flex-shrink:0;font-size:15px}[data-theme=dark] .coder-msg-menu{background:#1e293bf5;border-color:#ffffff14}[data-theme=dark] .coder-msg-menu-item{color:#e2e8f0}.coder-workbench-denied{text-align:center;padding:40px 20px}.coder-workbench-denied h2{color:#1f2937;margin:0 0 8px;font-size:22px}.coder-workbench-denied p{color:#6b7280;margin:0 0 16px;font-size:14px}.coder-workbench-denied button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:0;border-radius:10px;padding:8px 20px;font-size:14px}.tb-session-badge{color:#fff;text-align:center;background:#ef4444;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:2px;right:2px}.tb-icon-btn{position:relative}@keyframes chat-drawer-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.tb-think-pending{color:#999;background:#fafafa;border-left:3px dashed #ccc;margin:4px 0 10px;padding:8px 12px;font-size:12px;font-style:italic}.coder-rich{color:#1f2937;flex-direction:column;gap:8px;margin-top:4px;font-size:14px;line-height:1.6;display:flex}[data-theme=dark] .coder-rich{color:#e5e7eb}.coder-rich-text{white-space:pre-wrap;word-break:break-word}.coder-rich-code{background:#0f172a;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.coder-rich-code-head{background:#ffffff0f;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:5px 12px;display:flex}.coder-rich-code-lang{text-transform:uppercase;letter-spacing:.4px;color:#94a3b8;font-size:11px;font-weight:600}.coder-rich-copy-btn{color:#e2e8f0;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:6px;padding:2px 10px;font-size:11px;transition:background .12s ease-out}.coder-rich-copy-btn:hover{background:#fff3}.coder-rich-code-pre{color:#e2e8f0;white-space:pre;background:0 0;margin:0;padding:12px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;overflow-x:auto}.coder-rich-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow-x:auto}.coder-rich-table-head{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:5px 12px;display:flex}.coder-rich-table-label{letter-spacing:.4px;color:#666;font-size:11px;font-weight:600}.coder-rich-table-head .coder-rich-copy-btn{color:#374151;background:#fff;border:1px solid #d1d5db}.coder-rich-table-head .coder-rich-copy-btn:hover{background:#f3f4f6}[data-theme=dark] .coder-rich-table-head{background:#1f2937;border-bottom-color:#374151}[data-theme=dark] .coder-rich-table-label{color:#9ca3af}[data-theme=dark] .coder-rich-table-head .coder-rich-copy-btn{color:#e5e7eb;background:#374151;border-color:#4b5563}[data-theme=dark] .coder-rich-table-head .coder-rich-copy-btn:hover{background:#4b5563}[data-theme=dark] .coder-rich-table-wrap{background:#111827;border-color:#374151}.coder-rich-table-scroll{overflow-x:auto}.coder-rich-table{border-collapse:collapse;width:100%;font-size:13px}.coder-inline-code{color:#4f46e5;background:#6366f11f;border-radius:4px;padding:1px 5px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.9em}[data-theme=dark] .coder-inline-code{color:#a5b4fc;background:#6366f133}.coder-rich-table th,.coder-rich-table td{text-align:left;white-space:nowrap;border:1px solid #e5e7eb;padding:6px 10px}[data-theme=dark] .coder-rich-table th,[data-theme=dark] .coder-rich-table td{border-color:#374151}.coder-rich-table th{color:#4c1d95;background:#f5f3ff;font-weight:600}[data-theme=dark] .coder-rich-table th{color:#ddd6fe;background:#1e1b4b}.coder-rich-table tbody tr:nth-child(2n){background:#fafafa}[data-theme=dark] .coder-rich-table tbody tr:nth-child(2n){background:#1f2937}.coder-rich-plan{white-space:pre-wrap;word-break:break-word;background:#f5f3ff;border:1px solid #ede9fe;border-radius:10px;padding:10px 14px}[data-theme=dark] .coder-rich-plan{background:#1e1b4b;border-color:#312e81}.coder-rich-plan p{margin:0 0 6px}.coder-rich-plan p:last-child{margin-bottom:0}.first\:mt-0:first-child{margin-top:0}.last\:border-0:last-child{border-width:0}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[\.97\]:active{--tw-scale-x:.97;--tw-scale-y:.97;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[\.98\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[\.99\]:active{--tw-scale-x:.99;--tw-scale-y:.99;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:bg-amber-100:active{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.active\:bg-emerald-100:active{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity))}.active\:bg-emerald-200:active{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity))}.active\:bg-red-100:active{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.active\:bg-red-50:active{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.active\:bg-rose-50:active{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}.active\:opacity-60:active{opacity:.6}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:opacity-100{opacity:1}@media (width>=640px){.sm\:max-w-md{max-width:28rem}.sm\:items-center{align-items:center}.sm\:rounded-2xl{border-radius:1rem}}@media (width>=768px){.md\:bottom-8{bottom:2rem}.md\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.md\:mb-1{margin-bottom:.25rem}.md\:mb-2{margin-bottom:.5rem}.md\:mb-5{margin-bottom:1.25rem}.md\:mb-6{margin-bottom:1.5rem}.md\:mt-1\.5{margin-top:.375rem}.md\:mt-3{margin-top:.75rem}.md\:mt-4{margin-top:1rem}.md\:block{display:block}.md\:hidden{display:none}.md\:h-10{height:2.5rem}.md\:h-11{height:2.75rem}.md\:h-16{height:4rem}.md\:h-3\.5{height:.875rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:h-9{height:2.25rem}.md\:min-h-0{min-height:0}.md\:w-10{width:2.5rem}.md\:w-16{width:4rem}.md\:w-3\.5{width:.875rem}.md\:w-7{width:1.75rem}.md\:w-8{width:2rem}.md\:w-9{width:2.25rem}.md\:min-w-0{min-width:0}.md\:max-w-\[3\.5rem\]{max-width:3.5rem}.md\:max-w-\[70\%\]{max-width:70%}.md\:max-w-\[75\%\]{max-width:75%}.md\:max-w-\[85\%\]{max-width:85%}.md\:max-w-md{max-width:28rem}.md\:items-center{align-items:center}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:.75rem}.md\: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))}.md\: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))}.md\: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))}.md\: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))}.md\:rounded-2xl{border-radius:1rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:.75rem}.md\:p-3\.5{padding:.875rem}.md\:p-4{padding:1rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:px-3\.5{padding-left:.875rem;padding-right:.875rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.md\:pb-3{padding-bottom:.75rem}.md\:pl-20{padding-left:5rem}.md\:text-\[0\.625rem\]{font-size:.625rem}.md\:text-\[0\.6875rem\]{font-size:.6875rem}.md\:text-\[0\.75rem\]{font-size:.75rem}.md\:text-\[0\.8125rem\]{font-size:.8125rem}.md\:text-\[0\.875rem\]{font-size:.875rem}.md\:text-\[0\.9375rem\]{font-size:.9375rem}.md\:text-\[1\.0625rem\]{font-size:1.0625rem}.md\:text-\[1\.25rem\]{font-size:1.25rem}.md\:text-\[1\.5rem\]{font-size:1.5rem}.md\:text-\[1\.625rem\]{font-size:1.625rem}.md\:text-\[1rem\]{font-size:1rem}.md\:font-semibold{font-weight:600}.md\:leading-snug{line-height:1.375}}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
