.form-builder{min-height:100vh;background:#f5f5f5}.builder-top-bar{background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000000d}.top-bar-left h1{margin:0;color:#333;font-size:1.5rem}.top-bar-actions{display:flex;gap:.75rem}.btn-view,.btn-save,.btn-share{padding:.6rem 1.2rem;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s}.btn-view{background:#f5f5f5;color:#333}.btn-view:hover{background:#e8e8e8}.btn-save{background:#4caf50;color:#fff}.btn-save:hover{background:#45a049}.btn-share{background:#673ab7;color:#fff}.btn-share:hover{background:#5e35b1}.builder-container{display:flex;gap:2rem;padding:2rem;max-width:1400px;margin:0 auto}.builder-main{flex:1;max-width:800px}.form-title-card{background:#fff;border-radius:8px;padding:2rem;margin-bottom:1.5rem;border-top:8px solid #673AB7;box-shadow:0 1px 3px #0000001a}.form-title-input{font-size:2rem;padding:.5rem;border:none;border-bottom:1px solid transparent;width:100%;font-weight:400;color:#333;transition:border-color .2s}.form-title-input:focus{outline:none;border-bottom:1px solid #673AB7}.form-description{margin-top:1rem}.form-description-input{font-size:.95rem;padding:.5rem;border:none;border-bottom:1px solid transparent;width:100%;color:#666;transition:border-color .2s}.form-description-input:focus{outline:none;border-bottom:1px solid #673AB7}.fields-container{display:flex;flex-direction:column;gap:1.5rem}.builder-sidebar{width:280px;position:sticky;top:80px;height:fit-content}.sidebar-section{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.sidebar-section h3{margin:0 0 1rem;font-size:1rem;color:#555;font-weight:600}.add-field-buttons{display:flex;flex-direction:column;gap:.75rem}.btn-add-field{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border:2px solid #e0e0e0;background:#fff;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;color:#333;transition:all .2s;text-align:left}.btn-add-field:hover{border-color:#673ab7;background:#f9f7fc;transform:translate(4px)}.field-icon{font-size:1.3rem;width:28px;text-align:center}.export-buttons{display:flex;flex-direction:column;gap:.5rem}.btn-export{padding:.75rem;border:1px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;font-size:.9rem;color:#555;transition:all .2s;text-align:left}.btn-export:hover{background:#f5f5f5;border-color:#2196f3}.field-editor{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s}.field-editor:hover{box-shadow:0 2px 8px #0000001f}.field-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.field-type-badge{background:#f0f0f0;color:#666;padding:.4rem .9rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;min-width:90px;text-align:center;letter-spacing:.5px}.field-title-input{flex:1;padding:.75rem;border:none;border-bottom:1px solid #e0e0e0;border-radius:0;font-size:1rem;transition:border-color .2s}.field-title-input:focus{outline:none;border-bottom:2px solid #673AB7}.field-actions{display:flex;gap:.5rem}.btn-move{background:#fff;color:#666;border:1px solid #e0e0e0;padding:.4rem .65rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .2s}.btn-move:hover:not(:disabled){background:#f5f5f5;border-color:#673ab7;color:#673ab7}.btn-move:disabled{opacity:.3;cursor:not-allowed}.btn-remove{background:#fff;color:#f44336;border:1px solid #e0e0e0;padding:.4rem .65rem;border-radius:4px;cursor:pointer;font-size:1.3rem;line-height:1;transition:all .2s}.btn-remove:hover{background:#ffebee;border-color:#f44336}.options-editor{padding-top:1rem;margin-top:1rem;border-top:1px solid #f0f0f0}.options-editor h4{margin:0 0 .75rem;color:#666;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.option-row{display:flex;gap:.5rem;margin-bottom:.5rem}.option-input{flex:1;padding:.6rem;border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem;transition:border-color .2s}.option-input:focus{outline:none;border-color:#673ab7}.btn-remove-small{background:#fff;color:#999;border:1px solid #e0e0e0;padding:.5rem .75rem;border-radius:4px;cursor:pointer;font-size:1.1rem;line-height:1;transition:all .2s}.btn-remove-small:hover{background:#ffebee;color:#f44336;border-color:#f44336}.btn-add-option{background:#fff;color:#673ab7;border:1px dashed #e0e0e0;padding:.6rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem;margin-top:.5rem;transition:all .2s;font-weight:500}.btn-add-option:hover{background:#f9f7fc;border-color:#673ab7;border-style:solid}.json-display{background:#1e1e1e;color:#d4d4d4;padding:1.5rem;border-radius:8px;margin:1.5rem 2rem 2rem;box-shadow:0 2px 8px #00000026}.json-display h3{margin-top:0;color:#fff;font-size:1rem}.json-display pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:.85rem;line-height:1.6}@media (max-width: 1024px){.builder-container{flex-direction:column}.builder-sidebar{width:100%;position:static}.builder-main{max-width:100%}}@keyframes pulse{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.7;transform:translate(-50%) scale(1.05)}}.form-renderer{max-width:800px;margin:0 auto;padding:2rem}.form-renderer h1{text-align:center;margin-bottom:2rem;color:#333}.json-input-section{background:#f9f9f9;padding:2rem;border-radius:8px;border:2px solid #e0e0e0}.json-input-section h2{margin-top:0;color:#555}.load-actions{text-align:center;margin-bottom:1rem}.divider{text-align:center;margin:2rem 0;color:#999;font-weight:600;position:relative}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#ddd}.divider:before{left:0}.divider:after{right:0}.json-input-area{display:flex;flex-direction:column;gap:1rem}.json-input-area label{font-weight:600;color:#555}.json-input-area textarea{padding:1rem;border:2px solid #ddd;border-radius:6px;font-family:Courier New,monospace;font-size:.9rem;resize:vertical}.btn-load{background:#2196f3;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s}.btn-load:hover{background:#0b7dda}.error-message{color:#f44336;padding:.75rem;background:#ffebee;border-radius:6px;font-weight:500}.form-display{background:#fff}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.form-header h2{margin:0;color:#333}.btn-clear{background:#f44336;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;transition:background .2s}.btn-clear:hover{background:#da190b}.rendered-form{background:#f9f9f9;padding:2rem;border-radius:8px;border:2px solid #e0e0e0}.form-field{margin-bottom:1.5rem}.field-label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:1rem}.text-input,.textarea-input,.select-input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s}.text-input:focus,.textarea-input:focus,.select-input:focus{outline:none;border-color:#2196f3}.textarea-input{resize:vertical;min-height:100px}.select-input{cursor:pointer;background:#fff}.radio-group{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0}.radio-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.5rem;border-radius:6px;transition:background .2s}.radio-label:hover{background:#f0f0f0}.radio-input{width:1.25rem;height:1.25rem;cursor:pointer}.radio-label span{font-size:1rem;color:#333}.btn-submit{width:100%;background:#4caf50;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;transition:background .2s}.btn-submit:hover{background:#45a049}.submitted-data{margin-top:2rem;padding:1.5rem;background:#1e1e1e;color:#d4d4d4;border-radius:8px}.submitted-data h3{margin-top:0;color:#fff}.submitted-data pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5}#root{width:100%;margin:0 auto;background-color:#fff;color:#213547;min-height:100vh}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.loading-overlay{position:fixed;inset:0;background:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading-spinner{width:60px;height:60px;border:4px solid #e0e0e0;border-top:4px solid #673AB7;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{margin-top:1.5rem;color:#666;font-size:1.1rem;font-weight:500}.loading-dots{display:inline-block;width:20px;text-align:left}.loading-dots:after{content:"";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#fff;color:#213547}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;color:#213547;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}
