:root { color-scheme: light dark; }
* { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh; display: grid; place-items: center;
  background: #0f172a; color: #e2e8f0;
  font: 15px/1.5 system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
.card {
  width: min(560px, 92vw); background: #1e293b; border: 1px solid #334155;
  border-radius: 14px; padding: 28px; box-shadow: 0 10px 40px rgba(0,0,0,.35);
}
h1 { margin: 0 0 16px; font-size: 20px; }
h2 { font-size: 15px; margin: 22px 0 8px; color: #94a3b8; text-transform: uppercase; letter-spacing: .04em; }
form { display: grid; gap: 10px; }
input, button {
  font: inherit; padding: 10px 12px; border-radius: 8px; border: 1px solid #475569;
  background: #0f172a; color: inherit;
}
button {
  cursor: pointer; background: #2563eb; border-color: #2563eb; color: #fff; font-weight: 600;
}
button:hover { background: #1d4ed8; }
button:disabled { opacity: .6; cursor: default; }
.topbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.topbar button { background: transparent; border-color: #475569; color: #cbd5e1; font-weight: 500; }
.muted { color: #94a3b8; }
.error { color: #f87171; }
ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
li { display: flex; justify-content: space-between; align-items: center; gap: 12px;
     border: 1px solid #334155; border-radius: 8px; padding: 8px 12px; }
li .name { font-family: ui-monospace, monospace; }
.installer-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
