.json-formatter{display:flex;flex-direction:column;gap:1rem}.json-formatter-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.json-formatter-actions{display:flex;gap:.5rem}.json-formatter-indent{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--color-text-muted)}.json-formatter-indent select{padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-white);color:var(--color-text);font-size:.85rem;font-family:inherit;cursor:pointer}.json-formatter-indent select:focus-visible,.json-formatter-indent input[type=number]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.json-formatter-indent input[type=number]{width:4rem;padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-white);color:var(--color-text);font-size:.85rem;font-family:inherit;text-align:center}.json-formatter-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border:1px solid transparent;border-radius:8px;font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease;min-height:36px;min-width:36px;text-decoration:none}.json-formatter-btn--primary{background-color:var(--color-primary);color:var(--color-bg-white)}.json-formatter-btn--primary:hover{background-color:var(--color-primary-dark)}.json-formatter-btn--secondary{background-color:transparent;border-color:var(--color-border);color:var(--color-text-muted)}.json-formatter-btn--secondary:hover{border-color:var(--color-border-accent-light);color:var(--color-text)}.json-formatter-btn--download{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary);align-self:flex-start;padding:.5rem 1.25rem;min-height:44px}.json-formatter-textarea-wrapper{position:relative}.json-formatter-btn--copy{position:absolute;top:.5rem;right:.5rem;padding:.35rem;min-height:30px;min-width:30px;border-radius:6px;background-color:var(--color-bg-white);border-color:var(--color-border);color:var(--color-text-muted);opacity:.5;z-index:1}.json-formatter-btn--copy:hover:not(:disabled){opacity:1;border-color:var(--color-border-accent-light);color:var(--color-text)}.json-formatter-btn--copy:disabled{opacity:.25;cursor:not-allowed}.json-formatter-btn--download:hover{background-color:var(--color-primary);color:var(--color-bg-white)}.json-formatter-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.json-formatter-input{width:100%;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-white);color:var(--color-text);font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.875rem;line-height:1.6;resize:vertical;min-height:200px}.json-formatter-input::placeholder{color:var(--color-text-subtle)}.json-formatter-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.json-formatter-error{padding:.75rem 1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:.9rem;line-height:1.6}.json-formatter-error-label{font-weight:600}.json-formatter-error-position{color:#b91c1c;font-size:.85rem}.json-formatter-view-tabs{display:flex;gap:0;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;align-self:flex-start}.json-formatter-view-tab{padding:.4rem 1rem;border:none;background:transparent;color:var(--color-text-muted);font-size:.85rem;font-family:inherit;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease}.json-formatter-view-tab:hover{background-color:var(--color-bg-white);color:var(--color-text)}.json-formatter-view-tab--active{background-color:var(--color-primary);color:var(--color-bg-white)}.json-formatter-view-tab--active:hover{background-color:var(--color-primary-dark);color:var(--color-bg-white)}.json-formatter-tree-wrapper{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-white);padding:1rem;overflow-x:auto;min-height:200px;max-height:600px;overflow-y:auto}.json-tree-view{font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.875rem;line-height:1.6}.json-tree-view__controls{display:flex;gap:.25rem;margin-bottom:.5rem}.json-tree-view__controls button{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border:1px solid var(--color-border);border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:border-color .2s ease,color .2s ease}.json-tree-view__controls button:hover{border-color:var(--color-border-accent-light);color:var(--color-text)}.json-tree-view__node{display:flex;align-items:flex-start;padding:1px 0}.json-tree-view__node--highlighted{background-color:#fef3c7;border-radius:3px}.json-tree-view__toggle{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;width:20px;height:20px;margin-top:2px}.json-tree-view__toggle:hover{color:var(--color-text)}.json-tree-view__key{color:#0451a5;font-weight:500}.json-tree-view__separator{color:var(--color-text-muted)}.json-tree-view__value--string{color:#a31515}.json-tree-view__value--number{color:#098658}.json-tree-view__value--boolean{color:#00f}.json-tree-view__value--null{color:gray;font-style:italic}.json-tree-view__preview{color:var(--color-text-subtle);font-style:italic}.json-tree-view__bracket{color:var(--color-text-muted)}.json-tree-view__children{padding-left:1.25rem}.json-formatter-format-badge{font-size:.85rem;color:var(--color-text-muted)}.json-formatter-format-badge__label{display:inline-block;padding:.15rem .5rem;border-radius:4px;background-color:var(--color-bg-white);border:1px solid var(--color-border);font-weight:600;font-size:.8rem;color:var(--color-text)}.json-formatter-jsonl-errors{margin:.5rem 0 0;padding-left:1.25rem;font-size:.85rem;list-style:disc}.json-formatter-jsonl-errors li{margin-bottom:.25rem;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.8rem}.json-formatter-search{border-top:1px solid var(--color-border);padding-top:1rem;margin-top:.5rem;display:flex;flex-direction:column;gap:.75rem}.json-formatter-search__header{font-size:.95rem;font-weight:600;color:var(--color-heading)}.json-formatter-search__input-row{display:flex;gap:.5rem;align-items:center}.json-formatter-search__input{flex:1;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-white);color:var(--color-text);font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.875rem}.json-formatter-search__input::placeholder{color:var(--color-text-subtle)}.json-formatter-search__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.json-formatter-search__result{display:flex;flex-direction:column;gap:.5rem}.json-formatter-search__result-header{display:flex;align-items:center;justify-content:space-between}.json-formatter-search__match-count{font-size:.85rem;color:var(--color-text-muted);font-weight:500}.json-formatter-search__copy-btn{position:static;opacity:.7}.json-formatter-search__copy-btn:hover{opacity:1}.json-formatter-search__result-tree{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-white);padding:.75rem;overflow-x:auto;max-height:400px;overflow-y:auto}@media(max-width:480px){.json-formatter-controls{flex-direction:column;align-items:stretch}.json-formatter-actions{order:2}.json-formatter-indent{order:1;justify-content:flex-end}.json-formatter-input{min-height:150px;font-size:.8rem}.json-formatter-search__input{font-size:.8rem}}.tool-header[data-astro-cid-pfugyl2g]{padding:2rem 0 3rem;border-bottom:1px solid var(--color-border);margin-bottom:2rem}.tool-header[data-astro-cid-pfugyl2g] h1[data-astro-cid-pfugyl2g]{font-size:2.5rem;letter-spacing:-.03em;margin-bottom:.75rem}.tool-header-description[data-astro-cid-pfugyl2g]{font-size:1.1rem;color:var(--color-text-muted);line-height:1.7;max-width:480px}@media(max-width:768px){.tool-header[data-astro-cid-pfugyl2g]{padding:1.5rem 0 2.5rem}.tool-header[data-astro-cid-pfugyl2g] h1[data-astro-cid-pfugyl2g]{font-size:2rem}}@media(max-width:480px){.tool-header[data-astro-cid-pfugyl2g]{padding:1rem 0 2rem;margin-bottom:1.5rem}.tool-header[data-astro-cid-pfugyl2g] h1[data-astro-cid-pfugyl2g]{font-size:1.75rem}.tool-header-description[data-astro-cid-pfugyl2g]{font-size:1rem}}
