:root{--bg:#f7f7fb;--card:#fff;--muted:#666;--accent:#2563eb;--border:#e6e9ef;--text-primary:#333;--text-secondary:#666;--error:#dc2626;--warning:#f59e0b;--success:#10b981;--section-bg:#fafbfc;--card-shadow:0 6px 18px rgba(20,20,50,.06);--border-radius:8px;--spacing-xs:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;background:var(--bg);margin:0;line-height:1.5}.container{max-width:1200px;margin:32px auto;padding:24px;width:100%;box-sizing:border-box}.card{background:var(--card);padding:32px;border-radius:var(--border-radius);box-shadow:var(--card-shadow);margin-bottom:var(--spacing-xl);width:100%;box-sizing:border-box}.card-header{margin-bottom:var(--spacing-xl);border-bottom:2px solid var(--border);padding-bottom:var(--spacing-md)}.card-header h1,.card-header h2{margin:0;font-size:32px;font-weight:700;color:var(--text-primary);line-height:1.2}.card-section{margin-bottom:var(--spacing-xl)}.card-section:last-child{margin-bottom:0}.card-section-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--section-bg)}.card-section-header h3{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.card-section-header h3 span,.card-section-header .hint{display:block;font-size:14px;font-weight:400;color:var(--text-secondary);margin-top:var(--spacing-xs)}.card-divider{height:1px;background:linear-gradient(to right,var(--border),rgba(230,233,239,0),var(--border));margin:var(--spacing-lg) 0}.field{display:flex;flex-direction:column;margin-bottom:var(--spacing-lg)}.field--row{flex-direction:row;gap:var(--spacing-lg);align-items:flex-start}.field--group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.field--inline{display:flex;align-items:center;gap:var(--spacing-md)}.field label{font-weight:500;margin-bottom:var(--spacing-sm);font-size:14px;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.field label.required:after{content:" *";color:var(--error)}.field label .label-hint{font-weight:400;color:var(--text-secondary);font-size:12px}.field input,.field textarea,.field select{padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--border);border-radius:var(--border-radius);font-size:14px;transition:all .2s ease;color:var(--text-primary);width:100%;box-sizing:border-box}.field input::placeholder,.field textarea::placeholder,.field select{color:var(--text-secondary);opacity:.7}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid rgba(37,99,235,.3);border-color:var(--accent);box-shadow:0 0 0 4px #2563eb1a;background:#fff}.field input:disabled,.field textarea:disabled,.field select:disabled{background:#f8fafc;cursor:not-allowed;opacity:.6;border-color:#e2e8f0}.field input.input-error,.field textarea.input-error,.field select.input-error{border-color:var(--error);background:#fef2f2;box-shadow:0 0 0 4px #dc26261a}.field input.input-error:focus,.field textarea.input-error:focus,.field select.input-error:focus{outline:2px solid rgba(220,38,38,.3);border-color:var(--error);box-shadow:0 0 0 4px #dc26261a}.field textarea{min-height:60px;resize:vertical;max-height:120px;line-height:1.5}.field select{cursor:pointer;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23666' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--spacing-sm) center}.field select[multiple]{height:auto;min-height:42px;padding:var(--spacing-sm)}.field input[type=checkbox],.field input[type=radio]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--accent)}.field input[type=checkbox]{border-radius:4px}.field input[type=radio]{border-radius:50%}.field .checkbox-group,.field .radio-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.field .checkbox-option,.field .radio-option{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:14px;color:var(--text-primary)}.field .checkbox-option input,.field .radio-option input{margin:0;flex-shrink:0}.field .checkbox-option:hover,.field .radio-option:hover{color:var(--accent)}.data-type-group{display:flex;flex:1;gap:var(--spacing-md);align-items:center}.data-type-label{margin:0;min-width:120px;font-weight:600;color:var(--text-primary)}.data-type-select{flex:1;min-width:200px}.array-group{display:flex;align-items:center;gap:var(--spacing-md);margin-left:var(--spacing-md)}.array-label{display:flex;align-items:center;gap:var(--spacing-md);margin:0;cursor:pointer}.array-label input[type=checkbox]{margin:0;margin-right:var(--spacing-sm)}.error-message{display:flex;align-items:flex-start;gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding:var(--spacing-sm);border:1px solid var(--error);border-radius:var(--border-radius);background:#fef2f2;color:var(--error);font-size:14px;animation:fadeIn .3s ease-in}.error-message:before{content:"❌";font-size:16px;flex-shrink:0}.warning-message{display:flex;align-items:flex-start;gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding:var(--spacing-sm);border:1px solid var(--warning);border-radius:var(--border-radius);background:#fffbeb;color:var(--warning);font-size:14px;animation:fadeIn .3s ease-in}.warning-message:before{content:"⚠️";font-size:16px;flex-shrink:0}.success-message{display:flex;align-items:flex-start;gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding:var(--spacing-sm);border:1px solid var(--success);border-radius:var(--border-radius);background:#f0fdf4;color:var(--success);font-size:14px;animation:fadeIn .3s ease-in}.success-message:before{content:"✓";font-size:16px;flex-shrink:0}.field-error{color:var(--error);font-size:12px;margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.field-error:before{content:"";font-size:12px}.field-success{color:var(--success);font-size:12px;margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.field-success:before{content:"✓";font-size:12px}.validation-summary{margin:var(--spacing-lg) 0;padding:var(--spacing-lg);border:2px solid var(--border);border-radius:var(--border-radius);background:#f8fafc}.validation-summary h4{margin:0 0 var(--spacing-md) 0;font-size:16px;font-weight:600;color:var(--text-primary)}.validation-summary .error-list{margin:0;padding:0;list-style:none}.validation-summary .error-list li{padding:var(--spacing-sm);margin-bottom:var(--spacing-xs);background:#fff;border-radius:var(--border-radius);border-left:3px solid var(--error);display:flex;align-items:flex-start;gap:var(--spacing-sm)}.validation-summary .error-list li::marker{content:"";color:var(--error)}.validation-summary .error-list li.warning{border-left-color:var(--warning)}.validation-summary .error-list li.warning:before{content:"⚠️";color:var(--warning)}.validation-summary .error-list li.error:before{content:"❌";color:var(--error)}.validation-summary .error-list li.success:before{content:"✓";color:var(--success)}.preview{margin-top:var(--spacing-xl)}.preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.preview-header h3{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.preview-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.json-wrapper{position:relative;margin-bottom:var(--spacing-xl)}.json-wrapper:hover .copy-btn{opacity:1}.json-block{background:#0b1220;color:#d6f8ff;padding:var(--spacing-xl);border-radius:var(--border-radius);overflow:auto;font-family:Courier New,Courier,monospace;font-size:14px;line-height:1.5;max-height:500px}.copy-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius);border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#d6f8ff;cursor:pointer;font-size:12px;opacity:0;transition:opacity .2s ease,background .2s ease}.copy-btn:hover{background:#fff3}.import-row{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.import-row .file-label{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.import-row .hint{color:var(--text-secondary);font-size:12px}.import-row .help-text{color:var(--text-secondary);font-size:12px;margin-top:var(--spacing-sm);font-style:italic}.collapsible{margin-top:var(--spacing-xl);border:1px solid var(--border);border-radius:var(--border-radius);overflow:hidden;box-shadow:0 2px 8px #0000000a}.collapsible:first-child{margin-top:var(--spacing-lg)}.collapsible-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--spacing-lg) var(--spacing-xl);border:none;background:linear-gradient(180deg,#fff,#fbfdff);cursor:pointer;transition:all .2s ease;position:relative;font-weight:600;color:var(--text-primary);font-size:18px}.collapsible-toggle:hover{background:linear-gradient(180deg,#f8fafc,#f1f5f9);color:var(--accent)}.collapsible-toggle:focus{outline:3px solid rgba(37,99,235,.12);background:linear-gradient(180deg,#f0f8ff,#e6f0fe)}.collapsible-toggle .chev{color:var(--text-secondary);margin-left:var(--spacing-md);transition:transform .2s ease;font-size:16px}.collapsible-toggle[aria-expanded=true] .chev{transform:rotate(180deg)}.collapsible-panel{padding:var(--spacing-xl);border-top:1px solid var(--section-bg);background:#fff;animation:slideDown .3s ease-out}.collapsible-panel .field{margin-bottom:var(--spacing-lg)}.collapsible-panel .field input,.collapsible-panel .field textarea,.collapsible-panel .field select{background:transparent;border-radius:0}.collapsible-panel .field input:focus,.collapsible-panel .field textarea:focus,.collapsible-panel .field select:focus{background:#fff}.collapsible-panel .section-body{gap:var(--spacing-lg)}.collapsible-panel .property-item{margin-bottom:var(--spacing-lg);border-color:var(--border)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.property-section{margin-top:var(--spacing-xl);padding:0;border:none;border-radius:0;background:transparent}.property-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--accent)}.property-section-header h4{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.property-section-header .header-actions{display:flex;gap:var(--spacing-md)}.property-section-header .header-actions .btn{font-size:14px;padding:var(--spacing-md) var(--spacing-lg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.section-body{display:flex;flex-direction:column;gap:var(--spacing-lg)}.section-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-top:1px solid var(--section-bg)}.property-item{padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);border:1px solid var(--border);border-radius:var(--border-radius);background:#fff;box-shadow:0 1px 3px #0000000a;transition:all .2s ease}.property-item:hover{box-shadow:0 2px 8px #00000014;border-color:var(--accent)}.property-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--section-bg)}.property-item-header h5{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.property-item-header .item-actions{display:flex;gap:var(--spacing-md)}.property-item-body{display:flex;flex-direction:column;gap:var(--spacing-lg)}.property-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.property-header h6{margin:0;font-size:14px;font-weight:500;color:var(--text-secondary)}.row{display:flex;gap:var(--spacing-lg);align-items:center;flex-wrap:wrap;margin-bottom:var(--spacing-md)}.row .btn{font-size:13px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius)}.btn{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius);border:1px solid #e6e9ef;background:transparent;cursor:pointer;font-weight:600;transition:all .2s ease;text-transform:none;font-family:inherit;font-size:14px}.btn-primary{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 2px 4px #2563eb33}.btn-primary:hover{background:#1d4ed8;box-shadow:0 4px 8px #2563eb4d;transform:translateY(-1px)}.btn-danger{background:var(--error);color:#fff;border-color:transparent;box-shadow:0 2px 4px #dc262633}.btn-danger:hover{background:#dc2626;box-shadow:0 4px 8px #dc26264d;transform:translateY(-1px)}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:12px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.field select{padding:8px 10px;border:1px solid #e6e9ef;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.field select:focus{outline:2px solid rgba(37,99,235,.3);border-color:var(--accent)}.field a{color:var(--accent);text-decoration:none}.field a:hover{text-decoration:underline}.module-config-form{margin-top:16px;padding:16px;background:#f9fafb;border:1px solid #e6e9ef;border-radius:8px}.module-config-form .section-header h5{margin:0;font-size:14px;font-weight:600;color:#333}.module-config-form .section-header{margin-bottom:12px}.module-config-form .field{background:#fff;padding:12px;border-radius:6px;border:1px solid #e6e9ef}.module-config-form .field label{display:flex;align-items:center;gap:4px}.module-config-form .field label input[type=checkbox]{margin-right:8px}.tabs{margin-top:16px}.tabs-header{display:flex;gap:4px;border-bottom:2px solid #e6e9ef;margin-bottom:16px}.tab-button{padding:10px 16px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s ease}.tab-button:hover{color:#333;background:#2563eb0d}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent);background:#2563eb0d}.tab-button:focus{outline:2px solid rgba(37,99,235,.3);outline-offset:2px;border-radius:4px}.tabs-content{min-height:200px}.tab-panel{animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.quantization-config{background:var(--vscode-editor-inactiveSelectionBackground, rgba(128,128,128,.08));border:1px solid var(--vscode-panel-border, rgba(128,128,128,.2))}@media (max-width: 768px){.container{margin:16px auto;padding:16px}.card{padding:20px}.card-header h1,.card-header h2{font-size:24px}.collapsible-toggle{padding:var(--spacing-md) var(--spacing-lg);font-size:16px}.collapsible-panel,.property-item{padding:var(--spacing-lg)}.field--row{flex-direction:column;gap:var(--spacing-md)}.data-type-group{flex-direction:column;align-items:stretch}.data-type-label{min-width:auto;margin-bottom:var(--spacing-xs)}.array-group{margin-left:0;margin-top:var(--spacing-sm)}.preview-header{flex-direction:column;align-items:flex-start}.preview-actions{width:100%;justify-content:flex-start}.json-block{font-size:12px;padding:var(--spacing-lg)}}@media (max-width: 480px){.container{margin:8px auto;padding:12px}.card{padding:16px}.card-header h1,.card-header h2{font-size:20px}.collapsible-toggle{padding:var(--spacing-sm) var(--spacing-md);font-size:14px}.collapsible-panel,.property-item{padding:var(--spacing-md)}.btn{padding:var(--spacing-sm) var(--spacing-md);font-size:13px}.json-block{font-size:11px;padding:var(--spacing-md);max-height:300px}}
