/* nle — the header toggle, re-anchored chrome and the rail.
   One section of the old nle.css. The pieces load in filename order
   and that order is the cascade, so do not rearrange them. */
/* ---------- the toggle in the panel header ---------- */

#btn-nle { display: none; }
html.desktop #btn-nle { display: inline-flex; }   /* desktop only, shell or not */
html.desktop.nle-on #btn-nle { color: var(--accent); border-color: var(--accent); }

/* ---------- re-anchoring the panel's fixed chrome ----------

   #header is `position:fixed; left:46px; right:0` and .rail is a fixed strip
   down the window. Both are correct for a panel that owns the window and
   wrong for one that owns a column. `position:absolute` re-anchors them to
   #app, which is `position:relative` above — same layout, new frame of
   reference, and not one line of the panel's own CSS had to change. */


/* ---------- THE RAIL IS THE APPLICATION'S ----------

   Make, Nodes and Batch decide which workspace is on screen. That is a
   question about the whole window, so the control belongs on the whole
   window's edge — not inside the generation column, which is where it lived
   while the panel and the app were the same thing.

   Fixed to the left edge for the full height, above everything except the
   sign-in gate. `body` carries a 46px left padding so the grid starts after
   it; the rail is out of flow, so it costs no column and draws no grid line.

   This also makes the escape hatch unconditional. Every full-window room
   already expects the rail at `left: 46px` of the window, and the reason
   2.52.0 could trap you in the node space was that the rail was somewhere
   else — three quarters of the way across, inside a column the room was
   covering. It cannot be anywhere else now. */
html.desktop.nle-on #railnav {
  position: fixed;
  left: 0; top: 0; bottom: 0;
  width: 46px;
}