/* The New: JSON object stream work surface. */
#jajTool {
  --jaj-paper:#faf6ee; --jaj-wash:#f5efdf; --jaj-ink:#1a1208; --jaj-muted:#5a4a30;
  --jaj-line:#b8a888; --jaj-soft:#ddd4be; --jaj-button:#ede6d4; --jaj-hover:#dfd4bb;
  --jaj-accent:#c44a00; --jaj-on-accent:#fffaf2; --jaj-primary:#a83f00;
  color:var(--jaj-ink); background:var(--jaj-paper); width:100%; min-width:0;
  border-top:3px double var(--jaj-ink); border-bottom:1px solid var(--jaj-line);
  padding:18px 0 0; -webkit-font-smoothing:antialiased; font-variant-numeric:tabular-nums;
}
#jajTool *, #jajTool *::before, #jajTool *::after { box-sizing:border-box; }
#jajTool [hidden] { display:none !important; }
#jajTool :is(button,input,textarea) { -webkit-text-fill-color:currentColor; }
#jajTool :is(button,.jaj-file) {
  display:inline-flex; align-items:center; justify-content:center; min-height:42px;
  border:1px solid var(--jaj-line); border-radius:0; box-shadow:none;
  padding:10px 14px; background:var(--jaj-button); color:var(--jaj-ink);
  font:900 13px/1.15 'Courier New',monospace; text-align:center; cursor:pointer;
  transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease,transform 150ms ease;
}
#jajTool :is(button,.jaj-file):hover { background:var(--jaj-hover); border-color:var(--jaj-ink); }
#jajTool button:not(:disabled):active { transform:scale(.96); }
#jajTool button:disabled { opacity:.45; cursor:not-allowed; transform:none; }
#jajTool :is(button,textarea,input):focus-visible, #jajTool .jaj-file:focus-within { outline:2px solid var(--jaj-accent); outline-offset:2px; }
#jajTool .jaj-topbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; margin-bottom:18px; }
#jajTool .jaj-modes { display:flex; max-width:100%; }
#jajTool .jaj-modes button { min-height:46px; padding-inline:18px; white-space:nowrap; }
#jajTool .jaj-modes button + button { margin-left:-1px; }
#jajTool .jaj-modes button[aria-pressed="true"] { position:relative; z-index:1; background:var(--jaj-ink); border-color:var(--jaj-ink); color:var(--jaj-paper); -webkit-text-fill-color:var(--jaj-paper); }
#jajTool .jaj-modes button span { color:var(--jaj-accent); -webkit-text-fill-color:var(--jaj-accent); margin-inline:3px; }
#jajTool .jaj-modes button[aria-pressed="true"] span { color:var(--jaj-paper); -webkit-text-fill-color:var(--jaj-paper); }
#jajTool .jaj-privacy { margin:0; color:var(--jaj-muted); font-size:12px; line-height:1.5; text-wrap:pretty; }
#jajTool .jaj-workspace { display:grid; grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr); align-items:stretch; }
#jajTool .jaj-pane { min-width:0; display:flex; flex-direction:column; border:1px solid var(--jaj-line); background:var(--jaj-paper); transition:border-color 150ms ease,background-color 150ms ease; }
#jajTool .jaj-pane--output { background:var(--jaj-wash); }
#jajTool[data-state="ready"] .jaj-pane--output { border-color:var(--jaj-accent); }
#jajTool[data-state="error"] .jaj-pane--input { border-color:var(--jaj-accent); }
#jajTool .jaj-pane-head { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:70px; padding:11px 16px; border-bottom:1px solid var(--jaj-soft); }
#jajTool .jaj-pane-head > div { min-width:0; }
#jajTool .jaj-index { display:block; margin-bottom:5px; color:var(--jaj-accent); font:900 11px/1.3 'Courier New',monospace; letter-spacing:.09em; }
#jajTool .jaj-pane-head h2 { margin:0; font-size:15px; line-height:1.3; font-weight:800; text-wrap:balance; }
#jajTool .jaj-pane-head label { cursor:text; }
#jajTool .jaj-file { flex:none; position:relative; overflow:hidden; white-space:nowrap; }
#jajTool .jaj-file input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
#jajTool .jaj-output-mark { color:var(--jaj-accent); font:900 16px/1 'Courier New',monospace; white-space:nowrap; }
#jajTool .jaj-arrow { display:grid; place-items:center; color:var(--jaj-accent); font:700 25px/1 Georgia,serif; }
#jajTool .jaj-arrow span { display:grid; place-items:center; width:27px; height:27px; border:1px solid var(--jaj-soft); border-radius:50%; background:var(--jaj-paper); }
#jajTool :is(#jajInput,#jajOutput) {
  display:block; flex:1; width:100%; min-height:284px; resize:vertical;
  border:0; border-radius:0; box-shadow:none; background:transparent; color:var(--jaj-ink);
  padding:17px 18px; font:14px/1.76 ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;
  tab-size:2; white-space:pre-wrap; overflow-x:hidden; overflow-wrap:anywhere; word-break:break-word;
}
#jajTool :is(#jajInput,#jajOutput)::placeholder { color:var(--jaj-muted); opacity:.7; }
#jajTool :is(#jajInput,#jajOutput):focus-visible { outline-offset:-3px; }
#jajTool .jaj-pane-foot { margin-top:auto; border-top:1px solid var(--jaj-soft); padding:11px 15px; min-height:96px; display:flex; flex-direction:column; justify-content:space-between; gap:9px; }
#jajTool .jaj-pane-foot p { margin:0; color:var(--jaj-muted); font-size:12px; line-height:1.5; text-wrap:pretty; }
#jajTool .jaj-footrow { display:flex; justify-content:space-between; align-items:center; gap:8px 12px; flex-wrap:wrap; min-width:0; }
#jajTool .jaj-pane--output .jaj-footrow { margin-top:auto; }
#jajTool :is(#jajFileName,#jajOutputHint) { color:var(--jaj-muted); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
#jajTool .jaj-actions { display:flex; gap:7px; flex-wrap:wrap; }
#jajTool .jaj-actions button { white-space:nowrap; }
#jajTool #jajDownload { background:var(--jaj-primary); border-color:var(--jaj-primary); color:var(--jaj-on-accent); -webkit-text-fill-color:var(--jaj-on-accent); }
#jajTool #jajDownload:not(:disabled):hover { background:var(--jaj-accent); border-color:var(--jaj-accent); }
#jajTool .jaj-pretty { display:inline-flex; align-items:center; gap:7px; min-height:24px; color:var(--jaj-ink); font-size:12px; line-height:1.5; cursor:pointer; }
#jajTool .jaj-pretty input { width:16px; height:16px; margin:0; accent-color:var(--jaj-accent); }
#jajTool .jaj-statusrow { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:3px 18px; padding:12px 1px; border-bottom:1px solid var(--jaj-soft); }
#jajTool .jaj-statusrow p { margin:0; font-size:12px; line-height:1.55; overflow-wrap:anywhere; }
#jajTool #jajStatus { flex:1 1 320px; min-height:19px; color:var(--jaj-muted); }
#jajTool[data-state="error"] #jajStatus { color:var(--jaj-accent); font-weight:700; }
#jajTool .jaj-contract { color:var(--jaj-muted); }
#jajTool .jaj-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0 0 3px; }
#jajTool .jaj-stats > div { display:flex; align-items:baseline; justify-content:space-between; min-width:0; gap:7px; padding:12px 16px; border-right:1px solid var(--jaj-soft); }
#jajTool .jaj-stats > div:first-child { padding-left:1px; }
#jajTool .jaj-stats > div:last-child { border-right:0; padding-right:1px; }
#jajTool .jaj-stats span { color:var(--jaj-muted); font-size:11px; white-space:nowrap; }
#jajTool .jaj-stats b { color:var(--jaj-ink); font:800 13px/1.3 system-ui,sans-serif; font-variant-numeric:tabular-nums lining-nums; white-space:nowrap; }
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) #jajTool,
html[data-scheme="dark"] body:not([data-scheme="light"]) #jajTool {
  --jaj-paper:#241d12; --jaj-wash:#322a1a; --jaj-ink:#efe6d2; --jaj-muted:#c3b492;
  --jaj-line:#6f6047; --jaj-soft:#574a37; --jaj-button:#2c2517; --jaj-hover:#3b301e;
  --jaj-accent:#e8823f; --jaj-on-accent:#f7ead1; --jaj-primary:#6a3b1f; color-scheme:dark;
}
@media (prefers-color-scheme:dark) {
  body[data-scheme="auto"] #jajTool { --jaj-paper:#241d12; --jaj-wash:#322a1a; --jaj-ink:#efe6d2; --jaj-muted:#c3b492; --jaj-line:#6f6047; --jaj-soft:#574a37; --jaj-button:#2c2517; --jaj-hover:#3b301e; --jaj-accent:#e8823f; --jaj-on-accent:#f7ead1; --jaj-primary:#6a3b1f; color-scheme:dark; }
}
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) #jajTool .jaj-modes button[aria-pressed="true"],
html[data-scheme="dark"] body:not([data-scheme="light"]) #jajTool .jaj-modes button[aria-pressed="true"] { background:var(--jaj-primary); border-color:var(--jaj-accent); color:var(--jaj-on-accent); -webkit-text-fill-color:var(--jaj-on-accent); }
@media (prefers-color-scheme:dark) {
  body[data-scheme="auto"] #jajTool .jaj-modes button[aria-pressed="true"] { background:var(--jaj-primary); border-color:var(--jaj-accent); color:var(--jaj-on-accent); -webkit-text-fill-color:var(--jaj-on-accent); }
}
@media (max-width:740px) {
  #jajTool { padding-top:13px; }
  #jajTool .jaj-topbar { gap:10px; margin-bottom:13px; }
  #jajTool .jaj-modes { width:100%; }
  #jajTool .jaj-modes button { flex:1; padding:10px 6px; font-size:11px; min-width:0; }
  #jajTool .jaj-workspace { grid-template-columns:minmax(0,1fr); }
  #jajTool .jaj-arrow { padding:4px 0; }
  #jajTool .jaj-arrow span { transform:rotate(90deg); }
  #jajTool .jaj-pane-head { min-height:58px; padding:9px 12px; }
  #jajTool :is(#jajInput,#jajOutput) { min-height:192px; padding:13px 12px; font-size:16px; line-height:1.6; }
  #jajTool .jaj-pane-foot { min-height:0; padding:10px 12px; }
  #jajTool .jaj-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #jajTool .jaj-stats > div { padding:10px 12px; }
  #jajTool .jaj-stats > div:nth-child(2) { border-right:0; }
  #jajTool .jaj-stats > div:nth-child(3), #jajTool .jaj-stats > div:nth-child(4) { border-top:1px solid var(--jaj-soft); }
  #jajTool .jaj-stats > div:first-child, #jajTool .jaj-stats > div:nth-child(3) { padding-left:1px; }
  #jajTool .jaj-stats > div:last-child { padding-right:1px; }
}
@media (max-width:390px) {
  #jajTool .jaj-actions { width:100%; }
  #jajTool .jaj-actions button { flex:1; }
  #jajTool .jaj-footrow > span { flex-basis:100%; }
}
@media (prefers-reduced-motion:reduce) { #jajTool :is(button,.jaj-pane) { transition:none; } }
.tn-jaj-page .jaj-ad { width:min(900px,100%); min-height:90px; margin-inline:auto; background:transparent; }
.tn-jaj-page .jaj-ad--top { margin-top:54px; margin-bottom:18px; }
.tn-jaj-page .jaj-ad--bottom { margin-top:16px; margin-bottom:26px; }
.tn-jaj-page .jaj-ad ins { max-width:100%; }
@media (max-width:720px) { .tn-jaj-page .jaj-ad--top { margin-top:48px; } }
