*,
*:after,
*:before {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
*:focus {
	outline: none;
}

:root {
	
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: normal;
	font-style: normal;
	font-size: 16px;
}

html,
body {
	margin: 0px;
	padding: 0px;
}

body {
	min-height: 100vh;
	min-width: 100vw;
	max-width: 100vw;
}
body:has( dialog[open] ) {
	overflow: hidden;
}


dialog[open]::backdrop {
	backdrop-filter: blur( calc( var( --gap ) * var( --opacity-low ) ) ) brightness( var( --opacity-low ) );
}
dialog[open] {
	border: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translateX( -50% ) translateY( -50% );
	gap: calc( var( --gap ) * 1 );
	padding: calc( var( --gap ) * 1 );
	min-width: 25dvw;
	min-height: 25dvh;
	display: flex;
}
dialog[open] > div {
	display: grid;
	gap: var( --gap );
	flex: 1;
	grid-template-rows: repeat( calc( var( --rows ) - 1 ), min-content ) 40px;
	align-content: space-between;
}
dialog[open] .buttons {
	display: grid;
	grid-template-columns: repeat( var( --buttons-count ), 1fr );
	gap: var( --gap );
	grid-row: -2 / -1;
	position: sticky;
	bottom: 0px;
}
dialog[open] .buttons button {
	border-radius: var( --rad );
	border: none;
	background: #cacaca;
	color: #000;
	cursor: pointer;
	font-size: 1.4em;
	font-weight: bold;
}

@font-face {
	font-family: "Font Awesome 6 Pro";
	font-style: normal;
	font-weight: 400;
	font-display: block;
	src: url( "./fa-regular-400.woff2" ) format( "woff2" );
}
cite {
	font-family: "Font Awesome 6 Pro";
	font-style: normal;
	font-size: 1.4em;
	user-select: none;
}
