html {
	--dark-color-text: #b0bac5;
	--dark-color-text-dark: #ecf9fb;
	--color-text-secondary: var(--color-icon);
}

// TO BE MOVED TO OMORPHIA
:root {
	--gap-2: 0.125rem;
	--gap-4: calc(2 * var(--gap-2));
	--gap-6: calc(3 * var(--gap-2));
	--gap-8: calc(2 * var(--gap-4));
	--gap-12: calc(3 * var(--gap-4));
	--gap-16: calc(2 * var(--gap-8));
	--gap-24: calc(3 * var(--gap-8));

	--radius-card: 1rem;

	--radius-btn: 0.75rem;
	--radius-btn-large: 1rem;
	--radius-btn-circle: var(--radius-max);

	--text-14: 0.875rem;
	--text-16: 1rem;
	--text-18: 1.125rem;
	--text-24: 1.5rem;
	--text-32: 2rem;

	--weight-normal: 500; // used for general body text
	--weight-bold: 600; // used for text needing extra emphasis
	--weight-extrabold: 800; // used for main titles and headings

	--icon-14: 0.875rem; // used for icons inside a small container alongside a label
	--icon-16: 1rem; // used for normal-sized icons alongside a label
	--icon-20: 1.25rem; // used for icons in normal sized buttons
	--icon-24: 1.5rem; // used for icons that are used as a primary label or in large buttons
	--icon-32: 2rem;

	interpolate-size: allow-keywords;
	scrollbar-gutter: stable;
}

.light-mode {
	--color-icon: var(--color-secondary);
	--color-text: hsl(221, 39%, 11%);
	--color-text-inactive: hsl(215, 14%, 34%);
	--color-text-dark: #1a202c;
	--color-heading: #2c313d;

	--color-text-inverted: var(--color-bg);
	--color-bg-inverted: var(--color-text);

	--color-brand-inverted: #ffffff;

	--tab-underline-hovered: #e2e8f0;

	--color-button-text: var(--color-text-dark);
	--color-button-bg-hover: #d9dce0;
	--color-button-text-hover: #1b1e24;
	--color-button-bg-active: #c3c6cb;
	--color-button-text-active: var(--color-button-text-hover);

	--color-dropdown-bg: var(--color-button-bg);
	--color-dropdown-text: var(--color-button-text);

	--color-code-bg: var(--color-bg);
	--color-code-text: var(--color-text-dark);

	--color-kbd-shadow: rgba(0, 0, 0, 0.25);

	--color-grey-link: var(--color-text);
	--color-grey-link-hover: var(--color-heading);
	--color-grey-link-active: var(--color-text-dark);

	--color-warning-bg: hsl(355, 70%, 88%);
	--color-warning-text: hsl(342, 70%, 35%);

	--color-warning-banner-text: hsl(0, 11%, 16%);
	--color-warning-banner-bg: hsl(0, 100%, 95%);
	--color-warning-banner-side: hsl(357, 78%, 40%);

	--color-info-banner-text: var(--color-text);
	--color-info-banner-bg: var(--color-ad);
	--color-info-banner-side: var(--color-blue);

	--color-block-quote: var(--color-tooltip-bg);
	--color-header-underline: var(--color-divider-dark);
	--color-hr: var(--color-text);

	--color-table-border: #dfe2e5;
	--color-table-alternate-row: #f0f1f2;

	--landing-maze-bg: url('https://cdn.modrinth.com/landing-new/landing-light.webp');
	--landing-maze-gradient-bg: url('https://cdn.modrinth.com/landing-new/landing-lower-light.webp');
	--landing-maze-outer-bg: linear-gradient(180deg, #f0f0f0 0%, #ffffff 100%);

	--landing-color-heading: #000;
	--landing-color-subheading: #3a3f45;

	--landing-transition-gradient-start: rgba(255, 255, 255, 0);
	--landing-transition-gradient-end: #ffffff;
	--landing-hover-card-gradient: radial-gradient(
		50% 50% at 50% 50%,
		#fff 0%,
		rgba(204, 204, 204, 0.77) 100%
	);
	--landing-border-gradient: linear-gradient(
		to bottom right,
		rgba(129, 137, 175, 0.75) 0%,
		rgba(66, 71, 97, 0.34) 100%
	);
	--landing-border-color: rgba(129, 137, 175, 0.55);
	--landing-creator-gradient: linear-gradient(180deg, #f8f8f8 0%, #f8f8f8 63.19%);

	--landing-blob-gradient: radial-gradient(
		50% 50% at 50% 50%,
		rgba(255, 255, 255, 0.35) 0%,
		rgba(255, 255, 255, 0.2695) 100%
	);
	--landing-blob-shadow:
		2px 2px 12px rgba(0, 0, 0, 0.16), inset 2px 2px 64px rgba(255, 255, 255, 0.45);

	--landing-card-bg: rgba(255, 255, 255, 0.8);
	--landing-card-shadow: 2px 2px 12px rgba(0, 0, 0, 0.16);

	--landing-blue-label: #0098ba;
	--landing-blue-label-bg: rgba(0, 177, 216, 0.15);
	--landing-green-label: #00a936;
	--landing-green-label-bg: rgba(0, 216, 69, 0.15);

	--landing-raw-bg: #fff;

	--medal-promotion-bg: #fff;
	--medal-promotion-bg-orange: #48aaff;
	--medal-promotion-text-orange: #156db8;
	--medal-promotion-bg-gradient: linear-gradient(
		90deg,
		rgba(152, 207, 255, 0.2) 20%,
		rgba(152, 207, 255, 0.1) 100%
	);

	--banner-error-bg: #fee2e2;
	--banner-error-text: #991b1b;
	--banner-error-border: #ef4444;

	--banner-warning-bg: #ffedd5;
	--banner-warning-text: #713f12;
	--banner-warning-border: #f97316;

	--banner-info-bg: #dbeafe;
	--banner-info-text: #1e3a8a;
	--banner-info-border: #3b82f6;
}

.dark,
.dark-mode,
.oled-mode,
.retro-mode {
	--color-icon: var(--color-secondary);
	--color-text: var(--dark-color-text);
	--color-text-inactive: #929aa3;
	--color-text-dark: var(--dark-color-text-dark);
	--color-heading: #c4cfdd;

	--color-text-inverted: var(--color-bg);
	--color-bg-inverted: var(--color-text);

	--color-brand-inverted: #000;

	--tab-underline-hovered: #414146;

	--color-button-text: var(--color-text);
	--color-button-bg-hover: #494f58;
	--color-button-text-hover: #ffffff;
	--color-button-bg-active: #616570;
	--color-button-text-active: var(--color-button-text-hover);

	--color-dropdown-bg: var(--color-button-bg);
	--color-dropdown-text: var(--color-button-text);

	--color-code-bg: var(--color-button-bg);
	--color-code-text: var(--color-text-dark);

	--color-kbd-shadow: rgba(0, 0, 0, 0.35);

	--color-warning-bg: hsl(355, 70%, 20%);
	--color-warning-text: hsl(342, 70%, 75%);

	--color-warning-banner-text: hsl(0, 100%, 96%);
	--color-warning-banner-bg: hsl(356, 18%, 18%);
	--color-warning-banner-side: hsl(357, 78%, 40%);

	--color-info-banner-text: var(--color-text);
	--color-info-banner-bg: var(--color-ad);
	--color-info-banner-side: var(--color-blue);

	--color-block-quote: var(--color-code-bg);
	--color-header-underline: var(--color-divider-dark);
	--color-hr: var(--color-text);

	--color-table-border: #4f5864;
	--color-table-alternate-row: #202228;

	--landing-maze-bg: url('https://cdn.modrinth.com/landing-new/landing.webp');
	--landing-maze-gradient-bg:
		linear-gradient(0deg, #31375f 0%, rgba(8, 14, 55, 0) 100%),
		url('https://cdn.modrinth.com/landing-new/landing-lower.webp');
	--landing-maze-outer-bg: linear-gradient(180deg, #06060d 0%, #000000 100%);

	--landing-color-heading: #fff;
	--landing-color-subheading: #afb6be;

	--landing-transition-gradient-start: rgba(14, 16, 32, 0);
	--landing-transition-gradient-end: #060a1c;
	--landing-hover-card-gradient: radial-gradient(
		50% 50% at 50% 50%,
		#2c304f 0%,
		rgba(32, 35, 50, 0.77) 100%
	);
	--landing-border-gradient: linear-gradient(
		to bottom right,
		rgba(168, 177, 221, 0.75) 0%,
		rgba(168, 177, 221, 0.18) 100%
	);
	--landing-border-color: rgba(168, 177, 221, 0.55);
	--landing-creator-gradient: linear-gradient(180deg, #000000 0%, #0e101d 100%);

	--landing-blob-gradient: radial-gradient(
		50% 50% at 50% 50%,
		rgba(44, 48, 79, 0.35) 0%,
		rgba(32, 35, 50, 0.2695) 100%
	);
	--landing-blob-shadow:
		2px 2px 12px rgba(0, 0, 0, 0.16), inset 2px 2px 64px rgba(57, 61, 94, 0.45);

	--landing-card-bg: rgba(59, 63, 85, 0.15);
	--landing-card-shadow: 2px 2px 12px rgba(0, 0, 0, 0.16);

	--landing-blue-label: #10c0e7;
	--landing-blue-label-bg: rgba(0, 177, 216, 0.15);
	--landing-green-label: #00d845;
	--landing-green-label-bg: rgba(0, 216, 69, 0.15);

	--landing-raw-bg: #000;

	--medal-promotion-bg: #000;
	--medal-promotion-bg-orange: rgba(208, 246, 255, 0.25);
	--medal-promotion-text-orange: #42abff;
	--medal-promotion-bg-gradient: linear-gradient(
		90deg,
		rgba(66, 170, 255, 0.15),
		rgba(0, 0, 0, 0) 100%
	);

	--hover-filter: brightness(120%);
	--active-filter: brightness(140%);

	--banner-error-bg: #45222c;
	--banner-error-text: #fee2e2;
	--banner-error-border: var(--color-red);

	--banner-warning-bg: #453425;
	--banner-warning-text: #e4d9ca;
	--banner-warning-border: var(--color-orange);

	--banner-info-bg: #28374b;
	--banner-info-text: #dbeafe;
	--banner-info-border: var(--color-blue);
}

.oled-mode {
	--color-button-bg-hover: #2d2d32;
	--color-button-bg-active: #3c3c40;
	--color-table-alternate-row: #19191c;
	--color-divider-dark: #2c3134;

	--color-warning-banner-bg: hsl(0, 45%, 11%);
}

.retro-mode {
	--color-bg: #191917;
	--color-raised-bg: #1d1e1b;
	--color-button-bg: #3a3b38;
	--color-base: #c3c4b3;
	--color-secondary: #777a74;
	--color-contrast: #e6e2d1;

	--color-brand: #4d9227;
	--color-brand-highlight: #25421e;
	--color-ad: var(--color-brand-highlight);
	--color-ad-raised: var(--color-brand);
	--color-ad-contrast: black;
	--color-ad-highlight: var(--color-brand);

	--color-red: rgb(232, 32, 13);
	--color-orange: rgb(232, 141, 13);
	--color-green: rgb(60, 219, 54);
	--color-blue: rgb(9, 159, 239);
	--color-purple: rgb(139, 129, 230);
	--color-gray: #718096;

	--color-red-highlight: rgba(232, 32, 13, 0.25);
	--color-orange-highlight: rgba(232, 141, 13, 0.25);
	--color-green-highlight: rgba(60, 219, 54, 0.25);
	--color-blue-highlight: rgba(9, 159, 239, 0.25);
	--color-purple-highlight: rgba(139, 129, 230, 0.25);
	--color-gray-highlight: rgba(113, 128, 150, 0.25);
}

body {
	// Defaults
	background-color: var(--color-bg);
	color: var(--color-text);
	--font-standard:
		Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, Cantarell,
		Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
	--mono-font: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
	font-family: var(--font-standard);
	font-size: 16px;
	font-weight: var(--font-weight-regular);
	margin: 0;
	padding: 0;

	// Rounding sizes
	--size-rounded-xs: 0.5rem;
	--size-rounded-sm: 0.75rem;
	--size-rounded-md: 1rem;
	--size-rounded-lg: 1.25rem;

	--size-rounded-max: 999999999px;
	--size-rounded-card: 1rem;
	--size-rounded-icon: 1rem;
	--size-rounded-control: 0.25rem;
	--size-rounded-tooltip: 0.25rem;

	--size-navbar-height: 3.5rem;
	--size-mobile-navbar-height: 3.5rem;
	--size-mobile-navbar-height-expanded: 26.5rem;

	--spacing-card-lg: 1.5rem;
	--spacing-card-bg: 1rem;
	--spacing-card-md: 0.75rem;
	--spacing-card-sm: 0.5rem;
	--spacing-card-xs: 0.25rem;

	// Font Sizes
	--font-size-xxs: 0.625rem; //10px
	--font-size-xs: 0.75rem; //12px
	--font-size-sm: 0.875rem; //14px
	--font-size-nm: 1rem; //16px
	--font-size-md: 1.125rem; //18px
	--font-size-lg: 1.25rem; //20px
	--font-size-xl: 1.5rem; //24px
	--font-size-2xl: 2rem; //32px
	--font-size-3xl: 3rem; //48px

	// Font Weights
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-bold: 700;
	--font-weight-extrabold: 800;

	--font-weight-text: var(--font-weight-medium);
	--font-weight-heading: var(--font-weight-extrabold);
	--font-weight-title: var(--font-weight-extrabold);

	@media screen and (min-width: 354px) {
		--size-mobile-navbar-height-expanded: 15.5rem;
	}
}

svg {
	height: 1em;
	width: 1em;
}

a {
	color: inherit;
	text-decoration: none;
}

h1 {
	color: var(--color-text-dark);
}

h2 {
	margin-top: 0;
	margin-bottom: 1rem;
	color: var(--color-text-dark);
}

h3 {
	margin-block: var(--spacing-card-md) var(--spacing-card-sm);
	color: var(--color-text-dark);
}

input {
	border-radius: var(--size-rounded-sm);
	box-sizing: border-box;
	border: 2px solid transparent;
	// safari iOS rounds inputs by default
	// set the appearance to none to prevent this
	appearance: none !important;
}

pre {
	font-weight: var(--font-weight-regular);
}

input,
textarea {
	background: var(--color-button-bg);
	color: var(--color-text);
	padding: 0.5rem 1rem;
	font-weight: var(--font-weight-medium);
	border: none;
	outline: 2px solid transparent;
	box-shadow:
		var(--shadow-inset-sm),
		0 0 0 0 transparent;
	transition: box-shadow 0.1s ease-in-out;
	min-height: 36px;

	&:focus,
	&:focus-visible {
		box-shadow:
			inset 0 0 0 transparent,
			0 0 0 0.25rem var(--color-brand-shadow);
		color: var(--color-button-text-active);
	}

	&:disabled,
	&[disabled='true'] {
		opacity: 0.6;
		pointer-events: none;
		cursor: not-allowed;
	}

	&:focus::placeholder {
		opacity: 0.8;
	}

	&::placeholder {
		color: var(--color-button-text);
		opacity: 0.6;
	}
}

button,
input[type='button'] {
	cursor: pointer;
	border: none;
	outline: 2px solid transparent;
}

kbd {
	background-color: var(--color-code-bg);
	color: var(--color-code-text);
	box-shadow: 0 2px 1px var(--color-kbd-shadow);
	padding: 0.2em 0.5em 0.1em;
	border-radius: 3px;
	line-height: 1;
	font-size: 0.85em !important;
}

@import '~/assets/styles/layout.scss';
@import '~/assets/styles/utils.scss';
@import '~/assets/styles/components.scss';

button:focus-visible,
a:focus-visible,
[tabindex='0']:focus-visible,
[type='button']:focus-visible {
	outline: 0.25rem solid #ea80ff;
	border-radius: 0.25rem;
}

// OMORPHIA FIXES
.card {
	outline-offset: -2px;
}

input {
	outline: 2px solid transparent !important;
}

.button-animation {
	transition:
		opacity 0.5s ease-in-out,
		filter 0.2s ease-in-out,
		transform 0.05s ease-in-out,
		outline-width 0.2s ease-in-out;
}

.button-transparent {
	box-shadow: none;
}
