:root{
  --bg:#0b0d10; --fg:#d7dde3; --dim:#7b848d; --line:#1c2127;
  --accent:#8be9fd; --warn:#ffb86c; --bad:#ff5c8a; --ok:#50fa7b;
  --mono: ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 var(--mono)}
header{padding:32px 24px 8px;max-width:980px;margin:0 auto}
h1{margin:0;font-size:22px;letter-spacing:.5px}
h1::before{content:"▌ ";color:var(--accent)}
.sub{color:var(--dim);margin:4px 0 0}
main{max-width:980px;margin:0 auto;padding:16px 24px 64px}

textarea{
  width:100%;min-height:160px;background:#11151a;color:var(--fg);
  border:1px solid var(--line);border-radius:6px;padding:12px;
  font:13px/1.55 var(--mono);resize:vertical;outline:none;
}
textarea:focus{border-color:var(--accent)}
.controls{display:flex;gap:8px;margin:8px 0 16px;flex-wrap:wrap}
button{
  background:#11151a;color:var(--fg);border:1px solid var(--line);
  padding:6px 12px;border-radius:4px;font:12px var(--mono);cursor:pointer;
}
button:hover{border-color:var(--accent);color:var(--accent)}

.render{
  background:#11151a;border:1px solid var(--line);border-radius:6px;
  padding:14px;min-height:60px;white-space:pre-wrap;word-break:break-word;
  font:13px/1.7 var(--mono);
}
.render:empty::before{content:"// rendered text with hidden chars highlighted appears here";color:var(--dim)}

.glyph{
  display:inline-block;padding:0 3px;margin:0 1px;border-radius:3px;
  font-size:10px;vertical-align:middle;line-height:1.4;
  border:1px solid currentColor;
}
.g-zw{color:var(--accent)}
.g-tag{color:var(--bad);background:rgba(255,92,138,.08)}
.g-bidi{color:var(--warn);background:rgba(255,184,108,.08)}
.g-vs{color:#bd93f9}
.g-fmt{color:#6272a4}
.g-homo{color:var(--ok);border-style:dashed}

.stats{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0 8px;color:var(--dim)}
.stats b{color:var(--fg)}
.stats .danger{color:var(--bad)}

table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12px}
th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
th{color:var(--dim);font-weight:normal}
tbody tr:hover{background:#11151a}

footer{margin-top:24px;color:var(--dim);font-size:12px}
footer b{color:var(--fg)}
.fine{color:#4a525a;margin-top:8px}
