/* The New: local text conversion work surface. */
#mdcsvTool {
  --mc-paper:#faf6ee; --mc-wash:#f5efdf; --mc-ink:#1a1208; --mc-muted:#68583d;
  --mc-line:#b8a888; --mc-soft:#ddd4be; --mc-button:#ede6d4; --mc-hover:#dfd4bb;
  --mc-accent:#a73f00; --mc-on-accent:#fffaf2; --mc-primary:var(--mc-accent);
  color:var(--mc-ink); background:var(--mc-paper); border-top:3px double var(--mc-ink);
  border-bottom:1px solid var(--mc-line); padding:20px 0 0; width:100%; min-width:0;
  -webkit-font-smoothing:antialiased; font-variant-numeric:tabular-nums;
}
#mdcsvTool *, #mdcsvTool *::before, #mdcsvTool *::after { box-sizing:border-box; }
#mdcsvTool [hidden] { display:none !important; }
#mdcsvTool :is(button,input,textarea,select,label) { -webkit-text-fill-color:currentColor; }
#mdcsvTool :is(button,select,.mdcsv-file) {
  border:1px solid var(--mc-line); background:var(--mc-button); color:var(--mc-ink);
  border-radius:0; box-shadow:none; font:900 13px/1.3 'Courier New',monospace;
  padding:10px 14px; min-height:42px; cursor:pointer;
  transition:background-color 130ms ease,border-color 130ms ease,color 130ms ease;
}
#mdcsvTool button { display:inline-flex; align-items:center; justify-content:center; gap:7px; text-align:center; }
#mdcsvTool button:disabled { opacity:.45; cursor:not-allowed; }
#mdcsvTool :is(button,select,.mdcsv-file):not(:disabled):hover { background:var(--mc-hover); border-color:var(--mc-ink); }
#mdcsvTool :is(button,input,textarea,select,a):focus-visible, #mdcsvTool .mdcsv-file:focus-within {
  outline:2px solid var(--mc-accent); outline-offset:3px;
}
#mdcsvTool .mdcsv-modebar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; flex-wrap:wrap; }
#mdcsvTool .mdcsv-modes { display:flex; gap:0; max-width:100%; }
#mdcsvTool .mdcsv-modes button { min-height:46px; padding-inline:20px; }
#mdcsvTool .mdcsv-modes button + button { margin-left:-1px; }
#mdcsvTool .mdcsv-modes button[aria-pressed="true"] { position:relative; z-index:1; color:var(--mc-paper); background:var(--mc-ink); border-color:var(--mc-ink); }
#mdcsvTool .mdcsv-kicker { color:var(--mc-accent); font:900 11px/1.4 'Courier New',monospace; letter-spacing:.1em; }
#mdcsvTool .mdcsv-help { color:var(--mc-muted); font-size:12px; line-height:1.65; margin:0; text-wrap:pretty; }
#mdcsvTool .mdcsv-workspace { display:grid; grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr); }
#mdcsvTool .mdcsv-pane { min-width:0; display:flex; flex-direction:column; background:var(--mc-paper); border:1px solid var(--mc-line); }
#mdcsvTool .mdcsv-pane--result { background:var(--mc-wash); }
#mdcsvTool .mdcsv-transfer { align-self:center; text-align:center; color:var(--mc-muted); font-size:22px; }
#mdcsvTool .mdcsv-local-note, #mdcsvTool [data-mdcsv-file-hint], #mdcsvTool .mdcsv-preview-head p { color:var(--mc-muted); font-size:12px; line-height:1.6; margin:0; }
#mdcsvTool .mdcsv-pane-head label:not(.mdcsv-file) { display:flex; flex-direction:column; gap:3px; }
#mdcsvTool .mdcsv-footbar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; }
#mdcsvTool .mdcsv-footbar #mdcsvStatus { margin:0; }
#mdcsvTool .mdcsv-result-mark { font-size:24px; color:var(--mc-accent); }
#mdcsvTool .mdcsv-pane-head { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; padding:12px 18px; border-bottom:1px solid var(--mc-soft); }
#mdcsvTool .mdcsv-pane-head :is(h2,h3,label) { margin:0; font-size:15px; font-weight:800; line-height:1.4; }
#mdcsvTool .mdcsv-pane-head small { color:var(--mc-muted); font:700 11px/1.4 'Courier New',monospace; }
#mdcsvTool :is(#mdcsvInput,#mdcsvOutput) { display:block; flex:1; width:100%; min-height:280px; resize:vertical; border:0; border-radius:0; box-shadow:none; padding:18px; background:transparent; color:var(--mc-ink); font:14px/1.85 ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace; tab-size:4; white-space:pre; overflow:auto; }
#mdcsvTool :is(#mdcsvInput,#mdcsvOutput)::placeholder { color:var(--mc-muted); opacity:.8; }
#mdcsvTool :is(#mdcsvInput,#mdcsvOutput):focus-visible { outline-offset:-3px; }
#mdcsvTool #mdcsvInput[aria-invalid="true"] { box-shadow:inset 3px 0 var(--mc-accent); }
#mdcsvTool .mdcsv-pane-foot { display:flex; flex-direction:column; gap:10px; padding:12px 16px; margin-top:auto; border-top:1px solid var(--mc-soft); }
#mdcsvTool .mdcsv-pane-foot-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 12px; min-width:0; }
#mdcsvTool .mdcsv-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
#mdcsvTool .mdcsv-actions button { flex:0 0 auto; }
#mdcsvTool #mdcsvDownload { background:var(--mc-primary); border-color:var(--mc-accent); color:var(--mc-on-accent); }
#mdcsvTool #mdcsvDownload:not(:disabled):hover { filter:brightness(1.08); }
#mdcsvTool .mdcsv-file { flex-shrink:0; position:relative; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
#mdcsvTool .mdcsv-file input[type="file"] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
#mdcsvTool #mdcsvFileName { max-width:100%; overflow-wrap:anywhere; color:var(--mc-muted); font-size:12px; }
#mdcsvTool #mdcsvTablePickerWrap { flex-basis:100%; min-width:0; border-top:1px solid var(--mc-soft); padding:12px 16px; background:var(--mc-wash); }
#mdcsvTool #mdcsvTablePickerWrap label { display:block; margin-bottom:6px; font-size:12px; font-weight:700; }
#mdcsvTool #mdcsvTablePicker { max-width:100%; width:100%; font-family:inherit; font-weight:600; }
#mdcsvTool .mdcsv-options { margin-bottom:14px; display:flex; flex-wrap:wrap; gap:4px 22px; padding:10px 0; border-bottom:1px solid var(--mc-soft); }
#mdcsvTool .mdcsv-option { display:inline-flex; align-items:center; gap:8px; min-height:40px; font-size:12px; line-height:1.6; color:var(--mc-ink); cursor:pointer; }
#mdcsvTool .mdcsv-option input { width:16px; height:16px; flex:none; margin:0; accent-color:var(--mc-accent); }
#mdcsvTool #mdcsvStatus { color:var(--mc-muted); font-size:13px; line-height:1.65; min-height:24px; margin:12px 0; overflow-wrap:anywhere; }
#mdcsvTool[data-state="error"] #mdcsvStatus { color:var(--mc-accent); }
#mdcsvTool #mdcsvWarnings { margin:0 0 16px; padding:10px 14px; border:1px solid var(--mc-line); background:var(--mc-wash); color:var(--mc-ink); }
#mdcsvTool #mdcsvWarnings p { margin:4px 0; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
#mdcsvTool .mdcsv-preview-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; border-top:3px double var(--mc-line); padding:15px 0 10px; }
#mdcsvTool .mdcsv-preview-head :is(h2,h3) { font-size:15px; line-height:1.4; margin:0; font-weight:800; }
#mdcsvTool #mdcsvStats { color:var(--mc-muted); font:600 12px/1.5 system-ui,sans-serif; font-variant-numeric:tabular-nums; }
#mdcsvTool #mdcsvPreview { max-width:100%; overflow:auto; margin-bottom:18px; max-height:360px; }
#mdcsvTool #mdcsvPreview table { margin:0; width:100%; border-collapse:collapse; color:var(--mc-ink); background:var(--mc-paper); font-size:13px; line-height:1.7; }
#mdcsvTool #mdcsvPreview caption { caption-side:top; color:var(--mc-muted); text-align:left; font-size:11px; padding:0 0 8px; }
#mdcsvTool #mdcsvPreview :is(th,td) { border:1px solid var(--mc-soft); padding:9px 13px; text-align:left; min-width:100px; max-width:340px; white-space:pre-wrap; overflow-wrap:anywhere; vertical-align:top; }
#mdcsvTool #mdcsvPreview th { background:var(--mc-wash); font-weight:800; position:sticky; top:0; }
#mdcsvTool #mdcsvPreview tbody tr:hover { background:var(--mc-wash); }
#mdcsvTool .mdcsv-preview-empty { margin:0; padding:24px 16px; background:var(--mc-wash); color:var(--mc-muted); text-align:center; font-size:13px; border:1px dashed var(--mc-line); }
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) #mdcsvTool,
html[data-scheme="dark"] body:not([data-scheme="light"]) #mdcsvTool {
  --mc-paper:#241d12; --mc-wash:#322a1a; --mc-ink:#efe6d2; --mc-muted:#c3b492;
  --mc-line:#6f6047; --mc-soft:#574a37; --mc-button:#2c2517; --mc-hover:#3b301e;
  --mc-accent:#e8823f; --mc-on-accent:#f7ead1; --mc-primary:#6a3b1f; color-scheme:dark;
}
@media(prefers-color-scheme:dark) {
  body[data-scheme="auto"] #mdcsvTool { --mc-paper:#241d12; --mc-wash:#322a1a; --mc-ink:#efe6d2; --mc-muted:#c3b492; --mc-line:#6f6047; --mc-soft:#574a37; --mc-button:#2c2517; --mc-hover:#3b301e; --mc-accent:#e8823f; --mc-on-accent:#f7ead1; --mc-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"]) #mdcsvTool .mdcsv-modes button[aria-pressed="true"],
html[data-scheme="dark"] body:not([data-scheme="light"]) #mdcsvTool .mdcsv-modes button[aria-pressed="true"] {
  background:var(--mc-primary); color:var(--mc-on-accent); -webkit-text-fill-color:var(--mc-on-accent); border-color:var(--mc-accent);
}
@media(prefers-color-scheme:dark) {
  body[data-scheme="auto"] #mdcsvTool .mdcsv-modes button[aria-pressed="true"] {
    background:var(--mc-primary); color:var(--mc-on-accent); -webkit-text-fill-color:var(--mc-on-accent); border-color:var(--mc-accent);
  }
}
@media(min-width:681px) { #mdcsvTool .mdcsv-pane-head { min-height:73px; } }
@media(max-width:680px) {
  #mdcsvTool { padding-top:14px; }
  #mdcsvTool .mdcsv-modebar { gap:10px; margin-bottom:14px; }
  #mdcsvTool .mdcsv-modes { width:100%; }
  #mdcsvTool .mdcsv-modes button { flex:1; padding:10px 8px; font-size:12px; }
  #mdcsvTool .mdcsv-workspace { grid-template-columns:minmax(0,1fr); }
  #mdcsvTool .mdcsv-transfer { font-size:20px; line-height:30px; transform:rotate(90deg); }
  #mdcsvTool .mdcsv-footbar { align-items:flex-start; flex-direction:column; }
  #mdcsvTool .mdcsv-pane-head { padding:10px 12px; min-height:46px; }
  #mdcsvTool :is(#mdcsvInput,#mdcsvOutput) { min-height:190px; padding:12px; font-size:16px; line-height:1.65; }
  #mdcsvTool .mdcsv-pane-foot { padding:10px 12px; }
  #mdcsvTool .mdcsv-actions { gap:6px; }
  #mdcsvTool :is(button,.mdcsv-file) { padding-inline:11px; }
  #mdcsvTool .mdcsv-options { gap:0 14px; }
  #mdcsvTool .mdcsv-option { font-size:12px; }
  #mdcsvTool #mdcsvPreview :is(th,td) { padding:8px 10px; }
}
@media(prefers-reduced-motion:reduce) { #mdcsvTool :is(button,select,.mdcsv-file) { transition:none; } }
.tn-mdcsv-page .mdcsv-ad { width:min(900px,100%); min-height:90px; margin-inline:auto; background:transparent; }
.tn-mdcsv-page .mdcsv-ad--top { margin-top:54px; margin-bottom:18px; }
.tn-mdcsv-page .mdcsv-ad--bottom { margin-top:16px; margin-bottom:26px; }
.tn-mdcsv-page .mdcsv-ad ins { max-width:100%; }
@media(max-width:720px) { .tn-mdcsv-page .mdcsv-ad--top { margin-top:48px; } }
