/* Copyright 2021-2024 New Vector Ltd. SPDX-License-Identifier: AGPL-3.0-only Please see LICENSE in the repository root for full details. */ /* Inter unexpectedly contains various codepoints which collide with emoji, even when variation-16 is applied to request the emoji variant. From eyeballing the emoji picker, these are: 20e3, 23cf, 24c2, 25a0-25c1, 2665, 2764, 2b06, 2b1c. Therefore we define a unicode-range to load which excludes the glyphs (to avoid having to maintain a fork of Inter). */ @layer normalize, compound-legacy, compound; @import url("normalize.css/normalize.css") layer(normalize); @import url("@vector-im/compound-design-tokens/assets/web/css/compound-design-tokens.css") layer(compound); @import url("@vector-im/compound-web/dist/style.css") layer(compound.components); :root { --font-scale: 1; --font-size-micro: calc(10px * var(--font-scale)); --font-size-caption: calc(12px * var(--font-scale)); --font-size-body: calc(15px * var(--font-scale)); --font-size-subtitle: calc(18px * var(--font-scale)); --font-size-title: calc(24px * var(--font-scale)); --font-size-headline: calc(32px * var(--font-scale)); /* These colors are needed during the transitionary period between the old and new Compound design systems, but should be removed ASAP */ --stopgap-color-on-solid-accent: var(--cpd-color-bg-canvas-default); --stopgap-background-85: rgba(255, 255, 255, 0.85); --stopgap-bgColor3: #444; --cpd-color-border-accent: var(--cpd-color-green-800); /* The distance to inset non-full-width content from the edge of the window along the inline axis. This ramps up from 16px for typical mobile windows, to 96px for typical desktop windows. */ --inline-content-inset: min( var(--cpd-space-24x), max(var(--cpd-space-4x), calc((100vw - 900px) / 3)) ); --small-drop-shadow: 0px 1.2px 2.4px 0px rgba(0, 0, 0, 0.15); --subtle-drop-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05); --background-gradient: url("graphics/backgroundGradient.svg"); } .cpd-theme-dark { --cpd-color-border-accent: var(--cpd-color-green-1100); --stopgap-color-on-solid-accent: var(--cpd-color-text-primary); --stopgap-background-85: rgba(16, 19, 23, 0.85); } @font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; unicode-range: var(--inter-unicode-range); src: url("/fonts/Inter/Inter-Regular.woff2") format("woff2"), url("/fonts/Inter/Inter-Regular.woff") format("woff"); } @font-face { font-family: "Inter"; font-style: italic; font-weight: 400; font-display: swap; unicode-range: var(--inter-unicode-range); src: url("/fonts/Inter/Inter-Italic.woff2") format("woff2"), url("/fonts/Inter/Inter-Italic.woff") format("woff"); } @font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; unicode-range: var(--inter-unicode-range); src: url("/fonts/Inter/Inter-Medium.woff2") format("woff2"), url("/fonts/Inter/Inter-Medium.woff") format("woff"); } @font-face { font-family: "Inter"; font-style: italic; font-weight: 500; font-display: swap; unicode-range: var(--inter-unicode-range); src: url("/fonts/Inter/Inter-MediumItalic.woff2") format("woff2"), url("/fonts/Inter/Inter-MediumItalic.woff") format("woff"); } @font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; unicode-range: var(--inter-unicode-range); src: url("/fonts/Inter/Inter-SemiBold.woff2") format("woff2"), url("/fonts/Inter/Inter-SemiBold.woff") format("woff"); } @font-face { font-family: "Inter"; font-style: italic; font-weight: 600; font-display: swap; unicode-range: var(--inter-unicode-range); src: url("/fonts/Inter/Inter-SemiBoldItalic.woff2") format("woff2"), url("/fonts/Inter/Inter-SemiBoldItalic.woff") format("woff"); } @font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap; unicode-range: var(--inter-unicode-range); src: url("/fonts/Inter/Inter-Bold.woff2") format("woff2"), url("/fonts/Inter/Inter-Bold.woff") format("woff"); } @font-face { font-family: "Inter"; font-style: italic; font-weight: 700; font-display: swap; unicode-range: var(--inter-unicode-range); src: url("/fonts/Inter/Inter-BoldItalic.woff2") format("woff2"), url("/fonts/Inter/Inter-BoldItalic.woff") format("woff"); } body { background-color: var(--cpd-color-bg-canvas-default); background-size: calc(max(1440px, 100vw)) calc(max(800px, 100vh)); background-repeat: no-repeat; background-position: center; color: var(--cpd-color-text-primary); color-scheme: dark; margin: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-tap-highlight-color: transparent; } /* We use this to not render the page at all until we know the theme.*/ .no-theme { opacity: 0; } html, body, #root { /* We use !important here to override vaul drawers, which have a side effect of setting height: auto; on the body element and messing up our layouts */ height: 100% !important; } #root { display: flex; flex-direction: column; /* The root should be a separate stacking context so that portalled elements like modals and menus always appear over top of it */ isolation: isolate; } /* On Android and iOS, prefer native system fonts. The global.css file of Compound Web is where these variables ultimately get consumed to set the page's font-family. */ body[data-platform="android"] { --cpd-font-family-sans: "Roboto", "Noto", "Inter", sans-serif; } body[data-platform="ios"] { --cpd-font-family-sans: -apple-system, BlinkMacSystemFont, "Inter", sans-serif; } body[data-platform="desktop"] { --cpd-font-family-sans: "Inter", sans-serif; } @layer compound-legacy { h1, h2, h3, h4, h5, h6, p, a { margin-top: 0; } /* Headline Semi Bold */ h1 { font-weight: 600; font-size: var(--font-size-headline); } /* Title */ h2 { font-weight: 600; font-size: var(--font-size-title); } /* Subtitle */ h3 { font-weight: 600; font-size: var(--font-size-subtitle); } /* Body Semi Bold */ h4 { font-weight: 600; font-size: var(--font-size-body); } h1, h2, h3 { line-height: 1.2; } /* Body */ p { font-size: var(--font-size-body); line-height: var(--font-size-title); } a { color: var(--cpd-color-text-action-accent); text-decoration: none; } a:hover, a:active { opacity: 0.8; } hr { width: calc(100% - 24px); border: none; border-top: 1px solid var(--cpd-color-border-interactive-secondary); color: var(--cpd-color-border-interactive-secondary); overflow: visible; text-align: center; height: 5px; font-weight: 600; font-size: var(--font-size-body); line-height: 24px; margin: 0 12px; } summary { font-size: var(--font-size-body); } details > :not(summary) { margin-left: var(--font-size-body); } details[open] > summary { margin-bottom: var(--font-size-body); } } #root > [data-overlay-container] { position: relative; height: 100%; } /* normalize.css sets the focus rings on buttons in Firefox to an unusual custom outline, which is inconsistent with our other components and is not sufficiently visible to be accessible. This resets it back to 'auto'. */ button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: auto; }