/* uk-rail v1 */
body.has-rail{--rail-w:214px;--top-h:47px}
body.has-rail.rail-collapsed{--rail-w:0px}
body.has-rail #uk-main{margin-left:var(--rail-w);transition:margin-left .16s ease}
/* `--es-h` - the estate seam's flow height (Law 2). DEFINED HERE at 0px and overridden to its real
   height by `estate_seam.py`'s own block, which is injected after this one. It is declared rather
   than read with an inline fallback, because a fallback painting for a property nothing defines is
   wrong-by-default rather than merely dead - the rule this estate enforces in
   `test_no_classic_phantom_hides_behind_a_hex_fallback`. The consumer owns the neutral value; the
   seam owns the override.
   WHY THE OFFSET EXISTS: the seam takes flow at the top of a classic page, so the sticky `.uk-top`
   (z-index 30) moves down with it while this FIXED rail would not - which put the rail's collapse
   toggle underneath the header on every classic page. Measured: header y=0..54 against toggle
   y=59, a 5px clearance the design had no margin to spare. */
:root{--es-h:0px}body.has-seam{--es-h:35px}body>nav.es-seam{position:sticky;top:0;left:auto;right:auto;bottom:auto;min-height:var(--es-h);width:auto;max-width:none;margin:0;transform:none;float:none;z-index:60;box-sizing:border-box;display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:6px 14px;font:500 12px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg-1,#14161a);border-bottom:1px solid var(--line,#2a2e35);}body>nav.es-seam .es-lbl{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:9.5px;color:var(--ink-3,#7d8590);margin-right:10px;}body>nav.es-seam a{color:var(--ink-2,#adb5bd);text-decoration:none;padding:5px 9px;border-radius:6px;position:static;display:inline-block;flex:0 0 auto;width:auto;text-align:left;}body>nav.es-seam a:hover{color:var(--ink,#e6edf3);background:var(--bg-3,#22262d);}body>nav.es-seam .es-now{margin-left:auto;color:var(--accent,#4a9eff);font-weight:600;}
.uk-rail{position:fixed;left:0;top:calc(var(--top-h) + var(--es-h));width:var(--rail-w);height:calc(100vh - var(--top-h) - var(--es-h));
  box-sizing:border-box;overflow-y:auto;overflow-x:hidden;z-index:25;background:var(--bg-1);
  border-right:1px solid var(--line);padding:10px 8px 28px;transition:width .16s ease}
.uk-rail *{box-sizing:border-box}
body.rail-collapsed .uk-rail{width:0;padding:0;border-right:0;overflow:hidden}
.uk-rail-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 6px 10px}
.uk-rail-hd .ttl{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);white-space:nowrap}
.uk-rail-tg{flex:none;background:none;border:1px solid var(--line-2);border-radius:7px;color:var(--ink-3);
  cursor:pointer;padding:2px 7px;font-size:13px;line-height:1}
.uk-rail-tg:hover{border-color:var(--accent);color:var(--ink-2)}
.uk-rail .uk-rl{display:block;padding:6px 10px;border-radius:8px;color:var(--ink-3);font-size:12.5px;
  text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:var(--t)}
.uk-rail .uk-rl:hover{color:var(--ink-2);background:var(--bg-2)}
.uk-rail .uk-rl.on{color:var(--ink);background:var(--bg-3);box-shadow:var(--glass)}
.uk-rail .uk-rl-2{white-space:normal;line-height:1.2;padding-top:5px;padding-bottom:6px}
.uk-rail .uk-rl-2 .rl-l{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uk-rail .uk-rl-2 .rl-sub{display:block;font-size:9.5px;color:var(--ink-3);margin-top:1px;letter-spacing:.1px}
.uk-rail .uk-rl-2:hover .rl-sub,.uk-rail .uk-rl-2.on .rl-sub{color:var(--ink-2)}
.uk-rg{margin-top:1px}
.uk-rg-h{display:flex;align-items:center;gap:7px;width:100%;background:none;border:0;cursor:pointer;
  color:var(--ink-3);font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;padding:9px 8px 5px;text-align:left}
.uk-rg-h:hover{color:var(--ink-2)}
.uk-rg-h .cr{flex:none;font-size:9px;transition:transform .12s;display:inline-block}
.uk-rg-h[aria-expanded="true"] .cr{transform:rotate(90deg)}
.uk-rg-b{display:none}
.uk-rg-b.show{display:block}
.uk-rail-show{display:none;position:fixed;left:9px;top:calc(var(--top-h) + 9px);z-index:40;
  background:var(--bg-2);border:1px solid var(--line-2);border-radius:8px;color:var(--ink-2);
  cursor:pointer;padding:5px 10px;font-size:15px;line-height:1}
.uk-rail-show:hover{border-color:var(--accent);color:var(--ink)}
body.rail-collapsed .uk-rail-show{display:inline-flex}
@media (max-width:860px){
  body.has-rail #uk-main{margin-left:0}
  .uk-rail{top:var(--top-h);width:min(280px,82vw);z-index:45;box-shadow:0 14px 44px rgba(0,0,0,.5);
    transform:translateX(-102%);transition:transform .18s ease}
  body:not(.rail-collapsed) .uk-rail{transform:translateX(0)}
  body.rail-collapsed .uk-rail{transform:translateX(-102%);width:min(280px,82vw)}
  .uk-rail-show{display:inline-flex}
}
