/* Rail: pinned apps + More launcher. Layout fix: #nav scrolls inside its flex area and never overlaps the bottom block. */
#rail{min-height:0}
#rail #nav{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin}
#rail #nav>.ni{flex:none}
#rail>.rt,#rail>.qwrap,#rail>#mxst,#rail>#pwa-row,#rail>#me{flex:none}
.ni.rl-hide{display:none!important}
.ni.rl-temp{border:1px dashed var(--line)}
.ni.rl-over{box-shadow:0 -2px 0 var(--blue) inset}
.ni.rl-more em.dot{width:8px;height:8px;padding:0;font-size:0;min-width:0}
.ni.rl-more.open{background:var(--blue-wash,rgba(51,112,255,.1));color:var(--blue)}
#rl-pop,#rl-ctx{position:fixed;z-index:400;background:var(--paper,#fff);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.22);font:500 13px var(--f-b,system-ui)}
#rl-pop{width:372px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);display:flex;flex-direction:column;overflow:hidden}
#rl-pop .rl-s{padding:10px 10px 6px}
#rl-pop .rl-s input{width:100%;box-sizing:border-box;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--wash);color:var(--ink);padding:0 10px;font:inherit}
#rl-pop .rl-g{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px 10px 10px;overflow:auto;min-height:0}
#rl-pop .rl-t{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 8px;border-radius:10px;cursor:pointer;text-align:center;color:var(--ink-soft)}
#rl-pop .rl-t:hover{background:var(--wash);color:var(--ink)}
#rl-pop .rl-t svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#rl-pop .rl-t span{font-size:12px;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#rl-pop .rl-t.on{color:var(--blue)}
#rl-pop .rl-t em{position:absolute;top:6px;right:14px;background:#F5483B;color:#fff;border-radius:999px;font:600 10px var(--f-b);padding:0 5px;font-style:normal}
#rl-pop .rl-st{position:absolute;top:2px;right:2px;width:24px;height:24px;border:0;background:none;border-radius:6px;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;opacity:0}
#rl-pop .rl-t:hover .rl-st,#rl-pop .rl-st:focus{opacity:1}
#rl-pop .rl-st:hover{background:var(--line);color:var(--ink)}
#rl-pop .rl-st.p{color:#F5A623}
#rl-pop .rl-f,#rl-pop .rl-e{display:flex;gap:6px;align-items:center;padding:8px 10px;border-top:1px solid var(--line)}
#rl-pop .rl-f button,#rl-pop .rl-e button.b{border:0;background:none;color:var(--blue);font:inherit;cursor:pointer;padding:6px 8px;border-radius:6px}
#rl-pop .rl-f button:hover,#rl-pop .rl-e button.b:hover{background:var(--wash)}
#rl-pop .rl-none{grid-column:1/-1;text-align:center;color:var(--muted);padding:18px 0}
#rl-pop h4{margin:0;padding:10px 12px 0;font:600 12px var(--f-b);color:var(--muted)}
#rl-pop .rl-l{padding:4px 8px;overflow:auto;min-height:0}
#rl-pop .rl-r{display:flex;align-items:center;gap:10px;height:36px;padding:0 8px;border-radius:8px;color:var(--ink)}
#rl-pop .rl-r[draggable=true]{cursor:grab}
#rl-pop .rl-r.over{box-shadow:0 -2px 0 var(--blue) inset}
#rl-pop .rl-r svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
#rl-pop .rl-r b{flex:1;font-weight:500}
#rl-pop .rl-r button{border:0;background:none;color:var(--muted);cursor:pointer;font:inherit;padding:2px 8px;border-radius:6px}
#rl-pop .rl-r button:hover{background:var(--wash);color:var(--ink)}
#rl-ctx{min-width:170px;padding:4px}
#rl-ctx div{padding:7px 10px;border-radius:6px;cursor:pointer}#rl-ctx div:hover{background:var(--wash)}
body.rs-compact #rail .ni.rl-more span{display:none}
#rl-pop #rl-in{flex:none;overflow:visible}#rl-pop h4,#rl-pop .rl-e,#rl-pop .rl-f,#rl-pop .rl-s{flex:none}
