/* role='' */
@layer reset, reboot, components, breakpoints, hemp, custom;

@layer hemp {
	.hemp-hide {
		display: none;;
	}
}

@layer custom {
	:root {
		--brand-color-pink: rgba(255,27,96,1);
		--brand-color-dark: rgba(14,14,14,1);
		--brand-color-card-border: rgba(220, 220, 220, 1);
		--brand-color-bgcolor: rgba(241,235,235,1);
		--bg-lines-paper: rgba(0,185,242,0.5);
		--bg-rules-paper: rgba(255,27,96,0.75);
		--bg-blend-mode-texture: multiply;
	}
	/* @media (prefers-color-scheme: dark) {
		:root {
			--brand-color-bgcolor: rgb(203, 203, 180);
			--bg-lines-paper: rgba(0,185,242,0.65);
		}
		
	} */
	html {
		font-size: var(--font-size-init);
		color: var(--brand-color-dark);
		font-weight: var(--font-weight-init);
		font-family: var(--font-family-brand);
	}
	
}
@layer breakpoints {
	:root {
		
		--card-grid-template: 
			[hd-row-start] "header header" calc(var(--font-line-height-brand-pitch) + 12pt) [hd-row-end]
			[brand-ui-start] "brand-ui brand-pitch" 1fr [brand-ui-end]
			/ minmax(300px, 480px) auto
		;
		

		--font-family-init: system-ui;
		--font-family-head: system-ui;
		--font-family-mono: ui-monospace;
	
		--font-line-height-init: 1;
		--font-line-height-head: 1.1;
		--font-line-height-brand: 124pt;
		--font-line-height-brand-pitch: 48pt;
	
		--font-size-init: 24pt;
		--font-weight-init: 300;
		--pitch-text-margin-top: -1pt;

		--font-size-brand: 144pt;
		--font-size-brand-pitch: 60pt;
		--font-weight-brand: 900;
		--font-weight-brand-pitch: 700;
		--font-spacing-brand: -6pt;
		--font-spacing-brand-pitch: -3pt;
	
		--text-max-len: 65ch;
	
		--font-family-brand: "Inter", system-ui;
		--font-family-brand-pitch: "Inter", system-ui;
	
		
	
	}
	/* 1600px */
	/* 1080P+ */
	/* 1200+/720P+ */
	/* 1024+ */
	/* 320p+ */
}
@layer components {
	:root {
		--layout-full-padding: 1rem;
		--layout-flared-padding: 2rem;
		--layout-flared-width: 1920px;
		--layout-con-width: 1280px;
		
		--layout-size-full: minmax(var(--layout-full-padding), 1fr);
		--layout-size-con: min(calc( 100% - ( (var(--layout-full-padding) + var(--layout-flared-padding)) * 2 )), var(--layout-con-width));

		--layout-size-flared: minmax(0, calc( ( var(--layout-flared-width) - var(--layout-con-width)) * 0.5 ));
		
	}
	.mobile-screen {
		aspect-ratio: 2/3;
		width: 100%;
		background-color: var(--brand-color-bgcolor);
		padding: 6pt;
		border-radius: 6pt;
		border: 2px solid rgb(64,64,64);
		box-shadow: 1pt 1pt 2pt rgba(0,0,0,0.8);
	}
	.foundational {
		min-height: 100vh;
	}
	.grid-flow {
		display: grid;
	}
	.primary-container {
		min-height: 100vh;
		display: grid;
		grid-template-rows: [header] max(128px) [main] auto;
		grid-template-columns: 
			[full-start] var(--layout-size-full)
			[flared-start] var(--layout-size-flared)
			[contained-start] var(--layout-size-con)  [contained-end]
			var(--layout-size-flared) [flared-end]
			var(--layout-size-full) [full-end];
	}
	
	.primary-container > * {
		grid-column: contained;
		display: grid;
	}
	.primary-container > .flared {
		grid-column: flared;
		display: grid;
	}
	.primary-container > .full-container {
		grid-column: full;
		display: grid;
	}
	.primary-container > .primary-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, ol ):where( [class] ) {
		list-style: '';
		margin: 0;
		padding: 0;
	}

	body {
		min-height: 100vh;
		line-height: var(--font-line-height-init);
	}

	h1, 
	h2, 
	h3, 
	h4,
	button, 
	input, 
	label {
 		line-height: var(--font-line-height-head);
	}

	h1,
	h2,
	h3,
	h4 {
		text-wrap: balance;
		font-family: var(--font-family-head);
	}
	code,
	pre,
	kbd,
	samp {
		font-family: var(--font-family-mono);
	}
	p,
	li,
	figcaption {
		max-width: var(--text-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(--font-family-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;
	}
	span, em, strong {
		display: inline;
		max-width: initial;
	}
}

