/* Rail layout — Discord-style icon sidebar */ .rail-layout { flex: 1; display: grid; grid-template-columns: 64px 280px 1fr; overflow: hidden; min-height: 0; } .icon-rail { display: flex; flex-direction: column; align-items: center; padding: 12px 0; gap: 6px; } .rail-brand { width: 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: var(--accent, #4F46E5); color: #fff; margin-bottom: 4px; } .rail-divider { width: 32px; height: 2px; background: rgba(128,128,128,0.2); border-radius: 1px; margin: 4px 0; } .rail-btn { width: 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; color: var(--fg-muted); position: relative; transition: all 0.15s; } .rail-btn:hover { background: rgba(128,128,128,0.1); color: var(--fg); border-radius: 12px; } .rail-btn.active { background: var(--accent); color: #fff; border-radius: 12px; } .rail-pill { position: absolute; left: -12px; top: 50%; transform: translateY(-50%); width: 4px; height: 24px; background: var(--fg); border-radius: 0 3px 3px 0; } .rail-chatlist { display: flex; flex-direction: column; } .rail-chatlist .chat-items { flex: 1; } .rail-user { padding: 10px 12px; display: flex; align-items: center; gap: 10px; flex-shrink: 0; } .variant-clean.layout-rail .icon-rail { background: var(--bg-2); border-right: 1px solid var(--line); } .variant-clean.layout-rail .rail-chatlist { background: var(--bg-3); border-right: 1px solid var(--line); } .variant-clean.layout-rail .rail-user { background: var(--bg-2); border-top: 1px solid var(--line); } .variant-clean.layout-rail .rail-brand { background: var(--accent); color: #fff; }