:root {
	/* Surface & text */
	--color-bg: #ffffff;
	--color-text: #1a1a1a;
	--color-text-muted: #6b6b6b;
	--color-link: #b45309;
	--color-border: #e0e0e0;
	--color-surface: #f0f0f0;

	/* Status */
	--color-success: #2e7d32;
	--color-error: #c62828;
	--color-warning-bg: #fff8e1;
	--color-warning-border: #f9a825;

	/* Syntax highlighting */
	--color-syntax-comment: #6b6b6b;
	--color-syntax-keyword: #c0392b;
	--color-syntax-string: #27ae60;
	--color-syntax-literal: #2980b9;
	--color-syntax-builtin: #e67e22;
	--color-syntax-title: #b45309;

	/* Buttons */
	--color-button-bg: #b45309;
	--color-button-text: #ffffff;
}

@media (prefers-color-scheme: dark) {
	:root {
		/* Surface & text */
		--color-bg: #1e1e1e;
		--color-text: #d4d4d4;
		--color-text-muted: #7a7a7a;
		--color-link: #c084fc;
		--color-border: #383838;
		--color-surface: #2a2a2a;

		/* Status */
		--color-success: #4caf50;
		--color-error: #ef5350;
		--color-warning-bg: #2c2c2c;
		--color-warning-border: #505050;

		/* Syntax highlighting */
		--color-syntax-comment: #666666;
		--color-syntax-keyword: #f47067;
		--color-syntax-string: #87c564;
		--color-syntax-literal: #79b8ff;
		--color-syntax-builtin: #ffb74d;
		--color-syntax-title: #c084fc;

		/* Buttons */
		--color-button-bg: #c084fc;
		--color-button-text: #1e1e1e;
	}
}
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
body {
	font-family: monospace;
	font-size: 14px;
	background: var(--color-bg);
	color: var(--color-text);
	max-width: 900px;
	margin: 0 auto;
	padding: 24px 16px;
}
a {
	color: var(--color-link);
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
h1 {
	font-size: 18px;
	margin-bottom: 16px;
}
h2 {
	font-size: 15px;
	margin: 20px 0 8px;
}
table {
	width: 100%;
	border-collapse: collapse;
}
td, th {
	padding: 6px 8px;
	text-align: left;
	border-bottom: 1px solid var(--color-border);
}
th {
	color: var(--color-text-muted);
	font-weight: normal;
}
pre {
	background: var(--color-surface);
	padding: 12px;
	overflow-x: auto;
	line-height: 1.5;
	margin-top: 8px;
}
.clone-url {
	background: var(--color-surface);
	padding: 8px 10px;
	font-size: 13px;
	margin-bottom: 16px;
}
.breadcrumb {
	margin-bottom: 12px;
	color: var(--color-text-muted);
}
.breadcrumb a {
	color: var(--color-link);
}
.token-reveal {
	background: var(--color-warning-bg);
	border: 1px solid var(--color-warning-border);
	padding: 12px;
	margin-bottom: 16px;
}
input[type="password"], input[type="text"] {
	font-family: monospace;
	font-size: 14px;
	width: 100%;
	padding: 6px;
	margin-top: 4px;
}
button {
	font-family: monospace;
	font-size: 14px;
	padding: 6px 12px;
	cursor: pointer;
	background: var(--color-button-bg);
	color: var(--color-button-text);
	border: none;
}
.stack-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 400px;
	margin-top: 16px;
}
.inline-form {
	display: flex;
	gap: 8px;
	align-items: flex-end;
	max-width: 400px;
	margin-top: 8px;
}
.inline-form label {
	flex: 1;
}
.error {
	color: var(--color-error);
}
.success {
	color: var(--color-success);
}
.hint {
	display: block;
	color: var(--color-text-muted);
	font-size: 13px;
	margin-bottom: 12px;
}
nav {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 16px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--color-border);
}
nav .nav-site {
	font-weight: 600;
}
nav .nav-user {
	color: var(--color-text-muted);
	font-size: 13px;
}
nav .nav-links {
	display: flex;
	gap: 12px;
	align-items: baseline;
}
nav .nav-links a {
	font-size: 13px;
}
.muted {
	color: var(--color-text-muted);
}
.icon-cell {
	width: 1em;
	padding-right: 2px;
}
nav.branch-nav {
	display: inline-block;
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 12px;
}
.repo-description {
	color: var(--color-text-muted);
	margin-bottom: 12px;
}
.repo-empty {
	color: var(--color-text-muted);
	margin-top: 16px;
}
.binary-notice {
	color: var(--color-text-muted);
	margin-top: 8px;
}
.file-image {
	max-width: 100%;
	margin-top: 8px;
	display: block;
}
code.hljs {
	display: block;
}
.hljs-comment,
.hljs-quote {
	color: var(--color-syntax-comment);
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-deletion {
	color: var(--color-syntax-keyword);
}
.hljs-string,
.hljs-template-tag,
.hljs-template-variable,
.hljs-addition {
	color: var(--color-syntax-string);
}
.hljs-number,
.hljs-literal,
.hljs-attr,
.hljs-attribute,
.hljs-operator {
	color: var(--color-syntax-literal);
}
.hljs-built_in,
.hljs-title.class_,
.hljs-class .hljs-title {
	color: var(--color-syntax-builtin);
}
.hljs-title,
.hljs-title.function_,
.hljs-section {
	color: var(--color-syntax-title);
}
.hljs-meta,
.hljs-selector-attr,
.hljs-selector-pseudo {
	color: var(--color-syntax-comment);
}
.hljs-emphasis {
	font-style: italic;
}
.hljs-strong {
	font-weight: bold;
}
