body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fafafa;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{display:flex;flex-direction:column;min-height:100vh}.App-header{background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000a;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-container{height:60px;justify-content:space-between;margin:0 auto;padding:0 10px}.header-container,.header-left{align-items:center;display:flex}.header-left{gap:30px}.logo{align-items:center;color:#424242;display:flex;font-size:18px;font-weight:600;gap:8px}.logo-icon{font-size:24px}.logo-text{color:#1976d2}.main-navigation{align-items:center;display:flex;gap:2px}.nav-item{position:relative}.nav-button{align-items:center;background:none;border:none;border-radius:6px;color:#616161;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.nav-button:hover{background-color:#f5f5f5;color:#1976d2}.nav-button.active{background-color:#e3f2fd;color:#1565c0}.nav-icon{font-size:16px}.nav-text{font-weight:500}.nav-arrow{font-size:10px;margin-left:4px;transition:transform .2s ease}.nav-button:hover .nav-arrow{transform:rotate(180deg)}.dropdown-menu{animation:fadeIn .2s ease;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000014;left:0;margin-top:4px;min-width:280px;position:absolute;top:100%;z-index:1001}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{background:none;border:none;border-bottom:1px solid #f5f5f5;cursor:pointer;padding:12px 16px;text-align:left;transition:background-color .2s ease;width:100%}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:#f5f5f5}.dropdown-item.active{background-color:#e3f2fd}.dropdown-item-content{display:flex;flex-direction:column;gap:4px}.dropdown-item-name{color:#424242;font-size:14px;font-weight:500}.dropdown-item-desc{color:#757575;font-size:12px}.header-actions,.header-right{align-items:center;display:flex}.header-actions{gap:20px}.current-tool-name{background-color:#e3f2fd;border-radius:20px;color:#1976d2;font-size:14px;font-weight:500;padding:6px 12px}.header-info{align-items:center;display:flex;gap:10px}.version{border-radius:12px;color:#757575;font-size:12px;padding:4px 8px}.App-main,.version{background-color:#f5f5f5}.App-main{flex:1 1;padding:20px}.main-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a;margin:0 auto;min-height:calc(100vh - 120px);overflow:hidden}.tool-placeholder{align-items:center;background:linear-gradient(135deg,#f5f5f5,#eee);color:#757575;display:flex;font-size:18px;height:400px;justify-content:center}.json-formatter{display:flex;flex-direction:column;height:100%}.json-toolbar{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.toolbar-left h2{color:#424242;font-size:20px;font-weight:600;margin:0 0 4px}.toolbar-desc{color:#757575;font-size:14px}.toolbar-right{gap:16px}.format-toggle,.toolbar-right{align-items:center;display:flex}.format-toggle{color:#616161;cursor:pointer;font-size:14px;gap:8px;-webkit-user-select:none;user-select:none}.format-toggle input[type=checkbox]{accent-color:#1976d2;cursor:pointer;height:16px;width:16px}.btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.btn-primary{background:#1976d2;color:#fff}.btn-primary:hover{background:#1565c0;transform:translateY(-1px)}.btn-secondary{background:#757575;color:#fff}.btn-secondary:hover{background:#616161;transform:translateY(-1px)}.btn-icon{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:6px 8px;transition:background-color .2s ease}.btn-icon:hover{background:#f5f5f5}.json-content{grid-gap:20px;align-items:start;display:grid;flex:1 1;gap:20px;grid-template-columns:1fr 1fr}.json-panel{border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.json-panel:last-child{border-right:1px solid #e0e0e0}.panel-header{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.panel-header h3{color:#424242;font-size:16px;font-weight:600;margin:0}.panel-actions{align-items:center;display:flex;gap:12px}.char-count{background:#eee;border-radius:12px;color:#757575;font-size:12px;padding:4px 8px}.panel-body{overflow:hidden;position:relative}.panel-body .monaco-editor,.panel-body .monaco-editor .monaco-scrollable-element{border-radius:0 0 8px 8px}.panel-body>div{height:auto!important}.json-panel textarea{background:#fff;border:none;color:#424242;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:14px;height:100%;line-height:1.6;outline:none;padding:20px;resize:none;width:100%}.json-panel textarea::placeholder{color:#bdbdbd}.json-panel textarea.error{background:#ffebee;border-left:4px solid #d32f2f}.json-output-content{word-wrap:break-word;background:#fafafa;color:#424242;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:14px;height:100%;line-height:1.6;margin:0;overflow:auto;padding:20px;white-space:pre-wrap;width:100%}.empty-state{align-items:center;color:#bdbdbd;display:flex;flex-direction:column;height:200px;justify-content:center;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state p{font-size:16px;margin:0}.error-message{align-items:center;background:#ffebee;border:1px solid #ffcdd2;border-radius:6px;bottom:0;color:#c62828;display:flex;font-size:14px;gap:8px;left:0;padding:12px;position:absolute;right:0}.error-icon{font-size:16px}.warning-message{align-items:center;background:#fff3e0;border:1px solid #ffe0b2;border-radius:6px;color:#ef6c00;display:flex;font-size:14px;gap:8px;padding:12px}.warning-icon{font-size:16px}.error-state{align-items:center;color:#c62828;display:flex;flex-direction:column;height:200px;justify-content:center;text-align:center}.error-state .error-icon{font-size:48px;margin-bottom:16px}.error-desc{color:#757575;font-size:14px;margin-top:8px}.tool-container{display:flex;flex-direction:column;height:100%;padding:24px}.tool-container h2{border-bottom:2px solid #1976d2;color:#424242;font-size:24px;font-weight:600;margin:0 0 20px;padding-bottom:8px}.tool-content{display:flex;flex:1 1;flex-direction:column;gap:20px}.diff-inputs{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.text-section{display:flex;flex-direction:column;gap:8px}.text-section h3{color:#616161;font-size:16px;font-weight:600;margin:0}.text-section textarea{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#424242;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:14px;line-height:1.5;min-height:200px;padding:12px;resize:vertical;transition:border-color .2s ease;width:100%}.text-section textarea:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.text-section textarea::placeholder{color:#bdbdbd}.button-section{align-items:center;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;display:flex;gap:16px;padding:16px 0}.button-section button{background:#1976d2;border:1px solid #1976d2;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.button-section button:hover{background:#1565c0;transform:translateY(-1px)}.button-section button:last-child{background:#757575;border-color:#757575}.button-section button:last-child:hover{background:#616161}.diff-output{display:flex;flex:1 1;flex-direction:column;gap:16px}.diff-output h3{color:#424242;font-size:18px;font-weight:600;margin:0}.diff-output .diff{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.diff-output .diff-header{background:#fafafa;border-bottom:1px solid #e0e0e0;color:#616161;font-size:14px;padding:12px 16px}.diff-output .diff-gutter{background:#fafafa;border-right:1px solid #e0e0e0}.diff-output .diff-code{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:13px;line-height:1.4}.diff-output .diff-added{background:#e8f5e8}.diff-output .diff-removed{background:#ffebee}.qr-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 1fr}.qr-config{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:24px}.qr-config form{gap:20px}.form-group,.qr-config form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#616161;font-size:14px;font-weight:500}.form-group input[type=text]{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#424242;font-size:14px;padding:12px;transition:border-color .2s ease}.form-group input[type=text]:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.form-group input[type=text]::placeholder{color:#bdbdbd}.form-group input[type=range]{-webkit-appearance:none;background:#e0e0e0;border-radius:3px;height:6px;outline:none;width:100%}.form-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#1976d2;border-radius:50%;cursor:pointer;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.form-group input[type=range]::-webkit-slider-thumb:hover{background:#1565c0;transform:scale(1.1)}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-group input[type=color]{background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;height:40px;width:60px}.checkbox-group{align-items:center;flex-direction:row;gap:8px}.checkbox-group label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px}.checkbox-group input[type=checkbox]{accent-color:#1976d2;cursor:pointer;height:16px;width:16px}.qr-preview{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;gap:16px;padding:24px}.qr-preview h3{color:#424242;font-size:18px;font-weight:600;margin:0}.qr-code-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000000a;padding:20px}.qr-url-display{background:#f5f5f5;border-radius:6px;color:#757575;font-size:14px;margin:0;max-width:400px;padding:8px 12px;text-align:center;word-break:break-all}.form-group textarea{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#424242;font-family:inherit;font-size:14px;line-height:1.5;min-height:80px;padding:12px;resize:vertical;transition:border-color .2s ease;width:100%}.form-group textarea:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.form-group textarea::placeholder{color:#bdbdbd}.info-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:20px}.info-section h3{color:#424242;font-size:16px;font-weight:600;margin:0 0 12px}.info-section ul{margin:0;padding-left:20px}.info-section li{color:#616161;font-size:14px;line-height:1.5;margin-bottom:8px}.info-section li:last-child{margin-bottom:0}.info-section strong{color:#1976d2;font-weight:600}@media (max-width:1200px){.header-container{padding:0 15px}.main-navigation{gap:1px}.nav-button{font-size:13px;padding:6px 12px}.nav-text{display:none}.nav-icon{font-size:18px}.main-container{border-radius:8px;margin:0 10px}.App-main{padding:15px}}@media (max-width:768px){.header-left{gap:15px}.logo-text{display:none}.main-navigation{-ms-overflow-style:none;overflow-x:auto;scrollbar-width:none}.main-navigation::-webkit-scrollbar{display:none}.current-tool-name{display:none}.App-main{padding:10px}.main-container{border-radius:0;box-shadow:none;margin:0;min-height:calc(100vh - 40px)}.dropdown-menu{left:50%;min-width:250px;transform:translateX(-50%)}.json-content{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.json-panel{border-bottom:1px solid #e0e0e0;border-right:none}.json-panel:last-child{border-bottom:none}.json-toolbar{align-items:flex-start;flex-direction:column;gap:16px}.toolbar-right{justify-content:space-between;width:100%}.diff-inputs{gap:16px;grid-template-columns:1fr}.button-section{align-items:stretch;flex-direction:column;gap:12px}.button-section button{width:100%}.qr-config{padding:16px}.form-row{gap:12px;grid-template-columns:1fr}.qr-code-container,.qr-preview,.tool-container{padding:16px}.tool-container h2{font-size:20px;margin-bottom:16px}.json-formatter{height:auto}.json-content{height:auto;min-height:600px}.json-panel textarea{min-height:200px}}@media (max-width:480px){.header-container{height:50px;padding:0 10px}.logo-icon{font-size:20px}.nav-button{padding:4px 8px}.nav-icon{font-size:16px}.App-main{padding:5px}.main-container{min-height:calc(100vh - 60px)}.tool-container{padding:12px}.json-toolbar{padding:16px}.panel-header{padding:12px 16px}.json-output-content,.json-panel textarea{padding:16px}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.dropdown-item:focus,.nav-button:focus{outline:2px solid #1976d2;outline-offset:2px}.dropdown-item,.nav-button{transition:all .2s cubic-bezier(.4,0,.2,1)}.main-container{transition:all .3s ease}.copy-success{animation:fadeInOut 3s ease-in-out;background:#d4edda;border:1px solid #c3e6cb;border-radius:12px;color:#28a745;font-size:12px;padding:4px 8px}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.copy-toast{animation:toastFadeInOut 3s ease-in-out;left:50%;position:fixed;top:20px;transform:translateX(-50%);z-index:10000}.toast-content{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-radius:12px;box-shadow:0 8px 32px #0000004d;color:#fff;display:flex;gap:12px;padding:16px 24px}.toast-icon{font-size:20px}.toast-message{font-size:16px;font-weight:500}@keyframes toastFadeInOut{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}20%{opacity:1;transform:translateX(-50%) translateY(0)}80%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(-20px)}}:root{--diff-background-color:initial;--diff-text-color:initial;--diff-font-family:Consolas,Courier,monospace;--diff-selection-background-color:#b3d7ff;--diff-selection-text-color:var(--diff-text-color);--diff-gutter-insert-background-color:#d6fedb;--diff-gutter-insert-text-color:var(--diff-text-color);--diff-gutter-delete-background-color:#fadde0;--diff-gutter-delete-text-color:var(--diff-text-color);--diff-gutter-selected-background-color:#fffce0;--diff-gutter-selected-text-color:var(--diff-text-color);--diff-code-insert-background-color:#eaffee;--diff-code-insert-text-color:var(--diff-text-color);--diff-code-delete-background-color:#fdeff0;--diff-code-delete-text-color:var(--diff-text-color);--diff-code-insert-edit-background-color:#c0dc91;--diff-code-insert-edit-text-color:var(--diff-text-color);--diff-code-delete-edit-background-color:#f39ea2;--diff-code-delete-edit-text-color:var(--diff-text-color);--diff-code-selected-background-color:#fffce0;--diff-code-selected-text-color:var(--diff-text-color);--diff-omit-gutter-line-color:#cb2a1d}.diff{background-color:initial;background-color:var(--diff-background-color);border-collapse:collapse;color:initial;color:var(--diff-text-color);table-layout:fixed;width:100%}.diff::selection{background-color:#b3d7ff;background-color:var(--diff-selection-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-selection-text-color)}.diff td{padding-bottom:0;padding-top:0;vertical-align:top}.diff-line{font-family:Consolas,Courier,monospace;font-family:var(--diff-font-family);line-height:1.5}.diff-gutter>a{color:inherit;display:block}.diff-gutter{cursor:pointer;padding:0 1ch;text-align:right;-webkit-user-select:none;user-select:none}.diff-gutter-insert{background-color:#d6fedb;background-color:var(--diff-gutter-insert-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-gutter-insert-text-color)}.diff-gutter-delete{background-color:#fadde0;background-color:var(--diff-gutter-delete-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-gutter-delete-text-color)}.diff-gutter-omit{cursor:default}.diff-gutter-selected{background-color:#fffce0;background-color:var(--diff-gutter-selected-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-gutter-selected-text-color)}.diff-code{word-wrap:break-word;padding:0 0 0 .5em;white-space:pre-wrap;word-break:break-all}.diff-code-edit{color:inherit}.diff-code-insert{background-color:#eaffee;background-color:var(--diff-code-insert-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-code-insert-text-color)}.diff-code-insert .diff-code-edit{background-color:#c0dc91;background-color:var(--diff-code-insert-edit-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-code-insert-edit-text-color)}.diff-code-delete{background-color:#fdeff0;background-color:var(--diff-code-delete-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-code-delete-text-color)}.diff-code-delete .diff-code-edit{background-color:#f39ea2;background-color:var(--diff-code-delete-edit-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-code-delete-edit-text-color)}.diff-code-selected{background-color:#fffce0;background-color:var(--diff-code-selected-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-code-selected-text-color)}.diff-widget-content{vertical-align:top}.diff-gutter-col{width:7ch}.diff-gutter-omit{height:0}.diff-gutter-omit:before{background-color:#cb2a1d;background-color:var(--diff-omit-gutter-line-color);content:" ";display:block;height:100%;margin-left:4.6ch;overflow:hidden;white-space:pre;width:2px}.diff-decoration{line-height:1.5;-webkit-user-select:none;user-select:none}.diff-decoration-content{font-family:Consolas,Courier,monospace;font-family:var(--diff-font-family);padding:0}
/*# sourceMappingURL=main.97e7952a.css.map*/