/*!
 * Pico CSS Custom Subset (Optimized for Carlos Cano's Personal Website)
 * Includes only core variables, normalization for utilized semantic tags, and layout elements.
 */

:root {
	--pico-font-family-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--pico-font-family: var(--pico-font-family-sans-serif);
	--pico-line-height: 1.5;
	--pico-font-weight: 400;
	--pico-font-size: 100%;
	--pico-spacing: 1rem;
	--pico-typography-spacing-vertical: 1rem;
	--pico-block-spacing-vertical: var(--pico-spacing);
	--pico-border-radius: 0.25rem;
	--pico-transition: 0.2s ease-in-out;
}

/* Reset & Base Elements */
*, *::before, *::after {
	box-sizing: border-box;
	background-repeat: no-repeat;
}

html {
	-webkit-text-size-adjust: 100%;
	-moz-tab-size: 4;
	tab-size: 4;
	font-family: var(--pico-font-family);
	line-height: var(--pico-line-height);
	background-color: transparent;
}

body {
	width: 100%;
	margin: 0;
	font-family: var(--pico-font-family);
	font-size: var(--pico-font-size);
	font-weight: var(--pico-font-weight);
	line-height: var(--pico-line-height);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Typography & Flow Elements used */
h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: var(--pico-typography-spacing-vertical);
	font-weight: 700;
}
h1 { font-size: 2rem; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h6 { font-size: 0.85rem; font-weight: 400; }

p, ul, li {
	margin-top: 0;
	margin-bottom: var(--pico-typography-spacing-vertical);
}

ul {
	padding-left: 1.5rem;
	list-style-type: disc;
}

li {
	margin-bottom: calc(var(--pico-typography-spacing-vertical) * 0.25);
}

hr {
	height: 0;
	margin: calc(var(--pico-typography-spacing-vertical) * 2) 0;
	border: 0;
	border-top: 1px solid var(--pico-muted-border-color, #e6e6e6);
	color: inherit;
}

/* Structural & Interactive layout wrappers */
.container {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: var(--pico-spacing);
	padding-left: var(--pico-spacing);
}

/* Responsive breakpoints matching Pico CSS standard for .container */
@media (min-width: 576px) { .container { max-width: 510px; } }
@media (min-width: 768px) { .container { max-width: 700px; } }
@media (min-width: 992px) { .container { max-width: 920px; } }
@media (min-width: 1200px) { .container { max-width: 1130px; } }

/* Semantic structural containers used */
main, section, article, header, footer, nav {
	display: block;
}

article {
	margin-bottom: var(--pico-block-spacing-vertical);
	padding: var(--pico-block-spacing-vertical);
	border-radius: var(--pico-border-radius);
	background: var(--pico-card-background-color, #ffffff);
}

/* Interactive Accordion elements used in full publication list */
details {
	display: block;
	margin-bottom: var(--pico-typography-spacing-vertical);
}

summary {
	display: list-item;
	cursor: pointer;
}

summary::-webkit-details-marker {
	display: none;
}

/* Basic Link styles */
a {
	background-color: transparent;
	transition: color var(--pico-transition), text-decoration var(--pico-transition);
}
