/*
  The page is the terminal surface and nothing else. No chrome, no scrollbars of its own: the
  window, tabs and splits are Avalonia's job, and duplicating any of it here would mean two
  layout systems disagreeing about the same pixels.
*/

:root {
  --dodo-background: #10131a;
  --dodo-foreground: #d5d8de;
  --dodo-muted: #7b8394;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  overflow: hidden;
  background: var(--dodo-background);
  color: var(--dodo-foreground);
  font-family: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;
}

#root {
  position: absolute;
  inset: 0;
}

/*
  Every session gets a pane, and all but the active one are hidden rather than destroyed. On a
  dropped connection the DOM and its scrollback must survive: rebuilding the terminal would
  discard everything the user was reading, which is the one thing they cannot get back.
*/
.pane {
  position: absolute;
  inset: 0;
  display: none;
  /* A little breathing room, and it keeps the WebGL canvas off the window edge. */
  padding: 4px 2px 2px 6px;
}

.pane[data-active="true"] {
  display: block;
}

.pane > .xterm {
  height: 100%;
}

#status {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 6px 10px;
  font-size: 12px;
  color: var(--dodo-muted);
  background: color-mix(in srgb, var(--dodo-background) 88%, white);
  border-top: 1px solid color-mix(in srgb, var(--dodo-background) 70%, white);
}

/* Once a session is running the banner is noise, so it only shows when it has something to say. */
#status:empty {
  display: none;
}
