*{margin:0;padding:0;box-sizing:border-box}body{font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:#0a0a0f;min-height:100vh;color:#e4e4e7}.container{max-width:1400px;margin:0 auto;padding:2rem;min-height:100vh}.app-header{text-align:center;margin-bottom:3rem}.app-header h1{font-size:2.5rem;font-weight:600;color:#f4f4f5;margin-bottom:.5rem;letter-spacing:-.03em}.app-header p{color:#71717a;font-size:1.1rem}.panels{display:grid;grid-template-columns:3fr 2fr;gap:2rem;align-items:start}.panel-column{display:flex;flex-direction:column;gap:2rem}@media(max-width:1024px){.panels{grid-template-columns:1fr}}.panel{background:#111116;border:1px solid #27272a;border-radius:16px;padding:1.5rem}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #27272a}.panel-header h2{font-size:1.1rem;font-weight:500;color:#fafafa}.btn-add{background:#22c55e;color:#000;border:none;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-add:hover{background:#16a34a}.fields-list{display:flex;flex-direction:column;gap:.75rem;min-height:120px}.empty-state{display:flex;align-items:center;justify-content:center;height:120px;color:#52525b;font-size:.9rem;border:2px dashed #27272a;border-radius:12px}.field-group{border-left:2px solid transparent;padding-left:0;transition:border-color .2s}.field-group:hover{border-left-color:#27272a}.field-row{display:flex;gap:.5rem;align-items:center}.field-row .input-name{flex:1;min-width:100px}.field-row .input-type{width:100px;flex-shrink:0}.field-row .input-item-type{width:110px;flex-shrink:0;font-size:.8rem}.field-row .input-desc{flex:1.5;min-width:120px}.field-row input,.field-row select{background:#18181b;border:1px solid #3f3f46;color:#fafafa;padding:.625rem .875rem;border-radius:8px;font-size:.875rem;transition:border-color .2s}.field-row input:focus,.field-row select:focus{outline:none;border-color:#22c55e}.field-row input::placeholder{color:#52525b}.input-type{cursor:pointer}.required-toggle{display:flex;align-items:center;gap:.35rem;cursor:pointer;padding:.5rem .6rem;border-radius:6px;background:#18181b;border:1px solid #3f3f46;transition:all .2s;flex-shrink:0}.required-toggle:hover{border-color:#52525b}.required-toggle:has(input:checked){border-color:#f59e0b;background:#f59e0b1a}.required-toggle input[type=checkbox]{width:14px;height:14px;accent-color:#f59e0b;cursor:pointer;margin:0}.required-label{font-size:.7rem;font-weight:600;color:#71717a;text-transform:uppercase;letter-spacing:.03em}.required-toggle:has(input:checked) .required-label{color:#f59e0b}.btn-remove{background:transparent;border:1px solid #3f3f46;color:#ef4444;width:36px;height:36px;border-radius:8px;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.btn-remove:hover{background:#ef4444;border-color:#ef4444;color:#fff}.nested-fields{margin-top:.5rem;margin-left:1rem;padding:.75rem;background:#27272a4d;border-radius:8px;border:1px solid #27272a}.nested-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px dashed #3f3f46}.nested-label{font-size:.75rem;color:#71717a;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.btn-add-nested{background:transparent;color:#22c55e;border:1px solid #22c55e;padding:.25rem .5rem;border-radius:6px;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-add-nested:hover{background:#22c55e26}.empty-nested{display:flex;align-items:center;justify-content:center;height:50px;color:#52525b;font-size:.8rem;border:1px dashed #3f3f46;border-radius:8px}.schema-preview{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #27272a}.schema-preview h3{font-size:.875rem;color:#71717a;margin-bottom:.75rem;font-weight:500}.schema-preview pre{background:#18181b;border:1px solid #27272a;padding:1rem;border-radius:8px;font-size:.8rem;color:#a1a1aa;overflow-x:auto;font-family:JetBrains Mono,Fira Code,monospace}.upload-section{margin-bottom:1rem}.processing-mode-section{margin-bottom:1.5rem}.processing-label{display:block;font-size:.8rem;color:#71717a;margin-bottom:.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.mode-option{background:#18181b;border:2px solid #3f3f46;border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.35rem}.mode-option:hover{border-color:#52525b;background:#1f1f23}.mode-option.active{border-color:#3b82f6;background:#3b82f61a}.mode-icon{font-size:1.5rem;margin-bottom:.25rem}.mode-name{font-size:.95rem;font-weight:600;color:#fafafa}.mode-option.active .mode-name{color:#3b82f6}.mode-desc{font-size:.7rem;color:#52525b}.parser-section{margin-bottom:1.5rem}.parser-label{display:block;font-size:.8rem;color:#71717a;margin-bottom:.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.parser-options{display:flex;gap:.5rem}.parser-option{flex:1;background:#18181b;border:1px solid #3f3f46;border-radius:8px;padding:.75rem;cursor:pointer;transition:all .2s;text-align:left;display:flex;flex-direction:column;gap:.25rem}.parser-option:hover{border-color:#52525b;background:#1f1f23}.parser-option.active{border-color:#22c55e;background:#22c55e1a}.parser-name{font-size:.875rem;font-weight:600;color:#fafafa}.parser-option.active .parser-name{color:#22c55e}.parser-desc{font-size:.7rem;color:#52525b}.parser-option.disabled{opacity:.5;cursor:not-allowed}.parser-option.disabled:hover{border-color:#3f3f46;background:#18181b}.parser-cloud-note{font-size:.6rem;color:#f59e0b;font-weight:500;margin-top:.25rem}.file-upload{display:block;cursor:pointer}.file-upload input{display:none}.upload-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;border:2px dashed #3f3f46;border-radius:12px;transition:all .2s}.upload-content:hover{border-color:#22c55e;background:#22c55e0d}.upload-icon{font-size:2rem}.upload-content span:nth-child(2){color:#fafafa;font-weight:500}.upload-hint{color:#52525b;font-size:.8rem}.prompt-section textarea{width:100%;background:#18181b;border:1px solid #3f3f46;color:#fafafa;padding:1rem;border-radius:8px;font-size:.95rem;resize:vertical;font-family:inherit;line-height:1.6;transition:border-color .2s;min-height:280px}.prompt-section textarea:focus{outline:none;border-color:#22c55e}.prompt-section textarea::placeholder{color:#52525b}.btn-submit{width:100%;background:linear-gradient(135deg,#22c55e,#16a34a);color:#000;border:none;padding:1rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:opacity .2s,transform .2s}.btn-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.2);border-top-color:#000;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{margin-top:1rem;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.9rem}.result-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #27272a}.result-section h3{font-size:.875rem;color:#22c55e;margin-bottom:.75rem;font-weight:500}.result-section pre{background:#18181b;border:1px solid #27272a;padding:1rem;border-radius:8px;font-size:.85rem;color:#fafafa;overflow-x:auto;font-family:JetBrains Mono,Fira Code,monospace;line-height:1.5}
