
 body{padding-left:212px}
 .prail{position:fixed;left:0;top:0;bottom:0;width:212px;box-sizing:border-box;
   background:var(--surface);border-right:1px solid var(--line);
   display:flex;flex-direction:column;z-index:40;overflow-y:auto;font-size:13.5px}
 .prail .pbrand{padding:16px 16px 14px;border-bottom:1px solid var(--line)}
 .prail .pbrand b{display:block;font-size:14px;font-weight:600;letter-spacing:-.01em}
 .prail .pbrand span{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
   color:var(--ink-3);margin-top:3px}
 .prail .pitems{padding:10px;display:flex;flex-direction:column;gap:14px;flex:1}
 .prail .nfoot{margin-top:auto}
 /* the group label is the thing that turns a list into a map */
 .ngrp{display:flex;flex-direction:column;gap:1px}
 .nlab{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
   color:var(--ink-3);padding:0 10px 5px}
 .prail .ni{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;
   color:var(--ink-2);text-decoration:none;min-height:34px;line-height:1.2}
 .prail .ni svg{flex:0 0 auto}
 .prail .ni:hover{background:var(--inset);color:var(--ink)}
 .prail .ni.on{background:var(--rdy-bg);color:var(--rdy-ink);font-weight:600;box-shadow:inset 2px 0 0 #06d6bd}
 /* The sidebar IS the way back now, so the ad-hoc back-links go. Plain .back
    rather than a sibling combinator: the rail is appended last, so nothing
    follows it and `.prail ~ *` matched nothing. This style block only ships on
    pages that receive the rail, so it cannot reach a page that still needs one. */
 .back,a.back{display:none}
 /* Radix's scroll lock zeroes body padding while a dropdown is open, and the
    rail's gutter IS body padding - the whole page jumped 212px under the rail. */
 body[data-scroll-locked]{padding-left:212px!important}
 /* No page transition or page fade-in: pages carry their stylesheets in the
    body, so a cross-document view transition captured the new page unstyled
    and faded into a white blank. Plain navigation holds the old page until
    the new one paints. */
 @media(max-width:860px){
   body{padding-left:0} body[data-scroll-locked]{padding-left:0!important}
   .prail{position:static;width:auto;height:auto;border-right:0;
     border-bottom:1px solid var(--line)}
   .prail .pitems{flex-direction:row;flex-wrap:wrap;gap:8px}
   .ngrp{flex-direction:row;flex-wrap:wrap;gap:2px}
   .nlab{display:none} .prail .nfoot{margin-top:0}
 }
