:root { --bg:#0e1116; --panel:#151a22; --rule:#262e3b; --fg:#e6edf3; --dim:#8b97a8; --accent:#7ee0a4; --warn:#f0c674; --bad:#ff7b72; --blue:#79b8ff; }
* { box-sizing: border-box; }
html, body { margin:0; background:var(--bg); color:var(--fg); font-family:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size:14px; }
header { padding:22px 20px 6px; max-width:1200px; margin:0 auto; }
h1 { margin:0; font-size:1.6rem; letter-spacing:-.02em; }
h1 .lam { color:var(--accent); }
.tagline { color:var(--dim); margin:6px 0 0; max-width:70ch; line-height:1.5; }
main { max-width:1200px; margin:0 auto; padding:14px 20px; }
.bar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:10px; }
.bar select, .bar button, .bar a.btn { background:var(--panel); color:var(--fg); border:1px solid var(--rule); border-radius:6px; padding:7px 12px; font:inherit; cursor:pointer; text-decoration:none; }
.bar button:hover, .bar a.btn:hover, .bar select:hover { border-color:var(--accent); }
.bar .spacer { flex:1; }
.status { color:var(--dim); font-size:.85rem; }
.panes { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:820px) { .panes { grid-template-columns:1fr; } }
.pane { background:var(--panel); border:1px solid var(--rule); border-radius:8px; min-height:420px; display:flex; flex-direction:column; }
.pane h2 { margin:0; padding:8px 12px; font-size:.75rem; font-weight:500; text-transform:uppercase; letter-spacing:.08em; color:var(--dim); border-bottom:1px solid var(--rule); }
#src { flex:1; width:100%; min-height:400px; background:transparent; color:var(--fg); border:0; padding:12px; font:inherit; line-height:1.55; resize:vertical; outline:none; tab-size:2; white-space:pre; overflow:auto; }
#out { flex:1; padding:8px 12px; overflow:auto; max-height:70vh; }
.msg { display:flex; gap:10px; padding:5px 0; border-bottom:1px dashed var(--rule); line-height:1.45; }
.msg:last-child { border-bottom:0; }
.msg .ln { color:var(--dim); min-width:3ch; text-align:right; cursor:pointer; }
.msg .tx { white-space:pre-wrap; word-break:break-word; flex:1; }
.msg.info .tx, .msg.print .tx { color:var(--blue); }
.msg.proved .tx, .msg.ok .tx { color:var(--accent); }
.msg.tested .tx { color:var(--warn); }
.msg.unknown .tx, .msg.warn .tx { color:var(--warn); }
.msg.failed .tx, .msg.error .tx { color:var(--bad); }
.summary { padding:10px 12px; border-top:1px solid var(--rule); color:var(--dim); font-size:.85rem; }
.empty { color:var(--dim); padding:12px 0; }
.legend { color:var(--dim); font-size:.8rem; line-height:1.6; margin-top:14px; max-width:100ch; }
.legend code { color:var(--fg); }
footer { max-width:1200px; margin:0 auto; padding:16px 20px 36px; color:var(--dim); font-size:.85rem; }
footer a { color:var(--dim); }
a { color:var(--blue); }
[hidden] { display:none !important; }
