:root{ --bg:#0f172a; --panel:#111827; --card:#0b1220; --text:#e5e7eb; --border:#334155; --accent:#22d3ee; --muted:#94a3b8; }
*{box-sizing:border-box}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:var(--bg);color:var(--text)}
header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#0f172a,#0b1220)}
h1{font-size:18px;margin:0}
.container{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:min-content;gap:12px;padding:12px}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.panel h2{margin:0;padding:10px;background:var(--card);color:#a5b4fc;font-size:14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.content{padding:10px}
.collapsed .content{display:none}
.toggle-icon{font-size:12px;color:#94a3b8}
.stat{background:var(--card);border:1px solid var(--border);padding:8px;border-radius:10px;display:flex;justify-content:space-between;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.list{border:1px solid var(--border);border-radius:10px;overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{border-bottom:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}
th{position:sticky;top:0;background:#0d1324;z-index:1}
.controls input,.controls select,.controls button,textarea{background:#0b1220;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px;font-size:13px}
.controls button{cursor:pointer}
.controls button.primary{background:var(--accent);color:#0b1220;border-color:transparent;font-weight:700}
.pill{padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:#0b1220;font-size:11px;color:#cbd5e1}
.canvas-wrap{background:#000;border-radius:10px;border:1px solid #1f2937;padding:6px;text-align:center}
canvas{width:100%;height:140px;display:block;background:#000;border-radius:8px}
#modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);display:none;align-items:center;justify-content:center;z-index:50}
#modal .inner{background:#fff;color:#000;padding:20px;border-radius:8px;max-width:95%;max-height:95%;overflow:auto;text-align:left}
#modal img{max-width:100%;height:auto}
.row{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.col{flex:1;min-width:260px}
.btn-danger{background:#ef4444 !important;color:#fff !important;border-color:#ef4444 !important}
.inline{display:flex;align-items:center;gap:8px}
label.inline{gap:6px}
small.muted{color:var(--muted)}
a.link{color:#60a5fa;text-decoration:underline;cursor:pointer}
.strike{opacity:0.7;text-decoration:line-through}
.dim{opacity:0.6}
.result-modal pre{white-space:pre-wrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:10px;color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.result-modal .diagnostic-image{display:block;max-width:min(100%,1100px);max-height:75vh;margin-top:12px;border:1px solid #94a3b8;border-radius:8px;background:#000}
.result-modal .diagnostic-caption{color:#475569;margin-top:6px}
