
:root{
  --bg:#0b1220;
  --card:#0f172a;
  --ink:#e5e7eb;
  --muted:#94a3b8;
  --line:#1f2a44;
  --btn:#2563eb;
  --btn2:#0b1220;
  --ok:#22c55e;
  --warn:#f59e0b;
  --bad:#ef4444;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  background: radial-gradient(1200px 600px at 10% 0%, #111c34 0%, var(--bg) 60%) fixed;
  color:var(--ink);
}
.wrap{max-width:980px;margin:0 auto;padding:28px 16px 40px}
.top h1{margin:0;font-size:28px;letter-spacing:.2px}
.sub{margin:8px 0 0;color:var(--muted);line-height:1.45}
.card{
  margin-top:18px;
  background: rgba(15, 23, 42, 0.88);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 12px 40px rgba(0,0,0,.25);
}
h2{margin:0;font-size:16px}
.row{display:flex;align-items:center}
.between{justify-content:space-between}
.gap{gap:10px}
.col{display:flex;flex-direction:column}
.grow{flex:1}
.label{font-size:12px;color:var(--muted);margin:8px 0 6px}
.hint{font-size:12px;color:var(--muted);margin:-2px 0 8px}
.input{
  width:100%;
  padding:12px 12px;
  border-radius: 14px;
  border:1px solid var(--line);
  background:#0b1220;
  color:var(--ink);
  outline:none;
}
.input:focus{border-color:#334155;box-shadow: 0 0 0 3px rgba(37,99,235,.2)}
.btn{
  border:1px solid transparent;
  background: var(--btn);
  color:white;
  padding:10px 12px;
  border-radius: 14px;
  cursor:pointer;
  font-weight:600;
}
.btn:hover{filter:brightness(1.05)}
.btn.ghost{
  background: transparent;
  border-color: var(--line);
  color: var(--ink);
}
.btn.tiny{padding:8px 10px;font-size:12px}
.status{color:var(--muted);font-size:12px}
.pill{
  padding:6px 10px;
  border-radius: 999px;
  border:1px solid var(--line);
  background: rgba(11, 18, 32, 0.6);
  color: var(--muted);
  font-size:12px;
}
.muted{color:var(--muted)}
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace}
.suggestions{margin-top:12px;display:grid;grid-template-columns:1fr;gap:10px}
.sug{
  border:1px solid var(--line);
  border-radius: 16px;
  padding: 12px;
  background: rgba(11, 18, 32, 0.55);
}
.sug .title{display:flex;justify-content:space-between;align-items:center;gap:10px}
.sug .name{font-weight:700}
.badge{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.badge.ok{color:#bbf7d0;border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.10)}
.badge.warn{color:#fde68a;border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.10)}
.badge.bad{color:#fecaca;border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.10)}
.sug .grid2{
  margin-top:10px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
}
.kv{border:1px solid var(--line);border-radius:14px;padding:8px 10px}
.kv .k{font-size:11px;color:var(--muted)}
.kv .v{margin-top:3px}
.kv.wide{grid-column: 1 / -1}
.grid{margin-top:12px;display:grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap:10px}
.field{border:1px solid var(--line);border-radius:14px;padding:10px;background: rgba(11, 18, 32, 0.55)}
.field.wide{grid-column: 1 / -1}
.value{font-weight:600}
.details{margin-top:12px}
.pre{
  margin-top:10px;
  padding:12px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#020617;
  color:#e2e8f0;
  overflow:auto;
  max-height:360px;
  font-size:12px;
}
.foot{margin-top:18px;font-size:12px}
