/* Heuristic Compiler — IDE-like: dark slate, mono editor, accent green. */
:root {
  --bg:#0d1117; --panel:#161b22; --ink:#e6edf3; --muted:#8b949e;
  --accent:#3fb950; --accent2:#58a6ff; --line:#30363d; --code:#0b0f14; --warn:#f85149;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; line-height:1.5; }
.topbar { display:flex; justify-content:space-between; align-items:baseline; padding:14px clamp(16px,4vw,40px); border-bottom:1px solid var(--line); }
.brand { font-weight:800; font-size:20px; }
.sub { color:var(--muted); font-size:13px; font-family:ui-monospace,Menlo,monospace; }

.grid { display:grid; gap:16px; padding:18px clamp(16px,4vw,40px); }
@media (min-width:980px){ .grid{ grid-template-columns:1.2fr 1fr 1fr; align-items:start; } }
.pane { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:16px; }
.pane-head { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:10px; }
.pane-head h2 { font-size:16px; margin:0; }
.muted { color:var(--muted); font-size:13px; }
.head-actions { display:flex; gap:8px; }

.btn { border:1px solid var(--line); background:#21262d; color:var(--ink); border-radius:8px; padding:7px 12px; font-weight:600; cursor:pointer; font-size:13px; }
.btn.primary { background:var(--accent); color:#06210d; border-color:transparent; }
select, input.control { background:var(--code); color:var(--ink); border:1px solid var(--line); border-radius:7px; padding:7px 9px; font-size:13px; }

#editor { width:100%; min-height:420px; resize:vertical; background:var(--code); color:#c9d6e5; border:1px solid var(--line); border-radius:8px; padding:12px; font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:13px; line-height:1.5; tab-size:2; }
.editor-err { margin-top:10px; background:rgba(248,81,73,.12); border:1px solid var(--warn); color:#ffb3ae; padding:9px 12px; border-radius:8px; font-size:13px; font-family:ui-monospace,Menlo,monospace; }
.hidden { display:none; }

.features { display:grid; gap:10px; }
.feat { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.feat label { font-family:ui-monospace,Menlo,monospace; font-size:13px; color:var(--accent2); }
.feat input[type=number], .feat select { min-width:120px; }
.feat input[type=checkbox] { width:18px; height:18px; accent-color:var(--accent); }

.probs { display:grid; gap:8px; margin-bottom:8px; }
.prob { display:grid; grid-template-columns:90px 1fr 52px; align-items:center; gap:10px; }
.prob .cls { font-family:ui-monospace,Menlo,monospace; font-size:13px; }
.prob .bar { background:var(--code); border-radius:999px; height:16px; overflow:hidden; border:1px solid var(--line); }
.prob .bar > span { display:block; height:100%; background:linear-gradient(90deg,var(--accent2),var(--accent)); }
.prob .pct { text-align:right; font-size:13px; color:var(--muted); }
.prob.top .cls { color:var(--accent); font-weight:700; }
h3 { font-size:14px; color:var(--muted); margin:14px 0 6px; }
.fired { list-style:none; padding:0; margin:0; display:grid; gap:5px; font-family:ui-monospace,Menlo,monospace; font-size:13px; }
.fired li { background:var(--code); border:1px solid var(--line); border-radius:6px; padding:6px 10px; color:var(--accent); }
.fired li.muted { color:var(--muted); }

.site-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:22px clamp(16px,4vw,40px); border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
