ProzillaOS/packages/docs/.vitepress/theme/style.css
2024-07-09 18:06:32 +02:00

323 lines
10 KiB
CSS

/**
* 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;
}
/**
* 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-default-1);
--vp-custom-block-details-code-bg: var(--vp-c-default-1);
}
/**
* Component: Algolia
* -------------------------------------------------------------------------- */
.DocSearch {
--docsearch-primary-color: var(--vp-c-brand-1) !important;
}
/**
* Custom styles
* -------------------------------------------------------------------------- */
.custom-block {
border: none;
border-left: 5px solid;
}
.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")
}
.VPTeamMembers.center {
display: flex;
justify-content: center;
}
.VPTeamMembers.center .container {
flex: 1;
}