* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  /* exactly the window's height: tall dock columns scroll inside themselves instead of growing the page */
  height: 100vh;
  overflow: hidden;
  background: #1a1a1a;
  color: #e0e0e0;
  font-family: 'Segoe UI', system-ui, sans-serif;
  display: flex;
  flex-direction: column;
}

/* ── Toolbar (top horizontal) ── */
#toolbar {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.6rem 1.2rem;
  background: #111;
  border-bottom: 1px solid #2e2e2e;
  flex-wrap: wrap;
  position: relative;
  z-index: 5;
}

#toolbar h1 {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #fff;
  margin-bottom: 0.25rem;
  display: flex; align-items: center; gap: 10px;
}
/* pixel-art logo: drawn at a whole-number scale in device pixels (see drawBrandLogo) */
/* (pixelated: the CSS size can only approximate the bitmap at some scalings — never smooth it) */
#brand-baseline { display: inline-block; width: 0; height: 0; vertical-align: baseline; } /* marks the title's baseline */
#brand-logo { display: block; flex-shrink: 0; position: relative; width: 16px; height: 16px; image-rendering: pixelated; }

.sep { width: 1px; height: 24px; background: #333; }
