html[data-theme="dark"],
html[data-theme="dark"] body,
html[data-site-theme="dark"],
html[data-site-theme="dark"] body,
html[data-theme="dark"] .app,
html[data-site-theme="dark"] .app,
html[data-theme="dark"] .panel,
html[data-site-theme="dark"] .panel,
html[data-theme="dark"] .workspace,
html[data-site-theme="dark"] .workspace {
  background-color: #0c111b !important;
  color: #e8edf6 !important;
}
:root{color-scheme:dark;--bg:#0c0d12;--surface:#151720;--surface-2:#1c1f2a;--border:#2b3040;--text:#eef0f7;--muted:#969db0;--accent:#7667f7;--accent-2:#978cff;--ok:#49c98b;--bad:#ff6c78;--warn:#f3b84b;--shadow:0 18px 60px rgba(0,0,0,.35);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.keyboard-shortcuts-icon{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#helpBtn{display:inline-grid;place-items:center;width:36px;min-width:36px;height:36px;padding:0;line-height:0}#helpBtn .keyboard-shortcuts-icon{margin:0}
html[data-theme="light"]{color-scheme:light;--bg:#f4f5f8;--surface:#fff;--surface-2:#f0f1f5;--border:#d9dce5;--text:#1d202a;--muted:#626a7b;--accent:#5b4bd8;--accent-2:#4938c5;--ok:#138854;--bad:#d73a4a;--warn:#946200;--shadow:0 18px 60px rgba(31,38,61,.16)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-width:320px}button,select,input,textarea{font:inherit}button,.file-label,select{border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);min-height:36px;padding:0 12px;cursor:pointer}button:hover,.file-label:hover,select:hover{border-color:var(--accent-2)}button:focus-visible,select:focus-visible,textarea:focus-visible,.file-label:focus-within{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.primary{background:var(--accent);border-color:var(--accent);color:white;font-weight:700}.secondary{background:transparent}.danger{color:var(--bad);background:transparent;border-color:color-mix(in srgb,var(--bad) 45%,var(--border))}button:disabled{opacity:.45;cursor:not-allowed}.topbar{height:64px;display:flex;align-items:center;padding:0 22px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;min-width:260px}.brand img{width:32px;height:32px}.brand div{display:flex;flex-direction:column}.brand span,.editor-panel header span{font-size:12px;color:var(--muted)}.mode-tabs{display:flex;gap:4px;margin:auto}.tab{border-color:transparent;background:transparent}.tab.active{color:var(--accent-2);background:color-mix(in srgb,var(--accent) 13%,transparent)}.top-actions{display:flex;gap:8px;align-items:center;min-width:260px;justify-content:flex-end}.icon-btn{width:36px;padding:0;font-size:18px}.count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--surface-2);font-size:12px;color:var(--muted)}main{padding:18px 22px 40px;max-width:1800px;margin:auto}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.separator{height:28px;width:1px;background:var(--border);margin:0 4px}.toolbar-spacer{flex:1}.file-label{display:inline-flex;align-items:center}.file-label input{position:absolute;width:1px;height:1px;opacity:0}.draft-badge{font-size:12px;color:var(--muted);border:1px solid var(--border);padding:7px 10px;border-radius:999px}.editors{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-panel,.results{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.editor-panel>header,.results>header{height:58px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}h2,h3,p{margin:0}.editor-panel h2,.results h2{font-size:15px}.link-btn{border:0;background:transparent;color:var(--accent-2);font-size:12px}.json-editor{height:430px;position:relative;display:flex;flex-direction:column}.editor-status{height:0;overflow:hidden;flex:0 0 auto}.editor-status.syntax-error{height:auto;min-height:30px;max-height:88px;overflow:auto;padding:6px 12px;background:color-mix(in srgb,var(--bad) 11%,var(--surface));color:var(--bad);font-size:12px;line-height:18px;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.editor-status.syntax-error:focus-visible{outline:2px solid var(--bad);outline-offset:-2px}.editor-shell{height:auto;min-height:0;flex:1;display:flex;overflow:hidden;background:var(--surface)}.has-error .editor-shell{height:auto}.line-numbers{margin:0;padding:14px 9px;min-width:46px;text-align:right;overflow:hidden;color:var(--muted);background:var(--surface-2);border-right:1px solid var(--border);user-select:none}.code-area{position:relative;flex:1;overflow:hidden}.highlight,.code-area textarea,.line-numbers{font:13px/20px ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;tab-size:2}.highlight,.code-area textarea{position:absolute;inset:0;margin:0;padding:14px;overflow:auto;white-space:pre;color:var(--text)}.highlight{pointer-events:none}.code-area textarea{resize:none;border:0;background:transparent;color:transparent;caret-color:var(--text);-webkit-text-fill-color:transparent}.code-area textarea::selection{background:color-mix(in srgb,var(--accent) 55%,transparent);-webkit-text-fill-color:transparent}.code-area textarea::placeholder{-webkit-text-fill-color:var(--muted);color:var(--muted)}.tok-key{color:#8aa9ff}.tok-string{color:#7dd3a7}.tok-number{color:#e7b26f}.tok-bool{color:#d99cff}.tok-null{color:#ff858f}.empty-hint{display:none;padding:12px;color:var(--muted);font-size:13px}.editor-panel.is-empty .empty-hint{display:block}.results{margin-top:14px;min-height:210px}.result-title,.result-actions{display:flex;align-items:center;gap:8px}.status{padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700}.status.idle{color:var(--muted);background:var(--surface-2)}.status.valid{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.status.invalid{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}.status.busy{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}.empty-result{padding:14px;color:var(--muted);font-size:13px}.result-columns{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border)}.result-columns>div{padding:14px}.result-columns>div+div{border-left:1px solid var(--border)}.result-columns h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:10px}.issue-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.issue{width:100%;text-align:left;padding:10px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);display:grid;gap:4px}.issue strong{color:var(--bad);font-size:12px}.recommendations .issue strong{color:var(--warn)}.issue span,.issue code{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.side-panel{position:fixed;z-index:30;top:0;right:0;height:100vh;width:min(430px,92vw);background:var(--surface);box-shadow:var(--shadow);transform:translateX(105%);transition:transform .2s ease;padding:18px;display:flex;flex-direction:column}.side-panel.open{transform:none}.side-panel header{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:14px}.side-panel header p{font-size:12px;color:var(--muted);margin-top:4px}.history-list{overflow:auto;flex:1;padding:12px 0;display:grid;align-content:start;gap:8px}.history-item{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:10px;display:grid;grid-template-columns:1fr auto;gap:4px}.history-item button.restore{text-align:left;border:0;background:none;padding:0;height:auto}.history-item strong,.history-item small{display:block}.history-item small{color:var(--muted);margin-top:4px}.history-item .delete{grid-column:2;grid-row:1/3}.scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:20}dialog{border:1px solid var(--border);border-radius:12px;padding:0;background:var(--surface);color:var(--text);box-shadow:var(--shadow);width:min(520px,calc(100vw - 28px))}dialog::backdrop{background:rgba(0,0,0,.55)}dialog form{padding:18px}dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}dialog header button{border:0;background:none;font-size:20px}dialog dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}dialog dt{font-family:ui-monospace,monospace}dialog dd{color:var(--muted)}dialog label{display:grid;gap:6px;margin:16px 0}dialog menu{display:flex;justify-content:flex-end;gap:8px;padding:0}.warning{background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn);padding:10px;border:1px solid color-mix(in srgb,var(--warn) 35%,var(--border));border-radius:8px;font-size:13px}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,20px);opacity:0;padding:10px 14px;border-radius:8px;background:var(--text);color:var(--bg);z-index:50;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}footer{text-align:center;color:var(--muted);font-size:12px;padding:18px;border-top:1px solid var(--border)}
@media(max-width:900px){.topbar{height:auto;min-height:64px;flex-wrap:wrap;gap:8px;padding:10px 14px}.brand,.top-actions{min-width:0}.brand span{display:none}.mode-tabs{order:3;width:100%;justify-content:center}.editors{grid-template-columns:1fr}.json-editor{height:360px}.result-columns{grid-template-columns:1fr}.result-columns>div+div{border-left:0;border-top:1px solid var(--border)}main{padding:14px}.results>header{height:auto;min-height:58px;gap:10px;flex-wrap:wrap;padding:10px 14px}.result-actions{flex-wrap:wrap}.toolbar-spacer{display:none}.draft-badge{width:100%}}
@media(max-width:560px){.brand strong{font-size:13px}.top-actions #historyBtn{font-size:0}.top-actions #historyBtn .count{font-size:12px}.toolbar button,.file-label{flex:1}.separator{display:none}.editor-panel>header{height:auto;min-height:58px}.json-editor{height:320px}.result-actions button{flex:1;font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.mode-ai .result-columns{grid-template-columns:1fr}.mode-ai .result-columns>div:first-child{display:none}.mode-ai .result-columns>div+div{border-left:0}
.theme-icon::before{display:block;width:14px;height:14px;margin:auto;border-radius:50%;box-shadow:-4px 2px 0 0 currentColor;content:""}:root[data-theme="dark"] .theme-icon::before{width:9px;height:9px;border:2px solid currentColor;box-shadow:0 -7px 0 -4px currentColor,0 7px 0 -4px currentColor,-7px 0 0 -4px currentColor,7px 0 0 -4px currentColor}
