:root{--primary-color: #1890ff;--primary-light: #e6f7ff;--primary-dark: #096dd9;--primary-ultralight: #f0f5ff;--primary-light-transparent: rgba(24, 144, 255, .1);--success-color: #52c41a;--success-light: #f6ffed;--success-dark: #389e0d;--warning-color: #faad14;--warning-light: #fffbe6;--warning-dark: #d48806;--error-color: #ff4d4f;--error-light: #fff2f0;--error-dark: #cf1322;--info-color: #1890ff;--info-light: #e6f7ff;--info-dark: #096dd9;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-quaternary: #e5e7eb;--bg-accent: #f0f9ff;--text-primary: #111827;--text-secondary: #374151;--text-tertiary: #6b7280;--text-quaternary: #9ca3af;--border-color: #e5e7eb;--border-light: #f3f4f6;--border-dark: #d1d5db;--shadow-light: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-medium: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-heavy: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-canvas: 10;--z-canvas-control: 100;--z-dropdown: 1000;--z-modal-backdrop: 1050;--z-modal: 1060;--z-popover: 1070;--z-tooltip: 1080}.list-page .ant-table-tbody>tr:hover>td{background-color:var(--bg-tertiary);transition:background-color .2s ease}.list-page .ant-btn{transition:all .2s ease}.list-page .ant-btn-link:hover{background-color:#3b82f61a;color:var(--primary-color);text-decoration:none}.list-page .ant-btn[type=primary]:hover{box-shadow:var(--shadow-medium);transform:translateY(-1px)}.list-page .ant-btn[type=default]:hover{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.list-page .text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%}.list-page .ant-dropdown-menu-item{transition:background-color .2s ease}.list-page .ant-dropdown-menu-item:hover{background-color:var(--bg-tertiary)}.list-page .table-actions{display:flex;gap:8px}.list-page .table-actions .ant-btn{margin:0}.list-page .batch-toolbar{padding:12px 16px;background-color:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.list-page .search-card{margin-bottom:var(--spacing-md);box-shadow:var(--shadow-light)}.list-page .ant-pagination{margin-top:var(--spacing-lg);text-align:right}.list-page .ant-tag{font-weight:500}.list-page .resource-info{display:flex;align-items:center;gap:12px;font-size:12px}.list-page .resource-info span{display:flex;align-items:center;gap:4px}[data-theme=tech-black-side],[data-theme=professional-gray-side],[data-theme=tech-black-mix],[data-theme=professional-gray-mix],[data-theme=tech-black-top],[data-theme=professional-gray-top],.theme-tech-black-side,.theme-professional-gray-side,.theme-tech-black-mix,.theme-professional-gray-mix,.theme-tech-black-top,.theme-professional-gray-top,.ant-layout-tech-black-side,.ant-layout-professional-gray-side,.ant-layout-tech-black-mix,.ant-layout-professional-gray-mix,.ant-layout-tech-black-top,.ant-layout-professional-gray-top{--primary-color: #60a5fa;--primary-light: #93c5fd;--primary-dark: #3b82f6;--primary-ultralight: #1e3a8a;--primary-light-transparent: rgba(96, 165, 250, .1);--success-color: #34d399;--success-light: #6ee7b7;--success-dark: #10b981;--warning-color: #fbbf24;--warning-light: #fcd34d;--warning-dark: #f59e0b;--error-color: #f87171;--error-light: #fca5a5;--error-dark: #ef4444;--info-color: #94a3b8;--info-light: #cbd5e1;--info-dark: #64748b;--bg-primary: #111827;--bg-secondary: #1f2937;--bg-tertiary: #374151;--bg-quaternary: #4b5563;--bg-accent: #1e40af;--text-primary: #f9fafb;--text-secondary: #e5e7eb;--text-tertiary: #9ca3af;--text-quaternary: #6b7280;--border-color: #374151;--border-light: #2d3748;--border-dark: #4b5563;--shadow-light: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-medium: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-heavy: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .4);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .75);background-color:#0f172a!important}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;font-family:var(--font-family);font-size:14px;line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}[data-theme=tech-black-side] ::-webkit-scrollbar-track,[data-theme=professional-gray-side] ::-webkit-scrollbar-track,[data-theme=tech-black-mix] ::-webkit-scrollbar-track,[data-theme=professional-gray-mix] ::-webkit-scrollbar-track,[data-theme=tech-black-top] ::-webkit-scrollbar-track,[data-theme=professional-gray-top] ::-webkit-scrollbar-track{background:var(--bg-tertiary)}[data-theme=tech-black-side] ::-webkit-scrollbar-thumb,[data-theme=professional-gray-side] ::-webkit-scrollbar-thumb,[data-theme=tech-black-mix] ::-webkit-scrollbar-thumb,[data-theme=professional-gray-mix] ::-webkit-scrollbar-thumb,[data-theme=tech-black-top] ::-webkit-scrollbar-thumb,[data-theme=professional-gray-top] ::-webkit-scrollbar-thumb{background:var(--border-dark)}[data-theme=tech-black-side] ::-webkit-scrollbar-thumb:hover,[data-theme=professional-gray-side] ::-webkit-scrollbar-thumb:hover,[data-theme=tech-black-mix] ::-webkit-scrollbar-thumb:hover,[data-theme=professional-gray-mix] ::-webkit-scrollbar-thumb:hover,[data-theme=tech-black-top] ::-webkit-scrollbar-thumb:hover,[data-theme=professional-gray-top] ::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-error{color:var(--error-color)}.text-info{color:var(--info-color)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.bg-success{background-color:var(--success-color)}.bg-warning{background-color:var(--warning-color)}.bg-error{background-color:var(--error-color)}.bg-info{background-color:var(--info-color)}.flex{display:flex}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.align-start{align-items:flex-start}.align-center{align-items:center}.align-end{align-items:flex-end}.align-stretch{align-items:stretch}.flex-1{flex:1}.flex-auto{flex:auto}.grid{display:grid}.w-full{width:100%}.h-full{height:100%}.w-screen{width:100vw}.h-screen{height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.m-0{margin:0}.m-1{margin:var(--spacing-xs)}.m-2{margin:var(--spacing-sm)}.m-3{margin:var(--spacing-md)}.m-4{margin:var(--spacing-lg)}.m-5{margin:var(--spacing-xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.ml-0{margin-left:0}.ml-1{margin-left:var(--spacing-xs)}.ml-2{margin-left:var(--spacing-sm)}.ml-3{margin-left:var(--spacing-md)}.ml-4{margin-left:var(--spacing-lg)}.ml-5{margin-left:var(--spacing-xl)}.mr-0{margin-right:0}.mr-1{margin-right:var(--spacing-xs)}.mr-2{margin-right:var(--spacing-sm)}.mr-3{margin-right:var(--spacing-md)}.mr-4{margin-right:var(--spacing-lg)}.mr-5{margin-right:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing-xs)}.pt-2{padding-top:var(--spacing-sm)}.pt-3{padding-top:var(--spacing-md)}.pt-4{padding-top:var(--spacing-lg)}.pt-5{padding-top:var(--spacing-xl)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing-xs)}.pb-2{padding-bottom:var(--spacing-sm)}.pb-3{padding-bottom:var(--spacing-md)}.pb-4{padding-bottom:var(--spacing-lg)}.pb-5{padding-bottom:var(--spacing-xl)}.pl-0{padding-left:0}.pl-1{padding-left:var(--spacing-xs)}.pl-2{padding-left:var(--spacing-sm)}.pl-3{padding-left:var(--spacing-md)}.pl-4{padding-left:var(--spacing-lg)}.pl-5{padding-left:var(--spacing-xl)}.pr-0{padding-right:0}.pr-1{padding-right:var(--spacing-xs)}.pr-2{padding-right:var(--spacing-sm)}.pr-3{padding-right:var(--spacing-md)}.pr-4{padding-right:var(--spacing-lg)}.pr-5{padding-right:var(--spacing-xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-light)}.shadow{box-shadow:var(--shadow-medium)}.shadow-lg{box-shadow:var(--shadow-heavy)}.shadow-xl{box-shadow:var(--shadow-xl)}.border{border:1px solid var(--border-color)}.border-t{border-top:1px solid var(--border-color)}.border-b{border-bottom:1px solid var(--border-color)}.border-l{border-left:1px solid var(--border-color)}.border-r{border-right:1px solid var(--border-color)}.border-none{border:none}.animate-fade{animation:fadeIn var(--transition-normal)}.animate-slide{animation:slideIn var(--transition-normal)}.animate-bounce{animation:bounce-in var(--transition-slow)}.transition{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.hidden{display:none}.invisible{visibility:hidden}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{word-wrap:break-word}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-medium);border:1px solid var(--border-color);transition:box-shadow var(--transition-normal),transform var(--transition-fast);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary-light-transparent),transparent);opacity:0;transition:opacity var(--transition-normal)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.card:hover:before{opacity:1}.card .card-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--text-primary);background:linear-gradient(180deg,var(--bg-primary),var(--bg-secondary))}.card .card-body{padding:var(--spacing-lg)}.card .card-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--spacing-sm);background:linear-gradient(0deg,var(--bg-primary),var(--bg-secondary))}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-normal)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:transform var(--transition-normal)}.slide-enter-from{transform:translate(-100%)}.slide-leave-to{transform:translate(100%)}.fade-scale-enter-active,.fade-scale-leave-active{transition:all var(--transition-normal)}.fade-scale-enter-from,.fade-scale-leave-to{opacity:0;transform:scale(.95)}.bounce-enter-active{animation:bounce-in var(--transition-slow)}@keyframes bounce-in{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05);opacity:1}to{transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-in{animation:slideIn var(--transition-normal) ease-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-breathe{animation:breathe 3s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.smooth-transition{transition:all var(--transition-normal)}.hover-lift{transition:transform var(--transition-fast),box-shadow var(--transition-normal),background-color var(--transition-normal)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-heavy)}.hover-scale{transition:transform var(--transition-normal)}.hover-scale:hover{transform:scale(1.02)}.hover-underline{position:relative;display:inline-block}.hover-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--primary-color);transition:width var(--transition-normal)}.hover-underline:hover:after{width:100%}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-gradient{background-size:200% 200%;animation:gradient-shift 3s ease infinite}@keyframes shape-entrance-fade{0%{opacity:0}to{opacity:1}}@keyframes shape-entrance-slide{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shape-entrance-zoom{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes shape-entrance-rotate{0%{transform:rotate(-30deg);opacity:0}to{transform:rotate(0);opacity:1}}@keyframes shape-entrance-bounce{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05);opacity:1}to{transform:scale(1)}}@keyframes shape-entrance-flip{0%{transform:rotateY(90deg);opacity:0}to{transform:rotateY(0);opacity:1}}@keyframes shape-entrance-pulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}@keyframes shape-entrance-rise{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shape-entrance-swing{0%{transform:rotate(0);opacity:0}25%{transform:rotate(10deg)}50%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}to{transform:rotate(0);opacity:1}}@keyframes shape-entrance-shake{0%{transform:translate(0);opacity:0}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}to{transform:translate(0);opacity:1}}@keyframes shape-entrance-flash{0%,50%,to{opacity:1}25%,75%{opacity:0}0%{opacity:0}}@keyframes shape-entrance-wobble{0%{transform:translate(0);opacity:0}15%{transform:translate(-10px) rotate(-5deg)}30%{transform:translate(9px) rotate(3deg)}45%{transform:translate(-6px) rotate(-3deg)}60%{transform:translate(5px) rotate(2deg)}75%{transform:translate(-3px) rotate(-1deg)}to{transform:translate(0);opacity:1}}@keyframes shape-exit-fade{0%{opacity:1}to{opacity:0}}@keyframes shape-exit-slide{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}@keyframes shape-exit-zoom{0%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@keyframes shape-exit-rotate{0%{transform:rotate(0);opacity:1}to{transform:rotate(30deg);opacity:0}}@keyframes shape-loop-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shape-loop-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes shape-loop-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes shape-hover-fade{0%{opacity:1}to{opacity:.7}}@keyframes shape-hover-slide{0%{transform:translateY(0)}to{transform:translateY(-5px)}}@keyframes shape-hover-zoom{0%{transform:scale(1)}to{transform:scale(1.05)}}@keyframes shape-hover-rotate{0%{transform:rotate(0)}to{transform:rotate(5deg)}}@keyframes shape-click-bounce{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes shape-click-flash{0%,to{opacity:1}50%{opacity:.7}}@keyframes shape-exit-bounce{0%{opacity:1;transform:translateY(0)}30%{opacity:1;transform:translateY(-20px)}60%{opacity:.5;transform:translateY(10px)}to{opacity:0;transform:translateY(100px)}}@keyframes shape-exit-flip{0%{opacity:1;transform:perspective(400px) rotateY(0)}to{opacity:0;transform:perspective(400px) rotateY(90deg)}}@keyframes shape-exit-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}to{opacity:0;transform:scale(.8)}}@keyframes shape-exit-rise{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-60px)}}@keyframes shape-exit-swing{0%{opacity:1;transform:rotate(0);transform-origin:top center}25%{opacity:.8;transform:rotate(15deg)}50%{opacity:.5;transform:rotate(-10deg)}75%{opacity:.3;transform:rotate(5deg)}to{opacity:0;transform:rotate(0)}}@keyframes shape-exit-shake{0%{opacity:1;transform:translate(0)}20%{opacity:.8;transform:translate(-10px)}40%{opacity:.6;transform:translate(10px)}60%{opacity:.4;transform:translate(-10px)}80%{opacity:.2;transform:translate(10px)}to{opacity:0;transform:translate(0)}}@keyframes shape-exit-flash{0%{opacity:1}25%{opacity:.2}50%{opacity:.8}75%{opacity:.1}to{opacity:0}}@keyframes shape-exit-wobble{0%{opacity:1;transform:translate(0) rotate(0)}20%{opacity:.8;transform:translate(-8px) rotate(-3deg)}40%{opacity:.6;transform:translate(8px) rotate(3deg)}60%{opacity:.4;transform:translate(-5px) rotate(-2deg)}80%{opacity:.2;transform:translate(5px) rotate(1deg)}to{opacity:0;transform:translate(0) rotate(0)}}@keyframes shape-loop-fade{0%,to{opacity:1}50%{opacity:.3}}@keyframes shape-loop-slide{0%,to{transform:translate(0)}50%{transform:translate(10px)}}@keyframes shape-loop-zoom{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shape-loop-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shape-loop-flip{0%,to{transform:perspective(400px) rotateY(0)}50%{transform:perspective(400px) rotateY(180deg)}}@keyframes shape-loop-rise{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shape-loop-swing{0%,to{transform:rotate(0);transform-origin:top center}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@keyframes shape-loop-flash{0%,to{opacity:1}50%{opacity:.4}}@keyframes shape-loop-wobble{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-4px) rotate(-2deg)}75%{transform:translate(4px) rotate(2deg)}}@keyframes shape-hover-bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@keyframes shape-hover-flip{0%,to{transform:perspective(400px) rotateY(0)}50%{transform:perspective(400px) rotateY(10deg)}}@keyframes shape-hover-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shape-hover-rise{0%,to{transform:translateY(0)}to{transform:translateY(-5px)}}@keyframes shape-hover-swing{0%,to{transform:rotate(0);transform-origin:top center}25%{transform:rotate(3deg)}75%{transform:rotate(-3deg)}}@keyframes shape-hover-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes shape-hover-flash{0%,to{opacity:1}50%{opacity:.7}}@keyframes shape-hover-wobble{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-3px) rotate(-1deg)}75%{transform:translate(3px) rotate(1deg)}}@keyframes shape-click-slide{0%{transform:translate(0)}30%{transform:translate(-3px)}60%{transform:translate(3px)}to{transform:translate(0)}}@keyframes shape-click-zoom{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes shape-click-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shape-click-flip{0%{transform:perspective(400px) rotateY(0)}to{transform:perspective(400px) rotateY(360deg)}}@keyframes shape-click-pulse{0%{transform:scale(1)}50%{transform:scale(.92)}to{transform:scale(1)}}@keyframes shape-click-rise{0%{transform:translateY(0)}50%{transform:translateY(-3px)}to{transform:translateY(0)}}@keyframes shape-click-swing{0%{transform:rotate(0);transform-origin:top center}25%{transform:rotate(2deg)}75%{transform:rotate(-2deg)}to{transform:rotate(0)}}@keyframes shape-click-shake{0%,to{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes shape-click-wobble{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-2px) rotate(-1deg)}75%{transform:translate(2px) rotate(1deg)}}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.show-mobile{display:none!important}}.loading{display:inline-block;width:20px;height:20px;border:3px solid var(--border-light);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;padding:var(--spacing-xl)}.empty .empty-icon{font-size:48px;color:var(--text-tertiary);margin-bottom:var(--spacing-md)}.empty .empty-text{color:var(--text-tertiary);font-size:14px}.gradient-bg{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%)}.glass{backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}[data-theme=tech-black-side] .glass,[data-theme=professional-gray-side] .glass,[data-theme=tech-black-mix] .glass,[data-theme=professional-gray-mix] .glass,[data-theme=tech-black-top] .glass,[data-theme=professional-gray-top] .glass{background:#0003;border:1px solid rgba(255,255,255,.1)}.ant-menu-submenu-popup.header-nav-submenu-popup{background:var(--header-background-color)!important}.ant-menu-submenu-popup.header-nav-submenu-popup>.ant-menu{background:var(--header-background-color)!important;border:1px solid var(--color-border, #d9d9d9)!important;box-shadow:0 6px 16px #0000001f!important}.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item{color:var(--header-text-color, var(--color-text, #262626))!important;min-width:160px;height:40px;line-height:40px}.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item:hover,.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item:focus{color:var(--header-text-hover, var(--header-menu-hover-color, #1677ff))!important;background:var(--header-bg-hover, var(--header-menu-hover-bg, rgba(59, 130, 246, .1)))!important}.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item-selected,.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item-selected:hover{color:var(--header-text-selected, var(--header-menu-selected-color, #1677ff))!important;background:var(--header-bg-selected, var(--header-menu-selected-bg, rgba(59, 130, 246, .15)))!important}.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-submenu-title{color:var(--header-text-color, var(--color-text, #262626))!important;height:40px;line-height:40px}.header-right .ant-dropdown-menu{background:var(--header-background-color, #ffffff)!important;border:1px solid var(--color-border, #d9d9d9)!important}.header-right .ant-dropdown-menu-item{color:var(--header-text-color, var(--color-text, #262626))!important}.header-right .ant-dropdown-menu-item:hover,.header-right .ant-dropdown-menu-item:focus{background:var(--header-bg-hover, var(--header-menu-hover-bg, rgba(59, 130, 246, .1)))!important;color:var(--header-text-hover, var(--header-menu-hover-color, #1677ff))!important}.header-right .ant-dropdown-menu-item:hover .anticon,.header-right .ant-dropdown-menu-item:focus .anticon{color:var(--header-text-hover, var(--header-menu-hover-color, #1677ff))!important}:where(.css-dev-only-do-not-override).ant-menu-inline-collapsed>.ant-menu-item,:where(.css-dev-only-do-not-override).ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item,:where(.css-dev-only-do-not-override).ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title,:where(.css-dev-only-do-not-override).ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title{padding-inline:12px!important}:where(.css-dev-only-do-not-override).ant-menu-inline-collapsed{width:50px!important}.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-submenu-title:hover{color:var(--header-text-hover, var(--header-menu-hover-color, #1677ff))!important;background:var(--header-bg-hover, var(--header-menu-hover-bg, rgba(59, 130, 246, .1)))!important}.sidebar-nav-menu .ant-menu-submenu-popup{background:var(--sidebar-background-color, var(--color-bg-container))!important}.sidebar-nav-menu .ant-menu-submenu-popup>.ant-menu{background:var(--sidebar-background-color, var(--color-bg-container))!important;border:1px solid var(--color-border, #d9d9d9)!important;box-shadow:0 6px 16px #0000001f!important}.sidebar-nav-menu .ant-menu-submenu-popup .ant-menu-item{color:var(--sidebar-text-color, var(--color-text, #262626))!important;min-width:160px;height:40px;line-height:40px}.sidebar-nav-menu .ant-menu-submenu-popup .ant-menu-item:hover{color:var(--sidebar-text-hover, var(--menu-hover-color, #3b82f6))!important;background:var(--sidebar-bg-hover, var(--menu-hover-bg, rgba(59, 130, 246, .15)))!important}.sidebar-nav-menu .ant-menu-submenu-popup .ant-menu-item-selected,.sidebar-nav-menu .ant-menu-submenu-popup .ant-menu-item-selected:hover{color:var(--sidebar-text-selected, var(--menu-selected-color, var(--primary-color-text, #ffffff)))!important;background:var(--sidebar-bg-selected, var(--menu-selected-bg, var(--primary-color, #3b82f6)))!important}.sidebar-menu .ant-menu-submenu-popup{background:var(--sidebar-background-color, var(--color-bg-container))!important}.sidebar-menu .ant-menu-submenu-popup>.ant-menu{background:var(--sidebar-background-color, var(--color-bg-container))!important}.sidebar-menu .ant-menu-submenu-popup .ant-menu-item{color:var(--sidebar-text-color, var(--color-text, #262626))!important}.sidebar-menu .ant-menu-submenu-popup .ant-menu-item:hover{color:var(--sidebar-text-hover, var(--menu-hover-color, #3b82f6))!important;background:var(--sidebar-bg-hover, var(--menu-hover-bg, rgba(59, 130, 246, .15)))!important}.sidebar-menu .ant-menu-submenu-popup .ant-menu-item-selected,.sidebar-menu .ant-menu-submenu-popup .ant-menu-item-selected:hover{color:var(--sidebar-text-selected, var(--menu-selected-color, var(--primary-color-text, #ffffff)))!important;background:var(--sidebar-bg-selected, var(--menu-selected-bg, var(--primary-color, #3b82f6)))!important}.ant-menu-submenu-popup.sidebar-submenu-popup{background:var(--sidebar-background-color, var(--sidebar-bg-color, #001529))!important}.ant-menu-submenu-popup.sidebar-submenu-popup .menu-item-content{display:inline-flex}.ant-menu-submenu-popup.sidebar-submenu-popup>.ant-menu{background:var(--sidebar-background-color, var(--sidebar-bg-color, #001529))!important;border:1px solid var(--sidebar-border, rgba(255, 255, 255, .1))!important;box-shadow:0 6px 16px #00000026!important}.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-item{color:var(--sidebar-text-color, #ffffff)!important;min-width:180px;height:40px;line-height:40px}.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-item:hover{color:var(--sidebar-text-hover, #ffffff)!important;background:var(--sidebar-bg-hover, rgba(255, 255, 255, .12))!important}.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-item-selected,.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-item-selected:hover{color:var(--sidebar-text-selected, var(--menu-selected-color, var(--primary-color-text, #ffffff)))!important;background:var(--sidebar-bg-selected, var(--menu-selected-bg, var(--primary-color, #3b82f6)))!important}.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-submenu-title{color:var(--sidebar-text-color, #ffffff)!important;height:40px;line-height:40px}.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-submenu-title:hover{color:var(--sidebar-text-hover, #ffffff)!important;background:var(--sidebar-bg-hover, rgba(255, 255, 255, .12))!important}.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-submenu-arrow{color:var(--sidebar-text-color, rgba(255, 255, 255, .65))!important}.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-submenu-arrow:hover{color:var(--sidebar-text-hover, #ffffff)!important}.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu .ant-menu-submenu>.ant-menu{background:var(--sidebar-background-color, var(--sidebar-bg-color, #001529))!important}.ant-tabs-nav-more:focus{outline:2px solid var(--primary-color);outline-offset:2px}.ant-tabs-nav-more:focus[aria-hidden=true]{position:relative}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.ant-btn:focus-visible,.ant-input:focus-visible,.ant-select:focus-visible,[role=tab]:focus-visible,[role=button]:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px;border-radius:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.full-screen-modal{overflow:hidden!important;.ant-modal{inset:0!important;margin:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;padding:0!important;>div{height:100%!important}}.ant-modal-content{inset:0!important;margin:0!important;width:100%!important;height:100%!important;border-radius:0!important;padding:0!important;display:flex;flex-direction:column}.ant-modal-body{flex:1!important;max-height:none!important;height:100%!important;padding:0!important;overflow:auto!important}.ant-modal-header{flex-shrink:0;padding:16px 24px;margin-bottom:0!important}.ant-modal-footer{flex-shrink:0;padding:16px 24px}}:root{--primary-color: #1890ff;--primary-hover: #60a5fa;--primary-active: #2563eb;--success-color: #52c41a;--warning-color: #faad14;--error-color: #ff4d4f;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f0f2f5;--border-color: #e5e7eb;--border-light: #f0f2f5;--border-hover: #3b82f6;--text-primary: #1f2937;--text-secondary: #4b5563;--text-tertiary: #9ca3af;--text-disabled: #d1d5db;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 20px;--spacing-xl: 24px;--border-radius-sm: 6px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--box-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .06), 0 2px 4px -1px rgba(0, 0, 0, .04);--box-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--box-shadow-strong: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s;--transition-duration: .3s;--transition-slow: .4s;--transition-ease: cubic-bezier(.4, 0, .2, 1);--transition-ease-out: cubic-bezier(0, 0, .2, 1);--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-lg: 15px;--font-size-xl: 16px;--font-size-2xl: 18px;--line-height-title: 1.35;--line-height-base: 1.6;--line-height-sm: 1.45}.ai-drawer-wrap{animation:slideInRight var(--transition-slow) var(--transition-ease);overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.ai-drawer-wrap .ant-drawer-header{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);backdrop-filter:blur(8px);color:var(--text-primary);border-bottom:1px solid var(--border-light);box-shadow:var(--box-shadow-sm);border-radius:var(--border-radius-xl) var(--border-radius-xl) 0 0;transition:all var(--transition-fast) var(--transition-ease);display:flex;align-items:center;justify-content:space-between;padding:4px 12px 4px 16px}.ai-drawer-wrap .ant-drawer-header .ant-drawer-title{font-size:var(--font-size-xl);font-weight:600;margin:0;letter-spacing:.5px;color:var(--text-primary);background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-drawer-wrap .ant-drawer-header .ant-drawer-close{margin-inline-start:auto!important;margin-inline-end:0!important;position:relative;order:1;color:var(--text-secondary);font-size:var(--font-size-base);transition:all var(--transition-fast) var(--transition-ease);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-md);border:1px solid var(--border-light)}.ai-drawer-wrap .ant-drawer-header .ant-drawer-close:hover{background:var(--bg-primary);color:var(--primary-color);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--box-shadow-sm)}.ai-drawer-wrap .ant-drawer-body{padding:0;overflow:hidden;background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);height:100%}.ai-drawer-wrap .ant-tabs{height:100%;display:flex;flex-direction:column}.ai-drawer-wrap .ant-tabs-nav{padding:var(--spacing-sm) var(--spacing-md);margin-bottom:0;background-color:var(--bg-primary);border-bottom:1px solid var(--border-light);display:flex;align-items:center;width:100%}.ai-drawer-wrap .ant-tabs-tab{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:500;color:var(--text-secondary);margin-right:var(--spacing-sm);border-radius:var(--border-radius-md);transition:all var(--transition-fast) var(--transition-ease);height:44px;display:flex;align-items:center;position:relative;overflow:hidden;flex:1;justify-content:center;border:2px solid transparent}.ai-drawer-wrap .ant-tabs-tab:hover{color:var(--primary-color);background-color:var(--bg-secondary);transform:translateY(-1px);box-shadow:var(--box-shadow-sm)}.ai-drawer-wrap .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--primary-color);font-weight:600}.ai-drawer-wrap .ant-tabs-tab-active{background:linear-gradient(135deg,#3b82f614,#3b82f60a);border-color:var(--primary-color);box-shadow:var(--box-shadow-sm)}.ai-drawer-wrap .ant-tabs-tab-active:after{display:none}.ai-drawer-wrap .ant-tabs-ink-bar{display:none}.ai-drawer-wrap .ant-tabs-content{flex:1;overflow:hidden}.ai-drawer-wrap .ant-tabs-tabpane{height:100%;overflow-y:auto;transition:all var(--transition-fast) var(--transition-ease);animation:tabPaneSlideIn var(--transition-slow) var(--transition-ease-out)}.ai-drawer-wrap .ant-tabs-tabpane::-webkit-scrollbar{width:8px}.ai-drawer-wrap .ant-tabs-tabpane::-webkit-scrollbar-track{background:transparent;border-radius:4px}.ai-drawer-wrap .ant-tabs-tabpane::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:background var(--transition-fast)}.ai-drawer-wrap .ant-tabs-tabpane::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.ant-drawer,.ant-drawer-content-wrapper{max-width:100vw!important}.ant-drawer-content{max-height:100vh;overflow:hidden}@media(max-width:768px){.ai-drawer-wrap{border-radius:16px 0 0 16px}.ai-drawer-wrap .ant-drawer-header{padding:16px;height:64px}.ai-drawer-wrap .ant-drawer-header .ant-drawer-title{font-size:14px}.ai-drawer-wrap .ant-drawer-body{height:100%}.ai-drawer-wrap .ant-tabs-nav{padding:8px 16px;height:52px}.ai-drawer-wrap .ant-tabs-tab{padding:4px 16px;font-size:12px;height:36px}.ai-drawer-wrap .ant-tabs-tabpane{padding:16px}}@media(max-width:480px){.ai-drawer-wrap{border-radius:12px 0 0 12px}.ai-drawer-wrap .ant-drawer-header{padding:8px;height:56px}.ai-drawer-wrap .ant-drawer-header .ant-drawer-title{font-size:14px}.ai-drawer-wrap .ant-drawer-body{height:100%}.ai-drawer-wrap .ant-tabs-nav{padding:4px 8px;height:48px}.ai-drawer-wrap .ant-tabs-tab{padding:4px 8px;font-size:12px;height:32px}.ai-drawer-wrap .ant-tabs-tabpane{padding:8px}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes tabSlideIn{0%{width:0;left:50%}to{width:100%;left:0}}@keyframes tabPaneSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.ant-modal-wrap{padding:10px;align-items:center}.ant-modal{width:100%!important;max-width:calc(100% - 20px)!important}.ant-modal-content{max-height:calc(100vh - 20px)}.ant-modal-body{max-height:calc(100vh - 130px);padding:12px}}@media(max-width:480px){.ant-modal-wrap{padding:5px}.ant-modal-content{max-height:calc(100vh - 10px)}.ant-modal-body{max-height:calc(100vh - 120px);padding:8px}}.ant-modal .ant-form{margin:0}.ant-modal .ant-form-item{margin-bottom:12px}.ant-modal .ant-form-item-label{padding-bottom:4px}.ant-modal .ant-input,.ant-modal .ant-select-selector,.ant-modal .ant-picker,.ant-modal .ant-cascader-picker{border-radius:4px}.panel-common{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#262626;height:100%;display:flex;flex-direction:column;background-color:#fff;border-radius:8px;overflow:hidden}.panel-common .ant-empty-image{height:68px!important}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;padding:40px 20px}.panel-common .panel-container{padding:12px 0 0 12px;display:flex;flex-direction:column;flex:1;overflow:hidden;height:100%}.panel-common .panel-tab-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#eff6ff;border-radius:8px 8px 0 0;border-left:3px solid var(--primary-color, #3b82f6);transition:all .3s cubic-bezier(.645,.045,.355,1);flex-shrink:0}.panel-common .panel-tab-header:hover{box-shadow:0 2px 8px #3b82f61a}.panel-common .panel-tab-header .component-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px;color:#262626}.panel-common .panel-tab-header .component-icon{font-size:16px;color:#3b82f6}.panel-common .panel-tab-header .canvas-name{font-weight:600;font-size:16px;color:#262626}.panel-tab-content{flex:1;overflow-y:auto;padding-right:4px;transition:all .3s cubic-bezier(.645,.045,.355,1);min-height:0}.panel-tab-content::-webkit-scrollbar{width:6px}.panel-tab-content::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}.panel-tab-content::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px;transition:background .3s}.panel-tab-content::-webkit-scrollbar-thumb:hover{background:#3b82f6}.panel-group,.property-group,.style-group{border-radius:10px;border:none;overflow:hidden;transition:all .3s cubic-bezier(.645,.045,.355,1);background-color:#fff;box-shadow:0 1px 3px #0000000f}.panel-group:hover,.property-group:hover,.style-group:hover{box-shadow:0 3px 12px #00000014}.panel-group-title,.property-group-title,.style-group-title{font-size:14px;font-weight:600;color:#262626;margin-bottom:0;padding:4px 8px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:8px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.panel-group:hover .panel-group-title,.property-group:hover .property-group-title,.style-group:hover .style-group-title{color:#3b82f6}.panel-group-content,.property-group-content,.style-group-content{padding:16px;background-color:#fff}.panel-row,.property-row,.style-row{display:flex;align-items:center;margin-bottom:8px;flex-wrap:nowrap;gap:12px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.panel-row:last-child,.property-row:last-child,.style-row:last-child{margin-bottom:0}.panel-label,.property-label,.style-label{flex:0 0 88px;font-size:13px;font-weight:500;color:#595959;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .3s cubic-bezier(.645,.045,.355,1)}.panel-row:hover .panel-label,.property-row:hover .property-label,.style-row:hover .style-label{color:#3b82f6}.panel-control,.property-control{flex:1;min-width:120px}.panel-tab-footer{padding:10px 12px;border-top:1px solid #f0f0f0;background-color:#fff;margin-top:auto;text-align:right;border-radius:0 0 8px 8px;box-shadow:0 -2px 8px #0000000a;transition:all .3s cubic-bezier(.645,.045,.355,1);flex-shrink:0;width:100%;box-sizing:border-box}.panel-tab-footer:hover{background-color:#f8f9fa}.section-header{display:flex;align-items:center;justify-content:space-between;margin:16px 0 12px;font-weight:600;font-size:14px;color:#262626;padding:10px 16px;background:linear-gradient(135deg,#eff6ff 0% 100%);border-radius:6px;border-left:3px solid #3b82f6;transition:all .3s cubic-bezier(.645,.045,.355,1)}.section-header:hover{box-shadow:0 2px 8px #3b82f633;transform:translateY(-1px)}.field-item{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:10px 16px;background-color:#fff;border-radius:6px;border:1px solid #f0f0f0;box-shadow:0 2px 6px #0000000f;transition:all .3s cubic-bezier(.645,.045,.355,1)}.field-item:hover{border-color:#3b82f6;background-color:#eff6ff;box-shadow:0 3px 12px #00000014}.field-item .field-icon{color:#3b82f6;font-size:14px}:deep(.ant-input-number),:deep(.ant-select),:deep(.ant-switch),:deep(.ant-input),:deep(.ant-btn),:deep(.ant-checkbox),:deep(.ant-radio-group),:deep(.ant-slider),:deep(.ant-textarea){margin:0;transition:all .3s cubic-bezier(.645,.045,.355,1)}:deep(.ant-input-number),:deep(.ant-select .ant-select-selector),:deep(.ant-input),:deep(.ant-textarea){border-radius:6px;border:1px solid #d9d9d9;transition:all .3s cubic-bezier(.645,.045,.355,1)}:deep(.ant-input-number:hover),:deep(.ant-select:hover .ant-select-selector),:deep(.ant-input:hover),:deep(.ant-textarea:hover){border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}:deep(.ant-btn){border-radius:6px;transition:all .3s cubic-bezier(.645,.045,.355,1);font-weight:500}:deep(.ant-btn:hover){box-shadow:0 2px 8px #00000026}input[type=color]{width:120px;height:32px;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;padding:2px;box-sizing:border-box;transition:all .3s cubic-bezier(.645,.045,.355,1)}input[type=color]:hover{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:4px;box-shadow:0 1px 3px #0000001a}:deep(.ant-switch){&.ant-switch-checked{background-color:#3b82f6}}:deep(.ant-tag){border-radius:4px;font-size:12px}:deep(.ant-divider){margin:0;background-color:#f0f0f0;height:1px}:deep(.ant-form-item){margin-bottom:12px}:deep(.ant-form-item-label > label){font-size:13px;color:#595959;font-weight:500}:deep(.ant-tabs-nav){margin-bottom:12px;padding:0 4px}:deep(.ant-tabs-tab){padding:6px 16px;font-size:13px;font-weight:500;transition:all .3s cubic-bezier(.645,.045,.355,1)}:deep(.ant-tabs-tab:hover){color:#3b82f6!important}:deep(.ant-tabs-tab-active .ant-tabs-tab-btn){color:#3b82f6;font-weight:600}:deep(.ant-tabs-ink-bar){background:#3b82f6;height:2px;border-radius:1px}:deep(.ant-tabs-content){height:calc(100% - 48px)}:deep(.ant-tabs-tabpane){height:100%;overflow-y:auto;padding:0 4px}:deep(.ant-tabs-tabpane)::-webkit-scrollbar{width:6px}:deep(.ant-tabs-tabpane)::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}:deep(.ant-tabs-tabpane)::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px;transition:background .3s}:deep(.ant-tabs-tabpane)::-webkit-scrollbar-thumb:hover{background:#3b82f6}.spacing-controls{display:flex;gap:8px;align-items:center;background-color:#fff;padding:12px 16px;border-radius:6px;border:1px solid #f0f0f0;box-shadow:0 2px 6px #0000000f;transition:all .3s cubic-bezier(.645,.045,.355,1)}.spacing-controls:hover{border-color:#3b82f6;box-shadow:0 3px 12px #00000014}.spacing-controls .ant-input-number{width:70px!important;font-size:13px;border-radius:6px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.spacing-controls .ant-input-number :deep(.ant-input-number-input){text-align:center;padding:6px 10px;border-radius:6px}.spacing-controls .ant-input-number :deep(.ant-input-number-handler-wrap){width:24px}.spacing-controls>div{position:relative}.spacing-controls>div:after{content:attr(data-direction);position:absolute;top:-24px;left:50%;transform:translate(-50%);font-size:11px;color:#8c8c8c;font-weight:500;background-color:#fff;padding:2px 8px;border-radius:4px;border:1px solid #f0f0f0}.nested-controls{margin-top:12px;padding-top:12px;border-top:1px dashed #e5e7eb}.slider-container{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.slider-container :deep(.ant-slider){flex:1;min-width:0}.text-align-options{display:flex;gap:8px}.style-row.nested,.property-row.nested{margin-left:16px;margin-right:0}.style-row.nested.flex-nested{margin-left:16px}.number-with-unit{display:flex;align-items:center;gap:8px}.style-unit,.unit{margin-left:8px;color:#8c8c8c;font-size:12px;font-family:monospace}.form-hint{font-size:12px;color:#8c8c8c;margin-top:2px;line-height:1.4;padding-left:4px}.style-value{margin-left:8px;min-width:50px;text-align:right;color:#8c8c8c;font-size:12px}.api-result{margin-top:12px;padding:12px 16px;background-color:#fff;border-radius:6px;border:1px solid #f0f0f0;box-shadow:0 2px 6px #0000000f;transition:all .3s cubic-bezier(.645,.045,.355,1)}.api-result:hover{box-shadow:0 3px 12px #00000014;border-color:#3b82f6}.api-result .result-header{font-weight:600;margin-bottom:8px;color:#262626;font-size:14px;display:flex;align-items:center;gap:8px}.preview-header{display:flex;gap:8px;padding:6px 0}@media(max-width:768px){.panel-row,.property-row,.style-row{flex-direction:column;align-items:flex-start;gap:8px}.panel-label,.property-label,.style-label{flex:1;text-align:left;margin-bottom:4px}.panel-control,.property-control{width:100%}:deep(.ant-input-number),:deep(.ant-select),:deep(.ant-input){width:100%!important}input[type=color]{width:100%}}@media(max-width:400px){.panel-label,.property-label,.style-label{flex:0 0 80px;font-size:12px;padding-right:8px}.spacing-controls{flex-wrap:wrap;gap:4px}.spacing-controls .ant-input-number{width:60px!important}.slider-container{gap:8px}.text-align-options{gap:2px}.text-align-options .ant-btn{padding:0 8px}}[data-format-hint]{position:relative}:deep(.ant-input[type="text"]):not(.ant-input-number-input),:deep(.ant-textarea){&[placeholder*=JSON],&[placeholder*=json]{&::placeholder{color:#3b82f6;font-weight:500}}}:deep(.ant-input-number){&[placeholder*=像素]{&::placeholder{color:#3b82f6;font-weight:500}}}:deep(.ant-select-selector){&[placeholder*=选择]{&::placeholder{color:#3b82f6;font-weight:500}}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.panel-group,.property-group,.style-group{animation:fadeIn .3s ease-out forwards}.panel-group:nth-child(1),.property-group:nth-child(1),.style-group:nth-child(1){animation-delay:.05s}.panel-group:nth-child(2),.property-group:nth-child(2),.style-group:nth-child(2){animation-delay:.1s}.panel-group:nth-child(3),.property-group:nth-child(3),.style-group:nth-child(3){animation-delay:.15s}.panel-group:nth-child(4),.property-group:nth-child(4),.style-group:nth-child(4){animation-delay:.2s}.panel-group:nth-child(5),.property-group:nth-child(5),.style-group:nth-child(5){animation-delay:.25s}.expression-editor[data-v-b896f54a]{display:flex;align-items:center;gap:8px;width:100%}.expression-input[data-v-b896f54a]{flex:1}.advanced-expression-editor[data-v-b896f54a]{display:flex;gap:16px;height:360px}.advanced-expression-editor .editor-main[data-v-b896f54a]{flex:1;display:flex;flex-direction:column;min-width:0}.advanced-expression-editor .editor-main .editor-toolbar[data-v-b896f54a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.advanced-expression-editor .editor-main .editor-toolbar .editor-label[data-v-b896f54a]{font-weight:500;font-size:13px}.advanced-expression-editor .editor-main .code-editor[data-v-b896f54a]{flex:1;border:1px solid #d9d9d9;border-radius:6px;overflow:hidden;min-height:200px}.advanced-expression-editor .editor-main .code-editor[data-v-b896f54a] .cm-editor{height:100%}.advanced-expression-editor .editor-main .editor-hint[data-v-b896f54a]{margin-top:8px;font-size:12px;color:#999}.advanced-expression-editor .editor-sidebar[data-v-b896f54a]{width:260px;flex-shrink:0;border-left:1px solid #f0f0f0;padding-left:16px;overflow-y:auto}.advanced-expression-editor .editor-sidebar .insert-list[data-v-b896f54a]{display:flex;flex-direction:column;gap:4px}.advanced-expression-editor .editor-sidebar .insert-item[data-v-b896f54a]{display:flex;flex-direction:column;padding:6px 8px;border-radius:4px;cursor:pointer;transition:background .2s}.advanced-expression-editor .editor-sidebar .insert-item[data-v-b896f54a]:hover{background:#f0f5ff}.advanced-expression-editor .editor-sidebar .insert-item .insert-name[data-v-b896f54a]{font-size:12px;font-weight:500;color:#1890ff;font-family:Monaco,Menlo,Consolas,monospace}.advanced-expression-editor .editor-sidebar .insert-item .insert-desc[data-v-b896f54a]{font-size:11px;color:#999;margin-top:2px}.advanced-expression-editor .editor-sidebar .empty-tip[data-v-b896f54a]{font-size:12px;color:#ccc;text-align:center;padding:16px 0}
