@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-blue-900:oklch(37.9% .146 265.522);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-100:oklch(97% .001 106.424);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-300:oklch(86.9% .005 56.366);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-stone-600:oklch(44.4% .011 73.639);--color-stone-700:oklch(37.4% .01 67.558);--color-stone-800:oklch(26.8% .007 34.298);--color-stone-900:oklch(21.6% .006 56.043);--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--container-xl:36rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.right-2{right:calc(var(--spacing)*2)}.right-6{right:calc(var(--spacing)*6)}.bottom-2{bottom:calc(var(--spacing)*2)}.z-10{z-index:10}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-20{margin-top:calc(var(--spacing)*20)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-7{height:calc(var(--spacing)*7)}.h-12{height:calc(var(--spacing)*12)}.h-\[16px\]{height:16px}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-12{width:calc(var(--spacing)*12)}.w-\[16px\]{width:16px}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-red-900{border-color:var(--color-red-900)}.border-stone-100{border-color:var(--color-stone-100)}.border-stone-200{border-color:var(--color-stone-200)}.border-stone-300{border-color:var(--color-stone-300)}.bg-\[\#7773e8\]{background-color:#7773e8}.bg-red-50{background-color:var(--color-red-50)}.bg-stone-50{background-color:var(--color-stone-50)}.bg-stone-100{background-color:var(--color-stone-100)}.bg-stone-900{background-color:var(--color-stone-900)}.bg-white{background-color:var(--color-white)}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-2{padding-top:calc(var(--spacing)*2)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[12px\]{font-size:12px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-blue-900{color:var(--color-blue-900)}.text-red-800{color:var(--color-red-800)}.text-stone-100{color:var(--color-stone-100)}.text-stone-300{color:var(--color-stone-300)}.text-stone-400{color:var(--color-stone-400)}.text-stone-500{color:var(--color-stone-500)}.text-stone-600{color:var(--color-stone-600)}.text-stone-700{color:var(--color-stone-700)}.text-stone-800{color:var(--color-stone-800)}.text-stone-900{color:var(--color-stone-900)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.placeholder-stone-400::placeholder{color:var(--color-stone-400)}.opacity-60{opacity:.6}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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-filter{-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}.\[citation\:number\]{citation:number}.\[citation\:数字\]{citation:数字}@media(hover:hover){.group-hover\:text-blue-900:is(:where(.group):hover *){color:var(--color-blue-900)}}.selection\:bg-stone-200 ::selection{background-color:var(--color-stone-200)}.selection\:bg-stone-200::selection{background-color:var(--color-stone-200)}@media(hover:hover){.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-stone-800:hover{background-color:var(--color-stone-800)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-stone-900:focus{border-color:var(--color-stone-900)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-stone-900:focus{--tw-ring-color:var(--color-stone-900)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-stone-300:disabled{background-color:var(--color-stone-300)}@media(min-width:48rem){.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:p-8{padding:calc(var(--spacing)*8)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}}:root{--primary-color:#3b82f6;--primary-hover:#2563eb;--primary-light:#dbeafe;--secondary-color:#8b5cf6;--accent-color:#f59e0b;--success-color:#10b981;--text-primary:#0f172a;--text-secondary:#64748b;--text-tertiary:#94a3b8;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--border-color:#e2e8f0;--border-light:#f1f5f9;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 48px #00000029;--shadow-glow:0 0 20px #3b82f626;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:var(--font-family);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:1200px;line-height:1.6;overflow-x:hidden}a{color:inherit;cursor:pointer;text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea{font-family:inherit;font-size:inherit;outline:none}ul,ol{list-style:none}img{max-width:100%;display:block}#app{background:#f6f7f8;flex-direction:column;min-height:100vh;display:flex}.container{width:90%;margin:0 auto}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.btn{border-radius:var(--radius-md);white-space:nowrap;justify-content:center;align-items:center;padding:10px 20px;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:linear-gradient(135deg,var(--primary-color)0%,var(--primary-hover)100%);color:#fff;box-shadow:0 2px 8px #3b82f640}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #3b82f659}.btn-outline{border:1px solid var(--border-color);color:var(--text-primary);background-color:#0000}.btn-outline:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:var(--primary-light)}.btn-ghost{color:var(--text-secondary);background-color:#0000}.btn-ghost:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.btn-sm{border-radius:var(--radius-sm);padding:6px 14px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}.card{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tag{border-radius:var(--radius-sm);white-space:nowrap;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.tag-primary{background:var(--primary-light);color:var(--primary-color)}.tag-secondary{color:var(--secondary-color);background:#f3e8ff}.tag-success{color:var(--success-color);background:#dcfce7}.tag-accent{color:var(--accent-color);background:#fef3c7}.tag-ghost{background:var(--bg-tertiary);color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-in{animation:.5s forwards fadeIn}.slide-down{animation:.3s forwards slideDown}.scale-in{animation:.3s forwards scaleIn}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b880}.glow-effect{box-shadow:var(--shadow-glow)}.gradient-text{background:linear-gradient(135deg,var(--primary-color)0%,var(--secondary-color)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hover-lift{transition:transform .3s,box-shadow .3s}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.hover-scale{transition:transform .2s}.hover-scale:hover{transform:scale(1.02)}.hover-scale:active{transform:scale(.98)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}#app[data-v-70269b4e]{min-height:100vh;display:flex;flex-direction:column}.main-content[data-v-70269b4e]{flex:1}.sidebar[data-v-332e8c15]{position:fixed;left:0;top:0;bottom:0;width:220px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;z-index:200;padding:0;transition:width .25s ease,transform .25s ease;overflow:hidden;box-shadow:2px 0 8px #0000000a}.sidebar.collapsed[data-v-332e8c15]{width:64px}.sidebar-brand[data-v-332e8c15]{display:flex;align-items:center;gap:10px;padding:18px 16px 16px;flex-shrink:0;white-space:nowrap}.logo[data-v-332e8c15]{display:flex;align-items:center;gap:10px;text-decoration:none;flex:1;min-width:0;overflow:hidden}.logo[data-v-332e8c15]:hover{opacity:.85}.logo-icon[data-v-332e8c15]{width:32px;height:32px;flex-shrink:0;border-radius:8px;object-fit:contain}.logo-text[data-v-332e8c15]{font-size:20px;font-weight:700;color:#1e293b;transition:opacity .2s;letter-spacing:-.01em}.sidebar-toggle-btn[data-v-332e8c15]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;color:#94a3b8;cursor:pointer;transition:all .15s;flex-shrink:0;margin-left:auto}.sidebar-toggle-btn[data-v-332e8c15]:hover{background:#f1f5f9;color:#475569}.sidebar-nav[data-v-332e8c15]{flex:1;display:flex;flex-direction:column;gap:2px;padding:6px 10px}.sidebar-nav-item[data-v-332e8c15]{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;color:#64748b;border-radius:8px;cursor:pointer;transition:all .15s;text-decoration:none;white-space:nowrap}.sidebar-nav-item[data-v-332e8c15]:hover{background:#f8fafc;color:#334155}.sidebar-nav-item.active[data-v-332e8c15]{background:linear-gradient(135deg,#2563eb14,#6366f10f);color:#2563eb;font-weight:600}.sidebar-nav-item svg[data-v-332e8c15]{flex-shrink:0;color:#94a3b8;transition:color .15s}.sidebar-nav-item:hover svg[data-v-332e8c15]{color:#64748b}.sidebar-nav-item.active svg[data-v-332e8c15]{color:#2563eb}.sidebar-nav-item span[data-v-332e8c15]{transition:opacity .2s}.sidebar.collapsed .sidebar-nav-item span[data-v-332e8c15]{display:none}.sidebar.collapsed .sidebar-nav-item[data-v-332e8c15]{justify-content:center;padding:10px}.sidebar-user[data-v-332e8c15]{display:flex;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid #f1f5f9;flex-shrink:0;white-space:nowrap;position:relative;cursor:pointer}.user-avatar[data-v-332e8c15]{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#3b82f6,#0ea5e9,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:13px;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.user-avatar.logged-out[data-v-332e8c15]{background:#f8fafc;border:1px solid #e2e8f0;color:#94a3b8;box-shadow:none}.user-avatar[data-v-332e8c15]:hover{transform:scale(1.05);box-shadow:0 4px 8px #3b82f640}.sidebar-user-name[data-v-332e8c15]{font-size:13px;font-weight:500;color:#475569;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .2s}.user-dropdown[data-v-332e8c15]{position:absolute;bottom:calc(100% + 8px);left:12px;right:12px;min-width:auto;background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001a;border:1px solid #f1f5f9;overflow:hidden;z-index:201}.dropdown-item[data-v-332e8c15]{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13px;color:#475569;transition:background .15s ease;text-decoration:none}.dropdown-item[data-v-332e8c15]:hover{background:#f8fafc;color:#1e293b}@media(max-width:768px){.sidebar[data-v-332e8c15]{transform:translate(-100%);transition:transform .3s ease}.sidebar.open[data-v-332e8c15]{transform:translate(0)}}.hero[data-v-c62a591c]{position:relative;min-height:calc(100vh - 120px);padding:48px 40px;overflow:hidden;background:#f7faff;display:flex;flex-direction:column;justify-content:center}.hero-bg[data-v-c62a591c]{position:absolute;inset:0;pointer-events:none}.bg-gradient[data-v-c62a591c]{position:absolute;inset:0;background:linear-gradient(rgba(37,99,235,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.05) 1px,transparent 1px);background-size:42px 42px;opacity:.72;z-index:1}.bg-grid[data-v-c62a591c]{position:absolute;inset:0;background:linear-gradient(180deg,#ffffffb3,#f4f8ff94 58%,#eff6ffe0);z-index:2}.bg-noise[data-v-c62a591c]{position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");z-index:3}.glow-spot[data-v-c62a591c]{position:absolute;border-radius:50%;filter:blur(80px);opacity:0}.glow-spot-1[data-v-c62a591c]{width:500px;height:500px;top:-150px;left:50%;transform:translate(-50%);background:radial-gradient(circle,rgba(59,130,246,.2) 0%,transparent 70%);animation:pulse-c62a591c 8s ease-in-out infinite}.glow-spot-2[data-v-c62a591c]{width:400px;height:400px;bottom:-100px;right:-100px;background:radial-gradient(circle,rgba(6,182,212,.14) 0%,transparent 70%);animation:pulse-c62a591c 10s ease-in-out infinite 2s}.bg-circle[data-v-c62a591c]{position:absolute;border-radius:50%;filter:blur(40px);opacity:0}.bg-circle-1[data-v-c62a591c]{width:300px;height:300px;top:10%;right:5%;background:radial-gradient(circle,rgba(14,165,233,.16) 0%,transparent 70%);animation:float-c62a591c 20s ease-in-out infinite}.bg-circle-2[data-v-c62a591c]{width:250px;height:250px;bottom:20%;left:5%;background:radial-gradient(circle,rgba(59,130,246,.18) 0%,transparent 70%);animation:float-c62a591c 25s ease-in-out infinite reverse}.bg-circle-3[data-v-c62a591c]{width:200px;height:200px;top:40%;left:15%;background:radial-gradient(circle,rgba(6,182,212,.12) 0%,transparent 70%);animation:float-c62a591c 15s ease-in-out infinite 4s}.bg-circle-4[data-v-c62a591c]{width:180px;height:180px;top:60%;right:10%;background:radial-gradient(circle,rgba(37,99,235,.1) 0%,transparent 70%);animation:float-c62a591c 18s ease-in-out infinite 6s}.floating-decor[data-v-c62a591c]{position:absolute;opacity:0}.decor-1[data-v-c62a591c]{width:20px;height:20px;top:15%;left:10%;background:var(--primary-color);border-radius:50%;animation:floatUp-c62a591c 15s ease-in-out infinite}.decor-2[data-v-c62a591c]{width:14px;height:14px;top:25%;right:15%;background:var(--secondary-color);border-radius:4px;animation:floatUp-c62a591c 18s ease-in-out infinite 3s}.decor-3[data-v-c62a591c]{width:16px;height:16px;bottom:30%;left:20%;background:var(--success-color);border-radius:50%;animation:floatUp-c62a591c 20s ease-in-out infinite 5s}.decor-4[data-v-c62a591c]{width:12px;height:12px;bottom:20%;right:25%;background:var(--accent-color);clip-path:polygon(50% 0%,0% 100%,100% 100%);animation:floatUp-c62a591c 22s ease-in-out infinite 7s}@keyframes float-c62a591c{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-30px) scale(1.05)}}@keyframes floatUp-c62a591c{0%,to{transform:translateY(0) rotate(0);opacity:.15}25%{opacity:.25}50%{transform:translateY(-40px) rotate(180deg);opacity:.15}75%{opacity:.2}}@keyframes pulse-c62a591c{0%,to{opacity:.6;transform:translate(-50%) scale(1)}50%{opacity:.8;transform:translate(-50%) scale(1.1)}}.hero-content[data-v-c62a591c]{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;width:100%;max-width:900px;margin:0 auto}.slogan[data-v-c62a591c]{font-size:48px;font-weight:760;text-align:center;margin-bottom:14px;line-height:1.16;letter-spacing:0}.slogan-main[data-v-c62a591c]{color:var(--text-primary)}.slogan-highlight[data-v-c62a591c]{display:inline-block;margin-left:4px;background:linear-gradient(90deg,#1d4ed8,#0891b2 48%,#2563eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.slogan-sub[data-v-c62a591c]{font-size:16px;color:#6b7280;text-align:center;margin-bottom:42px}.input-section[data-v-c62a591c]{width:100%;max-width:760px;margin-bottom:28px}.input-wrapper[data-v-c62a591c]{display:block;background:#fff;border:1px solid rgba(214,226,244,.95);border-radius:14px;box-shadow:0 24px 70px #2563eb1f,0 10px 32px #0ea5e914,0 2px 10px #0f172a0a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.ai-input[data-v-c62a591c]{display:block;width:100%;padding:12px 6px 0 16px;font-size:16px;line-height:1.6;color:var(--text-primary)}.ai-input[data-v-c62a591c]::placeholder{color:var(--text-tertiary)}.input-toolbar[data-v-c62a591c]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 12px;background:#fff;border-radius:0 0 26px 26px}.toolbar-left[data-v-c62a591c],.toolbar-right[data-v-c62a591c]{display:flex;align-items:center;gap:10px}.tool-icon-btn[data-v-c62a591c]{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:#4b5563;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 6px #0000000f;cursor:pointer;transition:all .2s ease;flex-shrink:0}.tool-icon-btn[data-v-c62a591c]:hover{box-shadow:0 4px 12px #0000001a;color:#1f2937}.voice-btn[data-v-c62a591c]{color:#6b7280;background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 6px #0000000f}.voice-btn[data-v-c62a591c]:hover{box-shadow:0 4px 12px #0000001a;color:#374151}.tool-pill-btn[data-v-c62a591c]{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;color:#4b5563;background:#fff;cursor:pointer}.tool-pill-btn.active[data-v-c62a591c]{box-shadow:0 4px 12px #0000001a;color:#1f2937}.tool-pill-btn .chevron[data-v-c62a591c]{margin-left:2px;opacity:.6}.tool-pill-btn svg[data-v-c62a591c]{flex-shrink:0}.toolbar-dropdown[data-v-c62a591c]{position:relative}.dropdown-menu[data-v-c62a591c]{position:absolute;bottom:calc(100% + 8px);left:0;min-width:200px;max-height:280px;overflow-y:auto;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 12px 40px #0000001f,0 4px 12px #0000000f;padding:6px;z-index:100;animation:dropdownFadeIn-c62a591c .15s ease}@keyframes dropdownFadeIn-c62a591c{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dropdown-header[data-v-c62a591c]{padding:8px 12px 6px;font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.dropdown-item[data-v-c62a591c]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px;font-size:13px;color:#374151;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background .15s ease;text-align:left}.dropdown-item[data-v-c62a591c]:hover{background:#f3f4f6}.dropdown-item.selected[data-v-c62a591c]{color:#2563eb;font-weight:500}.dropdown-status[data-v-c62a591c]{padding:12px;font-size:13px;color:#6b7280;text-align:center}.dropdown-error[data-v-c62a591c]{color:#dc2626}.skill-dropdown[data-v-c62a591c]{width:220px;max-width:calc(100vw - 32px);max-height:280px;overflow-y:auto}.skill-item[data-v-c62a591c]{justify-content:flex-start;min-width:0;cursor:default}.skill-item[data-v-c62a591c]:hover{background:transparent}.skill-name[data-v-c62a591c]{flex:1;min-width:0;overflow:hidden;color:#374151;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.model-dropdown[data-v-c62a591c]{min-width:160px}.submit-btn[data-v-c62a591c]{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:#9ca3af;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:not-allowed;transition:all .25s ease;flex-shrink:0}.submit-btn.active[data-v-c62a591c]{background:#fff;border:1px solid #e5e7eb;color:#374151;cursor:pointer}.submit-btn.active[data-v-c62a591c]:hover{transform:translateY(-1px)}.plugins-section[data-v-c62a591c]{width:100%;max-width:960px;position:relative;margin-top:2px}.plugins-list[data-v-c62a591c]{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:nowrap;overflow:visible;padding:12px 4px 16px}.plugin-item[data-v-c62a591c]{display:flex;align-items:center;justify-content:center;padding:9px 16px;background:#ffffffdb;border:1px solid rgba(205,218,238,.9);border-radius:var(--radius-full);cursor:pointer;transition:all .25s ease;white-space:nowrap;opacity:0;animation:fadeIn-c62a591c .4s ease forwards;flex-shrink:0}@keyframes fadeIn-c62a591c{to{opacity:1}}.plugin-item[data-v-c62a591c]:hover{border-color:#2563eb42;background:#fff;transform:translateY(-2px);box-shadow:0 10px 22px #2563eb21}.plugin-name[data-v-c62a591c]{font-size:13px;color:#374151;font-weight:500}.refresh-plugins-btn[data-v-c62a591c]{width:38px;height:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;color:#2563eb;background:#fff;border:1px solid rgba(37,99,235,.22);border-radius:999px;box-shadow:0 8px 18px #2563eb1a;transition:all .2s ease}.refresh-plugins-btn[data-v-c62a591c]:hover{color:#fff;background:#2563eb;transform:rotate(18deg) translateY(-1px);box-shadow:0 12px 24px #2563eb38}@media(max-width:768px){.hero[data-v-c62a591c]{min-height:auto;padding:64px 0 30px}.input-section[data-v-c62a591c]{max-width:100%}.slogan[data-v-c62a591c]{font-size:32px}.input-toolbar[data-v-c62a591c]{gap:8px;flex-wrap:wrap}.toolbar-left[data-v-c62a591c]{flex-wrap:wrap;gap:6px}.dropdown-menu[data-v-c62a591c]{position:fixed;bottom:auto;left:12px;right:12px;max-height:50vh}.plugins-list[data-v-c62a591c]{flex-wrap:wrap;gap:8px;padding:10px 0 0}.plugin-item[data-v-c62a591c]{padding:8px 12px}.refresh-plugins-btn[data-v-c62a591c]{width:36px;height:36px;flex-basis:36px}}.modal-overlay[data-v-d7f3c153]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content[data-v-d7f3c153]{position:relative;background:#fff;border-radius:24px;padding:40px 32px;max-width:360px;width:100%;box-shadow:0 24px 60px #0003}.modal-close[data-v-d7f3c153]{position:absolute;top:16px;right:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:50%;color:var(--text-secondary);transition:all .2s ease}.modal-close[data-v-d7f3c153]:hover{background:var(--border-color);color:var(--text-primary)}.modal-body[data-v-d7f3c153]{display:flex;flex-direction:column;align-items:center;text-align:center}.modal-icon[data-v-d7f3c153]{font-size:48px;margin-bottom:16px}.modal-title[data-v-d7f3c153]{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.modal-desc[data-v-d7f3c153]{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.qrcode-wrapper[data-v-d7f3c153]{padding:20px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border-radius:20px;border:1px solid var(--border-light)}.qrcode-placeholder[data-v-d7f3c153]{width:160px;height:160px;color:var(--text-primary)}.modal-enter-active[data-v-d7f3c153],.modal-leave-active[data-v-d7f3c153]{transition:all .3s ease}.modal-enter-active .modal-content[data-v-d7f3c153],.modal-leave-active .modal-content[data-v-d7f3c153]{transition:all .3s cubic-bezier(.4,0,.2,1)}.modal-enter-from[data-v-d7f3c153],.modal-leave-to[data-v-d7f3c153]{opacity:0}.modal-enter-from .modal-content[data-v-d7f3c153],.modal-leave-to .modal-content[data-v-d7f3c153]{transform:scale(.9) translateY(20px);opacity:0}.home-page[data-v-38abc87f]{min-height:100vh;display:flex;flex-direction:row;background:#f7faff}.main-content[data-v-38abc87f]{flex:1;margin-left:220px;background:#f7faff;min-width:0;display:flex;flex-direction:column;justify-content:center;transition:margin-left .25s ease}.main-content.sidebar-collapsed[data-v-38abc87f]{margin-left:64px}@media(max-width:768px){.main-content[data-v-38abc87f]{margin-left:0}}.workspace-page[data-v-706b84e8]{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-secondary)}.workspace-main[data-v-706b84e8]{flex:1;padding:0 0 32px;margin-left:220px;transition:margin-left .25s ease}.workspace-main.sidebar-collapsed[data-v-706b84e8]{margin-left:64px}@media(max-width:768px){.workspace-main[data-v-706b84e8]{margin-left:0}}.page-header[data-v-706b84e8]{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 0;margin-bottom:16px}.page-title-section[data-v-706b84e8]{flex:1}.page-title[data-v-706b84e8]{font-size:34px;font-weight:760;color:#0f172a;margin:0 0 6px;letter-spacing:0}.page-subtitle[data-v-706b84e8]{font-size:14px;color:#64748b;margin:0}.header-actions[data-v-706b84e8]{display:flex;align-items:center;gap:10px}.create-btn[data-v-706b84e8]{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;border:none;background:linear-gradient(90deg,#1d4ed8,#0ea5e9 58%,#0e7490);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 12px 26px #2563eb38}.create-btn[data-v-706b84e8]:hover{transform:translateY(-1px);box-shadow:0 16px 32px #2563eb47}.trash-btn[data-v-706b84e8]{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#94a3b8;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.trash-btn[data-v-706b84e8]:hover{background:#fef2f2;border-color:#fecaca;color:#ef4444}.filter-bar[data-v-706b84e8]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;padding:0;margin-bottom:24px}.status-tabs[data-v-706b84e8]{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.status-tab[data-v-706b84e8]{position:relative;display:inline-flex;align-items:center;padding:8px 14px;gap:6px;background:#ffffffe6;border:1px solid rgba(207,226,255,.92);border-radius:999px;color:#64748b;font-weight:500;font-size:14px;white-space:nowrap;transition:all .2s;cursor:pointer}.status-tab[data-v-706b84e8]:hover{background:#fff;border-color:#cfd3d8;color:#0f172a}.status-tab.active[data-v-706b84e8]{background:#eaf4ff;border-color:#bfdbfe;color:#2563eb;font-weight:600}.status-count[data-v-706b84e8]{font-size:12px;opacity:.85}.search-sort-bar[data-v-706b84e8]{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;white-space:nowrap}.search-box[data-v-706b84e8]{position:relative;flex:0 0 240px;width:240px;max-width:240px}.search-icon[data-v-706b84e8]{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.search-input[data-v-706b84e8]{width:100%;padding:10px 16px 10px 40px;background:#ffffffe6;border:1px solid rgba(207,226,255,.92);border-radius:999px;font-size:14px;color:var(--text-primary);transition:all .2s}.search-input[data-v-706b84e8]:focus{border-color:#2563eb47;box-shadow:0 0 0 4px #2563eb14}.sort-dropdown[data-v-706b84e8]{position:relative}.sort-btn[data-v-706b84e8]{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#ffffffe6;border:1px solid rgba(207,226,255,.92);border-radius:999px;box-shadow:none;color:#64748b;font-size:14px;white-space:nowrap;cursor:pointer;transition:all .2s}.sort-btn[data-v-706b84e8]:hover{background:#fff;border-color:#cfd3d8;color:#0f172a}.sort-menu[data-v-706b84e8]{position:absolute;top:calc(100% + 8px);right:0;min-width:140px;background:#fff;border-radius:10px;box-shadow:0 4px 16px #0000001a;border:1px solid var(--border-light);overflow:hidden;z-index:50}.sort-option[data-v-706b84e8]{padding:12px 16px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:background .2s ease}.sort-option[data-v-706b84e8]:hover{background:var(--bg-secondary)}.projects-loading[data-v-706b84e8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:16px;color:var(--text-secondary)}.loading-spinner[data-v-706b84e8]{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin-706b84e8 .8s linear infinite}@keyframes spin-706b84e8{to{transform:rotate(360deg)}}.projects-grid[data-v-706b84e8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.project-card[data-v-706b84e8]{position:relative;display:flex;align-items:stretch;background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 1px 3px #0000000a;transition:all .25s;cursor:pointer;overflow:hidden;min-height:120px;padding:16px}.project-card[data-v-706b84e8]:hover{border-color:#e2e8f0;box-shadow:0 8px 24px #00000014}.card-body[data-v-706b84e8]{flex:1;display:flex;flex-direction:column;min-width:0}.card-title[data-v-706b84e8]{font-size:16px;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px;width:65%}.card-desc[data-v-706b84e8]{font-size:13px;color:#94a3b8;line-height:1.5;height:40px;width:65%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px}.card-tags[data-v-706b84e8]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:auto}.card-tag[data-v-706b84e8]{padding:2px 8px;font-size:11px;color:#64748b;background:#f1f5f9;border-radius:4px}.card-footer[data-v-706b84e8]{display:flex;align-items:center;gap:6px;margin-top:10px}.card-status-dot[data-v-706b84e8]{width:7px;height:7px;border-radius:50%;background:#94a3b8;flex-shrink:0}.card-status-dot.status-deployed[data-v-706b84e8]{background:#10b981;box-shadow:0 0 0 3px #10b98126}.card-status-dot.status-deploying[data-v-706b84e8]{background:#3b82f6;box-shadow:0 0 0 3px #3b82f626;animation:pulse-706b84e8 1.5s ease-in-out infinite}.card-status-dot.status-deploy_failed[data-v-706b84e8]{background:#ef4444;box-shadow:0 0 0 3px #ef444426}.card-status-dot.status-stopped[data-v-706b84e8]{background:#94a3b8}.card-status-dot.status-trashed[data-v-706b84e8]{background:#64748b}@keyframes pulse-706b84e8{0%,to{opacity:1}50%{opacity:.5}}.card-deploy-status[data-v-706b84e8]{font-size:12px;color:#475569;font-weight:500;margin-right:8px}.card-edit-time[data-v-706b84e8]{font-size:12px;color:#94a3b8}.card-thumb[data-v-706b84e8]{position:absolute;top:16px;right:16px;width:70px;height:70px;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:0 16px 0 0}.card-thumb img[data-v-706b84e8]{width:100%;height:100%;object-fit:cover}.card-thumb-placeholder[data-v-706b84e8]{color:#cbd5e1}.card-more[data-v-706b84e8]{position:absolute;right:10px;bottom:10px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#94a3b8;cursor:pointer;transition:all .15s;z-index:2}.card-more[data-v-706b84e8]:hover{background:#f8fafc;color:#475569;border-color:#cbd5e1}.project-menu[data-v-706b84e8]{position:absolute;right:10px;bottom:46px;min-width:120px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0000001f;padding:3px;z-index:20;animation:menuIn-706b84e8 .15s ease}@keyframes menuIn-706b84e8{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.menu-item[data-v-706b84e8]{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;font-weight:500;color:#374151;cursor:pointer;transition:background .15s;border-radius:6px}.menu-item[data-v-706b84e8]:hover{background:#f3f4f6}.menu-item.danger[data-v-706b84e8]{color:#ef4444}.menu-item.danger[data-v-706b84e8]:hover{background:#fef2f2}.empty-state[data-v-706b84e8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px}.empty-icon[data-v-706b84e8]{font-size:64px;margin-bottom:16px;opacity:.5}.empty-title[data-v-706b84e8]{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-desc[data-v-706b84e8]{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.create-btn-lg[data-v-706b84e8]{display:flex;align-items:center;gap:8px;padding:14px 24px;font-size:15px;font-weight:500;color:#fff;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-radius:12px;transition:all .25s ease;box-shadow:0 4px 12px #3b82f64d}.create-btn-lg[data-v-706b84e8]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.modal-overlay[data-v-706b84e8]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content[data-v-706b84e8]{background:#fff;border-radius:20px;width:100%;max-width:480px;box-shadow:0 20px 60px #0003;overflow:hidden}.modal-sm[data-v-706b84e8]{max-width:380px}.modal-header[data-v-706b84e8]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-light)}.modal-title[data-v-706b84e8]{font-size:18px;font-weight:600;color:var(--text-primary)}.modal-close[data-v-706b84e8]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:transparent;border-radius:8px;transition:all .2s ease}.modal-close[data-v-706b84e8]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body[data-v-706b84e8]{padding:24px}.modal-footer[data-v-706b84e8]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:var(--bg-secondary)}.form-group[data-v-706b84e8]{margin-bottom:20px}.form-group[data-v-706b84e8]:last-child{margin-bottom:0}.form-label[data-v-706b84e8]{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.required[data-v-706b84e8]{color:#ef4444}.form-input[data-v-706b84e8]{width:100%;padding:12px 16px;font-size:14px;color:var(--text-primary);background:#fff;border:1px solid var(--border-color);border-radius:10px;transition:all .2s ease}.form-input[data-v-706b84e8]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-textarea[data-v-706b84e8]{width:100%;padding:12px 16px;font-size:14px;color:var(--text-primary);background:#fff;border:1px solid var(--border-color);border-radius:10px;resize:none;transition:all .2s ease;font-family:inherit}.form-textarea[data-v-706b84e8]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.type-selector[data-v-706b84e8]{display:flex;gap:12px}.type-option[data-v-706b84e8]{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;background:#fff;border:2px solid var(--border-color);border-radius:12px;transition:all .2s ease}.type-option[data-v-706b84e8]:hover{border-color:var(--primary-color)}.type-option.active[data-v-706b84e8]{border-color:var(--primary-color);background:var(--primary-light)}.type-icon[data-v-706b84e8]{font-size:28px}.type-name[data-v-706b84e8]{font-size:14px;font-weight:500;color:var(--text-primary)}.cancel-btn[data-v-706b84e8]{padding:10px 20px;font-size:14px;font-weight:500;color:var(--text-secondary);background:#fff;border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease}.cancel-btn[data-v-706b84e8]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.confirm-btn[data-v-706b84e8]{padding:10px 20px;font-size:14px;font-weight:500;color:#fff;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-radius:8px;transition:all .25s ease}.confirm-btn[data-v-706b84e8]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.confirm-btn[data-v-706b84e8]:disabled{opacity:.5;cursor:not-allowed}.danger-btn[data-v-706b84e8]{padding:10px 20px;font-size:14px;font-weight:500;color:#fff;background:#ef4444;border-radius:8px;transition:all .2s ease}.danger-btn[data-v-706b84e8]:hover{background:#dc2626}.confirm-text[data-v-706b84e8]{font-size:15px;color:var(--text-primary);margin-bottom:8px}.confirm-hint[data-v-706b84e8]{font-size:13px;color:var(--text-tertiary)}.trash-modal[data-v-706b84e8]{width:90%;max-width:800px;height:560px;background:#fff;border-radius:16px;box-shadow:0 24px 60px #0000002e;display:flex;flex-direction:column;animation:modalIn-706b84e8 .2s ease}@keyframes modalIn-706b84e8{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.trash-modal .modal-header[data-v-706b84e8]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f1f5f9}.trash-modal .modal-header h3[data-v-706b84e8]{font-size:16px;font-weight:600;color:#0f172a;margin:0}.trash-modal .close-btn[data-v-706b84e8]{border:none;background:none;cursor:pointer;color:#94a3b8;padding:4px;border-radius:6px;transition:all .15s;display:flex;align-items:center;justify-content:center}.trash-modal .close-btn[data-v-706b84e8]:hover{background:#f1f5f9;color:#374151}.trash-modal .modal-body[data-v-706b84e8]{flex:1;overflow-y:auto;padding:8px 24px 24px;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.trash-modal .modal-body[data-v-706b84e8]::-webkit-scrollbar{width:4px}.trash-modal .modal-body[data-v-706b84e8]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.trash-modal .modal-body[data-v-706b84e8]::-webkit-scrollbar-track{background:transparent}.empty-trash[data-v-706b84e8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:#94a3b8;gap:8px}.empty-trash svg[data-v-706b84e8]{margin-bottom:4px}.empty-trash .empty-hint[data-v-706b84e8]{font-size:12px;margin-top:4px}.loading-trash[data-v-706b84e8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:#94a3b8;gap:8px}.loading-spinner-sm[data-v-706b84e8]{width:24px;height:24px;border:2px solid #e5e7eb;border-top-color:var(--primary-color);border-radius:50%;animation:spin-706b84e8 .8s linear infinite}.trash-list[data-v-706b84e8]{display:flex;flex-direction:column}.trash-item[data-v-706b84e8]{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #f1f5f9}.trash-item[data-v-706b84e8]:last-child{border-bottom:none}.trash-item-thumb[data-v-706b84e8]{width:48px;height:48px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#f1f5f9;display:flex;align-items:center;justify-content:center}.trash-item-thumb img[data-v-706b84e8]{width:100%;height:100%;object-fit:cover}.trash-item-thumb .thumb-icon[data-v-706b84e8]{font-size:24px}.trash-item-info[data-v-706b84e8]{flex:1;min-width:0}.trash-item-info h4[data-v-706b84e8]{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-item-info p[data-v-706b84e8]{font-size:12px;color:#94a3b8;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-item-actions[data-v-706b84e8]{display:flex;gap:6px;flex-shrink:0}.trash-item-btn[data-v-706b84e8]{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid}.trash-item-btn.restore[data-v-706b84e8]{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}.trash-item-btn.restore[data-v-706b84e8]:hover{background:#dbeafe}.trash-item-btn.perm[data-v-706b84e8]{background:#fef2f2;color:#ef4444;border-color:#fecaca}.trash-item-btn.perm[data-v-706b84e8]:hover{background:#fee2e2}.workspace-page[data-v-706b84e8]{background:linear-gradient(rgba(37,99,235,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.04) 1px,transparent 1px),linear-gradient(180deg,#f7faff,#eff6ff,#f7faff);background-size:42px 42px,42px 42px,auto}.workspace-main[data-v-706b84e8]{padding:44px 0 56px}@media(max-width:960px){.page-header[data-v-706b84e8],.filter-bar[data-v-706b84e8]{flex-wrap:wrap}.search-sort-bar[data-v-706b84e8]{width:100%;justify-content:flex-start;flex-wrap:wrap}.search-box[data-v-706b84e8]{max-width:none;flex-basis:100%}}@media(min-width:961px){.filter-bar[data-v-706b84e8]{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;column-gap:16px!important;row-gap:0!important;flex-wrap:nowrap!important}.status-tabs[data-v-706b84e8]{min-width:0;overflow:visible}.search-sort-bar[data-v-706b84e8]{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex:0 0 auto!important;width:auto!important;min-width:auto!important;white-space:nowrap}.search-box[data-v-706b84e8]{width:240px!important;max-width:240px!important;flex:0 0 240px!important}.sort-dropdown[data-v-706b84e8]{flex:0 0 auto}.sort-btn[data-v-706b84e8]{min-width:112px;justify-content:center}}.auth-page[data-v-9a6c411e]{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.auth-bg[data-v-9a6c411e]{position:absolute;inset:0;pointer-events:none}.bg-gradient[data-v-9a6c411e]{position:absolute;inset:0;background:linear-gradient(135deg,#eff6ff,#f5f3ff,#fafafa)}.bg-circle[data-v-9a6c411e]{position:absolute;border-radius:50%;filter:blur(80px)}.bg-circle-1[data-v-9a6c411e]{width:500px;height:500px;top:-150px;left:-100px;background:#3b82f626}.bg-circle-2[data-v-9a6c411e]{width:400px;height:400px;bottom:-100px;right:-100px;background:#8b5cf61f}.bg-grid[data-v-9a6c411e]{position:absolute;inset:0;background-image:linear-gradient(rgba(59,130,246,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.03) 1px,transparent 1px);background-size:60px 60px}.auth-container[data-v-9a6c411e]{position:relative;z-index:1;display:flex;width:1000px;max-width:95%;min-height:600px;background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000001a;overflow:hidden}.brand-section[data-v-9a6c411e]{flex:1;padding:60px 40px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;flex-direction:column;justify-content:center}.brand-content[data-v-9a6c411e]{display:flex;flex-direction:column;gap:40px}.brand-logo[data-v-9a6c411e]{display:flex;align-items:center;gap:12px}.brand-icon[data-v-9a6c411e]{font-size:36px}.brand-name[data-v-9a6c411e]{font-size:28px;font-weight:700}.brand-slogan[data-v-9a6c411e]{font-size:20px;opacity:.95;font-weight:500}.brand-features[data-v-9a6c411e]{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.feature-item[data-v-9a6c411e]{display:flex;align-items:center;gap:12px;padding:16px;background:#ffffff26;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-icon[data-v-9a6c411e]{font-size:24px}.feature-text[data-v-9a6c411e]{font-size:14px;opacity:.95}.form-section[data-v-9a6c411e]{flex:1;padding:40px;display:flex;align-items:center;justify-content:center}.form-container[data-v-9a6c411e]{width:100%;max-width:360px}.auth-tabs[data-v-9a6c411e]{display:flex;gap:8px;margin-bottom:32px;padding:4px;background:var(--bg-secondary);border-radius:12px}.auth-tab[data-v-9a6c411e]{flex:1;padding:12px;font-size:15px;font-weight:500;color:var(--text-secondary);background:transparent;border-radius:8px;transition:all .2s ease}.auth-tab.active[data-v-9a6c411e]{background:#fff;color:var(--primary-color);box-shadow:0 2px 8px #0000000d}.login-method-toggle[data-v-9a6c411e]{display:flex;gap:8px;margin-bottom:24px}.method-btn[data-v-9a6c411e]{flex:1;padding:10px;font-size:14px;color:var(--text-secondary);background:transparent;border-radius:8px;transition:all .2s ease}.method-btn.active[data-v-9a6c411e]{background:var(--primary-light);color:var(--primary-color);font-weight:500}.auth-form[data-v-9a6c411e],.form-group[data-v-9a6c411e]{display:flex;flex-direction:column;gap:16px}.input-field[data-v-9a6c411e]{position:relative}.text-input[data-v-9a6c411e]{width:100%;padding:14px 16px;font-size:14px;color:var(--text-primary);background:var(--bg-secondary);border:1.5px solid transparent;border-radius:12px;transition:all .2s ease}.text-input[data-v-9a6c411e]:focus{background:#fff;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.text-input[data-v-9a6c411e]::placeholder{color:var(--text-tertiary)}.input-field.with-code .text-input[data-v-9a6c411e]{padding-right:110px}.eye-btn[data-v-9a6c411e]{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);transition:color .2s ease}.eye-btn[data-v-9a6c411e]:hover{color:var(--text-secondary)}.code-btn[data-v-9a6c411e]{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:8px 14px;font-size:13px;color:var(--primary-color);background:var(--primary-light);border-radius:8px;transition:all .2s ease}.code-btn[data-v-9a6c411e]:hover:not(.disabled){background:var(--primary-color);color:#fff}.code-btn.disabled[data-v-9a6c411e]{color:var(--text-tertiary);background:var(--bg-tertiary)}.form-options[data-v-9a6c411e]{display:flex;align-items:center;justify-content:space-between}.checkbox-label[data-v-9a6c411e]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer}.checkbox-label input[data-v-9a6c411e]{width:16px;height:16px;accent-color:var(--primary-color)}.forgot-link[data-v-9a6c411e]{font-size:13px;color:var(--primary-color);transition:color .2s ease}.forgot-link[data-v-9a6c411e]:hover{color:var(--primary-hover)}.submit-btn[data-v-9a6c411e]{width:100%;padding:14px;font-size:15px;font-weight:500;color:#fff;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-radius:12px;transition:all .25s ease;box-shadow:0 4px 12px #3b82f64d}.submit-btn[data-v-9a6c411e]:hover{transform:translateY(-1px);box-shadow:0 6px 20px #3b82f666}.divider[data-v-9a6c411e]{display:flex;align-items:center;gap:16px;margin:24px 0}.divider[data-v-9a6c411e]:before,.divider[data-v-9a6c411e]:after{content:"";flex:1;height:1px;background:var(--border-color)}.divider span[data-v-9a6c411e]{font-size:12px;color:var(--text-tertiary)}.oauth-login[data-v-9a6c411e]{display:flex;gap:12px}.oauth-btn[data-v-9a6c411e]{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;transition:all .2s ease}.oauth-btn[data-v-9a6c411e]:hover{border-color:var(--primary-color);background:var(--primary-light)}.password-strength[data-v-9a6c411e]{display:flex;align-items:center;gap:12px}.strength-bar[data-v-9a6c411e]{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.strength-fill[data-v-9a6c411e]{height:100%;border-radius:2px;transition:all .3s ease}.strength-fill.weak[data-v-9a6c411e]{background:#ef4444}.strength-fill.medium[data-v-9a6c411e]{background:#f59e0b}.strength-fill.strong[data-v-9a6c411e]{background:#10b981}.strength-text[data-v-9a6c411e]{font-size:12px;color:var(--text-secondary)}.agreement[data-v-9a6c411e]{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:13px;color:var(--text-secondary)}.agreement-link[data-v-9a6c411e]{color:var(--primary-color);transition:color .2s ease}.agreement-link[data-v-9a6c411e]:hover{color:var(--primary-hover)}@media(max-width:1024px){.auth-container[data-v-9a6c411e]{flex-direction:column;width:90%;min-height:auto}.brand-section[data-v-9a6c411e]{padding:40px 24px}.brand-features[data-v-9a6c411e]{grid-template-columns:1fr}.form-section[data-v-9a6c411e]{padding:32px 24px}}.history-header-top[data-v-86b97840]{display:flex;align-items:center;justify-content:space-between;padding:0 4px 6px}.history-title[data-v-86b97840]{font-size:12px;font-weight:600;color:#5f6368;letter-spacing:.3px}.history-collapse-btn[data-v-86b97840]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:#9ca3af;cursor:pointer;transition:all .12s}.history-collapse-btn[data-v-86b97840]:hover{background:#e5e7eb;color:#374151}.history-panel[data-v-86b97840]{overflow:hidden;width:178px;transition:width .25s ease,opacity .2s ease}.history-panel.collapsed[data-v-86b97840]{width:0;opacity:0}.phase-card[data-v-e902cad8]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:6px 0;overflow:hidden;transition:all .15s}.phase-card.status-active[data-v-e902cad8]{background:#eef4ff;border-color:#bfdbfe}.phase-card.status-done[data-v-e902cad8]{background:#f0fdf4;border-color:#bbf7d0;opacity:.96}.phase-header[data-v-e902cad8]{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.phase-icon[data-v-e902cad8]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;flex-shrink:0}.phase-card.status-active .phase-icon[data-v-e902cad8]{color:#2563eb;background:#dbeafe}.phase-card.status-done .phase-icon[data-v-e902cad8]{color:#16a34a;background:#dcfce7}.phase-spinner[data-v-e902cad8]{animation:phase-spin-e902cad8 1s linear infinite}@keyframes phase-spin-e902cad8{to{transform:rotate(360deg)}}.phase-label[data-v-e902cad8]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.phase-title[data-v-e902cad8]{font-size:12.5px;font-weight:600;color:#1f2937}.phase-card.status-done .phase-title[data-v-e902cad8]{color:#166534}.phase-meta[data-v-e902cad8]{font-size:11.5px;color:#64748b;font-weight:400}.phase-badge[data-v-e902cad8]{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:999px;color:#1d4ed8;background:#2563eb1f;flex-shrink:0}.phase-badge.done[data-v-e902cad8]{color:#15803d;background:#16a34a1f}.phase-chevron[data-v-e902cad8]{display:inline-flex;color:#94a3b8;transition:transform .15s;flex-shrink:0}.phase-chevron.open[data-v-e902cad8]{transform:rotate(180deg)}.phase-body[data-v-e902cad8]{padding:4px 12px 10px 38px;border-top:1px solid rgba(148,163,184,.18);background:#fff6}.phase-row[data-v-e902cad8]{display:flex;align-items:center;gap:8px;font-size:11.5px;padding:2px 0;color:#475569}.phase-key[data-v-e902cad8]{color:#94a3b8}.phase-val[data-v-e902cad8]{color:#1f2937;font-weight:500}.phase-val-muted[data-v-e902cad8]{color:#94a3b8;font-weight:400}.tool-card[data-v-0f34a865]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin:4px 0;overflow:hidden;font-size:12.5px;transition:all .12s}.tool-card.status-running[data-v-0f34a865]{border-color:#bfdbfe;background:#f8fbff}.tool-card.status-error[data-v-0f34a865]{border-color:#fecaca;background:#fef7f7}.tool-card[data-v-0f34a865]:hover{border-color:#cbd5e1}.tool-header[data-v-0f34a865]{width:100%;display:flex;align-items:center;gap:8px;padding:7px 10px;background:transparent;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit;min-width:0}.tool-status[data-v-0f34a865]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;flex-shrink:0}.tool-status.status-running[data-v-0f34a865]{color:#2563eb;background:#dbeafe}.tool-status.status-success[data-v-0f34a865]{color:#16a34a;background:#dcfce7}.tool-status.status-error[data-v-0f34a865]{color:#dc2626;background:#fee2e2}.tool-status.status-unknown[data-v-0f34a865]{color:#94a3b8;background:#f1f5f9}.tool-status-dot[data-v-0f34a865]{width:6px;height:6px;border-radius:50%;background:currentColor}.tool-spinner[data-v-0f34a865]{animation:tool-spin-0f34a865 1s linear infinite}@keyframes tool-spin-0f34a865{to{transform:rotate(360deg)}}.tool-name[data-v-0f34a865]{font-size:12px;font-weight:600;color:#1f2937;flex-shrink:0;letter-spacing:.1px}.tool-card.status-error .tool-name[data-v-0f34a865]{color:#991b1b}.tool-target[data-v-0f34a865]{display:inline-flex;align-items:center;gap:4px;font-family:SF Mono,Monaco,ui-monospace,monospace;font-size:11.5px;color:#2563eb;background:#eef4ff;border:1px solid #dbeafe;padding:1px 6px;border-radius:6px;min-width:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-target-icon[data-v-0f34a865]{color:#6366f1;font-weight:700;font-size:10px}.tool-target-text[data-v-0f34a865]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-summary[data-v-0f34a865]{color:#64748b;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;text-align:left}.tool-card.status-error .tool-summary[data-v-0f34a865]{color:#b91c1c}.tool-duration[data-v-0f34a865]{font-size:10.5px;color:#94a3b8;font-variant-numeric:tabular-nums;flex-shrink:0}.tool-chevron[data-v-0f34a865]{display:inline-flex;color:#94a3b8;transition:transform .15s;flex-shrink:0}.tool-chevron.open[data-v-0f34a865]{transform:rotate(180deg)}.tool-body[data-v-0f34a865]{border-top:1px solid #e2e8f0;background:#f8fafc;padding:6px 10px 8px}.tool-section[data-v-0f34a865]{margin-top:4px}.tool-section-label[data-v-0f34a865]{font-size:10.5px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.tool-pre[data-v-0f34a865]{margin:0;padding:8px 10px;background:#0f172a;color:#e2e8f0;border-radius:6px;font-family:SF Mono,Monaco,ui-monospace,monospace;font-size:11px;line-height:1.55;max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-all}.tool-pre-result[data-v-0f34a865]{white-space:pre-wrap;max-height:260px}[data-v-0f34a865] .json-key{color:#93c5fd}[data-v-0f34a865] .json-str{color:#86efac}[data-v-0f34a865] .json-num{color:#fde68a}[data-v-0f34a865] .json-bool{color:#c4b5fd}[data-v-0f34a865] .json-null{color:#94a3b8}.tool-group[data-v-4815cc34]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:3px 0;overflow:hidden;font-size:12px;transition:all .12s}.tool-group[data-v-4815cc34]:hover{border-color:#cbd5e1}.tool-group-header[data-v-4815cc34]{width:100%;display:flex;align-items:center;gap:8px;padding:7px 10px;background:transparent;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.tg-status[data-v-4815cc34]{display:inline-flex;align-items:center;color:#22c55e;flex-shrink:0}.tg-label[data-v-4815cc34]{color:#475569;flex:1}.tg-label strong[data-v-4815cc34]{color:#1f2937}.tg-total-time[data-v-4815cc34]{font-size:10.5px;color:#94a3b8;font-variant-numeric:tabular-nums}.tg-chevron[data-v-4815cc34]{display:inline-flex;color:#94a3b8;transition:transform .15s;flex-shrink:0}.tg-chevron.open[data-v-4815cc34]{transform:rotate(180deg)}.tool-group-body[data-v-4815cc34]{border-top:1px solid #e2e8f0;background:#ffffff80;padding:4px 0}.tg-item[data-v-4815cc34]{display:flex;align-items:center;gap:8px;padding:4px 10px}.tg-item[data-v-4815cc34]:hover{background:#2563eb0a}.tg-item-status[data-v-4815cc34]{display:inline-flex;flex-shrink:0}.tg-item-status.status-success[data-v-4815cc34]{color:#22c55e}.tg-item-status.status-error[data-v-4815cc34]{color:#ef4444}.tg-item-tool[data-v-4815cc34]{color:#334155;font-weight:500;flex-shrink:0}.tg-item-target[data-v-4815cc34]{font-family:SF Mono,Monaco,ui-monospace,monospace;font-size:10.5px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.tg-item-time[data-v-4815cc34]{font-size:10px;color:#94a3b8;font-variant-numeric:tabular-nums;flex-shrink:0}.file-chip[data-v-654a92fa]{display:inline-flex;align-items:center;gap:6px;margin:2px 0;padding:3px 8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;font-size:11.5px;color:#475569;max-width:100%}.file-chip-icon[data-v-654a92fa]{font-size:11px}.file-chip-path[data-v-654a92fa]{font-family:SF Mono,Monaco,ui-monospace,monospace;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-chip-size[data-v-654a92fa]{color:#94a3b8;font-variant-numeric:tabular-nums;font-size:10.5px}.fw-group[data-v-a2f82aea]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:3px 0;overflow:hidden;font-size:12px;transition:all .12s}.fw-group[data-v-a2f82aea]:hover{border-color:#cbd5e1}.fw-group-header[data-v-a2f82aea]{width:100%;display:flex;align-items:center;gap:7px;padding:6px 10px;background:transparent;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.fw-group-icon[data-v-a2f82aea]{font-size:11px;flex-shrink:0}.fw-group-label[data-v-a2f82aea]{color:#475569;flex:1}.fw-group-label strong[data-v-a2f82aea]{color:#1f2937}.fw-group-total-size[data-v-a2f82aea]{font-size:10.5px;color:#94a3b8;font-variant-numeric:tabular-nums}.fw-group-chevron[data-v-a2f82aea]{display:inline-flex;color:#94a3b8;transition:transform .15s;flex-shrink:0}.fw-group-chevron.open[data-v-a2f82aea]{transform:rotate(180deg)}.fw-group-body[data-v-a2f82aea]{border-top:1px solid #e2e8f0;background:#ffffff80;padding:3px 0 4px;max-height:220px;overflow-y:auto}.fw-group-item[data-v-a2f82aea]{display:flex;align-items:center;gap:6px;padding:3px 10px;cursor:default}.fw-group-item[data-v-a2f82aea]:hover{background:#2563eb0a}.fw-item-icon[data-v-a2f82aea]{font-size:10px;flex-shrink:0;color:#94a3b8}.fw-item-path[data-v-a2f82aea]{font-family:SF Mono,Monaco,ui-monospace,monospace;font-size:11px;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.fw-item-size[data-v-a2f82aea]{font-size:10px;color:#94a3b8;font-variant-numeric:tabular-nums;flex-shrink:0}.sandbox-notice[data-v-555884de]{display:inline-flex;align-items:center;gap:6px;margin:4px 0;padding:4px 10px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;font-size:11.5px;color:#166534}.sandbox-notice.kind-preview_refreshed[data-v-555884de]{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.sandbox-notice.kind-sandbox_ready[data-v-555884de]{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}.sandbox-notice.kind-sandbox_recreated[data-v-555884de]{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.sandbox-notice.kind-preview_status[data-v-555884de]{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.sandbox-icon[data-v-555884de]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}.sandbox-label[data-v-555884de]{font-weight:500}.sandbox-status-tag[data-v-555884de]{font-size:10px;padding:1px 6px;border-radius:3px;background:#e0f2fe;color:#0369a1}.sandbox-status-tag.restarting[data-v-555884de]{background:#fef3c7;color:#b45309}.sandbox-message[data-v-555884de]{font-size:11px;color:#9a3412}.sandbox-url[data-v-555884de]{color:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;font-family:SF Mono,Monaco,ui-monospace,monospace;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-url[data-v-555884de]:hover{text-decoration-style:solid}.plan-summary[data-v-540443a6]{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:10px 12px;margin:4px 0}.plan-head[data-v-540443a6]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.plan-icon[data-v-540443a6]{font-size:13px}.plan-title[data-v-540443a6]{font-size:12.5px;font-weight:600;color:#9a3412}.plan-body[data-v-540443a6]{font-size:12px;line-height:1.6;color:#7c2d12;margin-bottom:6px;white-space:pre-wrap}.plan-counts[data-v-540443a6]{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.plan-tag[data-v-540443a6]{font-size:10.5px;padding:2px 6px;background:#ffffffb3;border:1px solid #fed7aa;border-radius:4px;color:#7c2d12}.plan-hint[data-v-540443a6]{font-size:10.5px;color:#9a3412;font-style:italic;margin-top:2px}.plan-review-card[data-v-60815d6f]{background:#fffbeb;border:1.5px solid #fbbf24;border-radius:14px;padding:12px 14px;margin:4px 0;width:100%}.plan-review-card.status-confirmed[data-v-60815d6f]{background:#f0fdf4;border-color:#86efac}.plan-review-card.status-rejected[data-v-60815d6f]{background:#fef2f2;border-color:#fca5a5}.plan-header[data-v-60815d6f]{display:flex;align-items:center;gap:7px;margin-bottom:8px}.plan-icon[data-v-60815d6f]{font-size:14px}.plan-title[data-v-60815d6f]{font-size:13px;font-weight:600;color:#92400e;flex:1}.plan-review-card.status-confirmed .plan-title[data-v-60815d6f]{color:#166534}.plan-review-card.status-rejected .plan-title[data-v-60815d6f]{color:#991b1b}.plan-status-badge[data-v-60815d6f]{font-size:10.5px;padding:2px 8px;border-radius:10px;font-weight:600;flex-shrink:0}.badge-confirmed[data-v-60815d6f]{background:#dcfce7;color:#166534;border:1px solid #86efac}.badge-rejected[data-v-60815d6f]{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.plan-summary-text[data-v-60815d6f]{font-size:12.5px;line-height:1.65;color:#78350f;margin-bottom:10px;white-space:pre-wrap}.plan-sections[data-v-60815d6f]{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.plan-section[data-v-60815d6f]{background:#fff9;border:1px solid #fde68a;border-radius:8px;padding:8px 10px}.section-title[data-v-60815d6f]{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#b45309;text-transform:uppercase;letter-spacing:.04em;margin:0 0 5px}.section-list[data-v-60815d6f]{margin:0;padding-left:18px;font-size:12px;color:#451a03;line-height:1.7}.section-list li[data-v-60815d6f]{margin-bottom:1px}.plan-hint-text[data-v-60815d6f]{font-size:11px;color:#b45309;margin:0 0 10px;opacity:.8}.reject-form[data-v-60815d6f]{margin-top:8px;padding:10px;background:#fef2f2cc;border:1px solid #fca5a5;border-radius:8px}.reject-label[data-v-60815d6f]{font-size:12px;color:#991b1b;margin:0 0 7px;font-weight:500}.reject-textarea[data-v-60815d6f]{width:100%;padding:7px 9px;border:1px solid #fca5a5;border-radius:6px;font-size:12px;color:#1f2937;resize:vertical;font-family:inherit;box-sizing:border-box;background:#fff}.reject-textarea[data-v-60815d6f]:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 2px #ef444426}.reject-textarea[data-v-60815d6f]::placeholder{color:#9ca3af}.reject-actions[data-v-60815d6f]{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}.plan-actions[data-v-60815d6f]{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.plan-final-bar[data-v-60815d6f]{margin-top:10px;padding:10px 12px;border-radius:8px;border:1px solid;font-size:13px;display:flex;align-items:center;justify-content:flex-start}.confirmed-text[data-v-60815d6f]{background:#f0fdf4;border-color:#86efac;color:#166534;width:100%}.rejected-text[data-v-60815d6f]{background:#fef2f2;border-color:#fca5a5;color:#991b1b;width:100%}.btn[data-v-60815d6f]{padding:7px 14px;border-radius:8px;font-size:12.5px;font-weight:500;cursor:pointer;border:none;transition:all .15s}.btn-confirm[data-v-60815d6f]{background:#f59e0b;color:#fff}.btn-confirm[data-v-60815d6f]:hover{background:#d97706}.btn-reject[data-v-60815d6f]{background:#fff;color:#92400e;border:1px solid #fbbf24}.btn-reject[data-v-60815d6f]:hover{background:#fef3c7}.btn-secondary[data-v-60815d6f]{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary[data-v-60815d6f]:hover:not(:disabled){background:#e5e7eb}.btn-ghost[data-v-60815d6f]{background:transparent;color:#6b7280}.btn-ghost[data-v-60815d6f]:hover{background:#f3f4f6;color:#374151}.btn[data-v-60815d6f]:disabled{opacity:.45;cursor:not-allowed}.done-card[data-v-ccfa2d18]{background:linear-gradient(180deg,#f0fdf4,#ecfdf5);border:1px solid #86efac;border-radius:14px;padding:12px 14px;margin:8px 0;box-shadow:0 2px 6px #16a34a14}.done-head[data-v-ccfa2d18]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.done-icon[data-v-ccfa2d18]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#16a34a;color:#fff}.done-title[data-v-ccfa2d18]{font-size:14px;font-weight:700;color:#166534;flex:1}.done-verify[data-v-ccfa2d18]{font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:999px}.done-verify.verify-pass[data-v-ccfa2d18]{background:#16a34a;color:#fff}.done-verify.verify-fail[data-v-ccfa2d18]{background:#fee2e2;color:#b91c1c}.done-verify.verify-pending[data-v-ccfa2d18]{background:#fef3c7;color:#92400e}.done-summary[data-v-ccfa2d18]{font-size:12.5px;line-height:1.6;color:#166534;margin-bottom:8px;white-space:pre-wrap}.done-meta[data-v-ccfa2d18]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.done-meta-item[data-v-ccfa2d18]{font-size:11px;color:#15803d;background:#ffffffa6;border:1px solid #bbf7d0;padding:1px 7px;border-radius:999px}.done-files[data-v-ccfa2d18]{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.done-file-chip[data-v-ccfa2d18]{font-family:SF Mono,Monaco,ui-monospace,monospace;font-size:10.5px;color:#166534;background:#ffffffc7;border:1px solid #bbf7d0;padding:1px 6px;border-radius:4px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.done-file-more[data-v-ccfa2d18]{font-size:10.5px;color:#15803d;font-style:italic}.done-preview[data-v-ccfa2d18]{display:flex;align-items:center;gap:8px;padding-top:6px;border-top:1px dashed #bbf7d0}.done-preview-link[data-v-ccfa2d18]{font-size:12px;font-weight:600;color:#166534;text-decoration:none;background:#fff;border:1px solid #86efac;padding:4px 10px;border-radius:8px;flex-shrink:0}.done-preview-link[data-v-ccfa2d18]:hover{background:#f0fdf4}.done-preview-url[data-v-ccfa2d18]{font-family:SF Mono,Monaco,ui-monospace,monospace;font-size:11px;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.error-card[data-v-23801e8e]{background:linear-gradient(180deg,#fef2f2,#fef7f7);border:1px solid #fca5a5;border-radius:12px;padding:10px 12px;margin:6px 0}.error-head[data-v-23801e8e]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.error-icon[data-v-23801e8e]{display:inline-flex;align-items:center;justify-content:center;color:#b91c1c}.error-title[data-v-23801e8e]{font-size:13px;font-weight:700;color:#991b1b}.error-message[data-v-23801e8e]{font-size:12px;line-height:1.55;color:#7f1d1d;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Monaco,ui-monospace,monospace}.event-line[data-v-c53e3602]{display:flex;align-items:flex-start;gap:6px;font-size:12px;line-height:1.5;padding:3px 6px;border-left:2px solid transparent;margin:2px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;white-space:pre-wrap}.event-line .event-icon[data-v-c53e3602]{flex-shrink:0;width:14px;text-align:center}.event-line.event-tool[data-v-c53e3602]{color:#16a34a;border-left-color:#86efac}.event-line.event-plan[data-v-c53e3602]{color:#d97706;border-left-color:#fdba74;background:#fffbeb}.event-line.event-done[data-v-c53e3602]{color:#16a34a;border-left-color:#16a34a;background:#f0fdf4}.event-line.event-err[data-v-c53e3602]{color:#dc2626;border-left-color:#fca5a5;background:#fef2f2}.event-line.event-info[data-v-c53e3602]{color:#2563eb;border-left-color:#93c5fd}.event-line.event-muted[data-v-c53e3602]{color:#94a3b8;font-size:11px}.input-wrapper[data-v-c53e3602]{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 18px #0f172a0f;overflow:visible}.input-wrapper .chat-textarea[data-v-c53e3602]{display:block;width:100%;padding:12px 14px 4px;font-size:13px;line-height:1.55;color:var(--text-primary, #0f172a);background:transparent;border:none;resize:none;outline:none}.input-wrapper .chat-textarea[data-v-c53e3602]::placeholder{color:#94a3b8}.input-toolbar[data-v-c53e3602]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 10px;background:#fff;border-radius:0 0 16px 16px}.toolbar-left[data-v-c53e3602],.toolbar-right[data-v-c53e3602]{display:flex;align-items:center;gap:8px}.tool-pill-btn[data-v-c53e3602]{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:500;color:#4b5563;background:#fff;border:1px solid #e5e7eb;border-radius:999px;cursor:pointer;transition:all .15s;white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}.tool-pill-btn span[data-v-c53e3602]{overflow:hidden;text-overflow:ellipsis}.tool-pill-btn .chevron[data-v-c53e3602]{flex-shrink:0;opacity:.6}.tool-pill-btn.active[data-v-c53e3602]{box-shadow:0 4px 12px #0000001a;color:#1f2937}.submit-btn[data-v-c53e3602]{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:#9ca3af;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:not-allowed;transition:all .2s ease;flex-shrink:0}.submit-btn.active[data-v-c53e3602]{background:#fff;border:1px solid #d1d5db;color:#374151;cursor:pointer}.submit-btn.active[data-v-c53e3602]:hover{transform:translateY(-1px);border-color:#2563eb;color:#2563eb}.toolbar-dropdown[data-v-c53e3602]{position:relative}.dropdown-menu[data-v-c53e3602]{position:absolute;bottom:calc(100% + 6px);left:0;min-width:180px;max-height:260px;overflow-y:auto;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001a;padding:5px;z-index:100;animation:dropdownFadeIn-c53e3602 .15s ease}@keyframes dropdownFadeIn-c53e3602{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dropdown-item[data-v-c53e3602]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;font-size:12px;color:#374151;background:transparent;border:none;border-radius:7px;cursor:pointer;transition:background .15s ease;text-align:left}.dropdown-item[data-v-c53e3602]:hover{background:#f3f4f6}.dropdown-item.selected[data-v-c53e3602]{color:#2563eb;font-weight:500}.tree-folder[data-v-1d2452a3]{padding:0}.tree-folder-header[data-v-1d2452a3]{display:flex;align-items:center;gap:4px;padding:6px 12px 6px 8px;cursor:pointer;border-radius:4px;margin:0 6px;font-size:13px;color:#374151;transition:background .12s}.tree-folder-header[data-v-1d2452a3]:hover{background:#f3f4f6}.tree-folder-arrow[data-v-1d2452a3]{width:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#9ca3af;transition:transform .15s}.tree-folder-arrow.open[data-v-1d2452a3]{transform:rotate(90deg)}.folder-icon[data-v-1d2452a3]{font-size:14px;margin-right:2px;flex-shrink:0}.tree-folder-name[data-v-1d2452a3]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-children[data-v-1d2452a3]{padding-left:16px;border-left:1px solid rgba(0,0,0,.06);margin-left:8px}.tree-truncated[data-v-1d2452a3]{padding:4px 12px 4px 24px;font-size:12px;color:#9ca3af;font-style:italic}.tree-file[data-v-1d2452a3]{display:flex;align-items:center;gap:6px;padding:6px 12px 6px 28px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .12s;margin:0 6px;border-radius:4px}.tree-file[data-v-1d2452a3]:hover{background:#f3f4f6;color:#374151}.tree-file.active[data-v-1d2452a3]{background:#eef2ff;color:#667eea;font-weight:500}.file-icon[data-v-1d2452a3]{display:flex;align-items:center;flex-shrink:0}.file-name[data-v-1d2452a3]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-toast{position:fixed;top:20px;right:20px;padding:10px 16px;border-radius:6px;font-size:13px;z-index:1100;box-shadow:0 6px 18px #0000001f;animation:sb-fadein .2s ease}.sb-toast-ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.sb-toast-err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}@keyframes sb-fadein{0%{opacity:0}to{opacity:1}}.code-layout[data-v-ca0a86d8]{display:flex;flex:1;min-height:0;background:#fff;overflow:hidden;height:100%}.code-file-tree[data-v-ca0a86d8]{width:240px;min-width:240px;background:#f8f9fa;border-right:1px solid #e1e3e6;display:flex;flex-direction:column;overflow:hidden}.code-file-tree-header[data-v-ca0a86d8]{padding:12px 16px;font-size:13px;font-weight:600;color:#202124;border-bottom:1px solid #e1e3e6;flex-shrink:0}.code-tree-content[data-v-ca0a86d8]{flex:1;overflow-y:auto;padding:8px 0}.code-empty-tree[data-v-ca0a86d8]{display:flex;align-items:center;justify-content:center;min-height:120px;color:#9ca3af;font-size:13px;padding:24px 12px;text-align:center}.code-loading-tree[data-v-ca0a86d8]{display:flex;align-items:center;justify-content:center;min-height:120px;color:#6b7280;font-size:12px}.tree-stats[data-v-ca0a86d8]{padding:8px 16px;font-size:11px;color:#9ca3af;border-top:1px solid #e1e3e6;display:flex;gap:12px}.code-editor[data-v-ca0a86d8]{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.code-toolbar[data-v-ca0a86d8]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e1e3e6;flex-shrink:0;background:#f8f9fa;box-sizing:border-box;height:45px}.toolbar-path[data-v-ca0a86d8]{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280}.toolbar-filename[data-v-ca0a86d8]{font-weight:500;color:#374151}.toolbar-actions[data-v-ca0a86d8]{display:flex;gap:6px}.toolbar-btn[data-v-ca0a86d8]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:#9ca3af;cursor:pointer;transition:all .15s}.toolbar-btn[data-v-ca0a86d8]:hover{background:#f3f4f6;color:#374151}.code-textarea-wrapper[data-v-ca0a86d8]{flex:1;display:flex;min-height:0}.line-numbers[data-v-ca0a86d8]{padding:16px 0;background:#f8f9fa;border-right:1px solid #e1e3e6;text-align:right;-webkit-user-select:none;user-select:none;min-width:48px;flex-shrink:0;overflow:hidden}.line-num[data-v-ca0a86d8]{display:block;padding:0 12px;font-size:13px;font-family:Monaco,Menlo,Courier New,monospace;color:#d1d5db;line-height:1.6}.code-textarea[data-v-ca0a86d8]{flex:1;padding:16px;border:none;outline:none;resize:none;font-size:13px;font-family:Monaco,Menlo,Courier New,monospace;line-height:1.6;color:#374151;background:transparent;white-space:pre;overflow:auto}.code-editor-empty[data-v-ca0a86d8]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#9ca3af;font-size:13px;min-height:200px}.code-editor-empty svg[data-v-ca0a86d8]{opacity:.4}.preview-panel[data-v-2873ddd0]{display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:0}.preview-tabs[data-v-2873ddd0]{display:flex;align-items:center;gap:4px;height:46px;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0}.tabs-left[data-v-2873ddd0]{display:flex;align-items:center;gap:2px;flex-shrink:0;z-index:1}.tab-btn[data-v-2873ddd0]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:none;background:transparent;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.tab-btn[data-v-2873ddd0]:hover{background:#f3f4f6;color:#374151}.tab-btn.active[data-v-2873ddd0]{background:#667eea1a;color:#667eea}.tab-btn svg[data-v-2873ddd0]{flex-shrink:0}.preview-header[data-v-2873ddd0]{height:48px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.tabs-right-actions[data-v-2873ddd0]{margin-left:auto;display:flex;align-items:center;gap:4px;flex-shrink:0;padding-right:4px}.tabs-action-btn[data-v-2873ddd0]{width:30px;height:30px;border-radius:7px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.tabs-action-btn[data-v-2873ddd0]:hover{background:#f3f4f6;color:#4b5563}.tabs-action-btn-primary[data-v-2873ddd0]{display:flex;align-items:center;gap:4px;padding:0 10px;width:auto;font-size:13px;color:#667eea;border:1px solid rgba(102,126,234,.3);background:#667eea0f;border-radius:7px}.tabs-action-btn-primary[data-v-2873ddd0]:hover{background:#667eea1f;color:#5a6fd6}.type-dropdown-left[data-v-2873ddd0]{left:auto!important;right:-50px}.addressbar-type-selector[data-v-2873ddd0]{position:relative;display:flex;align-items:center;flex-shrink:0}.type-icon-btn[data-v-2873ddd0]{width:30px;height:30px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.type-icon-btn[data-v-2873ddd0]:hover{background:#f3f4f6;color:#4b5563}.type-dropdown[data-v-2873ddd0]{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001a,0 2px 6px #0000000f;min-width:180px;padding:4px;z-index:999}.type-dropdown-item[data-v-2873ddd0]{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:transparent;border-radius:7px;color:#374151;font-size:13.5px;cursor:pointer;transition:all .12s;text-align:left}.type-dropdown-item[data-v-2873ddd0]:hover{background:#f3f4f6;color:#111827}.type-dropdown-item.active[data-v-2873ddd0]{background:#667eea14;color:#667eea;font-weight:500}.addressbar-input-wrap[data-v-2873ddd0]{flex:1;display:flex;align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:0 4px 0 10px;gap:4px;transition:all .15s;min-width:0;height:32px}.addressbar-input-wrap[data-v-2873ddd0]:focus-within{background:#fff;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.addressbar-slash[data-v-2873ddd0]{color:#9ca3af;font-size:14px;font-weight:400;flex-shrink:0;-webkit-user-select:none;user-select:none}.addressbar-input[data-v-2873ddd0]{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:#374151;min-width:0;padding:6px 0}.addressbar-input[data-v-2873ddd0]::placeholder{color:#b0b7c3}.addressbar-actions[data-v-2873ddd0]{display:flex;align-items:center;gap:0;flex-shrink:0;border-left:1px solid #e5e7eb;padding-left:4px;margin-left:2px}.addressbar-btn[data-v-2873ddd0]{width:30px;height:30px;border-radius:7px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.addressbar-btn[data-v-2873ddd0]:hover{background:#f3f4f6;color:#4b5563}.preview-title[data-v-2873ddd0]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1f2937}.preview-dot[data-v-2873ddd0]{width:8px;height:8px;border-radius:50%;background:#10b981}.preview-separator[data-v-2873ddd0]{color:#d1d5db}.preview-status[data-v-2873ddd0]{color:#9ca3af}.preview-actions[data-v-2873ddd0]{display:flex;gap:4px}.preview-action-btn[data-v-2873ddd0]{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center}.preview-action-btn[data-v-2873ddd0]:hover{background:#f3f4f6;color:#6b7280}.preview-canvas[data-v-2873ddd0]{position:relative;flex:1;display:flex;align-items:stretch;justify-content:center;padding:0;overflow:hidden}.preview-canvas.fullscreen[data-v-2873ddd0]{position:fixed;inset:0;z-index:9999;background:#fff;padding:0}.fullscreen-exit-btn[data-v-2873ddd0]{position:absolute;top:14px;right:14px;z-index:10000;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;transition:all .15s}.fullscreen-exit-btn[data-v-2873ddd0]:hover{background:#000000a6;transform:scale(1.08)}.empty-canvas[data-v-2873ddd0]{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:#d1d5db}.empty-canvas p[data-v-2873ddd0]{font-size:14px;color:#9ca3af;margin-top:16px}.loading-canvas[data-v-2873ddd0]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:#fffffff2;z-index:10}.loading-spinner[data-v-2873ddd0]{margin-bottom:16px}.spinner[data-v-2873ddd0]{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin-2873ddd0 .8s linear infinite}.loading-canvas p[data-v-2873ddd0]{font-size:14px;color:#6b7280;margin-top:12px}.preview-iframe[data-v-2873ddd0]{width:100%;height:100%;border:none;background:#fff}.preview-view[data-v-2873ddd0]{flex:1;display:flex;flex-direction:column;overflow:hidden}.code-view[data-v-2873ddd0]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.code-view>.sb-panel[data-v-2873ddd0]{flex:1;min-height:0}.code-header[data-v-2873ddd0]{height:48px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.code-title[data-v-2873ddd0]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1f2937}.code-title svg[data-v-2873ddd0]{color:#667eea}.code-actions[data-v-2873ddd0]{display:flex;gap:4px}.code-action-btn[data-v-2873ddd0]{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center}.code-action-btn[data-v-2873ddd0]:hover{background:#f3f4f6;color:#6b7280}.code-content[data-v-2873ddd0]{flex:1;display:flex;overflow:hidden}.file-tree[data-v-2873ddd0]{width:220px;background:#f9fafb;border-right:1px solid #e5e7eb;overflow-y:auto}.tree-root[data-v-2873ddd0]{padding:4px 0}.content-display-section[data-v-2873ddd0]{border-bottom:1px solid #e5e7eb}.content-item[data-v-2873ddd0]{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 28px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s}.content-item[data-v-2873ddd0]:hover{background:#f3f4f6;color:#374151}.content-item.active[data-v-2873ddd0]{background:#667eea1a;color:#667eea}.content-item .file-icon[data-v-2873ddd0]{font-size:14px}.content-file-item[data-v-2873ddd0]{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 28px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s;border-left:3px solid transparent}.content-file-item[data-v-2873ddd0]:hover{background:#f3f4f6;color:#374151;border-left-color:#667eea}.content-file-item.active[data-v-2873ddd0]{background:#667eea1a;color:#667eea;border-left-color:#667eea}.content-file-item .file-icon[data-v-2873ddd0]{font-size:14px;min-width:16px}.content-file-item .file-name[data-v-2873ddd0]{flex:1;overflow:visible;text-overflow:inherit;white-space:normal;word-break:break-all}.content-file-item .file-language[data-v-2873ddd0]{font-size:11px;color:#9ca3af;background:#f3f4f6;padding:2px 6px;border-radius:4px;text-transform:uppercase}.code-editor[data-v-2873ddd0]{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.editor-container[data-v-2873ddd0]{flex:1;display:flex;flex-direction:column;overflow:hidden}.editor-tab[data-v-2873ddd0]{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.tab-filename[data-v-2873ddd0]{font-size:13px;font-weight:500;color:#374151}.tab-close[data-v-2873ddd0]{width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:#9ca3af;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.tab-close[data-v-2873ddd0]:hover{background:#e5e7eb;color:#374151}.editor-content[data-v-2873ddd0]{flex:1;display:flex;overflow:hidden}.line-numbers[data-v-2873ddd0]{width:40px;background:#f9fafb;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;padding:16px 0;text-align:right;-webkit-user-select:none;user-select:none}.line-num[data-v-2873ddd0]{font-size:13px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;color:#9ca3af;line-height:1.5;padding-right:8px}.code-textarea[data-v-2873ddd0]{flex:1;border:none;resize:none;padding:16px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;line-height:1.5;color:#374151;outline:none;white-space:pre-wrap;overflow:scroll}.editor-placeholder[data-v-2873ddd0]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#d1d5db}.editor-placeholder p[data-v-2873ddd0]{font-size:14px;color:#9ca3af;margin-top:16px}.database-view[data-v-2873ddd0]{flex:1;display:flex;flex-direction:column;overflow:hidden}.database-header[data-v-2873ddd0]{height:48px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.database-title[data-v-2873ddd0]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1f2937}.create-table-btn[data-v-2873ddd0]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:opacity .2s}.create-table-btn[data-v-2873ddd0]:hover{opacity:.9}.database-content[data-v-2873ddd0]{flex:1;background:#f9fafb;padding:20px;overflow-y:auto}.table-list[data-v-2873ddd0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.table-card[data-v-2873ddd0]{background:#fff;border-radius:12px;padding:20px;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:16px}.table-card[data-v-2873ddd0]:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border-color:#667eea}.table-icon[data-v-2873ddd0]{width:48px;height:48px;border-radius:12px;background:#667eea1a;color:#667eea;display:flex;align-items:center;justify-content:center}.table-info[data-v-2873ddd0]{flex:1}.table-name[data-v-2873ddd0]{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 8px}.table-desc[data-v-2873ddd0]{font-size:13px;color:#6b7280;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.table-meta[data-v-2873ddd0]{display:flex;gap:12px;font-size:12px;color:#9ca3af}.table-actions[data-v-2873ddd0]{display:flex;gap:8px;padding-top:16px;border-top:1px solid #f3f4f6}.table-action-btn[data-v-2873ddd0]{flex:1;padding:6px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;font-size:12px;color:#6b7280;cursor:pointer;transition:all .2s}.table-action-btn[data-v-2873ddd0]:hover{background:#f3f4f6;color:#374151}.table-action-btn.danger[data-v-2873ddd0]:hover{background:#fee2e2;color:#ef4444;border-color:#fee2e2}.empty-database[data-v-2873ddd0]{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0;color:#d1d5db}.empty-database p[data-v-2873ddd0]{margin:16px 0 24px;font-size:14px;color:#9ca3af}.create-first-table-btn[data-v-2873ddd0]{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.create-first-table-btn[data-v-2873ddd0]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.table-detail[data-v-2873ddd0]{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden;display:flex;flex-direction:column;height:100%}.table-detail-header[data-v-2873ddd0]{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:16px}.back-btn[data-v-2873ddd0]{display:flex;align-items:center;gap:4px;border:none;background:transparent;color:#6b7280;font-size:13px;cursor:pointer;padding:0}.back-btn[data-v-2873ddd0]:hover{color:#374151}.table-detail-name[data-v-2873ddd0]{font-size:16px;font-weight:600;color:#1f2937;margin:0 auto 0 0}.table-detail-tabs[data-v-2873ddd0]{display:flex;gap:4px;background:#f3f4f6;padding:4px;border-radius:8px}.detail-tab[data-v-2873ddd0]{padding:6px 12px;border-radius:6px;border:none;background:transparent;font-size:12px;color:#6b7280;cursor:pointer}.detail-tab.active[data-v-2873ddd0]{background:#fff;color:#667eea;box-shadow:0 1px 2px #0000000d;font-weight:500}.table-structure[data-v-2873ddd0],.table-data[data-v-2873ddd0]{flex:1;overflow:hidden;display:flex;flex-direction:column}.structure-list[data-v-2873ddd0]{padding:20px;overflow-y:auto}.structure-header[data-v-2873ddd0]{display:grid;grid-template-columns:1.2fr 1.5fr 80px 90px 80px 100px;padding:12px 16px;background:#f9fafb;border-radius:8px 8px 0 0;font-size:12px;font-weight:600;color:#6b7280;border:1px solid #e5e7eb;border-bottom:none}.structure-row[data-v-2873ddd0]{display:grid;grid-template-columns:1.2fr 1.5fr 80px 90px 80px 100px;padding:12px 16px;border:1px solid #e5e7eb;border-top:none;align-items:center;font-size:13px;color:#374151}.structure-row[data-v-2873ddd0]:last-of-type{border-radius:0 0 8px 8px}.field-name[data-v-2873ddd0]{font-weight:600;color:#1f2937}.field-desc[data-v-2873ddd0]{font-size:13px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-badge[data-v-2873ddd0]{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.badge-index[data-v-2873ddd0]{background:#eff6ff;color:#3b82f6}.badge-required[data-v-2873ddd0]{background:#fef3c7;color:#d97706}.badge-no[data-v-2873ddd0]{background:#f3f4f6;color:#9ca3af}.index-checkbox[data-v-2873ddd0]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;border:1.5px solid #d1d5db;background:#fff;color:#9ca3af;cursor:pointer;transition:border-color .15s,background .15s}.index-checkbox[data-v-2873ddd0]:hover{border-color:#667eea}.index-checkbox.checked[data-v-2873ddd0]{background:#667eea1f;border-color:#667eea;color:#667eea}.field-plain[data-v-2873ddd0]{font-size:14px;color:#9ca3af;line-height:1}.field-type-plain[data-v-2873ddd0],.field-required-plain[data-v-2873ddd0]{font-size:13px;color:#6b7280}.field-type[data-v-2873ddd0]{font-size:13px;color:#374151}.field-actions[data-v-2873ddd0]{display:flex;gap:8px}.field-action-btn[data-v-2873ddd0]{padding:4px 8px;border:none;background:transparent;color:#6b7280;font-size:13px;cursor:pointer}.field-action-btn[data-v-2873ddd0]:hover{color:#667eea}.field-action-btn.danger[data-v-2873ddd0]:hover{color:#ef4444}.add-field-btn[data-v-2873ddd0]{margin-top:16px;display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px dashed #d1d5db;border-radius:8px;background:transparent;color:#6b7280;font-size:13px;width:100%;justify-content:center;cursor:pointer;transition:all .2s}.add-field-btn[data-v-2873ddd0]:hover{border-color:#667eea;color:#667eea;background:#667eea0d}.data-toolbar[data-v-2873ddd0]{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.data-action-btn[data-v-2873ddd0]{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;font-size:12px;cursor:pointer}.data-action-btn.primary[data-v-2873ddd0]{background:#667eea;border-color:#667eea;color:#fff}.data-search .search-input[data-v-2873ddd0]{padding:6px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;width:200px;outline:none}.data-search .search-input[data-v-2873ddd0]:focus{border-color:#667eea}.data-list[data-v-2873ddd0]{flex:1;overflow-y:auto;padding:20px}.data-row[data-v-2873ddd0]{display:flex;align-items:center;padding:12px 16px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;margin-bottom:8px}.data-cells[data-v-2873ddd0]{flex:1;display:flex;gap:20px;overflow:hidden}.data-cell[data-v-2873ddd0]{flex:1;font-size:13px;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-row-actions[data-v-2873ddd0]{display:flex;gap:8px;margin-left:16px}.data-row-action-btn[data-v-2873ddd0]{padding:4px 8px;border:none;background:transparent;color:#9ca3af;font-size:12px;cursor:pointer}.data-row-action-btn[data-v-2873ddd0]:hover{color:#667eea}.data-row-action-btn.danger[data-v-2873ddd0]:hover{color:#ef4444}.empty-data[data-v-2873ddd0]{text-align:center;color:#9ca3af;font-size:13px;padding:40px 0}.preview-tabs[data-v-2873ddd0]{background:transparent;border-bottom:0;padding:8px 10px 10px 8px;gap:10px}.tabs-left[data-v-2873ddd0],.tabs-right-actions[data-v-2873ddd0],.table-detail-tabs[data-v-2873ddd0]{gap:4px}.tab-btn[data-v-2873ddd0],.detail-tab[data-v-2873ddd0]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid rgba(207,226,255,.92);background:#ffffffeb;color:#64748b;font-weight:500;box-shadow:none;transition:all .2s ease}.tab-btn[data-v-2873ddd0]:hover,.detail-tab[data-v-2873ddd0]:hover{background:#fff;border-color:#cfd8e3;color:#0f172a}.tab-btn.active[data-v-2873ddd0],.detail-tab.active[data-v-2873ddd0]{background:#eaf4ff;border-color:#bfdbfe;color:#2563eb;font-weight:600;box-shadow:none}.tabs-action-btn[data-v-2873ddd0],.type-icon-btn[data-v-2873ddd0]{width:38px;height:38px;background:#ffffffeb;color:#64748b;box-shadow:none;transition:all .2s ease}.tabs-action-btn[data-v-2873ddd0]:hover,.type-icon-btn[data-v-2873ddd0]:hover{background:#fff;border-color:#cfd8e3;color:#0f172a}.tabs-action-btn-primary[data-v-2873ddd0],.create-first-table-btn[data-v-2873ddd0]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid #bfdbfe;background:#eaf4ff;color:#2563eb;font-weight:600;box-shadow:none}.tabs-action-btn-primary[data-v-2873ddd0]:hover,.create-first-table-btn[data-v-2873ddd0]:hover{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.tabs-action-btn-primary[data-v-2873ddd0],.create-table-btn[data-v-2873ddd0],.create-first-table-btn[data-v-2873ddd0]{white-space:nowrap!important;word-break:keep-all;min-width:fit-content;width:auto!important;flex:0 0 auto}.code-textarea[data-v-2873ddd0]:focus,.search-input[data-v-2873ddd0]:focus,.data-search .search-input[data-v-2873ddd0]:focus,.addressbar-input-wrap[data-v-2873ddd0]:focus-within{outline:none!important;border-color:#bfdbfe!important;background:#eff6ff!important;box-shadow:0 0 0 4px #bfdbfe59!important}.sb-toast[data-v-2873ddd0]{position:fixed;top:20px;right:20px;padding:10px 16px;border-radius:6px;font-size:13px;z-index:1100;box-shadow:0 6px 18px #0000001f;animation:sb-fadein-2873ddd0 .2s ease}.sb-toast-ok[data-v-2873ddd0]{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.sb-toast-err[data-v-2873ddd0]{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}@keyframes sb-fadein-2873ddd0{0%{opacity:0}to{opacity:1}}.preview-status-panel[data-v-2873ddd0]{background:#0000000a;border-radius:8px;padding:8px 12px;margin:8px;display:flex;flex-direction:column}.status-row[data-v-2873ddd0]{display:flex;justify-content:space-between;align-items:center}.status-left[data-v-2873ddd0]{display:flex;align-items:center;gap:8px}.status-bullet[data-v-2873ddd0]{width:10px;height:10px;border-radius:50%;display:inline-block}.status-ok[data-v-2873ddd0]{background:#22c55e}.status-failed[data-v-2873ddd0]{background:#ef4444}.status-text[data-v-2873ddd0]{color:#333}.status-actions[data-v-2873ddd0]{display:flex;gap:6px}.log-btn[data-v-2873ddd0]{background:transparent;border:1px solid rgba(0,0,0,.08);padding:4px 8px;border-radius:6px;cursor:pointer}.logs-container[data-v-2873ddd0]{max-height:220px;overflow:auto;margin-top:8px;background:#fff;border-radius:6px;border:1px solid rgba(0,0,0,.04);padding:8px}.logs-actions[data-v-2873ddd0]{font-size:12px;color:#666;margin-bottom:6px}.log-empty[data-v-2873ddd0]{color:#888;font-size:13px}.log-lines[data-v-2873ddd0]{display:flex;flex-direction:column;gap:6px}.log-line[data-v-2873ddd0]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Roboto Mono,monospace;font-size:12px;color:#111;display:flex;gap:8px;align-items:flex-start}.log-time[data-v-2873ddd0]{color:#888;min-width:64px}.log-body.info[data-v-2873ddd0]{color:#0f172a}.log-body.install[data-v-2873ddd0]{color:#0366d6}.log-body.dev[data-v-2873ddd0]{color:#059669}.log-body.server-ready[data-v-2873ddd0]{color:#7c3aed}.log-body.error[data-v-2873ddd0]{color:#b91c1c}.fade-enter-active[data-v-2873ddd0],.fade-leave-active[data-v-2873ddd0]{transition:opacity .2s}.fade-enter-from[data-v-2873ddd0],.fade-leave-to[data-v-2873ddd0]{opacity:0}.sandbox-status-bar[data-v-2873ddd0]{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;font-size:12px;background:#22c55e14;border-bottom:1px solid rgba(34,197,94,.15);color:#16a34a}.sandbox-status-bar.expired[data-v-2873ddd0]{background:#ef444414;border-bottom-color:#ef444426;color:#dc2626}.sandbox-status-bar.rebuilding[data-v-2873ddd0]{background:#3b82f614;border-bottom-color:#3b82f626;color:#3b82f6}.sb-status-text[data-v-2873ddd0]{display:flex;align-items:center;gap:6px}.sb-status-text.checking[data-v-2873ddd0]{color:#6b7280}.sb-status-text.rebuilding[data-v-2873ddd0]{color:#3b82f6}.sb-reason[data-v-2873ddd0]{color:#6b7280;font-size:11px}.sb-rebuild-btn[data-v-2873ddd0]{padding:3px 10px;border-radius:4px;border:1px solid #dc2626;background:#dc2626;color:#fff;font-size:11px;cursor:pointer;margin-left:8px}.sb-rebuild-btn[data-v-2873ddd0]:hover{background:#b91c1c}.sb-rebuild-btn[data-v-2873ddd0]:disabled{opacity:.5;cursor:not-allowed}.sb-refresh-btn[data-v-2873ddd0]{padding:4px;border-radius:4px;border:none;background:transparent;color:#6b7280;cursor:pointer}.sb-refresh-btn[data-v-2873ddd0]:hover{color:#374151;background:#0000000d}.sb-refresh-btn[data-v-2873ddd0]:disabled{opacity:.5;cursor:not-allowed}.spinner-inline[data-v-2873ddd0]{display:inline-block;width:10px;height:10px;border:1.5px solid #d1d5db;border-top-color:#6b7280;border-radius:50%;animation:spin-2873ddd0 .6s linear infinite}.loading-canvas.sandbox-rebuilding[data-v-2873ddd0]{background:#3b82f605}.loading-canvas.sandbox-rebuilding .spinner[data-v-2873ddd0]{border-top-color:#3b82f6}.loading-canvas.sandbox-rebuilding p[data-v-2873ddd0]{color:#3b82f6;font-weight:500}.loading-hint[data-v-2873ddd0]{font-size:13px;color:#94a3b8;font-weight:400;margin-top:4px}.code-view[data-v-2873ddd0]{display:flex;flex-direction:column;flex:1;min-height:0;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.code-empty-state[data-v-2873ddd0]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;color:#64748b;font-size:13px;gap:10px;min-height:240px}.code-empty-state p[data-v-2873ddd0]{margin:0}.code-empty-state .code-empty-hint[data-v-2873ddd0]{font-size:12px;color:#94a3b8}.database-view[data-v-2873ddd0]{display:flex;flex-direction:column;height:100%;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.database-content[data-v-2873ddd0]{flex:1;overflow-y:auto;padding:0}.db-spinner[data-v-2873ddd0]{width:26px;height:26px;border:2.5px solid #e0e7ff;border-top-color:#6366f1;border-radius:50%;animation:spin-2873ddd0 .7s linear infinite}.db-spinner.small[data-v-2873ddd0]{width:16px;height:16px;border-width:2px}@keyframes spin-2873ddd0{to{transform:rotate(360deg)}}.db-loading-state[data-v-2873ddd0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;color:#64748b;font-size:13px;gap:12px;min-height:240px}.db-loading-state p[data-v-2873ddd0],.db-error-state p[data-v-2873ddd0]{margin:0}.db-error-state[data-v-2873ddd0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;color:#64748b;font-size:13px;gap:12px;min-height:240px}.db-retry-btn[data-v-2873ddd0]{padding:6px 18px;border-radius:6px;border:1px solid #c7d2fe;background:#eef2ff;color:#4f46e5;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.db-retry-btn[data-v-2873ddd0]:hover{background:#e0e7ff;border-color:#a5b4fc}.db-hint[data-v-2873ddd0]{font-size:12px;color:#94a3b8;margin:0}.db-tables-overview[data-v-2873ddd0]{padding:16px 20px 24px;display:flex;flex-direction:column;gap:16px}.db-empty-prompt[data-v-2873ddd0]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;color:#64748b;font-size:13px;gap:12px;min-height:240px}.db-table-block[data-v-2873ddd0]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 2px #0f172a08;transition:box-shadow .18s,border-color .18s}.db-table-block[data-v-2873ddd0]:hover{box-shadow:0 4px 12px #0f172a0f;border-color:#cbd5e1}.db-table-header[data-v-2873ddd0]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px dashed #eef2f7}.db-table-title[data-v-2873ddd0]{display:flex;align-items:center;gap:8px;min-width:0}.db-table-icon[data-v-2873ddd0]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#6366f1;flex-shrink:0}.db-table-name[data-v-2873ddd0]{font-size:14px;font-weight:600;color:#1e293b;letter-spacing:.2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.db-table-counts[data-v-2873ddd0]{display:flex;gap:6px;flex-shrink:0}.db-count-pill[data-v-2873ddd0]{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;font-size:11px;color:#475569;font-weight:500;line-height:1.2}.dot[data-v-2873ddd0]{display:inline-block;width:6px;height:6px;border-radius:50%}.dot-blue[data-v-2873ddd0]{background:#6366f1}.dot-green[data-v-2873ddd0]{background:#10b981}.db-table-fields[data-v-2873ddd0]{display:flex;flex-wrap:wrap;gap:6px}.db-field-chip[data-v-2873ddd0]{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;font-size:11px;color:#334155;line-height:1.4;transition:background .15s,border-color .15s}.db-field-chip[data-v-2873ddd0]:hover{background:#e2e8f0;border-color:#cbd5e1}.db-field-name[data-v-2873ddd0]{font-weight:500;color:#1e293b}.db-field-type[data-v-2873ddd0]{font-size:10px;color:#6366f1;font-family:ui-monospace,monospace;background:#eef2ff;padding:1px 5px;border-radius:3px;font-weight:500}.db-data-loading[data-v-2873ddd0]{display:flex;align-items:center;gap:8px;padding:18px 0 8px;font-size:12px;color:#94a3b8;justify-content:center}.db-data-empty[data-v-2873ddd0]{padding:24px 0;font-size:12px;color:#94a3b8;text-align:center;background:#f8fafc;border-radius:6px;border:1px dashed #e2e8f0}.data-table-wrapper[data-v-2873ddd0]{overflow-x:auto;margin:0 -4px;border-radius:8px;border:1px solid #eef2f7}.data-table[data-v-2873ddd0]{width:100%;border-collapse:collapse;font-size:12.5px}.data-table th[data-v-2873ddd0]{text-align:left;padding:9px 12px;background:#f8fafc;color:#475569;font-weight:600;border-bottom:1px solid #e2e8f0;white-space:nowrap;font-size:11.5px;letter-spacing:.2px;position:sticky;top:0;z-index:1}.data-table th .th-name[data-v-2873ddd0]{display:inline-block;font-family:ui-monospace,monospace;color:#1e293b}.data-table td[data-v-2873ddd0]{padding:8px 12px;border-bottom:1px solid #f1f5f9;color:#334155;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}.data-table tbody tr[data-v-2873ddd0]{transition:background .12s}.data-table tbody tr[data-v-2873ddd0]:hover{background:#f8fafc}.data-table tbody tr:last-child td[data-v-2873ddd0]{border-bottom:none}.cell-text[data-v-2873ddd0]{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.cell-id[data-v-2873ddd0]{font-family:ui-monospace,monospace;color:#94a3b8;font-size:11.5px}.cell-num[data-v-2873ddd0]{font-variant-numeric:tabular-nums;font-weight:500;color:#6366f1}.cell-time[data-v-2873ddd0]{color:#94a3b8;font-size:11.5px}.cell-primary[data-v-2873ddd0]{color:#0f172a;font-weight:500}.editor-page{height:100vh;display:flex;flex-direction:column;background:linear-gradient(rgba(37,99,235,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.03) 1px,transparent 1px),#f7faff;background-size:42px 42px,42px 42px,auto}.editor-header{height:60px;background:#f7faffeb;border-bottom:1px solid rgba(191,219,254,.58);display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 14px;flex-shrink:0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-left{display:flex;align-items:center;gap:10px}.back-btn{width:34px;height:34px;border-radius:14px;border:1px solid transparent;background:transparent;color:#3c4043;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.back-btn:hover{background:#f1f2f4;border-color:#e1e3e6;color:#1f1f1f}.project-info{display:flex;align-items:center;gap:10px}.project-name{font-size:15px;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.2px}.project-status{padding:3px 9px;border-radius:20px;font-size:11px;font-weight:500;letter-spacing:.2px}.project-status.status-draft{background:#eef4ff;color:#1d4ed8;border:1px solid #bfdbfe}.project-status.status-deployed{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.project-status.status-archived{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.header-right{display:flex;align-items:center;gap:8px}.header-btn{min-height:38px;padding:0 15px;border-radius:999px;border:1px solid rgba(191,219,254,.86);background:#ffffffe6;color:#475569;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .15s;white-space:nowrap}.header-btn:hover{background:#fff;border-color:#2563eb47;color:#0f172a}.header-btn.primary{background:#111827;border-color:#111827;color:#fff;box-shadow:none}.header-btn.primary:hover{background:#020617;box-shadow:0 10px 22px #0f172a2e}.settings-btn{width:auto;min-width:72px;height:38px;padding:0 14px;gap:6px;border-radius:999px;justify-content:center}.settings-btn:hover{background:#f1f2f4;border-color:#e1e3e6;color:#1f1f1f}.editor-main{flex:1;display:grid;grid-template-columns:auto 380px minmax(560px,1fr);overflow:hidden;min-height:0;gap:14px;padding:14px;background:transparent}.history-panel{background:#fff;border:1px solid rgba(191,219,254,.66);border-radius:0;display:flex;flex-direction:column;overflow:hidden}.history-header{padding:10px 8px 6px}.new-chat-btn{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:9px 11px;border-radius:20px;border:1px solid #dde1e6;background:#e9ebee;color:#1f1f1f;font-size:14px;font-weight:400;cursor:pointer;transition:background .12s;text-align:left}.new-chat-btn:hover{background:#e1e4e8;border-color:#d4d8de}.history-list{flex:1;overflow-y:auto;padding:6px 8px}.history-list::-webkit-scrollbar{width:4px}.history-list::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px}.history-item{display:flex;align-items:center;gap:7px;padding:8px;border-radius:12px;cursor:pointer;transition:all .12s;position:relative;margin-bottom:2px;background:#fff;border:1px solid #eef0f2}.history-item:hover{background:#fff;border-color:#dde1e6}.history-item.active{background:#fff;border-color:#d7dce2;box-shadow:0 1px 2px #3c404314}.history-item.active .history-icon{color:#5f6368}.history-item.active .history-item-title{color:#1f1f1f;font-weight:500}.history-icon{flex-shrink:0;color:#c4c9d4}.history-item-title{flex:1;font-size:12.5px;color:#4b5563;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.history-delete-btn{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#d1d5db;border-radius:4px;cursor:pointer;opacity:0;transition:all .12s}.history-item:hover .history-delete-btn{opacity:1}.history-delete-btn:hover{background:#fee2e2;color:#ef4444}.history-empty{text-align:center;padding:40px 12px 20px;font-size:12px;color:#94a3b8;line-height:1.6}.chat-panel{background:#fff;border:1px solid rgba(191,219,254,.66);border-radius:0;display:flex;flex-direction:column;position:relative;min-height:0}.workflow-steps{display:flex;align-items:center;gap:0;padding:12px 16px;background:linear-gradient(180deg,#fffffff5,#f7f9fcfa);border-bottom:1px solid rgba(191,219,254,.4);flex-shrink:0}.wf-step{flex:1;text-align:center;font-size:12px;color:#94a3b8;padding:8px 4px;border-radius:8px;transition:all .2s;position:relative}.wf-step:after{content:"";position:absolute;right:-2px;top:50%;transform:translateY(-50%);width:4px;height:4px;background:#e2e8f0;border-radius:50%}.wf-step:last-child:after{display:none}.wf-step.active{color:#2563eb;background:#2563eb14;font-weight:600}.wf-step.done{color:#059669;background:#0596690f}.wf-step.done:before{content:"✓ "}.chat-messages{overflow-y:auto;padding:22px 18px 16px;flex:1;min-height:0;margin-bottom:80px}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px}.welcome-section{display:flex;align-items:center;justify-content:center;min-height:100%;padding-top:68px;padding-bottom:112px}.welcome-content{text-align:center;width:100%;max-width:320px}.welcome-icon{width:56px;height:56px;border-radius:18px;background:#1f1f1f;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 12px 24px #0f172a29}.welcome-section .input-wrapper{position:absolute;left:18px;right:18px;bottom:14px;display:flex;align-items:flex-end}.welcome-content h3{font-size:18px;font-weight:700;color:#111827;margin:0 0 6px;letter-spacing:-.3px}.welcome-content p{font-size:13px;color:#6b7280;margin:0;line-height:1.5}.welcome-suggestions{display:flex;flex-direction:column;gap:8px;margin:16px 0 0;text-align:left}.suggestion-chip{min-height:40px;padding:9px 13px;border-radius:20px;border:1.5px solid #dde1e6;background:#f8f9fa;color:#3c4043;font-size:12.5px;cursor:pointer;text-align:left;transition:all .15s;line-height:1.4;display:flex;align-items:center;gap:8px}.suggestion-chip:hover{border-color:#cfd3d8;background:#fff;color:#1f1f1f}.input-wrapper{position:relative;display:flex;align-items:flex-end}.chat-textarea{flex:1;width:100%;min-height:76px;padding:12px 46px 12px 14px;border:1.5px solid #dde1e6;border-radius:18px;font-size:13.5px;resize:none;outline:none;font-family:inherit;line-height:1.5;background:#fff;color:#1f1f1f;transition:all .15s}.chat-textarea:focus{border-color:#2563eb52;box-shadow:0 0 0 4px #2563eb14}.chat-textarea::placeholder{color:#c4c9d4;font-size:13px}.send-btn{position:absolute;right:7px;bottom:7px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#1f1f1f;border:none;border-radius:14px;cursor:pointer;transition:all .15s;box-shadow:none}.send-btn:hover:not(.disabled){transform:none;background:#000;box-shadow:none}.send-btn.disabled{background:#e5e7eb;cursor:not-allowed;box-shadow:none}.send-btn svg{color:#fff}.send-btn.disabled svg{color:#b0b7c3}.message-group{margin-bottom:16px}.user-message{display:flex;justify-content:flex-end;margin-bottom:4px}.user-message-content{max-width:82%;padding:13px 14px;background:#1f1f1f;color:#fff;border-radius:20px;font-size:13.5px;line-height:1.55;box-shadow:none}.ai-message{margin-bottom:16px}.ai-message.loading{opacity:.75}.ai-message-header{display:flex;align-items:center;gap:8px;margin-bottom:7px}.ai-avatar{width:26px;height:26px;border-radius:12px;background:#f1f2f4;border:1px solid #e1e3e6;color:#1f1f1f;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.3px}.ai-label{font-size:12px;font-weight:600;color:#6f7378}.ai-message-content{border-radius:20px;padding:13px 14px;margin-left:34px;background:#fff;border:1px solid #e1e3e6}.reasoning-content{background:#f8f9fc;border:1px solid #eaecf0;border-radius:14px;padding:12px 14px;margin-bottom:12px}.reasoning-label{font-size:11px;font-weight:700;color:#3c4043;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}.reasoning-text{font-size:12.5px;line-height:1.5;color:#1e40af;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;white-space:pre-wrap}.ai-text{font-size:13.5px;line-height:1.65;color:#374151;margin-bottom:12px}.steps-list{margin-top:10px;display:flex;flex-direction:column;gap:6px}.step-item{background:#f8f9fc;border:1px solid #eaecf0;border-radius:14px;padding:10px 12px}.step-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.step-number{font-size:10px;font-weight:700;color:#3c4043;background:#e9ebee;padding:2px 6px;border-radius:999px}.step-title{font-size:12.5px;font-weight:600;color:#1f2937}.step-file{display:flex;align-items:center;gap:5px;margin-bottom:3px}.file-icon{font-size:10px;color:#9ca3af;font-family:monospace}.file-name{font-size:12px;font-weight:500;color:#1f1f1f}.file-path{font-size:11px;color:#9ca3af;font-family:monospace}.step-description{font-size:12px;color:#6b7280;line-height:1.4}.pending-action{margin-top:10px;background:#f8f9fc;border:1px solid #eaecf0;border-radius:14px;overflow:hidden}.action-content{padding:12px;border-bottom:1px solid #eaecf0}.action-code{margin:0;font-family:Monaco,Menlo,monospace;font-size:11px;color:#374151;white-space:pre-wrap;word-break:break-all}.action-buttons{display:flex;gap:8px;padding:8px 12px}.action-btn{padding:6px 12px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;font-size:12px;cursor:pointer;transition:all .12s}.action-btn.primary{background:#1f1f1f;border-color:#1f1f1f;color:#fff}.action-btn.secondary{color:#6b7280}.action-btn:hover{opacity:.88}.event-line{display:flex;align-items:center;gap:8px;padding:6px 12px;margin:4px 0;border-radius:8px;font-size:12.5px;background:transparent;border-left:3px solid transparent}.event-icon{font-size:12px;flex-shrink:0}.event-text{color:#64748b;flex:1}.event-line.event-info{border-left-color:#94a3b8}.event-line.event-info .event-icon{color:#64748b}.event-line.event-muted{background:#94a3b814;border-left-color:#94a3b8}.event-line.event-muted .event-icon,.event-line.event-muted .event-text{color:#94a3b8}.event-line.event-done{background:#0596690f;border-left-color:#059669}.event-line.event-done .event-icon,.event-line.event-done .event-text{color:#059669}.event-line.event-err{background:#ef44440f;border-left-color:#ef4444}.event-line.event-err .event-icon,.event-line.event-err .event-text{color:#ef4444}.event-line.event-plan{background:#2563eb0f;border-left-color:#2563eb}.event-line.event-plan .event-icon,.event-line.event-plan .event-text{color:#2563eb}.thinking-state{display:flex;align-items:center;gap:10px;color:#9ca3af;font-size:13px;padding:4px 0}.thinking-dots{display:flex;gap:4px}.thinking-dots span{width:6px;height:6px;border-radius:50%;background:#5f6368;animation:thinking-bounce 1.2s ease-in-out infinite}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinking-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.thinking-icon{width:18px;height:18px}.chat-input-area{padding:12px 14px;border-top:0;position:absolute;left:0;right:0;bottom:0;background:#fff;z-index:10;box-shadow:none}.preview-panel{background:#ffffffeb;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(226,232,240,.92);box-shadow:0 14px 36px #0f172a14}.preview-tabs{display:flex;align-items:center;gap:4px;height:46px;background:#fff;border-bottom:1px solid #e5e7eb}.tab-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid rgba(207,226,255,.92);background:#ffffffeb;color:#64748b;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-btn:hover{background:#fff;border-color:#cfd8e3;color:#0f172a}.tab-btn.active{background:#eaf4ff;border-color:#bfdbfe;color:#2563eb;font-weight:600;box-shadow:none}.tab-btn svg{flex-shrink:0}.preview-header{height:48px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.preview-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1f2937}.preview-dot{width:8px;height:8px;border-radius:50%;background:#10b981}.preview-separator{color:#d1d5db}.preview-status{color:#9ca3af}.preview-actions{display:flex;gap:4px}.preview-action-btn{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center}.preview-action-btn:hover{background:#f3f4f6;color:#6b7280}.preview-canvas{flex:1;display:flex;align-items:center;justify-content:center;padding:20px}.preview-canvas.fullscreen{position:fixed;inset:60px 120px 0 380px;z-index:100}.empty-canvas{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:#d1d5db}.empty-canvas p{font-size:14px;color:#9ca3af;margin-top:16px}.preview-iframe{width:100%;height:100%;border:none;box-shadow:0 4px 20px #00000014;background:#fff}.preview-view,.code-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.code-header{height:48px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.code-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1f2937}.code-title svg{color:#667eea}.code-actions{display:flex;gap:4px}.code-action-btn{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center}.code-action-btn:hover{background:#f3f4f6;color:#6b7280}.code-content{flex:1;display:flex;overflow:hidden}.file-tree{width:220px;background:#f9fafb;border-right:1px solid #e5e7eb;overflow-y:auto}.tree-section{border-bottom:1px solid #e5e7eb}.tree-header{display:flex;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.tree-header:hover{background:#f3f4f6}.tree-header svg{transition:transform .2s;color:#9ca3af}.tree-files{padding:4px 0}.tree-file{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 28px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s}.tree-file:hover{background:#f3f4f6;color:#374151}.tree-file.active{background:#667eea1a;color:#667eea}.tree-file .file-icon{font-size:14px}.tree-file .file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-display-section{border-bottom:1px solid #e5e7eb}.content-item{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 28px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s}.content-item:hover{background:#f3f4f6;color:#374151}.content-item.active{background:#667eea1a;color:#667eea}.content-item .file-icon{font-size:14px}.content-file-item{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 28px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s;border-left:3px solid transparent}.content-file-item:hover{background:#f3f4f6;color:#374151;border-left-color:#667eea}.content-file-item.active{background:#667eea1a;color:#667eea;border-left-color:#667eea}.content-file-item .file-icon{font-size:14px;min-width:16px}.content-file-item .file-name{flex:1;overflow:visible;text-overflow:inherit;white-space:normal;word-break:break-all}.content-file-item .file-language{font-size:11px;color:#9ca3af;background:#f3f4f6;padding:2px 6px;border-radius:4px;text-transform:uppercase}.content-title{font-size:14px;font-weight:700;color:#1f2937;padding:8px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;word-break:break-all;white-space:normal;margin-bottom:8px;border-radius:6px}.code-editor{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.editor-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.editor-tab{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.tab-filename{font-size:13px;font-weight:500;color:#374151}.tab-close{width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:#9ca3af;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.tab-close:hover{background:#e5e7eb;color:#374151}.editor-content{flex:1;display:flex;overflow:hidden}.line-numbers{padding:16px 0;background:#f9fafb;border-right:1px solid #e5e7eb;text-align:right;-webkit-user-select:none;user-select:none}.line-numbers .line-num{display:block;padding:0 12px;font-size:13px;font-family:Monaco,Menlo,Courier New,monospace;color:#d1d5db;line-height:1.6}.code-textarea{flex:1;padding:16px;border:none;outline:none;resize:none;font-size:13px;font-family:Monaco,Menlo,Courier New,monospace;line-height:1.6;color:#374151;background:transparent;white-space:pre-wrap;overflow:auto}.editor-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#d1d5db}.editor-placeholder p{margin-top:12px;font-size:14px;color:#9ca3af}.database-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.database-header{height:52px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.database-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1f2937}.database-title svg{color:#667eea}.create-table-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid #667eea;background:transparent;color:#667eea;font-size:12px;font-weight:500;cursor:pointer}.create-table-btn:hover{background:#667eea14}.database-content{flex:1;overflow-y:auto;padding:16px}.table-list{display:flex;flex-direction:column;gap:12px}.table-card{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:12px;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s}.table-card:hover{border-color:#667eea;box-shadow:0 2px 12px #667eea26}.table-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#667eea14;border-radius:10px;color:#667eea}.table-info{flex:1}.table-name{font-size:14px;font-weight:600;color:#1f2937;margin:0 0 4px}.table-desc{font-size:12px;color:#9ca3af;margin:0 0 6px}.table-meta{display:flex;gap:12px}.table-meta span{font-size:11px;color:#6b7280}.table-actions{display:flex;gap:6px}.table-action-btn{padding:6px 10px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;font-size:11px;color:#6b7280;cursor:pointer}.table-action-btn:hover{border-color:#667eea;color:#667eea}.table-action-btn.danger:hover{border-color:#ef4444;color:#ef4444}.empty-database{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#d1d5db}.empty-database p{margin-top:16px;font-size:14px;color:#9ca3af}.create-first-table-btn{margin-top:20px;padding:10px 20px;border-radius:8px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:13px;cursor:pointer}.create-first-table-btn:hover{box-shadow:0 2px 8px #667eea66}.table-detail{display:flex;flex-direction:column;height:100%}.table-detail-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid #e5e7eb}.table-detail-header .back-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:6px;border:none;background:#f3f4f6;color:#6b7280;font-size:12px;cursor:pointer}.table-detail-header .back-btn:hover{background:#e5e7eb}.table-detail-name{font-size:16px;font-weight:600;color:#1f2937;margin:0}.table-detail-tabs{display:flex;gap:4px;margin-left:auto}.detail-tab{padding:6px 12px;border-radius:12px;border:none;background:transparent;color:#5f6368;font-size:12px;cursor:pointer}.detail-tab:hover{background:#f1f2f4;color:#1f1f1f}.detail-tab.active{background:#f1f2f4;color:#1f1f1f;font-weight:600}.table-structure{flex:1;overflow-y:auto;padding:16px}.structure-list{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.structure-header{display:grid;grid-template-columns:1fr 100px 60px 100px;gap:12px;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:12px;font-weight:500;color:#6b7280}.structure-row{display:grid;grid-template-columns:1fr 100px 60px 100px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb;font-size:13px}.structure-row:last-child{border-bottom:none}.field-name{color:#1f2937;font-weight:500}.field-type{color:#6b7280;font-size:12px}.field-required{color:#9ca3af;font-size:12px}.field-actions{display:flex;gap:6px}.field-action-btn{padding:4px 8px;border-radius:4px;border:1px solid #e5e7eb;background:#fff;font-size:11px;color:#6b7280;cursor:pointer}.field-action-btn:hover{border-color:#667eea;color:#667eea}.field-action-btn.danger:hover{border-color:#ef4444;color:#ef4444}.add-field-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;border:1px dashed #e5e7eb;border-radius:0;background:transparent;color:#6b7280;font-size:12px;cursor:pointer}.add-field-btn:hover{border-color:#667eea;color:#667eea;background:#667eea08}.table-data{flex:1;display:flex;flex-direction:column;overflow:hidden}.data-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid #e5e7eb}.data-action-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:12px;cursor:pointer}.data-action-btn:hover{border-color:#667eea;color:#667eea}.data-action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.data-action-btn.primary:hover{box-shadow:0 2px 8px #667eea66}.data-search{flex:1;max-width:240px;margin-left:12px}.search-input{width:100%;padding:6px 12px;border-radius:6px;border:1px solid #e5e7eb;font-size:12px;outline:none}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.data-list{flex:1;overflow-y:auto;padding:16px}.data-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px}.data-cells{display:flex;gap:16px;flex:1;overflow-x:auto}.data-cell{font-size:13px;color:#374151;white-space:nowrap}.data-row-actions{display:flex;gap:6px;flex-shrink:0}.data-row-action-btn{padding:4px 8px;border-radius:4px;border:1px solid #e5e7eb;background:#fff;font-size:11px;color:#6b7280;cursor:pointer}.data-row-action-btn:hover{border-color:#667eea;color:#667eea}.data-row-action-btn.danger:hover{border-color:#ef4444;color:#ef4444}.empty-data{display:flex;align-items:center;justify-content:center;padding:40px;color:#9ca3af;font-size:14px}.deploy-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a52;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.deploy-modal{display:flex;flex-direction:column;width:min(460px,100%);max-height:calc(100vh - 48px);overflow:hidden;background:#fff;border:1px solid rgba(226,232,240,.96);border-radius:12px;box-shadow:0 28px 80px #0f172a38;animation:deploy-modal-in .18s ease-out}@keyframes deploy-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.deploy-modal-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:16px 20px;border-bottom:1px solid #e1e3e6}.deploy-modal-header h3{margin:0;color:#1f2937;font-size:16px;font-weight:600}.deploy-modal-body{overflow-y:auto;padding:20px}.modal-overlay{position:fixed;inset:0;background:#0f172a6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e1e3e6}.modal-header h3{font-size:18px;font-weight:600;color:#1f2937;margin:0}.close-btn{width:32px;height:32px;border-radius:14px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#f3f4f6;color:#6b7280}.modal-body{padding:24px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid #e1e3e6}.btn{padding:10px 20px;border-radius:14px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:6px}.btn-secondary{background:#fff;border:1px solid #e1e3e6;color:#3c4043}.btn-secondary:hover{background:#f1f2f4;border-color:#cfd3d8;color:#1f1f1f}.btn-primary{background:#1f1f1f;border:1px solid #1f1f1f;color:#fff}.btn-primary:hover{background:#000;border-color:#000}.deploy-content{display:flex;flex-direction:column;gap:16px}.deploy-start-btn{width:100%;justify-content:center;margin-top:8px;border-radius:999px!important;border:1px solid #bfdbfe!important;background:#eaf4ff!important;color:#2563eb!important;box-shadow:none!important}.deploy-start-btn:hover{background:#dbeafe!important;border-color:#93c5fd!important;color:#1d4ed8!important}.deploy-actions{display:flex;gap:12px;justify-content:center;margin-top:8px}.deploy-actions .btn{flex:1;justify-content:center}.deploy-info{display:flex;flex-direction:column;gap:12px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f7f8f9;border-radius:14px}.info-label{font-size:13px;color:#6b7280}.info-value{font-size:14px;font-weight:500;color:#1f2937}.deploy-tips{padding:12px 16px;background:#667eea14;border-radius:14px}.deploy-tips p{font-size:13px;color:#3c4043;margin:0}.deploy-progress{text-align:center;padding:20px 0}.progress-icon{display:flex;justify-content:center;margin-bottom:20px;color:#3c4043}.deploy-progress h4{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:24px}.progress-steps{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:0 20px}.progress-steps .step-item{display:flex;align-items:center;gap:12px;color:#9ca3af}.progress-steps .step-item.active{color:#3c4043}.progress-steps .step-item.done{color:#1f1f1f}.progress-steps .step-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.step-dot{width:10px;height:10px;border-radius:50%;background:currentColor}.step-text{font-size:14px}.deploy-success{text-align:center;padding:20px 0}.success-icon{display:flex;justify-content:center;margin-bottom:16px}.deploy-success h4{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:8px}.deploy-success p{font-size:14px;color:#6b7280;margin-bottom:20px}.deploy-domain{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;padding:16px;background:#f7f8f9;border-radius:14px}.domain-label{font-size:13px;color:#6b7280}.domain-url{font-size:13px;font-weight:500;color:#3c4043}.deploy-error{text-align:center;padding:20px 0}.error-icon{display:flex;justify-content:center;margin-bottom:16px}.deploy-error h4{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:8px}.error-message{font-size:14px;color:#ef4444;margin:0}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-input{padding:10px 14px;border:1px solid #e1e3e6;border-radius:14px;font-size:14px;outline:none;background:#fff}.form-input:focus{border-color:#b9bdc4;box-shadow:0 0 0 3px #3c404314}.stream-panel{position:fixed;right:20px;bottom:20px;width:420px;max-height:60vh;background:#1f1f1f;color:#e6eef8;border-radius:16px;box-shadow:0 10px 30px #02061799;overflow:hidden;display:flex;flex-direction:column;z-index:2000;font-size:13px}.stream-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:linear-gradient(90deg,#ffffff05,#ffffff03);border-bottom:1px solid rgba(255,255,255,.03)}.stream-title{font-weight:600;color:#dff3ff}.stream-actions{display:flex;gap:8px;align-items:center}.stream-btn{background:#ffffff08;color:#e6eef8;border:none;padding:6px 8px;border-radius:6px;cursor:pointer}.stream-checkbox{display:flex;align-items:center;gap:6px;color:#cfe9ff}.stream-events{padding:10px;overflow:auto}.stream-event{padding:8px;margin-bottom:8px;border-radius:6px;background:#ffffff05;border:1px solid rgba(255,255,255,.02)}.event-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;color:#99c7ff;font-size:12px}.event-payload{white-space:pre-wrap;max-height:160px;overflow:auto;color:#d6f0ff;background:transparent;border-radius:4px;padding:6px;font-size:12px}.stream-empty{padding:12px;color:#e6eef899;text-align:center}@media(max-width:1400px){.editor-main{grid-template-columns:180px 320px 1fr}}@media(max-width:1200px){.editor-main{grid-template-columns:160px 300px 1fr}}@media(max-width:900px){.editor-main{grid-template-columns:300px 1fr}.history-panel{display:none}}@media(max-width:768px){.editor-main{grid-template-columns:1fr}.chat-panel{display:none}.deploy-modal-overlay{padding:16px}.deploy-modal{max-height:calc(100vh - 32px)}}.editor-layout{flex:1;display:flex;flex-direction:row;overflow:hidden;min-height:0}.area-a{width:30vw;display:flex;flex-direction:column;border-right:1px solid rgba(191,219,254,.66);flex-shrink:0;min-width:420px;background:#fff}.area-a-header{height:56px;display:flex;align-items:center;gap:6px;padding:0 10px;border-bottom:1px solid rgba(226,232,240,.9);flex-shrink:0}.area-back-btn,.area-collapse-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.area-back-btn:hover,.area-collapse-btn:hover{background:#f1f2f4;color:#374151}.area-project-info{display:flex;align-items:center;gap:8px;margin-left:4px;min-width:0;flex:1}.area-project-name{font-size:15px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.area-project-status{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;flex-shrink:0}.area-project-status.status-draft{background:#eef4ff;color:#1d4ed8;border:1px solid #bfdbfe}.area-project-status.status-deployed{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.area-project-status.status-archived{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.area-a-content{flex:1;display:flex;flex-direction:row;overflow:hidden;min-height:0}.area-a-content .history-panel{width:178px!important;flex-shrink:0;border:none!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;border-right:1px solid rgba(191,219,254,.66)!important;transition:width .25s ease,opacity .2s ease;overflow:hidden}.area-a-content .history-panel.collapsed{width:0!important;opacity:0;padding:0!important;margin:0!important;border:none!important}.area-a-content .chat-panel{flex:1;min-width:0;border:none!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}.area-b{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.area-b-header{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid rgba(226,232,240,.9);flex-shrink:0;background:#f7faffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.area-b-header-left{display:flex;align-items:center;gap:4px}.b-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid transparent;background:transparent;color:#64748b;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.b-tab-btn:hover{background:#fffc;border-color:#bfdbfeb3;color:#0f172a}.b-tab-btn.active{background:#eaf4ff;border-color:#bfdbfe;color:#2563eb;font-weight:600}.area-b-header-right{display:flex;align-items:center;gap:6px}.b-header-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:10px;border:1px solid rgba(191,219,254,.86);background:#ffffffe6;color:#475569;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.b-header-btn:hover{background:#fff;border-color:#2563eb47;color:#0f172a}.b-header-btn.settings-btn{width:36px;height:36px;padding:0;justify-content:center}.area-b-content{flex:1;overflow:hidden;min-height:0}.preview-panel[data-v-b538a6bf]{display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:0}.preview-tabs[data-v-b538a6bf]{display:flex;align-items:center;gap:4px;height:46px;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0}.tabs-left[data-v-b538a6bf]{display:flex;align-items:center;gap:2px;flex-shrink:0;z-index:1}.tab-btn[data-v-b538a6bf]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:none;background:transparent;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.tab-btn[data-v-b538a6bf]:hover{background:#f3f4f6;color:#374151}.tab-btn.active[data-v-b538a6bf]{background:#667eea1a;color:#667eea}.tab-btn svg[data-v-b538a6bf]{flex-shrink:0}.preview-header[data-v-b538a6bf]{height:48px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.tabs-right-actions[data-v-b538a6bf]{margin-left:auto;display:flex;align-items:center;gap:4px;flex-shrink:0;padding-right:4px}.tabs-action-btn[data-v-b538a6bf]{width:30px;height:30px;border-radius:7px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.tabs-action-btn[data-v-b538a6bf]:hover{background:#f3f4f6;color:#4b5563}.tabs-action-btn-primary[data-v-b538a6bf]{display:flex;align-items:center;gap:4px;padding:0 10px;width:auto;font-size:13px;color:#667eea;border:1px solid rgba(102,126,234,.3);background:#667eea0f;border-radius:7px}.tabs-action-btn-primary[data-v-b538a6bf]:hover{background:#667eea1f;color:#5a6fd6}.type-dropdown-left[data-v-b538a6bf]{left:auto!important;right:-50px}.addressbar-type-selector[data-v-b538a6bf]{position:relative;display:flex;align-items:center;flex-shrink:0}.type-icon-btn[data-v-b538a6bf]{width:30px;height:30px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.type-icon-btn[data-v-b538a6bf]:hover{background:#f3f4f6;color:#4b5563}.type-dropdown[data-v-b538a6bf]{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001a,0 2px 6px #0000000f;min-width:180px;padding:4px;z-index:999}.type-dropdown-item[data-v-b538a6bf]{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:transparent;border-radius:7px;color:#374151;font-size:13.5px;cursor:pointer;transition:all .12s;text-align:left}.type-dropdown-item[data-v-b538a6bf]:hover{background:#f3f4f6;color:#111827}.type-dropdown-item.active[data-v-b538a6bf]{background:#667eea14;color:#667eea;font-weight:500}.addressbar-input-wrap[data-v-b538a6bf]{flex:1;display:flex;align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:0 4px 0 10px;gap:4px;transition:all .15s;min-width:0;height:32px}.addressbar-input-wrap[data-v-b538a6bf]:focus-within{background:#fff;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.addressbar-slash[data-v-b538a6bf]{color:#9ca3af;font-size:14px;font-weight:400;flex-shrink:0;-webkit-user-select:none;user-select:none}.addressbar-input[data-v-b538a6bf]{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:#374151;min-width:0;padding:6px 0}.addressbar-input[data-v-b538a6bf]::placeholder{color:#b0b7c3}.addressbar-actions[data-v-b538a6bf]{display:flex;align-items:center;gap:0;flex-shrink:0;border-left:1px solid #e5e7eb;padding-left:4px;margin-left:2px}.addressbar-btn[data-v-b538a6bf]{width:30px;height:30px;border-radius:7px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.addressbar-btn[data-v-b538a6bf]:hover{background:#f3f4f6;color:#4b5563}.preview-title[data-v-b538a6bf]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1f2937}.preview-dot[data-v-b538a6bf]{width:8px;height:8px;border-radius:50%;background:#10b981}.preview-separator[data-v-b538a6bf]{color:#d1d5db}.preview-status[data-v-b538a6bf]{color:#9ca3af}.preview-actions[data-v-b538a6bf]{display:flex;gap:4px}.preview-action-btn[data-v-b538a6bf]{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center}.preview-action-btn[data-v-b538a6bf]:hover{background:#f3f4f6;color:#6b7280}.preview-canvas[data-v-b538a6bf]{position:relative;flex:1;display:flex;align-items:stretch;justify-content:center;padding:0;overflow:hidden}.preview-canvas.fullscreen[data-v-b538a6bf]{position:fixed;inset:0;z-index:9999;background:#fff;padding:0}.fullscreen-exit-btn[data-v-b538a6bf]{position:absolute;top:14px;right:14px;z-index:10000;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;transition:all .15s}.fullscreen-exit-btn[data-v-b538a6bf]:hover{background:#000000a6;transform:scale(1.08)}.empty-canvas[data-v-b538a6bf]{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:#d1d5db}.empty-canvas p[data-v-b538a6bf]{font-size:14px;color:#9ca3af;margin-top:16px}.loading-canvas[data-v-b538a6bf]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:#fffffff2;z-index:10}.loading-spinner[data-v-b538a6bf]{margin-bottom:16px}.spinner[data-v-b538a6bf]{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin-b538a6bf .8s linear infinite}.loading-canvas p[data-v-b538a6bf]{font-size:14px;color:#6b7280;margin-top:12px}.preview-iframe[data-v-b538a6bf]{width:100%;height:100%;border:none;background:#fff}.preview-view[data-v-b538a6bf]{flex:1;display:flex;flex-direction:column;overflow:hidden}.code-view[data-v-b538a6bf]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.code-view>.sb-panel[data-v-b538a6bf]{flex:1;min-height:0}.code-header[data-v-b538a6bf]{height:48px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.code-title[data-v-b538a6bf]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1f2937}.code-title svg[data-v-b538a6bf]{color:#667eea}.code-actions[data-v-b538a6bf]{display:flex;gap:4px}.code-action-btn[data-v-b538a6bf]{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center}.code-action-btn[data-v-b538a6bf]:hover{background:#f3f4f6;color:#6b7280}.code-content[data-v-b538a6bf]{flex:1;display:flex;overflow:hidden}.file-tree[data-v-b538a6bf]{width:220px;background:#f9fafb;border-right:1px solid #e5e7eb;overflow-y:auto}.tree-root[data-v-b538a6bf]{padding:4px 0}.content-display-section[data-v-b538a6bf]{border-bottom:1px solid #e5e7eb}.content-item[data-v-b538a6bf]{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 28px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s}.content-item[data-v-b538a6bf]:hover{background:#f3f4f6;color:#374151}.content-item.active[data-v-b538a6bf]{background:#667eea1a;color:#667eea}.content-item .file-icon[data-v-b538a6bf]{font-size:14px}.content-file-item[data-v-b538a6bf]{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 28px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s;border-left:3px solid transparent}.content-file-item[data-v-b538a6bf]:hover{background:#f3f4f6;color:#374151;border-left-color:#667eea}.content-file-item.active[data-v-b538a6bf]{background:#667eea1a;color:#667eea;border-left-color:#667eea}.content-file-item .file-icon[data-v-b538a6bf]{font-size:14px;min-width:16px}.content-file-item .file-name[data-v-b538a6bf]{flex:1;overflow:visible;text-overflow:inherit;white-space:normal;word-break:break-all}.content-file-item .file-language[data-v-b538a6bf]{font-size:11px;color:#9ca3af;background:#f3f4f6;padding:2px 6px;border-radius:4px;text-transform:uppercase}.code-editor[data-v-b538a6bf]{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.editor-container[data-v-b538a6bf]{flex:1;display:flex;flex-direction:column;overflow:hidden}.editor-tab[data-v-b538a6bf]{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.tab-filename[data-v-b538a6bf]{font-size:13px;font-weight:500;color:#374151}.tab-close[data-v-b538a6bf]{width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:#9ca3af;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.tab-close[data-v-b538a6bf]:hover{background:#e5e7eb;color:#374151}.editor-content[data-v-b538a6bf]{flex:1;display:flex;overflow:hidden}.line-numbers[data-v-b538a6bf]{width:40px;background:#f9fafb;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;padding:16px 0;text-align:right;-webkit-user-select:none;user-select:none}.line-num[data-v-b538a6bf]{font-size:13px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;color:#9ca3af;line-height:1.5;padding-right:8px}.code-textarea[data-v-b538a6bf]{flex:1;border:none;resize:none;padding:16px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;line-height:1.5;color:#374151;outline:none;white-space:pre-wrap;overflow:scroll}.editor-placeholder[data-v-b538a6bf]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#d1d5db}.editor-placeholder p[data-v-b538a6bf]{font-size:14px;color:#9ca3af;margin-top:16px}.database-view[data-v-b538a6bf]{flex:1;display:flex;flex-direction:column;overflow:hidden}.database-header[data-v-b538a6bf]{height:48px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.database-title[data-v-b538a6bf]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1f2937}.create-table-btn[data-v-b538a6bf]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:opacity .2s}.create-table-btn[data-v-b538a6bf]:hover{opacity:.9}.database-content[data-v-b538a6bf]{flex:1;background:#f9fafb;padding:20px;overflow-y:auto}.table-list[data-v-b538a6bf]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.table-card[data-v-b538a6bf]{background:#fff;border-radius:12px;padding:20px;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:16px}.table-card[data-v-b538a6bf]:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border-color:#667eea}.table-icon[data-v-b538a6bf]{width:48px;height:48px;border-radius:12px;background:#667eea1a;color:#667eea;display:flex;align-items:center;justify-content:center}.table-info[data-v-b538a6bf]{flex:1}.table-name[data-v-b538a6bf]{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 8px}.table-desc[data-v-b538a6bf]{font-size:13px;color:#6b7280;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.table-meta[data-v-b538a6bf]{display:flex;gap:12px;font-size:12px;color:#9ca3af}.table-actions[data-v-b538a6bf]{display:flex;gap:8px;padding-top:16px;border-top:1px solid #f3f4f6}.table-action-btn[data-v-b538a6bf]{flex:1;padding:6px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;font-size:12px;color:#6b7280;cursor:pointer;transition:all .2s}.table-action-btn[data-v-b538a6bf]:hover{background:#f3f4f6;color:#374151}.table-action-btn.danger[data-v-b538a6bf]:hover{background:#fee2e2;color:#ef4444;border-color:#fee2e2}.empty-database[data-v-b538a6bf]{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0;color:#d1d5db}.empty-database p[data-v-b538a6bf]{margin:16px 0 24px;font-size:14px;color:#9ca3af}.create-first-table-btn[data-v-b538a6bf]{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.create-first-table-btn[data-v-b538a6bf]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.table-detail[data-v-b538a6bf]{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden;display:flex;flex-direction:column;height:100%}.table-detail-header[data-v-b538a6bf]{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:16px}.back-btn[data-v-b538a6bf]{display:flex;align-items:center;gap:4px;border:none;background:transparent;color:#6b7280;font-size:13px;cursor:pointer;padding:0}.back-btn[data-v-b538a6bf]:hover{color:#374151}.table-detail-name[data-v-b538a6bf]{font-size:16px;font-weight:600;color:#1f2937;margin:0 auto 0 0}.table-detail-tabs[data-v-b538a6bf]{display:flex;gap:4px;background:#f3f4f6;padding:4px;border-radius:8px}.detail-tab[data-v-b538a6bf]{padding:6px 12px;border-radius:6px;border:none;background:transparent;font-size:12px;color:#6b7280;cursor:pointer}.detail-tab.active[data-v-b538a6bf]{background:#fff;color:#667eea;box-shadow:0 1px 2px #0000000d;font-weight:500}.table-structure[data-v-b538a6bf],.table-data[data-v-b538a6bf]{flex:1;overflow:hidden;display:flex;flex-direction:column}.structure-list[data-v-b538a6bf]{padding:20px;overflow-y:auto}.structure-header[data-v-b538a6bf]{display:grid;grid-template-columns:1.2fr 1.5fr 80px 90px 80px 100px;padding:12px 16px;background:#f9fafb;border-radius:8px 8px 0 0;font-size:12px;font-weight:600;color:#6b7280;border:1px solid #e5e7eb;border-bottom:none}.structure-row[data-v-b538a6bf]{display:grid;grid-template-columns:1.2fr 1.5fr 80px 90px 80px 100px;padding:12px 16px;border:1px solid #e5e7eb;border-top:none;align-items:center;font-size:13px;color:#374151}.structure-row[data-v-b538a6bf]:last-of-type{border-radius:0 0 8px 8px}.field-name[data-v-b538a6bf]{font-weight:600;color:#1f2937}.field-desc[data-v-b538a6bf]{font-size:13px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-badge[data-v-b538a6bf]{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.badge-index[data-v-b538a6bf]{background:#eff6ff;color:#3b82f6}.badge-required[data-v-b538a6bf]{background:#fef3c7;color:#d97706}.badge-no[data-v-b538a6bf]{background:#f3f4f6;color:#9ca3af}.index-checkbox[data-v-b538a6bf]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;border:1.5px solid #d1d5db;background:#fff;color:#9ca3af;cursor:pointer;transition:border-color .15s,background .15s}.index-checkbox[data-v-b538a6bf]:hover{border-color:#667eea}.index-checkbox.checked[data-v-b538a6bf]{background:#667eea1f;border-color:#667eea;color:#667eea}.field-plain[data-v-b538a6bf]{font-size:14px;color:#9ca3af;line-height:1}.field-type-plain[data-v-b538a6bf],.field-required-plain[data-v-b538a6bf]{font-size:13px;color:#6b7280}.field-type[data-v-b538a6bf]{font-size:13px;color:#374151}.field-actions[data-v-b538a6bf]{display:flex;gap:8px}.field-action-btn[data-v-b538a6bf]{padding:4px 8px;border:none;background:transparent;color:#6b7280;font-size:13px;cursor:pointer}.field-action-btn[data-v-b538a6bf]:hover{color:#667eea}.field-action-btn.danger[data-v-b538a6bf]:hover{color:#ef4444}.add-field-btn[data-v-b538a6bf]{margin-top:16px;display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px dashed #d1d5db;border-radius:8px;background:transparent;color:#6b7280;font-size:13px;width:100%;justify-content:center;cursor:pointer;transition:all .2s}.add-field-btn[data-v-b538a6bf]:hover{border-color:#667eea;color:#667eea;background:#667eea0d}.data-toolbar[data-v-b538a6bf]{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.data-action-btn[data-v-b538a6bf]{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;font-size:12px;cursor:pointer}.data-action-btn.primary[data-v-b538a6bf]{background:#667eea;border-color:#667eea;color:#fff}.data-search .search-input[data-v-b538a6bf]{padding:6px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;width:200px;outline:none}.data-search .search-input[data-v-b538a6bf]:focus{border-color:#667eea}.data-list[data-v-b538a6bf]{flex:1;overflow-y:auto;padding:20px}.data-row[data-v-b538a6bf]{display:flex;align-items:center;padding:12px 16px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;margin-bottom:8px}.data-cells[data-v-b538a6bf]{flex:1;display:flex;gap:20px;overflow:hidden}.data-cell[data-v-b538a6bf]{flex:1;font-size:13px;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-row-actions[data-v-b538a6bf]{display:flex;gap:8px;margin-left:16px}.data-row-action-btn[data-v-b538a6bf]{padding:4px 8px;border:none;background:transparent;color:#9ca3af;font-size:12px;cursor:pointer}.data-row-action-btn[data-v-b538a6bf]:hover{color:#667eea}.data-row-action-btn.danger[data-v-b538a6bf]:hover{color:#ef4444}.empty-data[data-v-b538a6bf]{text-align:center;color:#9ca3af;font-size:13px;padding:40px 0}.preview-tabs[data-v-b538a6bf]{background:transparent;border-bottom:0;padding:8px 10px 10px 8px;gap:10px}.tabs-left[data-v-b538a6bf],.tabs-right-actions[data-v-b538a6bf],.table-detail-tabs[data-v-b538a6bf]{gap:4px}.tab-btn[data-v-b538a6bf],.detail-tab[data-v-b538a6bf]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid rgba(207,226,255,.92);background:#ffffffeb;color:#64748b;font-weight:500;box-shadow:none;transition:all .2s ease}.tab-btn[data-v-b538a6bf]:hover,.detail-tab[data-v-b538a6bf]:hover{background:#fff;border-color:#cfd8e3;color:#0f172a}.tab-btn.active[data-v-b538a6bf],.detail-tab.active[data-v-b538a6bf]{background:#eaf4ff;border-color:#bfdbfe;color:#2563eb;font-weight:600;box-shadow:none}.tabs-action-btn[data-v-b538a6bf],.type-icon-btn[data-v-b538a6bf]{width:38px;height:38px;background:#ffffffeb;color:#64748b;box-shadow:none;transition:all .2s ease}.tabs-action-btn[data-v-b538a6bf]:hover,.type-icon-btn[data-v-b538a6bf]:hover{background:#fff;border-color:#cfd8e3;color:#0f172a}.tabs-action-btn-primary[data-v-b538a6bf],.create-first-table-btn[data-v-b538a6bf]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid #bfdbfe;background:#eaf4ff;color:#2563eb;font-weight:600;box-shadow:none}.tabs-action-btn-primary[data-v-b538a6bf]:hover,.create-first-table-btn[data-v-b538a6bf]:hover{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.tabs-action-btn-primary[data-v-b538a6bf],.create-table-btn[data-v-b538a6bf],.create-first-table-btn[data-v-b538a6bf]{white-space:nowrap!important;word-break:keep-all;min-width:fit-content;width:auto!important;flex:0 0 auto}.code-textarea[data-v-b538a6bf]:focus,.search-input[data-v-b538a6bf]:focus,.data-search .search-input[data-v-b538a6bf]:focus,.addressbar-input-wrap[data-v-b538a6bf]:focus-within{outline:none!important;border-color:#bfdbfe!important;background:#eff6ff!important;box-shadow:0 0 0 4px #bfdbfe59!important}.external-preview-page[data-v-b538a6bf]{display:flex;flex-direction:column;height:100vh;background:#f8fafc;color:#1e293b}.ep-header[data-v-b538a6bf]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0}.ep-header-left[data-v-b538a6bf]{display:flex;align-items:center;gap:12px}.ep-btn-refresh[data-v-b538a6bf]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;transition:all .15s}.ep-btn-refresh[data-v-b538a6bf]:hover{background:#f1f5f9;color:#3b82f6}.ep-title[data-v-b538a6bf]{font-size:16px;font-weight:600;color:#0f172a;margin:0}.ep-header-right[data-v-b538a6bf]{display:flex;align-items:center;gap:12px}.ep-btn-deploy[data-v-b538a6bf]{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;background:#3b82f6;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.ep-btn-deploy[data-v-b538a6bf]:hover:not(:disabled){background:#2563eb}.ep-btn-deploy[data-v-b538a6bf]:disabled{opacity:.5;cursor:not-allowed}.ep-main[data-v-b538a6bf]{flex:1;display:flex;flex-direction:column;overflow:hidden}.ep-loading[data-v-b538a6bf]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.ep-loading-spinner[data-v-b538a6bf]{width:48px;height:48px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin-b538a6bf .8s linear infinite}@keyframes spin-b538a6bf{to{transform:rotate(360deg)}}.ep-loading-text[data-v-b538a6bf]{font-size:18px;font-weight:600;color:#0f172a;margin:0}.ep-loading-hint[data-v-b538a6bf]{font-size:14px;color:#64748b;margin:0}.ep-loading-overlay[data-v-b538a6bf]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#fffc;z-index:10}.ep-preview[data-v-b538a6bf]{flex:1;display:flex;position:relative}.ep-iframe[data-v-b538a6bf]{width:100%;height:100%;border:none;background:#fff}.ep-modal-overlay[data-v-b538a6bf]{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000}.ep-modal[data-v-b538a6bf]{width:420px;max-width:90vw;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 40px #0f172a26}.ep-modal-header[data-v-b538a6bf]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.ep-modal-header h3[data-v-b538a6bf]{margin:0;font-size:16px;font-weight:600;color:#0f172a}.ep-modal-close[data-v-b538a6bf]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer;transition:all .15s}.ep-modal-close[data-v-b538a6bf]:hover{background:#f1f5f9;color:#1e293b}.ep-modal-body[data-v-b538a6bf]{padding:24px 20px}.ep-modal-tip[data-v-b538a6bf]{font-size:14px;color:#64748b;margin:0 0 20px}.ep-modal-actions[data-v-b538a6bf]{display:flex;gap:12px;justify-content:flex-end}.ep-btn-primary[data-v-b538a6bf]{padding:8px 20px;border:none;border-radius:8px;background:#3b82f6;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.ep-btn-primary[data-v-b538a6bf]:hover{background:#2563eb}.ep-btn-secondary[data-v-b538a6bf]{padding:8px 20px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:14px;cursor:pointer;transition:all .15s}.ep-btn-secondary[data-v-b538a6bf]:hover{background:#f8fafc;color:#1e293b}.ep-deploy-progress[data-v-b538a6bf]{display:flex;flex-direction:column;gap:16px}.ep-deploy-step[data-v-b538a6bf]{display:flex;align-items:center;gap:12px;font-size:14px;color:#94a3b8}.ep-deploy-step.active[data-v-b538a6bf]{color:#3b82f6}.ep-deploy-step.done[data-v-b538a6bf]{color:#16a34a}.ep-step-icon[data-v-b538a6bf]{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.ep-step-dot[data-v-b538a6bf]{width:8px;height:8px;border-radius:50%;background:#cbd5e1}.ep-step-spinner[data-v-b538a6bf]{width:16px;height:16px;border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin-b538a6bf .8s linear infinite}.ep-deploy-step.done .ep-step-icon svg[data-v-b538a6bf]{color:#16a34a}.ep-deploy-result[data-v-b538a6bf]{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.ep-deploy-result p[data-v-b538a6bf]{margin:0;font-size:16px;color:#1e293b}.ep-deploy-url[data-v-b538a6bf]{display:flex;width:100%;gap:8px}.ep-deploy-url input[data-v-b538a6bf]{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;color:#1e293b;font-size:13px}.ep-deploy-url button[data-v-b538a6bf]{padding:8px 16px;border:none;border-radius:6px;background:#f1f5f9;color:#475569;font-size:13px;cursor:pointer;transition:background .15s}.ep-deploy-url button[data-v-b538a6bf]:hover{background:#e2e8f0}
