/* App shell: sidebar and page frame. */
.app{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}
.rail{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:14px 10px 12px;background:var(--rail);border-right:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:9px;padding:2px 8px 4px;font-weight:600;font-size:15.5px;letter-spacing:-.03em;text-decoration:none}
.logo i{position:relative;width:20px;height:20px;border-radius:6px;background:var(--text);display:block;flex:none}
.logo i::after{content:"";position:absolute;left:5px;right:5px;bottom:5px;height:5px;border-radius:5px 5px 0 0;background:var(--bg)}
.ws{display:flex;align-items:center;gap:9px;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.ws b{display:block;font-weight:500;font-size:13px;line-height:1.25}
.ws small{display:block;color:var(--muted);font-size:11.5px}

.nav{display:flex;flex-direction:column;gap:1px}
.nav a{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:7px;font-weight:500;font-size:13px;color:var(--muted);text-decoration:none;transition:color .12s,background .12s}
.nav a:hover{color:var(--text);background:var(--hover)}
.nav a.on{background:var(--raised);color:var(--text)}
.nav svg{width:15px;height:15px;flex:none}
.nav em{margin-left:auto;font-style:normal;font-family:var(--mono);font-size:11px;color:var(--faint)}

.rail-foot{margin-top:auto;display:flex;align-items:center;gap:9px;padding:8px 4px 0;font-weight:500;font-size:13px}
.rail-foot #theme{margin-left:auto}
.round{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--muted);flex:none}
button.round:hover{color:var(--text);border-color:var(--line2)}
.round svg{width:15px;height:15px}
.me{border-radius:50%;background:var(--raised);border-color:transparent;color:var(--ink2);font-weight:600;font-size:11.5px}
.main{min-width:0;container-type:inline-size}

.spacer{flex:1}
.demo{font-family:var(--mono);font-size:11px;color:var(--muted);border:1px solid var(--line);padding:2px 7px;border-radius:6px}

