body{min-width:320px;min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#1e1e1e;--bg-secondary:#252526;--bg-editor:#1e1e1e;--text-primary:#d4d4d4;--text-secondary:#9cdcfe;--accent:#4fc1ff;--accent-hover:#3aa5e0;--border:#3c3c3c;--success:#4ec9b0;--error:#f14c4c;--warning:#cca700;--string:#ce9178;--number:#b5cea8;--boolean:#569cd6;--null:#569cd6;--key:#9cdcfe;--bracket:gold;--toolbar-bg:#2d2d2d}.light{--bg-primary:#fff;--bg-secondary:#f3f3f3;--bg-editor:#fff;--text-primary:#333;--text-secondary:#0451a5;--accent:#06c;--accent-hover:#0052a3;--border:#d4d4d4;--success:#16825d;--error:#cd3131;--warning:#b59026;--string:#a31515;--number:#098658;--boolean:#00f;--null:#00f;--key:#001080;--bracket:#666;--toolbar-bg:#f0f0f0}.app{background-color:var(--bg-primary);min-height:100vh;color:var(--text-primary);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;display:flex}.header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.logo{align-items:center;gap:12px;display:flex}.logo-icon{color:var(--accent);background:var(--bg-primary);border-radius:6px;padding:6px 12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:28px;font-weight:700}.logo h1{color:var(--text-primary);font-size:20px;font-weight:600}.header-actions{gap:10px;display:flex}.btn{cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--bg-secondary)}.btn-danger{color:var(--error);border:1px solid var(--error);background-color:#0000}.btn-danger:hover{background-color:var(--error);color:#fff}.btn-copy{background-color:var(--success);color:#fff}.btn-copy:hover{opacity:.9}.btn-download{background-color:var(--text-secondary);color:#fff}.btn-download:hover{opacity:.9}.btn-sample{background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border)}.btn-sample:hover{background-color:var(--bg-secondary)}.btn-theme{background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border)}.btn-theme:hover{background-color:var(--bg-secondary)}.main-content{background-color:var(--border);flex:1;gap:1px;display:flex;overflow:hidden}.panel{background-color:var(--bg-secondary);flex-direction:column;flex:1;min-width:0;display:flex}.panel-header{background-color:var(--toolbar-bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.panel-header h2{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:600}.view-toggle{gap:4px;display:flex}.toggle-btn{border:1px solid var(--border);background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;padding:4px 12px;font-size:12px;transition:all .2s}.toggle-btn:first-child{border-radius:4px 0 0 4px}.toggle-btn:last-child{border-radius:0 4px 4px 0}.toggle-btn.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.toggle-btn:hover:not(.active){background-color:var(--bg-secondary)}.validation-status{align-items:center;display:flex}.status{border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600}.status.valid{color:var(--success);background-color:#4ec9b026}.status.invalid{color:var(--error);background-color:#f14c4c26}.editor-container{background-color:var(--bg-editor);flex:1;overflow:auto}.editor{min-height:100%;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:14px;line-height:1.5}.editor-textarea{outline:none!important}.editor-pre{background:0 0!important;margin:0!important;padding:0!important;font-family:inherit!important}.editor .token.property{color:var(--key)}.editor .token.string{color:var(--string)}.editor .token.number{color:var(--number)}.editor .token.boolean{color:var(--boolean)}.editor .token.null{color:var(--null)}.editor .token.punctuation{color:var(--text-primary)}.tree-view{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;padding:16px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:14px;line-height:1.6}.tree-placeholder{color:var(--text-primary);opacity:.5;font-style:italic}.tree-error{color:var(--error);font-weight:500}.json-key{color:var(--key)}.json-string{color:var(--string)}.json-number{color:var(--number)}.json-boolean{color:var(--boolean)}.json-null{color:var(--null)}.json-bracket{color:var(--bracket)}.error-message{border-bottom:1px solid var(--error);color:var(--error);background-color:#f14c4c1a;padding:12px 16px;font-size:13px}.error-location{opacity:.8;font-size:12px}.toolbar{background-color:var(--toolbar-bg);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.toolbar-group{flex-wrap:wrap;gap:8px;display:flex}@media (width<=768px){.header{flex-direction:column;gap:12px;padding:12px 16px}.header-actions{justify-content:center;width:100%}.main-content{flex-direction:column}.panel{min-height:250px}.toolbar{flex-direction:column;padding:12px 16px}.toolbar-group{justify-content:center;width:100%}.panel-header{flex-direction:column;align-items:flex-start;gap:8px}.view-toggle{align-self:flex-end}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-primary)}.editor textarea::placeholder{color:var(--text-primary);opacity:.4}.tab-nav{gap:4px;display:flex}.tab-btn{border:1px solid var(--border);background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .2s}.tab-btn:hover{background-color:var(--bg-secondary)}.tab-btn.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.compare-container{background-color:var(--bg-primary);flex-direction:column;flex:1;display:flex;overflow:hidden}.compare-header{background-color:var(--toolbar-bg);border-bottom:1px solid var(--border);padding:12px 24px}.diff-summary{font-size:14px;font-weight:500}.diff-count{color:var(--warning)}.diff-no-change{color:var(--success)}.diff-error{color:var(--error);flex-direction:column;gap:4px;display:flex}.compare-editors{background-color:var(--border);flex:1;gap:1px;display:flex;overflow:hidden}.compare-panel{background-color:var(--bg-secondary);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.compare-panel .panel-header{background-color:var(--toolbar-bg);border-bottom:1px solid var(--border);padding:10px 16px}.compare-panel .panel-header h2{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:600}.compare-panel .editor-container{background-color:var(--bg-editor);flex:1;overflow:auto}.diff-added{border-left:3px solid var(--success)!important;background-color:#4ec9b047!important}.diff-removed{border-left:3px solid var(--error)!important;background-color:#f14c4c47!important}.diff-changed{border-left:3px solid var(--warning)!important;background-color:#cca70047!important}.diff-line-active.diff-added{background-color:#4ec9b08c!important}.diff-line-active.diff-removed{background-color:#f14c4c8c!important}.diff-line-active.diff-changed{background-color:#cca7008c!important}.diff-glyph-added{background-color:var(--success);margin-left:3px;width:6px!important}.diff-glyph-removed{background-color:var(--error);margin-left:3px;width:6px!important}.diff-glyph-changed{background-color:var(--warning);margin-left:3px;width:6px!important}.diff-glyph-active.diff-glyph-added{background-color:#6ee7d4!important}.diff-glyph-active.diff-glyph-removed{background-color:#ff8a8a!important}.diff-glyph-active.diff-glyph-changed{background-color:#f5d76e!important}.compare-header-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.diff-count-badge{border-radius:12px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.diff-nav-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.diff-nav-index{color:var(--text-secondary);text-align:center;min-width:52px;font-size:13px}.btn-nav{border:1px solid var(--border);background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:4px 12px;font-size:12px;transition:all .15s;display:flex}.btn-nav:hover:not(:disabled){background-color:var(--accent);color:#fff;border-color:var(--accent)}.btn-nav:disabled{opacity:.4;cursor:not-allowed}.btn-options-toggle{border:1px solid var(--border);background-color:var(--bg-primary);color:var(--text-secondary);cursor:pointer;border-radius:4px;margin-left:auto;padding:4px 12px;font-size:12px;transition:all .2s}.btn-options-toggle:hover{background-color:var(--bg-secondary)}.btn-options-toggle.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.compare-options-panel{background-color:var(--bg-primary);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:12px;margin-top:12px;padding:12px 16px;display:flex}.options-grid{flex-wrap:wrap;gap:20px;display:flex}.options-field{flex-direction:column;gap:6px;display:flex}.options-label{color:var(--text-secondary);font-size:12px}.options-textarea{border:1px solid var(--border);background-color:var(--bg-secondary);width:100%;color:var(--text-primary);resize:vertical;border-radius:4px;outline:none;padding:6px 10px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:12px}.options-textarea:focus{border-color:var(--accent)}.btn-options-inline{border:1px solid var(--border);background-color:var(--bg-primary);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:8px 14px;font-size:13px;transition:all .2s}.btn-options-inline:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.btn-options-inline.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.options-drawer{background-color:var(--bg-primary);border-top:1px solid var(--border);flex-direction:column;gap:12px;padding:12px 24px;display:flex}.options-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.options-row{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.options-row .options-field{flex-direction:row;align-items:center;gap:8px}.options-row .options-label{color:var(--text-primary);font-size:13px}.options-toggle{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.options-toggle input[type=checkbox]{cursor:pointer;width:15px;height:15px;accent-color:var(--accent)}.options-toggle--disabled{opacity:.5;cursor:not-allowed}.options-toggle--disabled input{cursor:not-allowed}.options-hint{color:var(--text-secondary);opacity:.8;font-size:11px}.options-radio-group{gap:12px;display:flex}.options-radio{color:var(--text-primary);cursor:pointer;align-items:center;gap:5px;font-size:13px;display:flex}.options-radio input[type=radio]{cursor:pointer;accent-color:var(--accent)}@media (width<=768px){.header{flex-direction:column;gap:12px;padding:12px 16px}.tab-nav,.header-actions{justify-content:center;width:100%}.compare-editors{flex-direction:column}.compare-panel{min-height:250px}.main-content{flex-direction:column}.panel{min-height:250px}.toolbar{flex-direction:column;padding:12px 16px}.toolbar-group{justify-content:center;width:100%}.panel-header{flex-direction:column;align-items:flex-start;gap:8px}.view-toggle{align-self:flex-end}}
