/* role='' */
/* @layer custom, breakpoints, components, reboot, reset; */
:root {
	/* font-family; init, heading, monospaced */
	--brdj-font-init: system-ui;
	--brdj-font-head: system-ui;
	--brdj-font-mono: ui-monospace;

	/* line-height; init, heading */
	--brdj-lh-init: 32pt;
	--brdj-lh-head: 1.1;
	--brdj-lh-mono: 12pt;

	--brdj-fs-mono: 12pt;

	/* max-length */
	--brdj-max-len: 65ch;

	/* list style; ul, ol */
	--brdj-ls-ul: '';
	--brdj-ls-ol: '';

}

@layer breakpoints {
	
}
@layer components {
	:root {
		--brdj-full-offset: 1rem;
		--brdj-flared-offset: 2rem;
		--brdj-flared-width: 1920px;
		--brdj-con-width: 1280px;
		
		--brdj-full: minmax(var(--brdj-full-offset), 1fr);
		--brdj-con: min(calc( 100% - ( (var(--brdj-full-offset) + var(--brdj-flared-offset)) * 2 )), var(--brdj-con-width));

		--brdj-flared: minmax(0, calc( ( var(--brdj-flared-width) - var(--brdj-con-width)) * 0.5 ));
		
	}
	.brdj-foundation {
		min-height: 100vh;
	}
	.brdj-grid-flow {
		display: grid;
	}
	.brdj-primary {
		display: grid;
		grid-auto-flow: row dense;
		grid-template-columns: 
			[full-start] var(--brdj-full)
			[flared-start] var(--brdj-flared)
			[contained-start] var(--brdj-con)  [contained-end]
			var(--brdj-flared) [flared-end]
			var(--brdj-full) [full-end];
	}
	
	.brdj-primary > * {
		grid-column: contained;
		display: grid;
	}
	.brdj-primary > .brdj-flared {
		grid-column: flared;
		display: grid;
	}
	.brdj-primary > .brdj-full {
		grid-column: full;
		display: grid;
	}
	.brdj-primary > .brdj-content {
		grid-column: contained;
		display: grid;
	}
}
@layer reboot {

	h1, 
	h2, 
	h3, 
	h4, 
	p,
	figure, 
	blockquote, 
	dl, 
	dd {
		margin-block-end: 0;
		margin-block-start: 0;
	}

	:where( ul ):where( [class] ) {
		list-style: var( --brdj-ls-ul );
		margin: 0;
		padding: 0;
	}
	:where( ol ):where( [class] ) {
		list-style: var( --brdj-ls-ol );
		margin: 0;
		padding: 0;
	}

	body {
		min-height: 100vh;
		line-height: var( --brdj-lh-init );
	}

	h1, 
	h2, 
	h3, 
	h4,
	button, 
	input, 
	label {
 		line-height: var( --brdj-lh-head );
	}

	h1,
	h2,
	h3,
	h4 {
		text-wrap: balance;
		font-family: var( --brdj-font-head );
	}
	code,
	pre,
	kbd,
	samp {
		font-family: var( --brdj-font-mono );
		line-height: var( --brdj-lh-mono );
		font-size: var( --brdj-fs-mono );
	}
	p,
	li,
	figcaption {
		max-width: var( --brdj-max-len );
		text-wrap: pretty;
	}
	:target {
		scroll-margin-block: 3rem;
		scroll-margin-block: 4rlh;
	}
	@media (prefers-reduced-motion: no-preference) {
		html {
			scroll-behavior: smooth;
		}
	}
	textarea:not([rows]) {
		min-height: 10em;
	}
	.in-scroll {
		overflow-y: auto;
		overscroll-behavior: contain;
	}

}
@layer reset {
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}
	button:not(:disabled) {
		cursor: pointer;
	}
	html {
		-moz-text-size-adjust: none;
		-webkit-text-size-adjust: none;
		text-size-adjust: none;
		font-family: var( --brdj-font-init );
		color-scheme: light dark;
		interpolate-size: allow-keywords;
	}

	body {
		margin: 0;
	}
	img,
	picture {
		max-width: 100%;
		display: block;
	}
	input, 
	button,
	textarea, 
	select {
  		font-family: inherit;
  		font-size: inherit;
	}
	td,
	math,
	time[datetime*=":"] {
		font-variant-numeric: tabular-nums lining-nums;
	}
}

