* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.42;
	color: #333;
	background: #fff;
}
a {
	color: #337ab7;
	text-decoration: none;
}
a:hover {
	color: #286090;
	text-decoration: underline;
}
code, kbd, pre, samp {
	font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}
code {
	padding: 2px 4px;
	font-size: 90%;
	color: #c7254e;
	background-color: #f9f2f4;
	border-radius: 4px;
}
pre code {
	padding: 0;
	font-size: inherit;
	color: inherit;
	background: none;
	border-radius: 0;
}
pre {
	overflow-x: auto;
	padding: 0.5em;
	line-height: 1.4;
}
h1 { font-size: 1.5em; margin: 0.5em 0; }
h2 { font-size: 1.3em; margin: 0.5em 0; }
button {
	background: none;
	border: none;
	color: inherit;
	font: inherit;
	padding: 0;
	cursor: pointer;
}

/* --- navbar --- */
header nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #222;
	border-bottom: 1px solid #080808;
	padding: 1em 2em;
	font-size: 1.2em;
}
header a {
  color: #ccc;
  text-decoration: none;
}
header a:hover {
  color: #fff;
  text-decoration: none;
}
header li:first-child a { color: #999; }
header li span { color: #eee; }
header ul {
	display: flex;
	align-items: center;
	list-style: none;
}
header li + li::before {
	content: "/";
	color: #666;
	margin: 0 0.4em;
}
header nav > span a + a { margin-left: 1em; }
header nav > span form { display: inline; }
header nav form button[type="submit"] {
	background: none;
	border: none;
	color: #9d9d9d;
	cursor: pointer;
	font: inherit;
	padding: 0;
	margin-left: 1em;
}
header nav form button[type="submit"]:hover { color: #fff; background: none; }

/* --- main content --- */
main {
	padding: 0.5em 1em;
}

/* --- filter bar --- */
patch-count {
	display: block;
	color: #777;
	margin: 0 0 0.3em 0;
}
patch-filters {
	display: block;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 4px 8px;
	margin: 0 0 0.5em 0;
}
patch-filters form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	align-items: center;
}
patch-filters label {
	display: inline-flex;
	align-items: center;
	gap: 0.3em;
}
patch-filters input,
patch-filters select {
	padding: 2px 4px;
	border: 1px solid #ccc;
	border-radius: 3px;
	font: inherit;
	background: #fff;
	color: #555;
	height: 26px;
}
patch-filters select {
	padding-right: 20px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4'%3E%3Cpath d='M0 0l4 4 4-4z' fill='%23333'/%3E%3C/svg%3E") no-repeat right 6px center;
	appearance: none;
}
patch-filters input:focus,
patch-filters select:focus {
	border-color: #66afe9;
	outline: none;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px rgba(102,175,233,.6);
}
patch-filters button {
	padding: 2px 10px;
	border: 1px solid #909090;
	background: #f5f5f5;
	font: inherit;
	font-weight: bold;
	cursor: pointer;
}
patch-filters button:hover {
	background: #e8e8e8;
}

/* --- patch list table --- */
patch-list { display: block; }
patch-list table {
	border-collapse: collapse;
	width: 100%;
}
patch-list th {
	padding: 3px 1em;
	border-bottom: 2px solid #ddd;
	text-align: left;
}
patch-list th a { color: #333; }
patch-list th a:hover { color: #c00; text-decoration: none; }
patch-list td {
	padding: 3px 1em;
	border-top: 1px solid #e8e8e8;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
patch-list td:first-child,
patch-list td:nth-child(2) {
	white-space: normal;
	word-break: break-word;
}
patch-list tbody tr:nth-child(odd) { background: #f9f9f9; }
patch-list tbody tr:hover { background: #f0f0f0; }

patch-list input[type="checkbox"] {
	vertical-align: middle;
}

/* --- patch actions --- */
patch-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	align-items: center;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 4px 8px;
	margin: 0 0 0.5em 0;
}
patch-actions bundle-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	align-items: center;
	margin-left: auto;
}

/* --- fieldset --- */
fieldset {
	display: inline-flex;
	align-items: center;
	gap: 0.3em;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 2px 0.5em;
	margin: 0;
}
fieldset legend {
	float: left;
	font-size: inherit;
	padding: 0 0.3em 0 0;
	color: #777;
	width: auto;
}

/* --- checks --- */
check-ok { color: #82ca9d; }
check-warn { color: #ffc95e; }
check-fail { color: #ff5555; }

/* --- download links --- */
title-bar {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}
download-links {
	display: inline-flex;
	align-items: center;
	border: 1px solid #ccc;
	border-radius: 3px;
	overflow: hidden;
}
download-links button,
download-links a {
	display: inline-block;
	padding: 4px 12px;
	border-right: 1px solid #ccc;
	color: #333;
	text-decoration: none;
}
download-links > :last-child {
	border-right: none;
}
download-links a:hover,
download-links button:hover {
	background: #f0f0f0;
	color: #333;
	text-decoration: none;
}

/* --- submission detail --- */
submission-meta {
	display: block;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 5px 0;
	margin: 0 0 1em 0;
}
submission-meta download-links {
	float: right;
	margin: 3px 8px;
}
submission-meta table { border-collapse: collapse; }
submission-meta th, submission-meta td {
	padding: 2px 0.8em;
	text-align: left;
	vertical-align: top;
}
submission-meta th { white-space: nowrap; }

/* --- collapsible sections --- */
details summary {
	cursor: pointer;
	color: #337ab7;
}
details summary:hover {
	color: #286090;
}
submission-meta ul {
	list-style: none;
	margin: 0.3em 0;
}

/* --- comments --- */
comment-header {
	display: flex;
	align-items: center;
	background: #f0f0f0;
	padding: 0.3em 0.5em;
	margin: 0.5em 0 0 0;
}
comment-header span {
  padding-left: 1em;
}

/* --- diff --- */
patch-diff {
	display: block;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 0;
}
patch-diff pre {
	margin: 0;
	border: none;
}
patch-diff ins { color: #1b9d09; background: #edffed; text-decoration: none; }
patch-diff del { color: #c80101; background: #ffe2e2; text-decoration: none; }
patch-diff mark { color: #329fb0; font-weight: bold; background: none; }

/* --- pagination --- */
main nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin: 0.5em 0;
}
main nav a, main nav span {
	padding: 0.2em 0.5em;
}
main nav span {
	background: #eee;
	border-radius: 3px;
	color: #999;
}

/* --- forms --- */
submission-meta form table,
auth-form form table {
	border-collapse: collapse;
	margin: 0.5em 0;
}
submission-meta form table th,
auth-form form table th {
	text-align: right;
	padding: 0.3em 0.6em;
	white-space: nowrap;
	vertical-align: top;
}
submission-meta form table td,
auth-form form table td {
	padding: 0.3em 0.6em;
}
form input[type="text"],
form input[type="email"],
form input[type="password"],
form input[type="number"],
form select {
	padding: 4px 8px;
	border: 1px solid #ccc;
	border-radius: 3px;
	font: inherit;
	background: #fff;
	color: #555;
	height: 30px;
}
form select {
	padding-right: 24px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4'%3E%3Cpath d='M0 0l4 4 4-4z' fill='%23333'/%3E%3C/svg%3E") no-repeat right 8px center;
	appearance: none;
}
form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="password"]:focus,
form input[type="number"]:focus,
form select:focus {
	border-color: #66afe9;
	outline: none;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.6);
}
form button[type="submit"] {
	padding: 6px 16px;
	border: 1px solid #ccc;
	border-radius: 3px;
	background: #f5f5f5;
	font: inherit;
	cursor: pointer;
}
form button[type="submit"]:hover {
	background: #e8e8e8;
}
auth-form {
	display: block;
	max-width: 24em;
	margin: 2em auto;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 1.5em 2em;
}
auth-form h1 {
	margin-top: 0;
	margin-bottom: 0.5em;
}
auth-form form {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}
auth-form input[type="text"],
auth-form input[type="email"],
auth-form input[type="password"],
auth-form input[type="number"] {
	width: 100%;
}
auth-form p {
	margin-top: 0.5em;
	font-size: 0.9em;
}

/* --- commit message --- */
sob { color: #672d45; font-weight: bold; }
trailer { color: #2d4566; }
pre q { color: #365cb5; quotes: none; }
pre ins { color: #1b9d09; text-decoration: none; }
pre del { color: #c80101; text-decoration: none; }

/* --- profile --- */
profile-columns {
	display: flex;
	gap: 1.5em;
}
profile-left, profile-right {
	flex: 1;
}
profile-columns submission-meta {
	margin-bottom: 1em;
	padding: 0.5em 1em;
}
profile-columns h2 {
	margin-top: 0;
}
profile-columns ul {
	list-style: none;
	margin: 0.3em 0;
}

/* --- submission-meta form overrides --- */
form submission-meta select {
	padding: 0 16px 0 2px;
	border: 1px solid #ccc;
	border-radius: 2px;
	font: inherit;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4'%3E%3Cpath d='M0 0l4 4 4-4z' fill='%23999'/%3E%3C/svg%3E") no-repeat right 4px center;
	appearance: none;
	height: auto;
	cursor: pointer;
}
form submission-meta button[type="submit"] {
	padding: 0 8px;
	border: 1px solid #ccc;
	border-radius: 2px;
	background: #f5f5f5;
	font: inherit;
	cursor: pointer;
}
form submission-meta button[type="submit"]:hover {
	background: #e8e8e8;
}

/* --- messages --- */
error-msg {
	display: block;
	color: #c33;
	margin: 0.3em 0;
}
danger-action {
	color: #c33;
}

/* --- footer --- */
footer {
	text-align: center;
	font-size: small;
	color: #909090;
	padding: 1em;
}
