:root{color-scheme:light;--bg:#f3f6fb;--surface:#fff;--surface-2:#f8faff;--ink:#172033;--muted:#647086;--line:#d9e0eb;--accent:#2563eb;--accent-2:#174bb8;--accent-soft:#eaf1ff;--good:#087a55;--good-soft:#e9f8f1;--warn:#9a5a08;--warn-soft:#fff6df;--bad:#b42331;--bad-soft:#fff0f1;--shadow:0 12px 30px rgba(31,54,91,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font-size:14px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:38px;height:38px}.brand h1{margin:0;font-size:18px}.brand p{margin:3px 0 0;color:var(--muted);font-size:12px}.privacy{display:flex;align-items:center;gap:8px;margin:0;color:var(--good);font-weight:700}.privacy span{width:8px;height:8px;border-radius:50%;background:var(--good)}
.workspace{display:grid;gap:16px;padding:20px 24px 28px}.mode-switch,.view-tabs{display:inline-flex;width:max-content;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}button,select{min-height:38px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-weight:700;padding:8px 13px;cursor:pointer}button:hover:not(:disabled){border-color:#9eb4e7;background:#f8faff}button:disabled{cursor:not-allowed;opacity:.48}button.primary{border-color:var(--accent);background:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-2)}.mode-switch button,.view-tabs button{min-height:32px;border:0;background:transparent;padding:6px 13px}.mode-switch button.active,.view-tabs button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 4px rgba(20,35,60,.12)}
.converter-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.card{border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.editor-card{display:flex;min-width:0;flex-direction:column;padding:18px}.card-heading,.section-heading,.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.eyebrow{display:block;margin-bottom:4px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.card h2,.dialog-heading h2{margin:0;font-size:17px}.pill{align-self:center;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:700;padding:5px 9px}.pill.valid{border-color:#b5e3d1;background:var(--good-soft);color:var(--good)}textarea,select{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink)}textarea{min-height:205px;resize:vertical;padding:13px;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2}textarea:focus,select:focus,button:focus-visible,input:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:2px;border-color:var(--accent)}select{height:42px;margin:7px 0 12px;padding:0 10px}.field-meta,.analysis-footer{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:var(--muted);font-size:11px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.notice{margin-top:16px;border:1px solid;border-radius:11px;padding:11px 13px}.notice.error{border-color:#efbdc2;background:var(--bad-soft);color:var(--bad)}.notice.success{border-color:#b8e2d1;background:var(--good-soft);color:var(--good)}
.metric-strip{display:grid;grid-template-columns:repeat(6,1fr);margin-top:16px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.metric-strip div{display:grid;gap:3px;padding:14px;border-right:1px solid var(--line)}.metric-strip div:last-child{border-right:0}.metric-strip strong{font-size:20px}.metric-strip span{color:var(--muted);font-size:11px}.analysis-card{margin-top:16px;padding:18px}.table-help{margin:-5px 0 12px;color:var(--muted);font-size:12px}.table-wrap{max-height:430px;overflow:auto;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;text-align:left}th{position:sticky;top:0;z-index:1;background:#f2f5fa;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}th,td{padding:9px 12px;border-bottom:1px solid var(--line)}td{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}tbody tr{cursor:pointer}tbody tr:hover{background:var(--accent-soft)}tbody tr[aria-selected="true"]{background:#dfeaff}.empty{text-align:center;color:var(--muted);font-family:inherit;padding:35px}.category{display:inline-flex;border-radius:999px;padding:4px 7px;background:#eef2f7;color:#526078;font:700 10px/1 Inter,system-ui}.category.printable{background:var(--good-soft);color:var(--good)}.category.control,.category.whitespace-control{background:var(--warn-soft);color:var(--warn)}.category.non-ascii{background:#eeeaff;color:#6241ad}
.check,.context-options label{display:flex;align-items:center;gap:7px;color:var(--muted);font-weight:600}.context-dialog{width:min(760px,calc(100vw - 32px));border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 30px 80px rgba(15,28,50,.25);padding:20px}.context-dialog::backdrop{background:rgba(15,23,42,.52)}.context-options{display:flex;flex-wrap:wrap;gap:14px;margin:16px 0}.context-dialog textarea{min-height:330px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.dialog-actions form{margin:0}.toast{position:fixed;right:20px;bottom:20px;z-index:20;max-width:340px;border:1px solid #b8e2d1;border-radius:10px;background:var(--good-soft);color:var(--good);box-shadow:var(--shadow);padding:11px 14px;font-weight:700}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.dth-guide-highlight{outline:4px solid #f59e0b!important;outline-offset:4px!important;border-radius:10px!important}
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;
}
html[data-theme="dark"],html[data-site-theme="dark"]{color-scheme:dark;--bg:#0c111b;--surface:#151d2a;--surface-2:#101722;--ink:#edf1f8;--muted:#a6b0c1;--line:#303b4f;--accent:#7fa2f4;--accent-2:#9bb8ff;--accent-soft:#192a4b;--good:#70d7ae;--good-soft:#163329;--warn:#efbd68;--warn-soft:#382d19;--bad:#ff909c;--bad-soft:#3b2027;--shadow:0 14px 34px rgba(0,0,0,.3)}html[data-theme="dark"] .app-header,html[data-site-theme="dark"] .app-header{background:rgba(14,20,31,.94)}html[data-theme="dark"] th,html[data-site-theme="dark"] th{background:#101722}html[data-theme="dark"] tbody tr[aria-selected="true"],html[data-site-theme="dark"] tbody tr[aria-selected="true"]{background:#20375f}
@media(max-width:760px){.app-header{align-items:flex-start;padding:14px 16px}.privacy{font-size:11px}.workspace{padding:16px}.converter-grid{grid-template-columns:1fr}.metric-strip{grid-template-columns:repeat(3,1fr)}.metric-strip div:nth-child(3){border-right:0}.metric-strip div:nth-child(-n+3){border-bottom:1px solid var(--line)}textarea{min-height:165px}.analysis-card{padding:14px}.section-heading{align-items:stretch;flex-direction:column}.section-heading button{width:100%}.table-wrap{max-height:360px}.field-meta{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:420px){.brand p{display:none}.brand h1{font-size:15px}.privacy{max-width:90px}.workspace{padding:12px}.metric-strip strong{font-size:17px}.metric-strip div{padding:11px 9px}.context-options{align-items:flex-start;flex-direction:column}th,td{padding:8px}.actions button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
