/* styles/base.css - lighter, high-contrast site styles (no build required) */
:root {
	--bg: #f8fafc;
	/* page background */
	--card: #ffffff;
	--muted: #6b7280;
	--text: #0f1724;
	--accent: #0ea5a4;
	--max-w: 1100px;
	--gap: 1rem;
	--radius: 10px;
}

/* Reset + layout */
* {
	box-sizing: border-box;
}

html,
body {
	height: 100%;
}

body {
	margin: 0;
	padding: 1.25rem;
	/* ensure margin from window edge when pages lack a wrapper */
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
	background: var(--bg);
	color: var(--text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 14px;
}

/* Links and buttons */
a {
	color: var(--accent);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

.btn {
	display: inline-block;
	background: var(--accent);
	color: #04202a;
	padding: 0.45rem 0.75rem;
	border-radius: 8px;
	font-weight: 600;
}

/* Text blocks */
pre {
	background: transparent;
	padding: 0;
	margin: 0;
}

h1 {
	font-size: 1.5rem;
}

/* Style directory listings generated as <pre><a>... */
/* Treat listing as a normal block so blank lines in source don't create large gaps */
pre {
	border-radius: 8px;
	padding: 0;
	margin: 0.125rem 0;
}

pre a {
	color: var(--accent);
	text-decoration: underline;
	font-weight: 500;
	cursor: pointer;
	padding: 0.08rem 0.25rem;
	line-height: 1.3;
}

pre a:hover {
	background: #c2f3fa;
	color: var(--accent);
}

/* Rules and table lines: stronger for better contrast */
hr {
	border: 0;
	border-top: 1px solid #d1d5db;
	margin: 0.5rem 0;
	padding: 0.5rem 0;
}

/* Accessibility focus */
:focus {
	outline: 3px solid rgba(14, 165, 233, 0.15);
	outline-offset: 2px;
}
