/* defxn DAO — minimal plain CSS, no framework, no build step. */
:root {
  --bg: #0b0d10;
  --panel: #14171c;
  --border: #262b33;
  --text: #e7eaee;
  --muted: #93a0ac;
  --accent: #6fd3a8;
  --warn: #e0b84a;
  --danger: #e2655f;
  font-family: -apple-system, system-ui, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--text); }
body { line-height: 1.5; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
header.site {
  display: flex; align-items: baseline; gap: 1.5rem; flex-wrap: wrap;
  padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--border);
  position: sticky; top: 0; background: var(--bg); z-index: 5;
}
header.site .brand { font-weight: 700; font-size: 1.1rem; }
header.site .net { color: var(--muted); font-size: 0.85rem; }
nav.tabs { display: flex; gap: 1rem; flex-wrap: wrap; margin-left: auto; }
nav.tabs a { color: var(--muted); font-size: 0.92rem; padding: 0.3rem 0; border-bottom: 2px solid transparent; }
nav.tabs a[aria-current="page"] { color: var(--text); border-bottom-color: var(--accent); }
main { max-width: 880px; margin: 0 auto; padding: 1.5rem; }
section.card {
  background: var(--panel); border: 1px solid var(--border); border-radius: 10px;
  padding: 1.25rem 1.5rem; margin-bottom: 1.25rem;
}
section.card h2 { margin-top: 0; font-size: 1.1rem; }
section.card p.lead { color: var(--muted); margin-top: -0.4rem; }
.status-pill {
  display: inline-block; padding: 0.15rem 0.6rem; border-radius: 999px;
  font-size: 0.78rem; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase;
}
.status-pill.ok { background: rgba(111,211,168,0.15); color: var(--accent); }
.status-pill.pending { background: rgba(224,184,74,0.15); color: var(--warn); }
.status-pill.error { background: rgba(226,101,95,0.15); color: var(--danger); }
.status-pill.unknown { background: rgba(147,160,172,0.15); color: var(--muted); }
dl.kv { display: grid; grid-template-columns: max-content 1fr; gap: 0.3rem 1rem; margin: 0.75rem 0; }
dl.kv dt { color: var(--muted); font-size: 0.85rem; }
dl.kv dd { margin: 0; font-family: ui-monospace, Menlo, monospace; font-size: 0.85rem; word-break: break-all; }
pre.raw {
  background: #0a0c0e; border: 1px solid var(--border); border-radius: 6px;
  padding: 0.75rem; font-size: 0.78rem; overflow-x: auto; color: var(--muted);
}
form.write-form { display: flex; flex-direction: column; gap: 0.6rem; margin-top: 0.75rem; }
form.write-form label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.85rem; color: var(--muted); }
form.write-form input, form.write-form textarea {
  background: #0a0c0e; border: 1px solid var(--border); border-radius: 6px; color: var(--text);
  padding: 0.5rem 0.6rem; font: inherit; font-family: ui-monospace, Menlo, monospace; font-size: 0.85rem;
}
form.write-form textarea { min-height: 4.5rem; resize: vertical; }
button.action {
  align-self: flex-start; background: var(--accent); color: #0b0d10; border: none;
  border-radius: 6px; padding: 0.5rem 1rem; font-weight: 600; cursor: pointer;
}
button.action:disabled { opacity: 0.5; cursor: not-allowed; }
button.action.secondary { background: transparent; color: var(--text); border: 1px solid var(--border); }
.result-banner {
  margin-top: 0.75rem; padding: 0.6rem 0.8rem; border-radius: 6px; font-size: 0.85rem;
  border: 1px solid var(--border); white-space: pre-wrap;
}
.result-banner.ok { border-color: var(--accent); color: var(--accent); }
.result-banner.error { border-color: var(--danger); color: var(--danger); }
.identity-bar {
  display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap;
  font-size: 0.85rem; color: var(--muted);
}
.identity-bar strong { color: var(--text); }
#identityContainer { margin-top: 0.5rem; }
footer.site { text-align: center; color: var(--muted); font-size: 0.8rem; padding: 2rem 1rem; }
