/* JSON / YAML: paired configuration editors on The New paper. */
.tn-jyc-page #jycTool {
  --jyc-paper:#faf6ee; --jyc-surface:#fffdf7; --jyc-wash:#f5efdf;
  --jyc-ink:#1a1208; --jyc-muted:#5a4a30; --jyc-line:#b8a888; --jyc-soft:#ddd4be;
  --jyc-action:#ede6d4; --jyc-hover:#dfd4bb; --jyc-accent:#c44a00;
  --jyc-primary:#1a1208; --jyc-primary-hover:#5a341c; --jyc-primary-text:#faf6ee;
  color:var(--jyc-ink); background:var(--jyc-paper); min-width:0;
  border-top:3px double var(--jyc-ink); border-bottom:1px solid var(--jyc-line);
  padding:18px 20px; color-scheme:light; -webkit-font-smoothing:antialiased;
}
.tn-jyc-page #jycTool *, .tn-jyc-page #jycTool *::before, .tn-jyc-page #jycTool *::after { box-sizing:border-box; }
.tn-jyc-page #jycTool [hidden] { display:none!important; }
.tn-jyc-page #jycTool :is(button,textarea,input,select,label) { -webkit-text-fill-color:currentColor; }
.tn-jyc-page #jycTool :is(button,.jyc-file) {
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  min-height:42px; padding:10px 13px; border:1px solid var(--jyc-line); border-radius:0;
  background:var(--jyc-action); color:var(--jyc-ink); box-shadow:none;
  font:900 13px/1 'Courier New',monospace; text-align:center; cursor:pointer;
  transition:background-color 140ms ease,color 140ms ease,border-color 140ms ease,transform 140ms ease;
}
.tn-jyc-page #jycTool :is(button,.jyc-file):hover:not(:disabled) { background:var(--jyc-hover); }
.tn-jyc-page #jycTool :is(button,.jyc-file):active:not(:disabled) { transform:translateY(1px); }
.tn-jyc-page #jycTool button:disabled { opacity:.45; cursor:not-allowed; }
.tn-jyc-page #jycTool :is(button,textarea,input,select):focus-visible,
.tn-jyc-page #jycTool .jyc-file:focus-within { outline:2px solid var(--jyc-accent); outline-offset:2px; }
.tn-jyc-page #jycTool .jyc-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:14px 22px; padding-bottom:18px; border-bottom:1px solid var(--jyc-soft); }
.tn-jyc-page #jycTool .jyc-modes { display:flex; gap:6px; flex-wrap:wrap; }
.tn-jyc-page #jycTool .jyc-modes button[aria-pressed="true"],
.tn-jyc-page #jycTool #jycDownload { background:var(--jyc-primary); border-color:var(--jyc-primary); color:var(--jyc-primary-text); -webkit-text-fill-color:var(--jyc-primary-text); }
.tn-jyc-page #jycTool .jyc-modes button[aria-pressed="true"]:hover,
.tn-jyc-page #jycTool #jycDownload:hover:not(:disabled) { background:var(--jyc-primary-hover); border-color:var(--jyc-primary-hover); }
.tn-jyc-page #jycTool .jyc-options { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; }
.tn-jyc-page #jycTool .jyc-options label { display:flex; align-items:center; gap:8px; min-height:42px; margin:0; color:var(--jyc-muted); font-size:12px; cursor:pointer; }
.tn-jyc-page #jycTool #jycIndent { min-height:42px; width:auto; min-width:64px; padding:8px 24px 8px 10px; border:1px solid var(--jyc-line); border-radius:0; background-color:var(--jyc-surface); color:var(--jyc-ink); font:600 13px/1.3 system-ui,sans-serif; }
.tn-jyc-page #jycTool #jycWrap { width:17px; height:17px; margin:0; accent-color:var(--jyc-accent); }
.tn-jyc-page #jycTool .jyc-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; padding:18px 0; }
.tn-jyc-page #jycTool .jyc-pane { display:flex; flex-direction:column; min-width:0; border:1px solid var(--jyc-line); background:var(--jyc-surface); transition:border-color 140ms ease; }
.tn-jyc-page #jycTool .jyc-pane:focus-within { border-color:var(--jyc-accent); }
.tn-jyc-page #jycTool .jyc-pane--result { background:var(--jyc-wash); }
.tn-jyc-page #jycTool[data-state="ready"] .jyc-pane--result { border-color:var(--jyc-accent); }
.tn-jyc-page #jycTool .jyc-pane-head { display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:76px; padding:14px 18px; border-bottom:1px solid var(--jyc-soft); }
.tn-jyc-page #jycTool .jyc-pane-head label:not(.jyc-file) { display:grid; gap:4px; margin:0; }
.tn-jyc-page #jycTool .jyc-pane-head strong { font-size:16px; line-height:1.35; font-weight:800; }
.tn-jyc-page #jycTool :is(#jycInputFormat,#jycOutputFormat) { color:var(--jyc-accent); font:900 11px/1.3 'Courier New',monospace; letter-spacing:.08em; }
.tn-jyc-page #jycTool .jyc-file { position:relative; flex:none; }
.tn-jyc-page #jycTool .jyc-file input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.tn-jyc-page #jycTool :is(#jycInput,#jycOutput) {
  display:block; width:100%; min-width:0; height:320px; min-height:200px; resize:vertical;
  border:0; border-radius:0; box-shadow:none; padding:18px;
  background:transparent; color:var(--jyc-ink); font:14px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace;
  white-space:pre; overflow:auto; tab-size:2; flex:1;
}
.tn-jyc-page #jycTool[data-wrap="true"] :is(#jycInput,#jycOutput) { white-space:pre-wrap; overflow-wrap:anywhere; }
.tn-jyc-page #jycTool :is(#jycInput,#jycOutput)::placeholder { color:var(--jyc-muted); opacity:.65; }
.tn-jyc-page #jycTool :is(#jycInput,#jycOutput):focus-visible { outline-offset:-4px; }
.tn-jyc-page #jycTool .jyc-pane-foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 14px; padding:14px 18px; min-height:104px; border-top:1px solid var(--jyc-soft); }
.tn-jyc-page #jycTool :is(#jycFileName,#jycStats) { color:var(--jyc-muted); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.tn-jyc-page #jycTool #jycStats { font-variant-numeric:tabular-nums; }
.tn-jyc-page #jycTool .jyc-actions { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.tn-jyc-page #jycTool :is(#jycStatus,#jycNotice) { margin:0; color:var(--jyc-muted); font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.tn-jyc-page #jycTool #jycStatus { min-height:23px; }
.tn-jyc-page #jycTool #jycNotice { margin-top:8px; font-size:12px; }
.tn-jyc-page #jycTool[data-state="error"] #jycStatus { color:var(--jyc-accent); }
.tn-jyc-page #jycTool #jycErrorJump { margin-top:9px; }
.tn-jyc-page #jycTool #jycWarnings { margin:10px 0 0; padding:12px 18px 12px 34px; border:1px solid var(--jyc-soft); background:var(--jyc-wash); color:var(--jyc-muted); font-size:12px; line-height:1.7; }
.tn-jyc-page :is(.jyc-ad--top,.jyc-ad--bottom) { width:min(900px,100%); min-height:90px; margin-inline:auto; background:transparent; }
.tn-jyc-page .jyc-ad--top { margin-top:54px; margin-bottom:18px; }
.tn-jyc-page .jyc-ad--bottom { margin-top:16px; margin-bottom:26px; }
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-jyc-page #jycTool,
html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-jyc-page #jycTool {
  --jyc-paper:#241d12; --jyc-surface:#322a1a; --jyc-wash:#2c2517;
  --jyc-ink:#efe6d2; --jyc-muted:#c3b492; --jyc-line:#826744; --jyc-soft:#574a37;
  --jyc-action:#2f2115; --jyc-hover:#3a2a1b; --jyc-accent:#e8823f;
  --jyc-primary:#6a3b1f; --jyc-primary-hover:#824826; --jyc-primary-text:#f7ead1; color-scheme:dark;
}
@media(prefers-color-scheme:dark) {
  body[data-scheme="auto"] .tn-jyc-page #jycTool {
    --jyc-paper:#241d12; --jyc-surface:#322a1a; --jyc-wash:#2c2517;
    --jyc-ink:#efe6d2; --jyc-muted:#c3b492; --jyc-line:#826744; --jyc-soft:#574a37;
    --jyc-action:#2f2115; --jyc-hover:#3a2a1b; --jyc-accent:#e8823f;
    --jyc-primary:#6a3b1f; --jyc-primary-hover:#824826; --jyc-primary-text:#f7ead1; color-scheme:dark;
  }
}
@media(max-width:720px) {
  .tn-jyc-page #jycTool { padding:18px; }
  .tn-jyc-page #jycTool .jyc-toolbar { gap:12px; padding-bottom:14px; }
  .tn-jyc-page #jycTool .jyc-modes { display:grid; width:100%; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .tn-jyc-page #jycTool .jyc-modes button { padding-inline:6px; }
  .tn-jyc-page #jycTool .jyc-workspace { grid-template-columns:minmax(0,1fr); gap:14px; padding:14px 0; }
  .tn-jyc-page #jycTool .jyc-pane-head { min-height:70px; padding:12px 18px; }
  .tn-jyc-page #jycTool :is(#jycInput,#jycOutput) { flex:0 0 auto; height:200px; font-size:16px; line-height:1.6; }
  .tn-jyc-page #jycTool .jyc-pane-foot { min-height:0; padding:12px 18px; }
  .tn-jyc-page .jyc-ad--top { margin-top:48px; }
}
@media(prefers-reduced-motion:reduce) {
  .tn-jyc-page #jycTool :is(button,.jyc-file,.jyc-pane) { transition:none; transform:none!important; }
}
