diff --git a/components/buffer-header.js b/components/buffer-header.js
index 7a6c3af..62c8065 100644
--- a/components/buffer-header.js
+++ b/components/buffer-header.js
@@ -96,34 +96,64 @@ export default function BufferHeader(props) {
 		if (props.isBouncer) {
 			if (props.network.isupport.get("BOUNCER_NETID")) {
 				actions = html`
-					<a href="#" onClick=${handleJoinClick}>Join</a>
-					${" "}
-					<a href="#" onClick=${handleManageNetworkClick}>Manage network</a>
+					<button
+						key="join"
+						onClick=${handleJoinClick}
+					>Join channel</button>
+					<button
+						key="manage"
+						onClick=${handleManageNetworkClick}
+					>Manage network</button>
 				`;
 			} else {
 				actions = html`
-					<a href="#" onClick=${handleAddNetworkClick}>Add network</a>
-					${" "}
-					<a href="#" onClick=${handleCloseClick}>Disconnect</a>
+					<button
+						key="add"
+						onClick=${handleAddNetworkClick}
+					>Add network</button>
+					<button
+						key="disconnect"
+						class="danger"
+						onClick=${handleCloseClick}
+					>Disconnect</button>
 				`;
 			}
 		} else {
 			actions = html`
-				<a href="#" onClick=${handleJoinClick}>Join</a>
-				${" "}
-				<a href="#" onClick=${handleCloseClick}>Disconnect</a>
+				<button
+					key="join"
+					onClick=${handleJoinClick}
+				>Join channel</button>
+				<button
+					key="disconnect"
+					class="danger"
+					onClick=${handleCloseClick}
+				>Disconnect</button>
 			`;
 		}
 		break;
 	case BufferType.CHANNEL:
-		actions = html`<a href="#" onClick=${handleCloseClick}>Part</a>`;
+			actions = html`
+				<button
+					key="part"
+					class="danger"
+					onClick=${handleCloseClick}
+				>Leave</button>
+			`;
 		break;
 	case BufferType.NICK:
-		actions = html`<a href="#" onClick=${handleCloseClick}>Close</a>`;
+			actions = html`
+				<button
+					key="close"
+					class="danger"
+					onClick=${handleCloseClick}
+				>Close</button>
+			`;
 		break;
 	}
 
 	return html`
+		<span class="title">${props.buffer.name}</span>
 		<span class="description">${description}</span>
 		<span class="actions">${actions}</span>
 	`;
diff --git a/style.css b/style.css
index 0702758..813ad25 100644
--- a/style.css
+++ b/style.css
@@ -5,8 +5,18 @@
 	--expander-background: #b5b5b5;
 	--expander-background-hover: #a6a6a6;
 	--expander-border: #6c6c6c;
-	--green: green;
 
+	--button-color: #eff7ef;
+	--button-background: #282879;
+	--button-background-hover: #00007C;
+	--button-border: #222;
+
+	--danger-button-color: #eff7ef;
+	--danger-button-background: red;
+	--danger-button-background-hover: #B20000;
+	--danger-button-border: #222;
+
+	--green: green;
 	--gray: #4a4a4a;
 }
 
@@ -17,6 +27,10 @@
 		--sidebar-background: #131618;
 		--expander-background: #424446;
 		--expander-background-hover: #2a2d2f;
+		--button-background: #282879;
+		--button-background-hover: #00007C;
+		--danger-button-background: #B20000;
+		--danger-button-background-hover: red;
 		--green: #53b266;
 
 		--red: #fb615b;
@@ -37,6 +51,32 @@ body {
 	font-family: monospace;
 }
 
+button {
+	background: var(--button-background);
+	transition: background 0.25s linear;
+	color: var(--button-color);
+	cursor: pointer;
+	padding: 0.25rem 0.5rem;
+	border-style: solid;
+	border-color: var(--button-border);
+	border-width: 1px;
+	font-size: 0.8rem;
+}
+
+button:hover {
+	background: var(--button-background-hover);
+}
+
+button.danger {
+	background: var(--danger-button-background);
+	color: var(--danger-button-color);
+	border-color: var(--danger-button-border);
+}
+
+button.danger:hover {
+	background: var(--danger-button-background-hover);
+}
+
 #buffer, #connect {
 	color: var(--main-color);
 	background: var(--main-background);
@@ -66,7 +106,7 @@ body {
 	padding: 0;
 	margin: 0;
 	background: var(--expander-background);
-	transition: background 0.25s linear;
+	transition: background 0.2s linear;
 	border: none;
 	width: 10px;
 }
@@ -113,7 +153,7 @@ body {
 	padding-left: 20px;
 }
 
-#buffer-header, #member-list-header {
+#member-list-header {
 	color: var(--main-color);
 	background-color: var(--main-background);
 	box-sizing: border-box;
@@ -122,8 +162,27 @@ body {
 }
 
 #buffer-header {
+	color: var(--main-color);
+	background-color: var(--main-background);
+	box-sizing: border-box;
+	border-bottom: 1px solid var(--sidebar-background);
+
 	grid-row: 1;
 	grid-column: 2;
+
+	display: flex;
+	flex-direction: row;
+}
+
+#buffer-header .title {
+	display: none;
+	padding: 5px 10px;
+	align-self: center;
+}
+
+#buffer-header .description {
+	flex-grow: 1;
+	padding: 5px 10px;
 }
 
 #buffer-header .status-here {
@@ -136,8 +195,14 @@ body {
 	color: red;
 }
 
-#buffer-header .actions {
-	float: right;
+.actions {
+	display: flex;
+	flex-direction: row;
+	justify-content: center;
+}
+
+.actions button {
+	border-width: 0 0 1px 1px;
 }
 
 #buffer {
@@ -560,4 +625,8 @@ kbd {
 	#member-list-header {
 		border-left: none;
 	}
+
+	#buffer-header .title {
+		display: block;
+	}
 }