/**
 * Customize default theme styling by overriding CSS variables:
 * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css
 */

/**
 * Colors
 *
 * Each colors have exact same color scale system with 3 levels of solid
 * colors with different brightness, and 1 soft color.
 * 
 * - `XXX-1`: The most solid color used mainly for colored text. It must
 *	 satisfy the contrast ratio against when used on top of `XXX-soft`.
 *
 * - `XXX-2`: The color used mainly for hover state of the button.
 *
 * - `XXX-3`: The color for solid background, such as bg color of the button.
 *	 It must satisfy the contrast ratio with pure white (#ffffff) text on
 *	 top of it.
 *
 * - `XXX-soft`: The color used for subtle background such as custom container
 *	 or badges. It must satisfy the contrast ratio when putting `XXX-1` colors
 *	 on top of it.
 *
 *	 The soft color must be semi transparent alpha channel. This is crucial
 *	 because it allows adding multiple "soft" colors on top of each other
 *	 to create a accent, such as when having inline code block inside
 *	 custom containers.
 *
 * - `default`: The color used purely for subtle indication without any
 *	 special meanings attched to it such as bg color for menu hover state.
 *
 * - `brand`: Used for primary brand colors, such as link text, button with
 *	 brand theme, etc.
 *
 * - `tip`: Used to indicate useful information. The default theme uses the
 *	 brand color for this by default.
 *
 * - `warning`: Used to indicate warning to the users. Used in custom
 *	 container, badges, etc.
 *
 * - `danger`: Used to show error, or dangerous message to the users. Used
 *	 in custom container, badges, etc.
 * -------------------------------------------------------------------------- */

:root {
	--vp-c-default-1: #A0A9B2;
	--vp-c-default-2: #A0A9B2;
	--vp-c-default-3: #A0A9B2;
	--vp-c-default-soft: hsl(210, 100%, 90%);

	--vp-c-brand-1: #4D9CFF;
	--vp-c-brand-2: #366DB2;
	--vp-c-brand-3: #4D9CFF;
	--vp-c-brand-soft: #366DB2;

	--vp-c-tip-1: #1F6638;
	--vp-c-tip-2: #36B261;
	--vp-c-tip-3: #4DFF8B;
	--vp-c-tip-soft: #1F6638;

	--vp-c-note-1: #1F3E66;
	--vp-c-note-2: #366DB2;
	--vp-c-note-3: #4D9CFF;
	--vp-c-note-soft: #1F3E66;

	--vp-c-success-1: #1F6638;
	--vp-c-success-2: #36B261;
	--vp-c-success-3: #4DFF8B;
	--vp-c-success-soft: #1F6638;

	--vp-c-important-1: #3C1F66;
	--vp-c-important-2: #6A36B2;
	--vp-c-important-3: #974DFF;
	--vp-c-important-soft: #3C1F66;

	--vp-c-warning-1: #663C1F;
	--vp-c-warning-2: #B26A36;
	--vp-c-warning-3: #FF974D;
	--vp-c-warning-soft: #663C1F;

	--vp-c-danger-1: #661F25;
	--vp-c-danger-2: #B23640;
	--vp-c-danger-3: #FF4D5B;
	--vp-c-danger-soft: #661F25;

	--vp-c-caution-1: #661F25;
	--vp-c-caution-2: #B23640;
	--vp-c-caution-3: #FF4D5B;
	--vp-c-caution-soft: #661F25;
}

.dark {
	--vp-c-default-1: #393C40;
	--vp-c-default-2: #222426;
	--vp-c-default-3: #393C40;
	--vp-c-default-soft: #222426;
}

/**
 * Typography
 * -------------------------------------------------------------------------- */

:root {
	--vp-font-family-base: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
	--vp-font-family-mono: "Roboto Mono", source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
	--vp-custom-block-font-size: 16px;
}

/**
 * Colors: Background
 * -------------------------------------------------------------------------- */

:root {
	--vp-c-bg: hsl(210, 100%, 95%);
	--vp-c-bg-alt: hsl(210, 100%, 98.5%);
	--vp-c-bg-elv: hsl(210, 100%, 95%);
	--vp-c-bg-soft: hsl(210, 100%, 98.5%);
}

.dark {
	--vp-c-bg: #14191F;
	--vp-c-bg-alt: #0D1114;
	--vp-c-bg-elv: #0D1114;
	--vp-c-bg-soft: #0D1114;
}

/**
 * Colors: Borders
 * -------------------------------------------------------------------------- */

:root {
	--vp-c-border: #A0A9B2;
	--vp-c-divider: #A0A9B2;
	--vp-c-gutter: #5C6166;
}

.dark {
	--vp-c-border: #080B0D;
	--vp-c-divider: #080B0D;
	--vp-c-gutter: #000000;
}

/**
 * Colors: Text
 * -------------------------------------------------------------------------- */

:root {
	--vp-c-text-1: rgba(41, 52, 63);
	--vp-c-text-2: rgba(41, 52, 63, 0.78);
	--vp-c-text-3: rgba(41, 52, 63, 0.56);
}

.dark {
	--vp-c-text-1: rgba(229, 242, 255, 0.86);
	--vp-c-text-2: rgba(229, 242, 255, 0.6);
	--vp-c-text-3: rgba(229, 242, 255, 0.38);
}

/**
 * Component: Button
 * -------------------------------------------------------------------------- */

:root {
	--vp-button-brand-border: transparent;
	--vp-button-brand-text: var(--vp-c-white);
	--vp-button-brand-bg: var(--vp-c-brand-3);
	--vp-button-brand-hover-border: transparent;
	--vp-button-brand-hover-text: var(--vp-c-white);
	--vp-button-brand-hover-bg: var(--vp-c-brand-2);
	--vp-button-brand-active-border: transparent;
	--vp-button-brand-active-text: var(--vp-c-white);
	--vp-button-brand-active-bg: var(--vp-c-brand-1);
}

/**
 * Component: Home
 * -------------------------------------------------------------------------- */

:root {
	--vp-home-hero-name-color: transparent;
	--vp-home-hero-name-background: -webkit-linear-gradient(
		120deg,
		#4DFFE1 30%,
		#4D9CFF
	);

	--vp-home-hero-image-background-image: linear-gradient(
		-45deg,
		#4DFFE1 50%,
		#4D9CFF 50%
	);
	--vp-home-hero-image-filter: blur(44px);
}

@media (min-width: 640px) {
	:root {
		--vp-home-hero-image-filter: blur(56px);
	}
}

@media (min-width: 960px) {
	:root {
		--vp-home-hero-image-filter: blur(68px);
	}
}

/**
 * Component: Custom Block
 * -------------------------------------------------------------------------- */

:root {
	--vp-custom-block-tip-border: var(--vp-c-tip-3);
	--vp-custom-block-tip-text: var(--vp-c-tip-3);
	--vp-custom-block-tip-bg: var(--vp-c-tip-soft);
	--vp-custom-block-tip-code-bg: var(--vp-c-tip-3);

	--vp-custom-block-note-border: var(--vp-c-note-3);
	--vp-custom-block-note-text: var(--vp-c-note-3);
	--vp-custom-block-note-bg: var(--vp-c-note-soft);
	--vp-custom-block-note-code-bg: var(--vp-c-note-3);

	--vp-custom-block-success-border: var(--vp-c-success-3);
	--vp-custom-block-success-text: var(--vp-c-success-3);
	--vp-custom-block-success-bg: var(--vp-c-success-soft);
	--vp-custom-block-success-code-bg: var(--vp-c-success-3);

	--vp-custom-block-important-border: var(--vp-c-important-3);
	--vp-custom-block-important-text: var(--vp-c-important-3);
	--vp-custom-block-important-bg: var(--vp-c-important-soft);
	--vp-custom-block-important-code-bg: var(--vp-c-important-3);

	--vp-custom-block-warning-border: var(--vp-c-warning-3);
	--vp-custom-block-warning-text: var(--vp-c-warning-3);
	--vp-custom-block-warning-bg: var(--vp-c-warning-soft);
	--vp-custom-block-warning-code-bg: var(--vp-c-warning-3);

	--vp-custom-block-warning-border: var(--vp-c-warning-3);
	--vp-custom-block-warning-text: var(--vp-c-warning-3);
	--vp-custom-block-warning-bg: var(--vp-c-warning-soft);
	--vp-custom-block-warning-code-bg: var(--vp-c-warning-3);

	--vp-custom-block-danger-border: var(--vp-c-danger-3);
	--vp-custom-block-danger-text: var(--vp-c-danger-3);
	--vp-custom-block-danger-bg: var(--vp-c-danger-soft);
	--vp-custom-block-danger-code-bg: var(--vp-c-danger-3);

	--vp-custom-block-caution-border: var(--vp-c-caution-3);
	--vp-custom-block-caution-text: var(--vp-c-caution-3);
	--vp-custom-block-caution-bg: var(--vp-c-caution-soft);
	--vp-custom-block-caution-code-bg: var(--vp-c-caution-3);

	--vp-custom-block-info-border: var(--vp-c-note-3);
	--vp-custom-block-info-text: var(--vp-c-note-3);
	--vp-custom-block-info-bg: var(--vp-c-note-soft);
	--vp-custom-block-info-code-bg: var(--vp-c-note-3);

	--vp-custom-block-details-border: transparent;
	--vp-custom-block-details-text: var(--vp-c-text-1);
	--vp-custom-block-details-bg: var(--vp-c-bg-alt);
	--vp-custom-block-details-code-bg: var(--vp-c-bg);
}

/**
 * Component: Algolia
 * -------------------------------------------------------------------------- */

.DocSearch {
	--docsearch-primary-color: var(--vp-c-brand-1) !important;
}

/**
 * Custom styles
 * -------------------------------------------------------------------------- */

.custom-block {
	--vp-code-block-bg: var(--vp-c-bg);

	border: none;
	border-left: 5px solid;
	padding: 12px 12px 6px;
}

.custom-block > .custom-block-title {
	display: flex;
	gap: 0.5rem;
	align-items: center;
}

.custom-block > .custom-block-title::before {
	content: "";
	display: block;
	-webkit-mask: var(--icon) no-repeat;
	mask: var(--icon) no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100;
	width: 1rem;
	height: 1rem;
	background-color: currentColor;
	color: inherit;
	fill: currentColor;
}

.custom-block.caution {
	--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z'/%3E%3C/svg%3E")
}

.custom-block.tip {
	--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M272 384c9.6-31.9 29.5-59.1 49.2-86.2l0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0c19.8 27.1 39.7 54.4 49.2 86.2H272zM192 512c44.2 0 80-35.8 80-80V416H112v16c0 44.2 35.8 80 80 80zM112 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z'/%3E%3C/svg%3E")
}

.custom-block.note {
	--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E")
}

.custom-block.warning {
	--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E")
}

.custom-block.details {
	padding: 0;
}

.custom-block.details > summary {
	padding: 12px;
	margin: 0;
	color: var(--vp-c-text-2);
	font-weight: 400;
}

.custom-block.details > summary ~ * {
	margin-left: 12px !important;
	margin-right: 12px !important;
}

.custom-block.details > *:nth-child(2) {
	margin-top: 0;
}

.custom-block.details > *:last-child {
	margin-bottom: 0;
}

.custom-block.details[open] {
	padding-bottom: 16px;
}

.custom-block ul ul {
	margin: 0 !important;
}

.custom-block li + li {
	margin-top: 4px !important;
}

li > p {
	margin: 0 !important;
	line-height: 24px !important;
}

.VPContent.is-home .vp-doc {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: unset;
}

.vp-doc .VPTeamPage {
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: inherit;
}

.vp-doc .VPTeamMembers.center {
	display: flex;
	justify-content: center;
}

.vp-doc .VPTeamMembers.center .container {
	flex: 1;
	grid-template-columns: repeat(auto-fit, minmax(256px, 1fr)) !important;
}

.vp-doc .VPTeamMembers.medium.count-1.center .container {
	max-width: 368px !important;
}

.vp-doc img {
	border-radius: 8px;
	margin: 16px 0;
}