/* Dashboard shell — shared across all modules */

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100vh;
  background-color: #05070b;
  font-family: Helvetica, Arial, sans-serif;
}

.dashboard {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(16px, 2.5vh, 32px);
  min-height: 100vh;
  padding: clamp(12px, 2.5vh, 32px);
}

/* Embedded boards (the splash heroes) fill their iframe edge to edge —
   the embedding page's frame provides the mat, so no outer padding. */
html.embedded .dashboard {
  padding: 0;
}

.module {
  width: 100%;
  position: relative;
}

/* index.html is one page with two halves; the mode class on <html>
   (set by the inline bootstrap before first paint) hides the inactive one. */
html.mode-board .splash {
  display: none;
}

html.mode-splash .board-shell {
  display: none;
}

/* Near-invisible text at the very bottom linking to the board builder;
   brightens only on hover. Sits in the empty band below the footer's
   content, which is vertically centered in its strip. */
.setup-link {
  position: fixed;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  color: rgba(255, 255, 255, 0.06);
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.04em;
}

.setup-link:hover {
  color: rgba(255, 255, 255, 0.6);
}
